zoomy_core.model.models.ml_sme#
Multilayer shallow moment equations (ML-SME): every layer is a full SME moment column, with
interface mass fluxes closed by the layer-fraction constraint. State is
[b, h, q_1_0 ... q_N_level]; the model is lifted to a SystemModel via
SystemModel.from_model.
Module Contents#
Classes#
Multilayer SME with |
Data#
API#
- zoomy_core.model.models.ml_sme.zeta#
‘Symbol(…)’
- class zoomy_core.model.models.ml_sme.MLSME(init_functions=True, **params)#
Bases:
zoomy_core.model.basemodel.ModelMultilayer SME with
n_layerslayers that move with the free surface, each a moment column of orderlevel. The interface transfer velocity is upwinded or averaged through theclosures(UpwindInterface/MeanInterface); the kinematicwterms stay untouched.References
Kowalski & Torrilhon 2019, https://doi.org/10.4208/cicp.OA-2017-0263
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#
‘Parameter(…)’
- dimension#
‘Integer(…)’
- stress#
‘OptionParam(…)’
- closures#
‘List(…)’
- interface_velocity#
‘Selector(…)’
- project_nz#
‘Integer(…)’
- derive_model()#
Derive each layer as an SME column, close the interface mass fluxes
Gfrom the fraction constraint, and assemble the model. Returns the derivation model with continuity, one momentum equation per layer / direction / mode, and the interpolate, project and wall rows.