36 #include <boost/core/ignore_unused.hpp>
45 std::string PressureMachTemperatureBC::className =
47 "PressureMachTemperature", PressureMachTemperatureBC::create,
48 "BC prescribed in terms of p, Ma and T.");
50 PressureMachTemperatureBC::PressureMachTemperatureBC(
54 const int pSpaceDim,
const int bcRegion,
const int cnt)
55 :
CFSBndCond(pSession, pFields, pTraceNormals, pSpaceDim, bcRegion, cnt)
63 for (
int i = 0; i < nvariables; ++i)
95 soundSpeed, 1, tmp, 1);
107 for (
int i = 0; i < nvariables; ++i)
119 boost::ignore_unused(Fwd, physarray, time);
125 for (
int i = 0; i < nvariables; ++i)
Encapsulates the user-defined boundary conditions for compressible flow solver.
int m_spacedim
Space dimension.
int m_bcRegion
Id of the boundary region.
VariableConverterSharedPtr m_varConv
Auxiliary object to convert variables.
Array< OneD, MultiRegions::ExpListSharedPtr > m_fields
Array of fields.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
virtual void v_Apply(Array< OneD, Array< OneD, NekDouble >> &Fwd, Array< OneD, Array< OneD, NekDouble >> &physarray, const NekDouble &time) override
Array< OneD, Array< OneD, NekDouble > > m_bcStorage
std::shared_ptr< SessionReader > SessionReaderSharedPtr
The above copyright notice and this permission notice shall be included.
CFSBndCondFactory & GetCFSBndCondFactory()
Declaration of the boundary condition factory singleton.
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*x.
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)