From 2e47e9c306ef361b841c5b31bbfb78083324fc79 Mon Sep 17 00:00:00 2001 From: James McClure Date: Sun, 7 Jun 2020 20:54:09 -0400 Subject: [PATCH] fix bug in Euler characteristic at domain boundary --- analysis/Minkowski.cpp | 6 ++-- models/ColorModel.cpp | 74 +++++++++++++++++++++--------------------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/analysis/Minkowski.cpp b/analysis/Minkowski.cpp index faac6142..e98cfdc7 100644 --- a/analysis/Minkowski.cpp +++ b/analysis/Minkowski.cpp @@ -58,9 +58,9 @@ void Minkowski::ComputeScalar(const DoubleArray& Field, const double isovalue) //int Nx = Field.size(0); //int Ny = Field.size(1); //int Nz = Field.size(2); - for (int k=1; k 0.01*volume_initial) - target_delta_volume_incremental = 0.01*volume_initial*target_delta_volume/fabs(target_delta_volume); - delta_volume = MorphGrow(Averages->SDs,phase_distance,phase_id,Averages->Dm, target_delta_volume_incremental, WallFactor); + if (rank==0) printf("MorphGrow with target volume fraction change %f \n", target_delta_volume/volume_initial); + double target_delta_volume_incremental = target_delta_volume; + if (fabs(target_delta_volume) > 0.01*volume_initial) + target_delta_volume_incremental = 0.01*volume_initial*target_delta_volume/fabs(target_delta_volume); + delta_volume = MorphGrow(Averages->SDs,phase_distance,phase_id,Averages->Dm, target_delta_volume_incremental, WallFactor); - for (int k=0; kSDs(i,j,k) > 0.f){ - if (d < 3.f){ - //phase(i,j,k) = -1.0; - phase(i,j,k) = (2.f*(exp(-2.f*beta*d))/(1.f+exp(-2.f*beta*d))-1.f); - } - } - } + for (int k=0; kSDs(i,j,k) > 0.f){ + if (d < 3.f){ + //phase(i,j,k) = -1.0; + phase(i,j,k) = (2.f*(exp(-2.f*beta*d))/(1.f+exp(-2.f*beta*d))-1.f); + } + } + } + } + } + fillDouble.fill(phase); //} count = 0.f;