90 for (
int j = 0; j < traceVel.size(); ++j)
93 traceVel[j] >= 0 ? Fwd : Bwd;
94 for (
int i = 0; i < Fwd.size(); ++i)
96 flux[i][j] = traceVel[j] * tmp[i][j];
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
The RiemannSolver class provides an abstract interface under which solvers for various Riemann proble...
SOLVER_UTILS_EXPORT bool CheckScalars(std::string name)
Determine whether a scalar has been defined in m_scalars.
std::map< std::string, RSScalarFuncType > m_scalars
Map of scalar function types.
UpwindSolver(const LibUtilities::SessionReaderSharedPtr &pSession)
Default constructor.
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) final
Implementation of the upwind solver.
static SOLVER_UTILS_EXPORT RiemannSolverSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
static std::string solverName
std::shared_ptr< SessionReader > SessionReaderSharedPtr
RiemannSolverFactory & GetRiemannSolverFactory()