![]() |
MFEM v4.8.0
Finite element discretization library
|
Rusanov flux, also known as local Lax-Friedrichs, F̂ n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻) where λ is the maximum characteristic speed. More...
#include <hyperbolic.hpp>
Public Member Functions | |
| RusanovFlux (const FluxFunction &fluxFunction) | |
| Constructor for a flux function. | |
| real_t | Eval (const Vector &state1, const Vector &state2, const Vector &nor, FaceElementTransformations &Tr, Vector &flux) const override |
| Normal numerical flux F̂(u⁻,u⁺,x) n. | |
| void | Grad (int side, const Vector &state1, const Vector &state2, const Vector &nor, FaceElementTransformations &Tr, DenseMatrix &grad) const override |
| Jacobian of normal numerical flux F̂(u⁻,u⁺,x) n. | |
| real_t | Average (const Vector &state1, const Vector &state2, const Vector &nor, FaceElementTransformations &Tr, Vector &flux) const override |
| Average normal numerical flux over the interval [u⁻, u⁺] in the second argument of the flux F̂(u⁻,u,x) n. | |
| void | AverageGrad (int side, const Vector &state1, const Vector &state2, const Vector &nor, FaceElementTransformations &Tr, DenseMatrix &grad) const override |
| Jacobian of average normal numerical flux over the interval [u⁻, u⁺] in the second argument of the flux F̂(u⁻,u,x) n. | |
Public Member Functions inherited from mfem::NumericalFlux | |
| NumericalFlux (const FluxFunction &fluxFunction) | |
| Constructor for a flux function. | |
| virtual | ~NumericalFlux ()=default |
| const FluxFunction & | GetFluxFunction () const |
| Get flux function F. | |
Protected Attributes | |
| Vector | fluxN1 |
| Vector | fluxN2 |
| DenseMatrix | JDotN |
Protected Attributes inherited from mfem::NumericalFlux | |
| const FluxFunction & | fluxFunction |
Rusanov flux, also known as local Lax-Friedrichs, F̂ n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻) where λ is the maximum characteristic speed.
Definition at line 428 of file hyperbolic.hpp.
| mfem::RusanovFlux::RusanovFlux | ( | const FluxFunction & | fluxFunction | ) |
Constructor for a flux function.
| fluxFunction | flux function F(u,x) |
Definition at line 441 of file hyperbolic.cpp.
|
overridevirtual |
Average normal numerical flux over the interval [u⁻, u⁺] in the second argument of the flux F̂(u⁻,u,x) n.
| [in] | state1 | state value (u⁻) of the beginning of the interval (num_equations) |
| [in] | state2 | state value (u⁺) of the end of the interval (num_equations) |
| [in] | nor | normal vector (not a unit vector) (dim) |
| [in] | Tr | face element transformation |
| [out] | flux | ½(F̄(u⁻,u⁺,x)n + F(u⁻,x)n) - ¼λ(u⁺ - u⁻) |
Reimplemented from mfem::NumericalFlux.
Definition at line 506 of file hyperbolic.cpp.
|
overridevirtual |
Jacobian of average normal numerical flux over the interval [u⁻, u⁺] in the second argument of the flux F̂(u⁻,u,x) n.
| [in] | side | gradient w.r.t the first (u⁻) or second argument (u⁺) |
| [in] | state1 | state value (u⁻) of the beginning of the interval (num_equations) |
| [in] | state2 | state value (u⁺) of the end of the interval (num_equations) |
| [in] | nor | normal vector (not a unit vector) (dim) |
| [in] | Tr | face element transformation |
| [out] | grad | Jacobian of F̄(u⁻,u⁺,x) n side = 1: ½(F̄(u⁻,u⁺,x)n - F(u⁻,x)n) / (u⁺ - u⁻) - ½J(u⁻,x)n + ¼λ side = 2: ½(F(u⁺,x)n - F̄(u⁻,u⁺,x)n) / (u⁺ - u⁻) - ¼λ |
Reimplemented from mfem::NumericalFlux.
Definition at line 527 of file hyperbolic.cpp.
|
overridevirtual |
Normal numerical flux F̂(u⁻,u⁺,x) n.
| [in] | state1 | state value (u⁻) at a point from the first element (num_equations) |
| [in] | state2 | state value (u⁺) at a point from the second element (num_equations) |
| [in] | nor | normal vector (not a unit vector) (dim) |
| [in] | Tr | face element transformation |
| [out] | flux | F̂ n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻) |
Implements mfem::NumericalFlux.
Definition at line 450 of file hyperbolic.cpp.
|
overridevirtual |
Jacobian of normal numerical flux F̂(u⁻,u⁺,x) n.
| [in] | side | gradient w.r.t the first (u⁻) or second argument (u⁺) |
| [in] | state1 | state value (u⁻) of the beginning of the interval (num_equations) |
| [in] | state2 | state value (u⁺) of the end of the interval (num_equations) |
| [in] | nor | normal vector (not a unit vector) (dim) |
| [in] | Tr | face element transformation |
| [out] | grad | Jacobian of F(u⁻,u⁺,x) n side = 1: ½J(u⁻,x)n + ½λ side = 2: ½J(u⁺,x)n - ½λ |
Reimplemented from mfem::NumericalFlux.
Definition at line 470 of file hyperbolic.cpp.
|
mutableprotected |
Definition at line 524 of file hyperbolic.hpp.
|
protected |
Definition at line 524 of file hyperbolic.hpp.
|
mutableprotected |
Definition at line 525 of file hyperbolic.hpp.