src.dycore.physics.gas_dynamics.recovery#
Functions
|
Reconstruct the limited slopes at the cell interfaces. |
|
Get advected (conservative) quantities at the left and right of the cell interfaces. |
|
Applies the limiter type specified in the initial conditions to recovery the slope. |
|
Reconstruct the piecewise linear slopes in the cells from the piecewise constants in the cell and its neighbours. |
- src.dycore.physics.gas_dynamics.recovery.do(Sol, flux, lmbda, ud, th, elem, split_step, tag)#
Reconstruct the limited slopes at the cell interfaces.
Parameters#
- Sol
management.variable.Vars
Solution data container on cell centers.
- flux
management.variable.States
Flux data container on cell interfaces.
- lmbdafloat
\(\frac{dt}{dx}\), where \(dx\) is the grid-size in the direction of the substep.
- ud
inputs.user_data.UserDataInit
Class container for the initial condition.
- th
physics.gas_dynamics.thermodynamic.init
Class container for the thermodynamical constants.
- elem
discretization.kgrid.ElemSpaceDiscr
Class container for the cell-grid.
- split_stepint
Tracks the substep in the Strang-splitting.
- tagNone or rk
Default is None which uses a second-order Strang-splitting. rk toggles a first-order Runge-Kutta update for the advection scheme.
Returns#
management.variable.States
,management.variable.States
Lefts, Rights are containers for the advected quantities at to the left and the right of the cell interfaces.
- Sol
- src.dycore.physics.gas_dynamics.recovery.slopes(Sol, Diffs, ud, elem)#
Reconstruct the piecewise linear slopes in the cells from the piecewise constants in the cell and its neighbours.
Parameters#
- Sol
management.variable.Vars
Solution data container
- Diffs
management.variable.States
Data container for the difference in the quantities between adjacent cells, (right - left).
- ud
inputs.user_data.UserDataInit
Data container for the initial conditions
- elem
discretization.kgrid.ElemSpaceDiscr
Data container for the cell grid.
Returns#
management.variable.Characters
Reconstructed piecewise linear slopes in the cell.
- Sol
- src.dycore.physics.gas_dynamics.recovery.limiters(limiter_type, al, ar)#
Applies the limiter type specified in the initial conditions to recovery the slope.
Parameters#
- limiter_type
management.enumerator.LimiterType
LimiterType list
- al
management.variable.States
Left indices of the Diffs array for the respective quantities.
- ar
management.variable.States
Right indices of the Diffs array for the respective quantities.
Returns#
management.variable.States
The reconstructed slope in the cell
Attention#
For now, only the limiter type NONE is supported. This takes \(\frac{(al + ar)}{2}\).
- limiter_type
- src.dycore.physics.gas_dynamics.recovery.get_conservatives(U, ud, th)#
Get advected (conservative) quantities at the left and right of the cell interfaces.
Parameters#
- U
management.variable.States
Lefts and Rights corresponding to the values at the cell interfaces.
- ud
inputs.user_data.UserDataInit
Data container for the initial conditions
- th
physics.gas_dynamics.thermodynamic.init
Class container for the thermodynamical constants.
- U