36 #ifndef NEKTAR_SOLVERS_ACOUSTICSOLVER_EQUATIONSYSTEMS_ACOUSTICSYSTEM_H
37 #define NEKTAR_SOLVERS_ACOUSTICSOLVER_EQUATIONSYSTEMS_ACOUSTICSYSTEM_H
40 #include <boost/version.hpp>
41 #if BOOST_VERSION >= 106900 && BOOST_VERSION < 107000
42 #define BOOST_ALLOW_DEPRECATED_HEADERS
45 #include <boost/core/ignore_unused.hpp>
46 #include <boost/random/mersenne_twister.hpp>
75 std::vector<SolverUtils::ForcingSharedPtr>
m_forcing;
86 virtual void v_InitObject();
104 boost::ignore_unused(inarray, outarray);
107 virtual bool v_PreIntegrate(
int step);
109 virtual void v_Output();
114 virtual void v_ExtraFldOutput(
116 std::vector<std::string> &variables);
125 std::map<int, boost::mt19937>
m_rng;
134 virtual void v_WallBC(
int bcRegion,
int cnt,
143 virtual void v_WhiteNoiseBC(
int bcRegion,
int cnt,
151 void UpdateBasefieldFwdBwd();
SolverUtils::CouplingSharedPtr m_coupling
NekDouble m_whiteNoiseBC_p
virtual void v_GetFluxVector(const Array< OneD, Array< OneD, NekDouble >> &physfield, Array< OneD, Array< OneD, Array< OneD, NekDouble >>> &flux)=0
std::vector< std::string > m_bfNames
Array< OneD, Array< OneD, NekDouble > > m_vecLocs
NekDouble GetCFLEstimate()
bool m_conservative
we are dealing with a conservative formualtion
SolverUtils::AdvectionSharedPtr m_advection
int m_ip
indices of the fields
virtual void v_AddLinTerm(const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray)
std::map< int, boost::mt19937 > m_rng
Array< OneD, Array< OneD, NekDouble > > m_bfFwdBwd
Array< OneD, Array< OneD, NekDouble > > m_bf
std::vector< SolverUtils::ForcingSharedPtr > m_forcing
virtual void v_RiemannInvariantBC(int bcRegion, int cnt, Array< OneD, Array< OneD, NekDouble >> &Fwd, Array< OneD, Array< OneD, NekDouble >> &BfFwd, Array< OneD, Array< OneD, NekDouble >> &physarray)=0
SolverUtils::RiemannSolverSharedPtr m_riemannSolver
NekDouble m_whiteNoiseBC_lastUpdate
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
A base class for PDEs which include an advection component.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< RiemannSolver > RiemannSolverSharedPtr
A shared pointer to an EquationSystem object.
SOLVER_UTILS_EXPORT typedef std::shared_ptr< Coupling > CouplingSharedPtr
std::shared_ptr< Advection > AdvectionSharedPtr
A shared pointer to an Advection object.
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
The above copyright notice and this permission notice shall be included.