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 rhoL, NekDouble uL, NekDouble vL, NekDouble wL, NekDouble pR, NekDouble rhoR, NekDouble uR, NekDouble vR, NekDouble wR, NekDouble p0, NekDouble rho0, NekDouble u0, NekDouble v0, NekDouble w0, NekDouble &pF, NekDouble &rhoF, NekDouble &uF, NekDouble &vF, NekDouble &wF) |
Lax-Friedrichs Riemann solver. More... | |
LaxFriedrichsSolver () | |
virtual void | v_PointSolve (double rhoL, double rhouL, double rhovL, double rhowL, double EL, double rhoR, double rhouR, double rhovR, double rhowR, double ER, double &rhof, double &rhouf, double &rhovf, double &rhowf, double &Ef) |
Lax-Friedrichs Riemann solver. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
SOLVER_UTILS_EXPORT bool | CheckScalars (std::string name) |
Determine whether a scalar has been defined in m_scalars. More... | |
SOLVER_UTILS_EXPORT bool | CheckVectors (std::string name) |
Determine whether a vector has been defined in m_vectors. More... | |
SOLVER_UTILS_EXPORT bool | CheckParams (std::string name) |
Determine whether a parameter has been defined in m_params. More... | |
SOLVER_UTILS_EXPORT bool | CheckAuxScal (std::string name) |
Determine whether a scalar has been defined in m_auxScal. More... | |
SOLVER_UTILS_EXPORT bool | CheckAuxVec (std::string name) |
Determine whether a vector has been defined in m_auxVec. More... | |
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) |
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) |
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. More... | |
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::SolverUtils::RiemannSolver | |
bool | m_requiresRotation |
Indicates whether the Riemann solver requires a rotation to be applied to the velocity fields. More... | |
std::map< std::string, RSScalarFuncType > | m_scalars |
Map of scalar function types. More... | |
std::map< std::string, RSVecFuncType > | m_vectors |
Map of vector function types. More... | |
std::map< std::string, RSParamFuncType > | m_params |
Map of parameter function types. More... | |
std::map< std::string, RSScalarFuncType > | m_auxScal |
Map of auxiliary scalar function types. More... | |
std::map< std::string, RSVecFuncType > | m_auxVec |
Map of auxiliary vector function types. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_rotMat |
Rotation matrices for each trace quadrature point. More... | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_rotStorage |
Rotation storage. More... | |
Protected Attributes inherited from Nektar::CompressibleSolver | |
bool | m_pointSolve |
Definition at line 48 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.h.
|
protected |
Definition at line 53 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.
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.
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 70 of file CompressibleFlowSolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References Nektar::SolverUtils::RiemannSolver::m_params.
|
protectedvirtual |
Lax-Friedrichs Riemann solver.
pL | Perturbation pressure left state |
rhoL | Perturbation density left state |
pR | Perturbation pressure right state |
rhoR | Perturbation density right state |
uL | x perturbation velocity component left state |
uR | x perturbation velocity component right state |
vL | y perturbation velocity component left state |
vR | y perturbation velocity component right state |
wL | z perturbation velocity component left state |
wR | z perturbation velocity component right state |
p0 | Base pressure |
rho0 | Base density |
u0 | Base x velocity component |
v0 | Base y velocity component |
w0 | Base z velocity component |
pF | Computed Riemann flux for perturbation pressure |
rhoF | Computed Riemann flux for perturbation density |
uF | Computed Riemann flux for x perturbation velocity component |
vF | Computed Riemann flux for y perturbation velocity component |
wF | Computed Riemann flux for z perturbation velocity component |
Reimplemented from Nektar::APESolver.
Definition at line 83 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.cpp.
References ASSERTL1, Nektar::SolverUtils::RiemannSolver::CheckParams(), and Nektar::SolverUtils::RiemannSolver::m_params.
|
static |
Definition at line 56 of file APESolver/RiemannSolvers/LaxFriedrichsSolver.h.