flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
test_velocity_solver_variable_mu Namespace Reference

Functions

 make (variable_mu, solver=None, dt=2.0)
 
 raises (fn)
 
 main ()
 

Variables

int N = 16
 

Detailed Description

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).

Function Documentation

◆ make()

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().

◆ raises()

test_velocity_solver_variable_mu.raises (   fn)

Definition at line 54 of file test_velocity_solver_variable_mu.py.

Referenced by main().

◆ main()

test_velocity_solver_variable_mu.main ( )

Definition at line 62 of file test_velocity_solver_variable_mu.py.

References main(), make(), and raises().

Referenced by main().

Variable Documentation

◆ N

int test_velocity_solver_variable_mu.N = 16

Definition at line 30 of file test_velocity_solver_variable_mu.py.