Abstract class for hyperbolic flux for a system of hyperbolic conservation laws.
More...
#include <hyperbolic.hpp>
|
| FluxFunction (const int num_equations, const int dim) |
|
virtual real_t | ComputeFlux (const Vector &state, ElementTransformation &Tr, DenseMatrix &flux) const =0 |
| Compute flux F(u, x) for given state u and physical point x.
|
|
virtual real_t | ComputeFluxDotN (const Vector &state, const Vector &normal, FaceElementTransformations &Tr, Vector &fluxDotN) const |
| Compute normal flux. Optionally overloaded in the derived class to avoid creating full dense matrix for flux.
|
|
virtual void | ComputeFluxJacobian (const Vector &state, ElementTransformation &Tr, DenseTensor &J) const |
| Compute flux Jacobian. Optionally overloaded in the derived class when Jacobian is necessary (e.g. Newton iteration, flux limiter)
|
|
Abstract class for hyperbolic flux for a system of hyperbolic conservation laws.
Definition at line 57 of file hyperbolic.hpp.
◆ FluxFunction()
mfem::FluxFunction::FluxFunction |
( |
const int | num_equations, |
|
|
const int | dim ) |
|
inline |
◆ ComputeFlux()
Compute flux F(u, x) for given state u and physical point x.
- Parameters
-
[in] | state | value of state at the current integration point |
[in] | Tr | element information |
[out] | flux | F(u, x) |
- Returns
- real_t maximum characteristic speed
- Note
- One can put assertion in here to detect non-physical solution
Implemented in mfem::AdvectionFlux, mfem::BurgersFlux, mfem::EulerFlux, and mfem::ShallowWaterFlux.
◆ ComputeFluxDotN()
Compute normal flux. Optionally overloaded in the derived class to avoid creating full dense matrix for flux.
- Parameters
-
[in] | state | state at the current integration point |
[in] | normal | normal vector, |
- See also
- CalcOrtho
- Parameters
-
[in] | Tr | face information |
[out] | fluxDotN | normal flux from the given element at the current integration point |
- Returns
- real_t maximum (normal) characteristic velocity
Reimplemented in mfem::EulerFlux, and mfem::ShallowWaterFlux.
Definition at line 190 of file hyperbolic.cpp.
◆ ComputeFluxJacobian()
Compute flux Jacobian. Optionally overloaded in the derived class when Jacobian is necessary (e.g. Newton iteration, flux limiter)
- Parameters
-
state | state at the current integration point |
Tr | element information |
J | flux Jacobian, J(i,j,d) = dF_{id} / u_j |
Definition at line 106 of file hyperbolic.hpp.
◆ dim
const int mfem::FluxFunction::dim |
◆ num_equations
const int mfem::FluxFunction::num_equations |
The documentation for this class was generated from the following files: