|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Functions | |
| make (variable_mu, solver=None, dt=2.0) | |
| raises (fn) | |
| main () | |
Variables | |
| int | N = 16 |
The momentum solver never silently drops a variable viscosity.
The velocity multigrid takes a SCALAR mu. Combined with a variable viscosity (a 'mu' closure or
set_property_mode('variable')) it used to solve with the constant set_mu value instead: on a
mirror-pair case the explicit multigrid with mu(T) differed from its own constant-mu run by only
2e-4 and from the red-black smoother by 50-70 %. Now:
1. an EXPLICIT set_velocity_solver('multigrid') / set_velocity_multigrid(True) raises ValueError
with a variable viscosity, in either order (solver first, then the closure / the mode; or
the other way round), and names the cause;
2. the AUTO rule (which picks the V-cycle once kappa = 1 + 4 dt mu sum(w) / rho >= 13) keeps a
variable viscosity on the red-black smoother -- velocity_multigrid_active() is False after
the first step, while the same case at constant mu takes the V-cycle -- and the variable-mu
result equals the explicit 'gauss_seidel' run bitwise.
Run: OMP_NUM_THREADS=4 PYTHONPATH=<build> python tests/python/test_velocity_solver_variable_mu.py
Exit 0 pass, 1 fail, 77 skipped (no module).
| test_velocity_solver_variable_mu.make | ( | variable_mu, | |
solver = None, |
|||
dt = 2.0 |
|||
| ) |
Walled box, a transported scalar T driving the body force (and mu(T) when variable_mu). dt = 2, mu = 0.5: kappa = 1 + 12 * 1.0 = 13 -> AUTO picks the V-cycle at constant mu.
Definition at line 33 of file test_velocity_solver_variable_mu.py.
Referenced by main().
| test_velocity_solver_variable_mu.raises | ( | fn | ) |
Definition at line 54 of file test_velocity_solver_variable_mu.py.
Referenced by main().
| test_velocity_solver_variable_mu.main | ( | ) |
| int test_velocity_solver_variable_mu.N = 16 |
Definition at line 30 of file test_velocity_solver_variable_mu.py.