50 return std::make_shared<ZoneRotate>(
id, domainID, domain, coordDim,
origin,
55 int id,
int domainID,
const CompositeMap &domain,
const int coordDim,
59 return std::make_shared<ZoneTranslate>(
id, domainID, domain, coordDim,
60 velocityEqns, displacementEqns);
66 return std::make_shared<ZoneFixed>(
id, domainID, domain, coordDim);
73 py::class_<ZoneBase, std::shared_ptr<ZoneBase>>(m,
"ZoneBase")
74 .def(
"GetMovementType", &ZoneBase::GetMovementType,
75 py::return_value_policy::reference_internal)
76 .def(
"GetDomain", &ZoneBase::GetDomain,
77 py::return_value_policy::reference_internal)
79 .def(
"GetDomainID", &ZoneBase::GetDomainID,
81 .def(
"Move", &ZoneBase::Move)
82 .def(
"GetElements", &ZoneBase::GetElements,
83 py::return_value_policy::reference_internal)
85 .def(
"ClearBoundingBoxes", &ZoneBase::ClearBoundingBoxes);
87 py::class_<ZoneRotate, ZoneBase, std::shared_ptr<ZoneRotate>>(m,
90 .def(
"GetAngualrVel", &ZoneRotate::GetAngularVel)
93 .def(
"GetAngularVelEqn", &ZoneRotate::GetAngularVelEqn);
95 py::class_<ZoneTranslate, ZoneBase, std::shared_ptr<ZoneTranslate>>(
98 .def(
"GetVelocityEquation", &ZoneTranslate::GetVelocityEquation)
99 .def(
"GetDisplacementEqn", &ZoneTranslate::GetDisplacementEquation);
101 py::class_<ZoneFixed, ZoneBase, std::shared_ptr<ZoneFixed>>(m,
"ZoneFixed")
#define NEKPY_WRAP_ENUM_STRING(MOD, ENUMNAME, MAPNAME)
void export_Zones(py::module &m)
ZoneRotateShPtr ZoneRotate_Init(int id, int domainID, const CompositeMap &domain, const int coordDim, const NekPoint< NekDouble > &origin, const DNekVec &axis, LibUtilities::EquationSharedPtr &angularVelEqn)
ZoneFixedShPtr ZoneFixed_Init(int id, int domainID, const CompositeMap &domain, const int coordDim)
ZoneTranslateShPtr ZoneTranslate_Init(int id, int domainID, const CompositeMap &domain, const int coordDim, const Array< OneD, LibUtilities::EquationSharedPtr > &velocityEqns, const Array< OneD, LibUtilities::EquationSharedPtr > &displacementEqns)
std::shared_ptr< Equation > EquationSharedPtr
const NekPoint< NekDouble > origin
std::shared_ptr< ZoneTranslate > ZoneTranslateShPtr
std::shared_ptr< ZoneRotate > ZoneRotateShPtr
MovementType
Enum of zone movement type.
std::shared_ptr< ZoneFixed > ZoneFixedShPtr
const std::string MovementTypeStr[]
Map of zone movement type to movement type string.
std::map< int, CompositeSharedPtr > CompositeMap