zoomy_core.model.models.ml_vam

zoomy_core.model.models.ml_vam#

Multilayer non-hydrostatic vertically averaged moments (ML-VAM): every layer is a VAM column, with interface mass fluxes closed by the layer-fraction constraint. SystemModel.from_model gives the square DAE with state [b, h, q, r, P]; MLVAM.chorin_split gives the predictor / pressure / corrector sub-systems.

Module Contents#

Classes#

MLVAM

Multilayer non-hydrostatic VAM with n_layers layers that move with the free surface, each a column with u in P_level and w, p in P_(level+1) (closed top modes). Pressure closures run downward from p(1) = 0 at the surface and w closures run upward from the bed kinematic condition.

Data#

API#

zoomy_core.model.models.ml_vam.zeta#

‘Symbol(…)’

class zoomy_core.model.models.ml_vam.MLVAM(init_functions=True, **params)#

Bases: zoomy_core.model.basemodel.Model

Multilayer non-hydrostatic VAM with n_layers layers that move with the free surface, each a column with u in P_level and w, p in P_(level+1) (closed top modes). Pressure closures run downward from p(1) = 0 at the surface and w closures run upward from the bed kinematic condition.

References

  • Escalante et al. 2024, https://doi.org/10.1016/j.jcp.2024.112882

  • Audusse et al. 2011, https://doi.org/10.1051/m2an/2010036

Initialization

Declare variables and parameters, run the derivation, and (unless _finalize_lazy) finalize for the SystemModel.

Args

  • init_functions: register the operator methods as symbolic functions during finalization.

n_layers#

‘Integer(…)’

level#

‘Integer(…)’

dimension#

‘Integer(…)’

stress#

‘OptionParam(…)’

closures#

‘List(…)’

derive_model()#

Derive each layer as a VAM column top-down (pressure-trace cascade), close the interface mass fluxes G from the fraction constraint, and assemble the model. Returns the derivation model with continuity, constraint and momentum rows, and the interpolate, project, reconstruction and wall rows.

chorin_split(dt=None, *, system_model=None)#

Split the system into predictor, pressure and corrector sub-systems for the Chorin solver. Returns the structural split with respect to the P_* pressure modes and time step dt (symbol if None).

References

  • Chorin 1968, https://doi.org/10.1090/S0025-5718-1968-0242392-2