diff --git a/models/ColorModel.cpp b/models/ColorModel.cpp index 9f2fb637..c4011ddd 100644 --- a/models/ColorModel.cpp +++ b/models/ColorModel.cpp @@ -552,7 +552,9 @@ void ScaLBL_ColorModel::Run(){ if (lead_timesteps > 5000){ Fz *= capillary_number / Ca; if (Fz > 1e-3) Fz = 1e-3; // impose ceiling for stability - if (Fz < 1e-6) Fz = 1e-6; // impose floor so we don't do something super dumb + if (Fz < 1e-7) Fz = 1e-6; // impose floor so we don't do something super dumb + if (Fz*vA_z < 0.f || Fz*vB_z < 0.f) + Fz *= 2.f; // bigger forces are needed if flow rate is "too small" tolerance = fabs(capillary_number - Ca) / capillary_number ; if (rank == 0) printf(" -- adjust force by %f \n ",tolerance); }