| 
|   | UpwindPulseSolver (const LibUtilities::SessionReaderSharedPtr &pSession) | 
|   | 
| 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) override | 
|   | 
| void  | RiemannSolverUpwind (NekDouble AL, NekDouble uL, NekDouble AR, NekDouble uR, NekDouble &Aflux, NekDouble &uflux, NekDouble A0, NekDouble beta, NekDouble n, NekDouble alpha=0.5) | 
|   | 
| SOLVER_UTILS_EXPORT  | RiemannSolver () | 
|   | 
| SOLVER_UTILS_EXPORT  | RiemannSolver (const LibUtilities::SessionReaderSharedPtr &pSession) | 
|   | 
| virtual SOLVER_UTILS_EXPORT  | ~RiemannSolver () | 
|   | 
| 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) | 
|   | 
 | 
| LibUtilities::SessionReaderSharedPtr  | m_session | 
|   | 
| int  | m_nVariables | 
|   | 
| Array< OneD, MultiRegions::ExpListSharedPtr >  | m_vessels | 
|   | 
| PulseWavePressureAreaSharedPtr  | m_pressureArea | 
|   | 
| 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...
  | 
|   | 
 | 
| 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) | 
|   | 
| 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...
  | 
|   | 
| int  | m_spacedim | 
|   | 
Definition at line 47 of file UpwindPulseSolver.h.
 
Riemann solver for upwinding at an interface between two elements. Uses the characteristic variables for calculating the upwinded state \((A_u, u_u)\) from the left \((A_L, u_L)\) and right state \((A_R, u_R)\). Returns the upwinded flux $\mathbf{F}^u$ needed for the weak formulation (1). Details can be found in "Pulse wave propagation in the
human vascular system", section 3.3 
Definition at line 95 of file UpwindPulseSolver.cpp.
  118         Array<OneD, MultiRegions::ExpListSharedPtr>(
m_nVariables * nDomains);
 
  120     if (
m_session->DefinesSolverInfo(
"PressureArea"))
 
  134     ASSERTL1(fabs(cL + cR) > fabs(uL + uR), 
"Conditions are not sub-sonic");
 
  159     uflux = (uu * uu / 2 + 
P / rho) * n;
 
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
 
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
 
SOLVER_UTILS_EXPORT bool CheckParams(std::string name)
Determine whether a parameter has been defined in m_params.
 
std::map< std::string, RSParamFuncType > m_params
Map of parameter function types.
 
PulseWavePressureAreaSharedPtr m_pressureArea
 
Array< OneD, MultiRegions::ExpListSharedPtr > m_vessels
 
@ beta
Gauss Radau pinned at x=-1,.
 
PressureAreaFactory & GetPressureAreaFactory()
 
 
References ASSERTL1, Nektar::LibUtilities::beta, Nektar::SolverUtils::RiemannSolver::CheckParams(), Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::GetPressureAreaFactory(), m_nVariables, Nektar::SolverUtils::RiemannSolver::m_params, m_pressureArea, m_session, m_vessels, and Nektar::LibUtilities::P.
Referenced by v_Solve().