zoomy_core.fvm.riemann_solvers module#
Symbolic Riemann solvers: Rusanov, positive, nonconservative variants.
- class zoomy_core.fvm.riemann_solvers.Numerics(model, **params)#
Bases:
Parameterized,SymbolicRegistrarNumerics. (class).
- name = 'NumericsV2'#
- model = None#
- field_map = None#
- scaled_q_indices = None#
- local_max_eigenvalue_definition()#
Returns the opaque max_wavespeed function. The actual implementation is provided by the backend at runtime.
- local_max_abs_eigenvalue(Q=None, Qaux=None, p=None, n=None)#
Called during symbolic Rusanov construction. Returns opaque max_wavespeed with the given state.
- to_runtime(backend='numpy')#
To runtime.
- to_runtime_numpy()#
To runtime numpy.
- numerical_flux()#
Numerical flux.
- numerical_fluctuations()#
Numerical fluctuations.
- class zoomy_core.fvm.riemann_solvers.Rusanov(model, **params)#
Bases:
NumericsRusanov. (class).
- name = 'RusanovV2'#
- get_viscosity_identity_flux()#
Get viscosity identity flux.
- get_viscosity_identity_fluctuations()#
Get viscosity identity fluctuations.
- numerical_flux()#
Numerical flux.
- class zoomy_core.fvm.riemann_solvers.PositiveRusanov(model, **params)#
Bases:
RusanovPositiveRusanov. (class).
- name = 'PositiveRusanovV2'#
- hydrostatic_reconstruction(qL, qR, auxL, auxR)#
Hydrostatic reconstruction.
- numerical_flux()#
Numerical flux.
- numerical_fluctuations()#
Numerical fluctuations.
- class zoomy_core.fvm.riemann_solvers.NonconservativeRusanov(model, **params)#
Bases:
RusanovNonconservativeRusanov. (class).
- name = 'NonconservativeRusanovV2'#
- integration_order = 3#
- get_path_integral_states()#
Get path integral states.
- get_viscosity_identity_flux()#
Get viscosity identity flux.
- get_viscosity_identity_fluctuations()#
Get viscosity identity fluctuations.
- numerical_fluctuations()#
Numerical fluctuations.
- class zoomy_core.fvm.riemann_solvers.PositiveNonconservativeRusanov(model, **params)#
Bases:
PositiveRusanov,NonconservativeRusanovPositiveNonconservativeRusanov. (class).
- name = 'PositiveNonconservativeRusanovV2'#
- get_path_integral_states()#
Get path integral states.
- class zoomy_core.fvm.riemann_solvers.QuasilinearRusanov(model, **params)#
Bases:
NonconservativeRusanovQuasilinearRusanov. (class).
- name = 'QuasilinearRusanovV2'#
- numerical_flux()#
Numerical flux.
- class zoomy_core.fvm.riemann_solvers.PositiveQuasilinearRusanov(model, **params)#
Bases:
PositiveRusanov,QuasilinearRusanovPositiveQuasilinearRusanov. (class).
- name = 'PositiveQuasilinearRusanovV2'#
- numerical_flux()#
Numerical flux.
- get_path_integral_states()#
Get path integral states.