diff options
author | Anton Khirnov <anton@khirnov.net> | 2022-08-27 01:37:10 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2022-08-27 01:37:10 +0200 |
commit | fe0d44a860cfe9baae52f96e9aadf08808ee9f16 (patch) | |
tree | 80dbba79d3e06778d4ae631db3a4062a51ffb0d2 | |
parent | d42045155e75f0569e435c07f1639df19ad0f35f (diff) |
Make sure the smooth transition width is always non-negative.
One may want to use outer_smooth_fact > 1 to disable smoothing.
-rw-r--r-- | src/qms.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1184,7 +1184,7 @@ static void solution_to_grid(QMSMGContext *ms, CoordPatch *cp, MG2DContext *solv for (int i = 0; i < solver->local_size[0]; i++) { const double x_val = (i + solver->local_start[0]) * solver->step[0]; const double r = sqrt(SQR(x_val) + SQR(z_val)); - const double dist = (r - transition_start) / (bnd_loc - transition_start); + const double dist = (r - transition_start) / fabs(bnd_loc - transition_start); const double smooth_fact = 1.0 - smooth_step(dist); @@ -1564,7 +1564,7 @@ skip_solve: const double coarse_val = W_pred1[idx]; const double r = sqrt(SQR(x_val) + SQR(z_val)); - const double dist = (r - transition_start) / (bnd_loc - transition_start); + const double dist = (r - transition_start) / abs(bnd_loc - transition_start); const double bnd_fact = 1.0 - smooth_step(dist); |