MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::RusanovFlux Class Reference

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 velocity. More...

#include <hyperbolic.hpp>

Inheritance diagram for mfem::RusanovFlux:
[legend]
Collaboration diagram for mfem::RusanovFlux:
[legend]

Public Member Functions

 RusanovFlux (const FluxFunction &fluxFunction)
 
real_t Eval (const Vector &state1, const Vector &state2, const Vector &nor, FaceElementTransformations &Tr, Vector &flux) const override
 hat(F)n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻)
 
- Public Member Functions inherited from mfem::RiemannSolver
 RiemannSolver (const FluxFunction &fluxFunction)
 
virtual ~RiemannSolver ()=default
 
const FluxFunctionGetFluxFunction () const
 Get flux function F.
 

Protected Attributes

Vector fluxN1
 
Vector fluxN2
 
- Protected Attributes inherited from mfem::RiemannSolver
const FluxFunctionfluxFunction
 

Detailed Description

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 velocity.

Definition at line 248 of file hyperbolic.hpp.

Constructor & Destructor Documentation

◆ RusanovFlux()

mfem::RusanovFlux::RusanovFlux ( const FluxFunction & fluxFunction)
inline

Definition at line 251 of file hyperbolic.hpp.

Member Function Documentation

◆ Eval()

real_t mfem::RusanovFlux::Eval ( const Vector & state1,
const Vector & state2,
const Vector & nor,
FaceElementTransformations & Tr,
Vector & flux ) const
overridevirtual

hat(F)n = ½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻)

Parameters
[in]state1state value at a point from the first element (num_equations)
[in]state2state value at a point from the second element (num_equations)
[in]nornormal vector (not a unit vector) (dim)
[in]Trface element transformation
[out]flux½(F(u⁺,x)n + F(u⁻,x)n) - ½λ(u⁺ - u⁻)

Implements mfem::RiemannSolver.

Definition at line 204 of file hyperbolic.cpp.

Member Data Documentation

◆ fluxN1

Vector mfem::RusanovFlux::fluxN1
mutableprotected

Definition at line 277 of file hyperbolic.hpp.

◆ fluxN2

Vector mfem::RusanovFlux::fluxN2
protected

Definition at line 277 of file hyperbolic.hpp.


The documentation for this class was generated from the following files: