Nektar++
|
#include <AcousticSolver.h>
Protected Member Functions | |
AcousticSolver (const LibUtilities::SessionReaderSharedPtr &pSession) | |
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) override |
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 c0sqL, NekDouble rho0L, NekDouble u0L, NekDouble v0L, NekDouble w0L, NekDouble c0sqR, NekDouble rho0R, NekDouble u0R, NekDouble v0R, NekDouble w0R, NekDouble &pF, NekDouble &rhoF, NekDouble &uF, NekDouble &vF, NekDouble &wF)=0 |
void | GetRotBasefield (Array< OneD, Array< OneD, NekDouble > > &bfFwd, Array< OneD, Array< OneD, NekDouble > > &bfBwd) |
Protected Member Functions inherited from Nektar::SolverUtils::RiemannSolver | |
SOLVER_UTILS_EXPORT | RiemannSolver () |
SOLVER_UTILS_EXPORT | RiemannSolver (const LibUtilities::SessionReaderSharedPtr &pSession) |
virtual SOLVER_UTILS_EXPORT | ~RiemannSolver () |
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)=0 |
SOLVER_UTILS_EXPORT 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... | |
virtual SOLVER_UTILS_EXPORT void | v_CalcFluxJacobian (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, const Array< OneD, const Array< OneD, NekDouble > > &normals, DNekBlkMatSharedPtr &FJac, DNekBlkMatSharedPtr &BJac) |
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 | SetALEFlag (bool &ALE) |
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) |
void | SetAuxVec (std::string name, RSVecFuncType fp) |
std::map< std::string, RSScalarFuncType > & | GetScalars () |
std::map< std::string, RSVecFuncType > & | GetVectors () |
std::map< std::string, RSParamFuncType > & | GetParams () |
SOLVER_UTILS_EXPORT void | CalcFluxJacobian (const int nDim, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, DNekBlkMatSharedPtr &FJac, DNekBlkMatSharedPtr &BJac) |
Calculate the flux jacobian of Fwd and Bwd. More... | |
Public Attributes inherited from Nektar::SolverUtils::RiemannSolver | |
int | m_spacedim |
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... | |
bool | m_ALESolver = false |
Flag if using the ALE formulation. More... | |
Definition at line 47 of file AcousticSolver.h.
|
protected |
Definition at line 46 of file RiemannSolvers/AcousticSolver.cpp.
References Nektar::SolverUtils::RiemannSolver::m_requiresRotation.
|
protected |
Definition at line 115 of file RiemannSolvers/AcousticSolver.cpp.
References ASSERTL1, Nektar::SolverUtils::RiemannSolver::CheckVectors(), Nektar::SolverUtils::RiemannSolver::m_vectors, and Nektar::SolverUtils::RiemannSolver::rotateToNormal().
Referenced by v_Solve(), and Nektar::LEESolver::v_Solve().
|
protectedpure virtual |
Implemented in Nektar::LEELaxFriedrichsSolver, Nektar::LEEUpwindSolver, Nektar::APELaxFriedrichsSolver, and Nektar::APEUpwindSolver.
Referenced by v_Solve(), and Nektar::LEESolver::v_Solve().
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::RiemannSolver.
Reimplemented in Nektar::LEESolver.
Definition at line 56 of file RiemannSolvers/AcousticSolver.cpp.
References GetRotBasefield(), and v_PointSolve().