Algorithm Options

Conservative vs. Non-conservative

The following must be preceded by “ns.”

Description

Type

Default

do_mom_diff

If 0, solve velocity equation in convective form, else use conservation form

Int

0

do_cons_trac

If 0, solve for a passively advected tracer, else advect conservatively

Int

0

do_cons_trac2

If 0, solve for a passively advected 2nd tracer, else advect conservatively

Int

0

Note that Temperature is only non-conservative. For more details, see Fluid Equations.

Advection

IAMR computes the advective terms with an unsplit Godunov scheme (piecewise linear or piecewise parabolic reconstruction) or with the Bell-Dawson-Shubin (BDS) scheme. The following must be preceded by “ns.”

Description

Type

Default

advection_scheme

Godunov_PLM, Godunov_PPM or BDS. Godunov_PPM and BDS are not available with embedded boundaries.

String

Godunov_PLM

do_scalminmax

After the advective update, clamp each scalar other than density to the min/max of its old-time values in the surrounding 3x3 (3x3x3 in 3D) cells.

Int

0

do_denminmax

After the advective update, clamp density to the min/max of its old-time values in the surrounding 3x3 (3x3x3 in 3D) cells.

Int

0

Note that the old ns.use_godunov key and the MOL scheme have been removed; setting either aborts the run.

Note that ns.do_scalminmax = 1 (ns.do_denminmax = 1 for density) keeps the advective update from creating new extrema, which the unsplit Godunov schemes can otherwise produce in a strongly deforming flow (a tracer initialized in [0,1] can leave that range by a few percent). Conservatively advected scalars are clamped as \(s = (\rho s)/\rho\). With embedded boundaries, covered cells are neither clamped nor included in the min/max. The clamps are not conservative, and they act on the advective update only: the diffusive update and, on multilevel runs, the sync correction are applied afterwards and are not clamped.

For problems without embedded boundaries, there is an additional option for the Godunov method. The following must be preceded by “godunov.”

Description

Type

Default

use_forces_in_trans

Use external forcing terms in constructing transverse derivatives

bool

false

Diffusion

The following must be preceded by “ns.”

Description

Type

Default

be_cn_theta

Diffusion solve fully implicit (1.0) or semi-implicit (<1 && >0.5)

Real

0.5

Note the default value of ns.be_cn_theta = 0.5 corresponds to the Crank-Nicolson method.

Large Eddy Simulation

IAMR can add a subgrid-scale eddy viscosity to the viscous terms. The following must be preceded by “ns.”

Description

Type

Default

do_LES

Add a subgrid-scale eddy viscosity to the molecular viscosity

Int

0

LES_model

Which model to use: Smagorinsky or Sigma. Any other value aborts. Sigma is 3D only.

String

Smagorinsky

smago_Cs_cst

Model constant, used only when LES_model = Smagorinsky

Real

0.18

sigma_Cs_cst

Model constant, used only when LES_model = Sigma

Real

1.5

getLESVerbose

Print the model and constant in use from the LES routine

Int

0

Note that each model reads its own constant, so changing ns.smago_Cs_cst has no effect when ns.LES_model = Sigma, and vice versa. Both models compute a kinematic eddy viscosity \(\nu_t\); since IAMR’s viscosity is dynamic, \(\mu_t = \rho \nu_t\) (with \(\rho\) averaged to faces) is what is added to it. The Sigma model is described in Nicoud et al., Using singular values to build a subgrid-scale model for large eddy simulations, Phys. Fluids 23, 085106 (2011).

Embedded Boundaries

These apply to builds with USE_EB=TRUE; see Constructing Embedded Boundaries for how the geometry itself is constructed. The following must be preceded by “ns.”

Description

Type

Default

redistribution_type

How the advective update of a small cut cell is redistributed to its neighbours: StateRedist, FluxRedist or NoRedist. Any other value aborts.

String

StateRedist

refine_cutcells

Tag every cut cell for refinement, so that the embedded boundary never crosses a coarse/fine boundary. Setting 0 allows a partially refined EB, which is still under development and issues a warning.

Int

1

Note that ns.advection_scheme = Godunov_PPM and BDS are not available with embedded boundaries.