zoomy_core.model.models.ml_swe

zoomy_core.model.models.ml_swe#

Multilayer shallow water with mass exchange (ML-SWE), state [b, h, q_1 ... q_N] with layer heights fixed as fractions of the total depth. The interface mass fluxes follow from the layer-fraction constraint; the model is lifted to a SystemModel via SystemModel.from_model.

Module Contents#

Classes#

MLSWE

Multilayer SWE with n_layers layers that move with the free surface, derived layer by layer with kinematic interface conditions. The interface transfer velocity is upwinded or averaged through the closures (UpwindInterface / MeanInterface).

Data#

API#

zoomy_core.model.models.ml_swe.zeta#

‘Symbol(…)’

class zoomy_core.model.models.ml_swe.MLSWE(init_functions=True, **params)#

Bases: zoomy_core.model.basemodel.Model

Multilayer SWE with n_layers layers that move with the free surface, derived layer by layer with kinematic interface conditions. The interface transfer velocity is upwinded or averaged through the closures (UpwindInterface / MeanInterface).

References

  • 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(…)’

dimension#

‘Integer(…)’

closures#

‘List(…)’

interface_velocity#

‘Selector(…)’

derive_model()#

Derive the per-layer balances, close the interface mass fluxes G from the fraction constraint, and assemble the model. Returns the derivation model with continuity and one momentum equation per layer and direction.