Fluid Variables
Variable
Definition
\(\rho\)
Fluid density
\(U\)
Fluid velocity
\(\tau\)
Viscous stress tensor
\({\bf H}_U\)
\(= (H_x , H_y , H_z )\), External Forces
\(H_s\)
External sources
Fluid Equations
Conservation of fluid mass:
Conservation of fluid momentum:
Velocity constraint:
where \(S\) is zero by default, to model incompressible flow. The \(S \ne 0\) case is discussed below.
Tracer(s):
for conservatively advected scalars and
for passively advected scalars. In general, one could advect an arbitrary number of scalars.
IAMR has the ability to incorporate general, user-defined external forcing and source terms. The default behaviour is that
\(H_s=0\), and \({\bf H}_U\) represents gravitational forces, with \({\bf H}_U= (0 , 0 , -\rho g )\) in 3d and
\({\bf H}_U= (0 , -\rho g )\) in 2d, where \(g\) is the magnitude of the gravitational acceleration. However, since
by default, \(g=0\), \({\bf H}_U = 0\) unless ns.gravity
is set (for more info see Physics Parameters).
By default, IAMR solves the momentum equation in convective form. The inputs parameter ns.do_mom_diff = 1
is used to
switch to conservation form. Tracers are passively advected by default. The inputs parameter ns.do_cons_trac = 1
switches the first tracer to conservative. A second tracer can be included with ns.do_trac2 = 1
, and it can be
conservatively advected with ns.do_cons_trac2 = 1
.
IAMR also has the option to solve for temperature, along with a modified divergence constraint on the velocity field:
Here, the divergence constraint captures compressibily effects due to thermal diffusion.
To enable the temperature solve, use ns.do_temp = 1
and set ns.temp_cond_coef
to represent \(\lambda / c_p\),
which is taken to be constant. More sophiticated treatments are possible; if interested, please open an issue on github:
https://github.com/AMReX-Fluids/IAMR/issues