Merge branch 'morphLBM' of github.com:JamesEMcClure/LBPM-WIA into morphLBM
This commit is contained in:
commit
dbfb2c0f9e
@ -498,17 +498,23 @@ runAnalysis::runAnalysis( std::shared_ptr<Database> db,
|
||||
d_N[0] = Dm->Nx;
|
||||
d_N[1] = Dm->Ny;
|
||||
d_N[2] = Dm->Nz;
|
||||
|
||||
d_restart_interval = db->getScalar<int>( "restart_interval" );
|
||||
d_analysis_interval = db->getScalar<int>( "analysis_interval" );
|
||||
d_blobid_interval = db->getScalar<int>( "blobid_interval" );
|
||||
d_visualization_interval = db->getScalar<int>( "visualization_interval" );
|
||||
auto restart_file = db->getScalar<std::string>( "restart_file" );
|
||||
d_analysis_interval = db->getScalar<int>( "analysis_interval" );
|
||||
d_subphase_analysis_interval = INT_MAX;
|
||||
d_visualization_interval = INT_MAX;
|
||||
d_blobid_interval = INT_MAX;
|
||||
if (db->keyExists( "blobid_interval" )){
|
||||
d_blobid_interval = db->getScalar<int>( "blobid_interval" );
|
||||
}
|
||||
if (db->keyExists( "visualization_interval" )){
|
||||
d_visualization_interval = db->getScalar<int>( "visualization_interval" );
|
||||
}
|
||||
if (db->keyExists( "subphase_analysis_interval" )){
|
||||
d_subphase_analysis_interval = db->getScalar<int>( "subphase_analysis_interval" );
|
||||
}
|
||||
else{
|
||||
d_subphase_analysis_interval = INT_MAX;
|
||||
}
|
||||
|
||||
auto restart_file = db->getScalar<std::string>( "restart_file" );
|
||||
d_restartFile = restart_file + "." + rankString;
|
||||
d_rank = MPI_WORLD_RANK();
|
||||
writeIDMap(ID_map_struct(),0,id_map_filename);
|
||||
@ -952,6 +958,15 @@ void runAnalysis::basic( int timestep, SubPhase &Averages, const double *Phi, do
|
||||
d_wait_restart = d_tpool.add_work(work1);
|
||||
|
||||
}
|
||||
|
||||
if (timestep%d_visualization_interval==0){
|
||||
// Write the vis files
|
||||
auto work = new IOWorkItem( timestep, d_meshData, Averages, d_fillData, getComm() );
|
||||
work->add_dependency(d_wait_analysis);
|
||||
work->add_dependency(d_wait_subphase);
|
||||
work->add_dependency(d_wait_vis);
|
||||
d_wait_vis = d_tpool.add_work(work);
|
||||
}
|
||||
|
||||
PROFILE_STOP("run");
|
||||
}
|
||||
|
@ -591,7 +591,6 @@ void ScaLBL_ColorModel::Run(){
|
||||
if (fabs((Ca - Ca_previous)/Ca) < tolerance || CURRENT_STEADY_TIMESTEPS > MAX_STEADY_TIMESTEPS){
|
||||
MORPH_ADAPT = true;
|
||||
CURRENT_MORPH_TIMESTEPS=0;
|
||||
CURRENT_STEADY_TIMESTEPS=0;
|
||||
delta_volume_target = (volA + volB)*morph_delta; // set target volume change
|
||||
Averages->Full();
|
||||
Averages->Write(timestep);
|
||||
@ -650,6 +649,7 @@ void ScaLBL_ColorModel::Run(){
|
||||
}
|
||||
morph_timesteps=0;
|
||||
}
|
||||
CURRENT_STEADY_TIMESTEPS=0;
|
||||
Ca_previous = Ca;
|
||||
}
|
||||
if (MORPH_ADAPT ){
|
||||
|
@ -87,6 +87,9 @@ int main(int argc, char **argv)
|
||||
if (domain_db->keyExists( "checkerSize" )){
|
||||
checkerSize = domain_db->getScalar<int>( "checkerSize" );
|
||||
}
|
||||
else {
|
||||
checkerSize = SIZE[0];
|
||||
}
|
||||
auto ReadValues = domain_db->getVector<char>( "ReadValues" );
|
||||
auto WriteValues = domain_db->getVector<char>( "WriteValues" );
|
||||
auto ReadType = domain_db->getScalar<std::string>( "ReadType" );
|
||||
@ -158,13 +161,13 @@ int main(int argc, char **argv)
|
||||
for (int j = 0; j<Ny; j++){
|
||||
for (int i = xStart; i < xStart+inlet_count_x; i++){
|
||||
if ( (j/checkerSize + k/checkerSize)%2 == 0){
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
else{
|
||||
// void checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 2;
|
||||
}
|
||||
else{
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -177,13 +180,13 @@ int main(int argc, char **argv)
|
||||
for (int j = yStart; i < yStart+inlet_count_y; j++){
|
||||
for (int i = 0; i<Nx; i++){
|
||||
if ( (i/checkerSize + k/checkerSize)%2 == 0){
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
else{
|
||||
// void checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 2;
|
||||
}
|
||||
else{
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -196,13 +199,13 @@ int main(int argc, char **argv)
|
||||
for (int j = 0; j<Ny; j++){
|
||||
for (int i = 0; i<Nx; i++){
|
||||
if ( (i/checkerSize+j/checkerSize)%2 == 0){
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
else{
|
||||
// void checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 2;
|
||||
}
|
||||
else{
|
||||
// solid checkers
|
||||
SegData[k*Nx*Ny+j*Nx+i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user