43 "Far field boundary condition of moving reference frame");
50 [[maybe_unused]]
int nbnd, [[maybe_unused]]
int spacedim,
51 [[maybe_unused]]
int bnddim)
58 if (cond[i]->GetUserDefined() ==
classname)
77 std::static_pointer_cast<
79 ->m_dirichletCondition);
86 std::map<std::string, NekDouble> ¶ms)
95 if (params.find(
"Time") != params.end())
97 time = params[
"Time"];
104 if (params.find(
"Theta_z") != params.end())
107 NekDouble c = cos(params[
"Theta_z"]), s = sin(params[
"Theta_z"]);
108 vels[0] = v0 * c + v1 * s;
109 vels[1] = -v0 * s + v1 * c;
117 it.second->GetPlane(0)->UpdatePhys();
119 it.second->GetPlane(0)->FwdTransBndConstrained(
120 tmpvel, it.second->GetPlane(0)->UpdateCoeffs());
126 it.second->FwdTransBndConstrained(tmpvel,
127 it.second->UpdateCoeffs());
std::map< int, MultiRegions::ExpListSharedPtr > m_BndExp
virtual void v_Initialise(const LibUtilities::SessionReaderSharedPtr &pSession)
void SetNumPointsOnPlane0(int &npointsPlane0)
std::map< int, SpatialDomains::BoundaryConditionShPtr > m_BndConds
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
std::vector< LibUtilities::Equation > m_definedVels
void v_Update(const Array< OneD, const Array< OneD, NekDouble > > &fields, const Array< OneD, const Array< OneD, NekDouble > > &Adv, std::map< std::string, NekDouble > ¶ms) override
static IncBaseConditionSharedPtr create(const LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields, Array< OneD, SpatialDomains::BoundaryConditionShPtr > cond, Array< OneD, MultiRegions::ExpListSharedPtr > exp, int nbnd, int spacedim, int bnddim)
static std::string className
MovingFrameFar(const LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields, Array< OneD, SpatialDomains::BoundaryConditionShPtr > cond, Array< OneD, MultiRegions::ExpListSharedPtr > exp, int nbnd, int spacedim, int bnddim)
void v_Initialise(const LibUtilities::SessionReaderSharedPtr &pSession) override
~MovingFrameFar() override
std::shared_ptr< SessionReader > SessionReaderSharedPtr
IncBCFactory & GetIncBCFactory()
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.