MFEM v4.7.0
Finite element discretization library
|
#include <hyperbolic.hpp>
Public Member Functions | |
ShallowWaterFlux (const int dim, const real_t g=9.8) | |
Construct a new Shallow Water Flux Function with given spatial dimension. | |
real_t | ComputeFlux (const Vector &state, ElementTransformation &Tr, DenseMatrix &flux) const override |
Compute F(h, hu) | |
real_t | ComputeFluxDotN (const Vector &state, const Vector &normal, FaceElementTransformations &Tr, Vector &fluxN) const override |
Compute normal flux, F(h, hu) | |
Public Member Functions inherited from mfem::FluxFunction | |
FluxFunction (const int num_equations, const int dim) | |
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) | |
Additional Inherited Members | |
Public Attributes inherited from mfem::FluxFunction | |
const int | num_equations |
const int | dim |
Definition at line 341 of file hyperbolic.hpp.
|
inline |
Construct a new Shallow Water Flux Function with given spatial dimension.
dim | spatial dimension |
g | gravity constant |
Definition at line 354 of file hyperbolic.hpp.
|
overridevirtual |
Compute F(h, hu)
state | state (h, hu) at current integration point |
Tr | current element transformation with integration point |
flux | F(h, hu) = [huᵀ; huuᵀ + ½gh²I] |
Implements mfem::FluxFunction.
Definition at line 247 of file hyperbolic.cpp.
|
overridevirtual |
Compute normal flux, F(h, hu)
state | state (h, hu) at current integration point |
normal | normal vector, usually not a unit vector |
Tr | current element transformation with integration point |
fluxN | F(ρ, ρu, E)n = [ρu⋅n; ρu(u⋅n) + pn; (u⋅n)(E + p)] |
Reimplemented from mfem::FluxFunction.
Definition at line 275 of file hyperbolic.cpp.