|
Nektar++
|
#include <Movement.h>
Public Member Functions | |
| Movement ()=default | |
| Default constructor. | |
| Movement (const LibUtilities::SessionReaderSharedPtr &pSession, MeshGraph *meshGraph) | |
| Constructor to read from XML file. | |
| ~Movement ()=default | |
| Default destructor. | |
| void | WriteMovement (TiXmlElement *root) |
| Write the MOVEMENT section of the XML file. | |
| const InterfaceCollection & | GetInterfaces () const |
| const std::map< int, ZoneBaseShPtr > & | GetZones () const |
| void | PerformMovement (NekDouble timeStep) |
| const bool & | GetMoveFlag () const |
| bool & | GetCoordExchangeFlag () |
| const bool & | GetMovedFlag () const |
| const bool & | GetTranslateFlag () const |
| const bool & | GetRotateFlag () const |
| const bool & | GetSectorRotateFlag () const |
| const bool & | GetImplicitALESolverFlag () const |
| const bool & | GetMeshDistortedFlag () const |
| void | SetImplicitALEFlag (bool &ImplicitALE) |
| void | SetMeshDistortedFlag (bool &meshDistorted) |
| void | AddZone (ZoneBaseShPtr zone) |
| Add a zone object to this Movement data. | |
| void | AddInterface (std::string name, InterfaceShPtr left, InterfaceShPtr right) |
| Add pair of interfaces to this data. | |
Protected Attributes | |
| InterfaceCollection | m_interfaces |
| std::map< int, ZoneBaseShPtr > | m_zones |
| bool | m_moveFlag = false |
| bool | m_translate = false |
| bool | m_rotate = false |
| bool | m_sectorRotate = false |
| bool | m_moved = false |
| bool | m_implicitALESolver = false |
| bool | m_meshDistorted = false |
| bool | m_coordExchangeFlag |
Private Member Functions | |
| void | ReadZones (TiXmlElement *zonesTag, MeshGraph *meshGraph, const LibUtilities::SessionReaderSharedPtr &pSession) |
| Read zones given TiXmlDocument. | |
| void | ReadInterfaces (TiXmlElement *interfacesTag, MeshGraph *meshGraph) |
| Read interfaces given TiXmlDocument. | |
| void | UpdateTransZoneBox (const LibUtilities::SessionReaderSharedPtr &pSession) |
| Update the box of translate zones. | |
Definition at line 52 of file Movement.h.
|
default |
Default constructor.
| Nektar::SpatialDomains::Movement::Movement | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
| MeshGraph * | meshGraph | ||
| ) |
Constructor to read from XML file.
Definition at line 71 of file Movement/Movement.cpp.
References m_interfaces, m_translate, m_zones, Nektar::SpatialDomains::MovementTypeStr, ReadInterfaces(), ReadZones(), Nektar::LibUtilities::ReduceMax, Nektar::LibUtilities::ReduceSum, Nektar::LibUtilities::ShapeTypeMap, and UpdateTransZoneBox().
|
default |
Default destructor.
| void Nektar::SpatialDomains::Movement::AddInterface | ( | std::string | name, |
| InterfaceShPtr | left, | ||
| InterfaceShPtr | right | ||
| ) |
Add pair of interfaces to this data.
Store an interface pair with this Movement data.
Definition at line 592 of file Movement/Movement.cpp.
References m_interfaces.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), and export_Movement().
| void Nektar::SpatialDomains::Movement::AddZone | ( | ZoneBaseShPtr | zone | ) |
Add a zone object to this Movement data.
Store a zone object with this Movement data.
Definition at line 581 of file Movement/Movement.cpp.
References Nektar::SpatialDomains::eFixed, Nektar::SpatialDomains::eNone, m_moveFlag, and m_zones.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), and export_Movement().
|
inline |
Definition at line 86 of file Movement.h.
References m_coordExchangeFlag.
|
inline |
Definition at line 111 of file Movement.h.
References m_implicitALESolver.
|
inline |
Definition at line 69 of file Movement.h.
References m_interfaces.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), and Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 74 of file Movement.h.
References m_zones.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), Nektar::MovementTests::BOOST_AUTO_TEST_CASE(), and export_Movement().
Definition at line 553 of file Movement/Movement.cpp.
References m_interfaces, m_moved, and m_zones.
Referenced by export_Movement().
|
private |
Read interfaces given TiXmlDocument.
Definition at line 368 of file Movement/Movement.cpp.
References ASSERTL0, Nektar::ErrorUtil::efatal, Nektar::SpatialDomains::MeshGraph::GetCompositeList(), m_interfaces, NEKERROR, and Nektar::SpatialDomains::ReadTag().
Referenced by Movement().
|
private |
Read zones given TiXmlDocument.
Definition at line 193 of file Movement/Movement.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::LibUtilities::Interpreter::DefineFunction(), Nektar::LibUtilities::Interpreter::Evaluate(), Nektar::ParseUtils::GenerateVector(), Nektar::SpatialDomains::MeshGraph::GetDomain(), Nektar::SpatialDomains::MeshGraph::GetSpaceDimension(), m_moveFlag, m_rotate, m_sectorRotate, m_translate, m_zones, Nektar::NekVector< DataType >::Normalize(), Nektar::SpatialDomains::ReadTag(), and WARNINGL0.
Referenced by Movement().
|
inline |
Definition at line 121 of file Movement.h.
References m_implicitALESolver.
|
inline |
Definition at line 126 of file Movement.h.
References m_moved.
|
private |
Update the box of translate zones.
Generate domain box for translation mesh.
Definition at line 601 of file Movement/Movement.cpp.
References Nektar::SpatialDomains::eTranslate, m_zones, tinysimd::max(), tinysimd::min(), Nektar::LibUtilities::ReduceMax, and Nektar::LibUtilities::ReduceMin.
Referenced by Movement().
| void Nektar::SpatialDomains::Movement::WriteMovement | ( | TiXmlElement * | root | ) |
Write the MOVEMENT section of the XML file.
Export this Movement information to a Nektar++ XML file.
Definition at line 454 of file Movement/Movement.cpp.
References Nektar::SpatialDomains::eRotate, Nektar::SpatialDomains::eTranslate, Nektar::ParseUtils::GenerateSeqString(), m_interfaces, m_zones, Nektar::SpatialDomains::MovementTypeStr, and Nektar::SpatialDomains::StripParentheses().
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
|
protected |
Definition at line 150 of file Movement.h.
Referenced by GetCoordExchangeFlag().
|
protected |
Definition at line 148 of file Movement.h.
Referenced by GetImplicitALESolverFlag(), and SetImplicitALEFlag().
|
protected |
Definition at line 141 of file Movement.h.
Referenced by AddInterface(), GetInterfaces(), Movement(), PerformMovement(), ReadInterfaces(), and WriteMovement().
|
protected |
Definition at line 149 of file Movement.h.
Referenced by GetMeshDistortedFlag().
|
protected |
Definition at line 147 of file Movement.h.
Referenced by GetMovedFlag(), PerformMovement(), and SetMeshDistortedFlag().
|
protected |
Definition at line 143 of file Movement.h.
Referenced by AddZone(), GetMoveFlag(), and ReadZones().
|
protected |
Definition at line 145 of file Movement.h.
Referenced by GetRotateFlag(), and ReadZones().
|
protected |
Definition at line 146 of file Movement.h.
Referenced by GetSectorRotateFlag(), and ReadZones().
|
protected |
Definition at line 144 of file Movement.h.
Referenced by GetTranslateFlag(), Movement(), and ReadZones().
|
protected |
Definition at line 142 of file Movement.h.
Referenced by AddZone(), GetZones(), Movement(), PerformMovement(), ReadZones(), UpdateTransZoneBox(), and WriteMovement().