From b4bab6afcdd50ef4d0fc0e17e15e251f4556c12b Mon Sep 17 00:00:00 2001 From: James E McClure Date: Mon, 14 Jan 2019 18:27:01 -0500 Subject: [PATCH] switched max morph to 1 voxel --- analysis/morphology.cpp | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/analysis/morphology.cpp b/analysis/morphology.cpp index 1a00d46c..a6c61c52 100644 --- a/analysis/morphology.cpp +++ b/analysis/morphology.cpp @@ -145,6 +145,7 @@ double MorphOpen(DoubleArray &SignDist, char *id, std::shared_ptr Dm, do // Rcrit_new = strtod(argv[2],NULL); // if (rank==0) printf("Max. distance =%f, Initial critical radius = %f \n",maxdistGlobal,Rcrit_new); //} + while (void_fraction_new > VoidFraction) { void_fraction_diff_old = void_fraction_diff_new; @@ -301,6 +302,30 @@ double MorphOpen(DoubleArray &SignDist, char *id, std::shared_ptr Dm, do return final_void_fraction; } +double morph_open() +{ + + fillHalo fillChar(Dm->Comm,Dm->rank_info,{Nx-2,Ny-2,Nz-2},{1,1,1},0,1); + + + MPI_Allreduce(&LocalNumber,&GlobalNumber,1,MPI_DOUBLE,MPI_SUM,Dm->Comm); + + count = 0.f; + for (int k=1; kComm); + return countGlobal; +} + + double MorphGrow(DoubleArray &BoundaryDist, DoubleArray &Dist, Array &id, std::shared_ptr Dm, double TargetGrowth){ int Nx = Dm->Nx; @@ -368,9 +393,9 @@ double MorphGrow(DoubleArray &BoundaryDist, DoubleArray &Dist, Array &id, if (morph_delta / morph_delta_previous > 2.0 ) morph_delta = morph_delta_previous*2.0; //MAX_DISPLACEMENT *= max(TargetGrowth/GrowthEstimate,1.25); - if (MAX_DISPLACEMENT > 2.0 ){ - if (morph_delta > 0.0 ) morph_delta = 2.0; - else morph_delta = -2.0; + if (MAX_DISPLACEMENT > 1.0 ){ + if (morph_delta > 0.0 ) morph_delta = 1.0; + else morph_delta = -1.0; //if (COUNT_FOR_LOOP > 2) COUNT_FOR_LOOP = 100; COUNT_FOR_LOOP = 100; // exit loop if displacement is too large