Nektar++
|
#include <Movement.h>
Public Member Functions | |
Movement ()=default | |
Default constructor. More... | |
Movement (const LibUtilities::SessionReaderSharedPtr &pSession, MeshGraph *meshGraph) | |
Constructor to read from XML file. More... | |
~Movement ()=default | |
Default destructor. More... | |
void | WriteMovement (TiXmlElement *root) |
Write the MOVEMENT section of the XML file. More... | |
const InterfaceCollection & | GetInterfaces () const |
const std::map< int, ZoneBaseShPtr > & | GetZones () const |
void | PerformMovement (NekDouble timeStep) |
const bool & | GetMoveFlag () const |
bool & | GetCoordExchangeFlag () |
const Array< OneD, NekDouble > & | GetDomainBox () const |
const Array< OneD, NekDouble > & | GetDomainLength () const |
const bool & | GetMovedFlag () const |
const bool & | GetTranslateFlag () const |
const bool & | GetImplicitALESolverFlag () const |
void | SetImplicitALEFlag (bool &ImplicitALE) |
void | AddZone (ZoneBaseShPtr zone) |
Add a zone object to this Movement data. More... | |
void | AddInterface (std::string name, InterfaceShPtr left, InterfaceShPtr right) |
Add pair of interfaces to this data. More... | |
Protected Attributes | |
InterfaceCollection | m_interfaces |
std::map< int, ZoneBaseShPtr > | m_zones |
bool | m_moveFlag = false |
bool | m_translate = false |
bool | m_moved = false |
bool | m_ImplicitALESolver = false |
bool | m_coordExchangeFlag |
Array< OneD, NekDouble > | m_DomainBox |
Array< OneD, NekDouble > | m_DomainLength |
Private Member Functions | |
void | ReadZones (TiXmlElement *zonesTag, MeshGraph *meshGraph, const LibUtilities::SessionReaderSharedPtr &pSession) |
Read zones given TiXmlDocument. More... | |
void | ReadInterfaces (TiXmlElement *interfacesTag, MeshGraph *meshGraph) |
Read interfaces given TiXmlDocument. More... | |
void | DomainBox () |
Calculate length of the domain. More... | |
Definition at line 51 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 70 of file Movement/Movement.cpp.
References ASSERTL0, DomainBox(), m_DomainBox, m_DomainLength, m_interfaces, m_translate, m_zones, Nektar::SpatialDomains::MovementTypeStr, ReadInterfaces(), ReadZones(), Nektar::LibUtilities::ReduceMax, Nektar::LibUtilities::ReduceMin, Nektar::LibUtilities::ReduceSum, and Nektar::LibUtilities::ShapeTypeMap.
|
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 567 of file Movement/Movement.cpp.
References m_interfaces, and CellMLToNektar.pycml::name.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
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 556 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().
|
private |
Calculate length of the domain.
Generate domain box for translation mesh.
Definition at line 576 of file Movement/Movement.cpp.
References m_DomainBox, m_DomainLength, m_translate, m_zones, and CellMLToNektar.cellml_metadata::p.
Referenced by Movement().
|
inline |
Definition at line 85 of file Movement.h.
References m_coordExchangeFlag.
Definition at line 95 of file Movement.h.
References m_DomainLength.
|
inline |
Definition at line 110 of file Movement.h.
References m_ImplicitALESolver.
|
inline |
Definition at line 68 of file Movement.h.
References m_interfaces.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
|
inline |
|
inline |
|
inline |
Definition at line 105 of file Movement.h.
References m_translate.
|
inline |
Definition at line 73 of file Movement.h.
References m_zones.
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
Definition at line 528 of file Movement/Movement.cpp.
References m_interfaces, m_moved, and m_zones.
|
private |
Read interfaces given TiXmlDocument.
Definition at line 343 of file Movement/Movement.cpp.
References ASSERTL0, Nektar::ErrorUtil::efatal, Nektar::SpatialDomains::MeshGraph::GetCompositeList(), m_interfaces, CellMLToNektar.pycml::name, NEKERROR, and Nektar::SpatialDomains::ReadTag().
Referenced by Movement().
|
private |
Read zones given TiXmlDocument.
Definition at line 206 of file Movement/Movement.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::MovementTests::axis, Nektar::MovementTests::displacementStr, Nektar::ParseUtils::GenerateVector(), Nektar::SpatialDomains::MeshGraph::GetDomain(), Nektar::SpatialDomains::MeshGraph::GetSpaceDimension(), m_moveFlag, m_translate, m_zones, Nektar::NekVector< DataType >::Normalize(), Nektar::MovementTests::origin, Nektar::SpatialDomains::ReadTag(), Nektar::MovementTests::velocityStr, and WARNINGL0.
Referenced by Movement().
|
inline |
Definition at line 115 of file Movement.h.
References m_ImplicitALESolver.
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 429 of file Movement/Movement.cpp.
References Nektar::SpatialDomains::eRotate, Nektar::SpatialDomains::eTranslate, Nektar::ParseUtils::GenerateSeqString(), CG_Iterations::label, m_interfaces, m_zones, Nektar::SpatialDomains::MovementTypeStr, Nektar::SpatialDomains::StripParentheses(), and Nektar::UnitTests::z().
Referenced by Nektar::MovementTests::BOOST_AUTO_TEST_CASE().
|
protected |
Definition at line 136 of file Movement.h.
Referenced by GetCoordExchangeFlag().
Definition at line 138 of file Movement.h.
Referenced by DomainBox(), GetDomainBox(), and Movement().
Definition at line 139 of file Movement.h.
Referenced by DomainBox(), GetDomainLength(), and Movement().
|
protected |
Definition at line 135 of file Movement.h.
Referenced by GetImplicitALESolverFlag(), and SetImplicitALEFlag().
|
protected |
Definition at line 130 of file Movement.h.
Referenced by AddInterface(), GetInterfaces(), Movement(), PerformMovement(), ReadInterfaces(), and WriteMovement().
|
protected |
Definition at line 134 of file Movement.h.
Referenced by GetMovedFlag(), and PerformMovement().
|
protected |
Definition at line 132 of file Movement.h.
Referenced by AddZone(), GetMoveFlag(), and ReadZones().
|
protected |
Definition at line 133 of file Movement.h.
Referenced by DomainBox(), GetTranslateFlag(), Movement(), and ReadZones().
|
protected |
Definition at line 131 of file Movement.h.
Referenced by AddZone(), DomainBox(), GetZones(), Movement(), PerformMovement(), ReadZones(), and WriteMovement().