From 5f1eb0ec295d5068ddfcf447d593269fde387c47 Mon Sep 17 00:00:00 2001 From: James McClure Date: Wed, 21 Nov 2018 14:25:06 -0500 Subject: [PATCH] change morph_delta adapt --- models/ColorModel.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/models/ColorModel.cpp b/models/ColorModel.cpp index 8fdf8582..017b7928 100644 --- a/models/ColorModel.cpp +++ b/models/ColorModel.cpp @@ -635,13 +635,13 @@ void ScaLBL_ColorModel::Run(){ // update the volume volA += delta_volume; volB -= delta_volume; - //update size of morphological operation -- don't change sign of morph_delta - if (delta_volume_target / delta_volume > 0.f) - morph_delta *= 0.2*delta_volume_target / delta_volume; - if (morph_delta > 1.f) morph_delta = 1.f; - if (morph_delta < -1.f) morph_delta = -1.f; - if (fabs(morph_delta) < 0.05 ) morph_delta = 0.05*(morph_delta)/fabs(morph_delta); // set minimum - if (rank==0) printf(" Adjust morph delta: %f \n", morph_delta); + if (delta_volume_target / delta_volume > 0.f){ + morph_delta *= 1.01*min((delta_volume_target - delta_volume) / delta_volume, 2.f); + if (morph_delta > 1.f) morph_delta = 1.f; + if (morph_delta < -1.f) morph_delta = -1.f; + if (fabs(morph_delta) < 0.05 ) morph_delta = 0.05*(morph_delta)/fabs(morph_delta); // set minimum + if (rank==0) printf(" Adjust morph delta: %f \n", morph_delta); + } //MORPH_ADAPT = false; if (volB/(volA + volB) > TARGET_SATURATION){ MORPH_ADAPT = false;