Skip to content

Commit 7c8012e

Browse files
authored
Merge pull request #3461 from totork/next-par-diffusion
Use pre-computed cell area and volume for Div_par_K_Grad_par
2 parents b445c7e + 2111e68 commit 7c8012e

1 file changed

Lines changed: 6 additions & 11 deletions

File tree

src/mesh/difops.cxx

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -392,25 +392,20 @@ Field3D Div_par_K_Grad_par_mod_impl(const Field3DParallel& Kin,
392392

393393
// Upper cell edge
394394
const BoutReal c_up = 0.5 * (Kin[i] + K_up[iyp]); // K at the upper boundary
395-
const BoutReal J_up =
396-
0.5 * (coord->J()[i] + coord->J().yup()[iyp]); // Jacobian at boundary
397-
const BoutReal g_22_up = 0.5 * (coord->g_22()[i] + coord->g_22().yup()[iyp]);
398395
const BoutReal gradient_up =
399-
2. * (f_up[iyp] - fin[i]) / (coord->dy()[i] + coord->dy().yup()[iyp]);
396+
(f_up[iyp] - fin[i]) / (coord->dy()[i] * sqrt(coord->g_22_yhigh()[i]));
400397

401-
const BoutReal flux_up = c_up * J_up * gradient_up / g_22_up;
398+
const BoutReal flux_up = c_up * gradient_up * coord->cell_area_yhigh()[i];
402399

403400
// Lower cell edge
404401
const BoutReal c_down = 0.5 * (Kin[i] + K_down[iym]); // K at the lower boundary
405-
const BoutReal J_down =
406-
0.5 * (coord->J()[i] + coord->J().ydown()[iym]); // Jacobian at boundary
407-
const BoutReal g_22_down = 0.5 * (coord->g_22()[i] + coord->g_22().ydown()[iym]);
408402
const BoutReal gradient_down =
409-
2. * (fin[i] - f_down[iym]) / (coord->dy()[i] + coord->dy().ydown()[iym]);
403+
(fin[i] - f_down[iym]) / (coord->dy()[i] * sqrt(coord->g_22_ylow()[i]));
410404

411-
const BoutReal flux_down = c_down * J_down * gradient_down / g_22_down;
405+
const BoutReal flux_down = c_down * gradient_down * coord->cell_area_ylow()[i];
412406

413-
result[i] = (flux_up - flux_down) / (coord->dy()[i] * coord->J()[i]);
407+
// Add the fluxes
408+
result[i] = (flux_up - flux_down) / (coord->cell_volume()[i]);
414409
}
415410

416411
return result;

0 commit comments

Comments
 (0)