Nektar++
|
#include <LaxFriedrichsSolver.h>
Static Public Member Functions | |
static RiemannSolverSharedPtr | create () |
static RiemannSolverSharedPtr | create () |
static RiemannSolverSharedPtr | create () |
Static Public Attributes | |
static std::string | solverName |
Protected Member Functions | |
LaxFriedrichsSolver () | |
virtual void | v_PointSolve (NekDouble pL, NekDouble uL, NekDouble vL, NekDouble wL, NekDouble pR, NekDouble uR, NekDouble vR, NekDouble wR, NekDouble p0, NekDouble u0, NekDouble v0, NekDouble w0, NekDouble &pF, NekDouble &uF, NekDouble &vF, NekDouble &wF) |
Lax-Friedrichs Riemann solver. | |
LaxFriedrichsSolver () | |
virtual void | v_PointSolve (NekDouble rhoL, NekDouble rhouL, NekDouble rhovL, NekDouble rhowL, NekDouble EL, NekDouble rhoR, NekDouble rhouR, NekDouble rhovR, NekDouble rhowR, NekDouble ER, NekDouble &rhof, NekDouble &rhouf, NekDouble &rhovf, NekDouble &rhowf, NekDouble &Ef) |
Lax-Friedrichs Riemann solver. | |
virtual void | v_PointSolveVisc (NekDouble rhoL, NekDouble rhouL, NekDouble rhovL, NekDouble rhowL, NekDouble EL, NekDouble EpsL, NekDouble rhoR, NekDouble rhouR, NekDouble rhovR, NekDouble rhowR, NekDouble ER, NekDouble EpsR, NekDouble &rhof, NekDouble &rhouf, NekDouble &rhovf, NekDouble &rhowf, NekDouble &Ef, NekDouble &Epsf) |
LaxFriedrichsSolver () | |
virtual void | v_PointSolve (double hL, double huL, double hvL, double hR, double huR, double hvR, double &hf, double &huf, double &hvf) |
Lax-Friedrichs Riemann solver. | |
Protected Member Functions inherited from Nektar::NonlinearSWESolver | |
NonlinearSWESolver () | |
virtual void | v_Solve (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
virtual void | v_ArraySolve (const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
Protected Member Functions inherited from Nektar::SolverUtils::RiemannSolver | |
SOLVER_UTILS_EXPORT | RiemannSolver () |
void | GenerateRotationMatrices (const Array< OneD, const Array< OneD, NekDouble > > &normals) |
Generate rotation matrices for 3D expansions. | |
void | FromToRotation (Array< OneD, const NekDouble > &from, Array< OneD, const NekDouble > &to, NekDouble *mat) |
A function for creating a rotation matrix that rotates a vector from into another vector to. | |
SOLVER_UTILS_EXPORT void | rotateToNormal (const Array< OneD, const Array< OneD, NekDouble > > &inarray, const Array< OneD, const Array< OneD, NekDouble > > &normals, const Array< OneD, const Array< OneD, NekDouble > > &vecLocs, Array< OneD, Array< OneD, NekDouble > > &outarray) |
Rotate a vector field to trace normal. | |
SOLVER_UTILS_EXPORT void | rotateFromNormal (const Array< OneD, const Array< OneD, NekDouble > > &inarray, const Array< OneD, const Array< OneD, NekDouble > > &normals, const Array< OneD, const Array< OneD, NekDouble > > &vecLocs, Array< OneD, Array< OneD, NekDouble > > &outarray) |
Rotate a vector field from trace normal. | |
SOLVER_UTILS_EXPORT bool | CheckScalars (std::string name) |
Determine whether a scalar has been defined in m_scalars. | |
SOLVER_UTILS_EXPORT bool | CheckVectors (std::string name) |
Determine whether a vector has been defined in m_vectors. | |
SOLVER_UTILS_EXPORT bool | CheckParams (std::string name) |
Determine whether a parameter has been defined in m_params. | |
SOLVER_UTILS_EXPORT bool | CheckAuxScal (std::string name) |
Determine whether a scalar has been defined in m_auxScal. | |
SOLVER_UTILS_EXPORT bool | CheckAuxVec (std::string name) |
Determine whether a vector has been defined in m_auxVec. | |
Protected Member Functions inherited from Nektar::CompressibleSolver | |
CompressibleSolver () | |
virtual void | v_Solve (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
virtual void | v_ArraySolve (const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
Protected Member Functions inherited from Nektar::APESolver | |
APESolver () | |
virtual void | v_Solve (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
Array< OneD, Array< OneD, NekDouble > > | GetRotBasefield () |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::SolverUtils::RiemannSolver | |
SOLVER_UTILS_EXPORT void | Solve (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, Array< OneD, Array< OneD, NekDouble > > &flux) |
Perform the Riemann solve given the forwards and backwards spaces. | |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetScalar (std::string name, FuncPointerT func, ObjectPointerT obj) |
void | SetScalar (std::string name, RSScalarFuncType fp) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetVector (std::string name, FuncPointerT func, ObjectPointerT obj) |
void | SetVector (std::string name, RSVecFuncType fp) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetParam (std::string name, FuncPointerT func, ObjectPointerT obj) |
void | SetParam (std::string name, RSParamFuncType fp) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetAuxScal (std::string name, FuncPointerT func, ObjectPointerT obj) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetAuxVec (std::string name, FuncPointerT func, ObjectPointerT obj) |
std::map< std::string, RSScalarFuncType > & | GetScalars () |
std::map< std::string, RSVecFuncType > & | GetVectors () |
std::map< std::string, RSParamFuncType > & | GetParams () |
Public Attributes inherited from Nektar::SolverUtils::RiemannSolver | |
int | m_spacedim |
Protected Attributes inherited from Nektar::NonlinearSWESolver | |
bool | m_pointSolve |
Protected Attributes inherited from Nektar::CompressibleSolver | |
bool | m_pointSolve |
Protected Attributes inherited from Nektar::SolverUtils::RiemannSolver | |
bool | m_requiresRotation |
Indicates whether the Riemann solver requires a rotation to be applied to the velocity fields. | |
std::map< std::string, RSScalarFuncType > | m_scalars |
Map of scalar function types. | |
std::map< std::string, RSVecFuncType > | m_vectors |
Map of vector function types. | |
std::map< std::string, RSParamFuncType > | m_params |
Map of parameter function types. | |
std::map< std::string, RSScalarFuncType > | m_auxScal |
Map of auxiliary scalar function types. | |
std::map< std::string, RSVecFuncType > | m_auxVec |
Map of auxiliary vector function types. | |
Array< OneD, Array< OneD, NekDouble > > | m_rotMat |
Rotation matrices for each trace quadrature point. | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_rotStorage |
Rotation storage. |
Definition at line 48 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.h.
|
protected |
Definition at line 51 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
Referenced by create().
|
protected |
|
protected |
|
inlinestatic |
Definition at line 46 of file CompressibleFlowSolver/RiemannSolvers/LaxFriedrichsSolver.h.
References LaxFriedrichsSolver().
|
inlinestatic |
Definition at line 46 of file ShallowWaterSolver/RiemannSolvers/LaxFriedrichsSolver.h.
References LaxFriedrichsSolver().
|
inlinestatic |
Definition at line 51 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.h.
|
protectedvirtual |
Lax-Friedrichs Riemann solver.
rhoL | Density left state. |
rhoR | Density right state. |
rhouL | x-momentum component left state. |
rhouR | x-momentum component right state. |
rhovL | y-momentum component left state. |
rhovR | y-momentum component right state. |
rhowL | z-momentum component left state. |
rhowR | z-momentum component right state. |
EL | Energy left state. |
ER | Energy right state. |
rhof | Computed Riemann flux for density. |
rhouf | Computed Riemann flux for x-momentum component |
rhovf | Computed Riemann flux for y-momentum component |
rhowf | Computed Riemann flux for z-momentum component |
Ef | Computed Riemann flux for energy. |
Reimplemented from Nektar::CompressibleSolver.
Definition at line 69 of file CompressibleFlowSolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References Nektar::SolverUtils::RiemannSolver::m_params, and sign.
|
protectedvirtual |
Lax-Friedrichs Riemann solver.
hL | Water depth left state. |
hR | Water depth right state. |
huL | x-momentum component left state. |
huR | x-momentum component right state. |
hvL | y-momentum component left state. |
hvR | y-momentum component right state. |
hf | Computed Riemann flux for density. |
huf | Computed Riemann flux for x-momentum component |
hvf | Computed Riemann flux for y-momentum component |
Reimplemented from Nektar::NonlinearSWESolver.
Definition at line 64 of file ShallowWaterSolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References Nektar::SolverUtils::RiemannSolver::m_params, and sign.
|
protectedvirtual |
Lax-Friedrichs Riemann solver.
pL | Perturbation pressure left state. |
pR | Perturbation pressure right state. |
uL | x perturbation verlocity component left state. |
uR | x perturbation verlocity component right state. |
vL | y perturbation verlocity component left state. |
vR | y perturbation verlocity component right state. |
wL | z perturbation verlocity component left state. |
wR | z perturbation verlocity component right state. |
p0 | Base pressure. |
u0 | Base x verlocity component |
v0 | Base y verlocity component |
w0 | Base z verlocity component |
pF | Computed Riemann flux for perturbation pressure. |
uF | Computed Riemann flux for x perturbation verlocity component |
vF | Computed Riemann flux for y perturbation verlocity component |
wF | Computed Riemann flux for z perturbation verlocity component |
Reimplemented from Nektar::APESolver.
Definition at line 77 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References ASSERTL1, Nektar::SolverUtils::RiemannSolver::CheckParams(), and Nektar::SolverUtils::RiemannSolver::m_params.
|
protectedvirtual |
Reimplemented from Nektar::CompressibleSolver.
Definition at line 141 of file CompressibleFlowSolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References Nektar::SolverUtils::RiemannSolver::m_params, and sign.
|
static |
Definition at line 56 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.h.