Nektar++
|
Rotating zone: Motion of every point around a given axis on an origin. More...
#include <Zones.h>
Public Member Functions | |
ZoneRotate (int id, const CompositeMap &domain, const int coordDim, const NekPoint< NekDouble > &origin, const DNekVec &axis, const LibUtilities::EquationSharedPtr &angularVelEqn) | |
virtual | ~ZoneRotate ()=default |
Default destructor. More... | |
NekDouble | GetAngularVel (NekDouble &time) const |
Return the angular velocity of the zone at. More... | |
![]() | |
ZoneBase (MovementType type, int indx, CompositeMap domain, int coordDim) | |
Constructor. More... | |
virtual | ~ZoneBase ()=default |
Default destructor. More... | |
MovementType | GetMovementType () const |
Returns the type of movement. More... | |
CompositeMap | GetDomain () const |
Returns the domain the zone is on. More... | |
int & | GetId () |
Returns the zone ID. More... | |
bool | Move (NekDouble time) |
Performs the movement of the zone at. More... | |
std::vector< GeometrySharedPtr > const & | GetElements () const |
Returns all highest dimension elements in the zone. More... | |
bool & | GetMoved () |
Returns the flag which states if the zone has moved in this timestep. More... | |
void | ClearBoundingBoxes () |
Clears all bounding boxes associated with the zones elements. More... | |
Protected Member Functions | |
virtual bool | v_Move (NekDouble time) final |
Virtual function for movement of the zone at. More... | |
virtual bool | v_Move (NekDouble time) |
Virtual function for movement of the zone at. More... | |
Protected Attributes | |
NekPoint< NekDouble > | m_origin |
Origin point rotation is performed around. More... | |
DNekVec | m_axis |
Axis rotation is performed around. More... | |
LibUtilities::EquationSharedPtr | m_angularVelEqn |
Equation defining angular velocity as a function of time. More... | |
DNekMat | m_W = DNekMat(3, 3, 0.0) |
W matrix Rodrigues' rotation formula, cross product of axis. More... | |
DNekMat | m_W2 = DNekMat(3, 3, 0.0) |
W^2 matrix Rodrigues' rotation formula, cross product of axis squared. More... | |
![]() | |
MovementType | m_type = MovementType::eNone |
Type of zone movement. More... | |
int | m_id |
Zone ID. More... | |
CompositeMap | m_domain |
Zone domain. More... | |
std::vector< GeometrySharedPtr > | m_elements |
Vector of highest dimension zone elements. More... | |
bool | m_moved = true |
Moved flag. More... | |
int | m_coordDim |
Coordinate dimension. More... | |
std::vector< PointGeomSharedPtr > | m_verts |
Vector of all points in the zone. More... | |
std::vector< CurveSharedPtr > | m_curves |
Vector of all curves in the zone. More... | |
std::vector< PointGeom > | m_origVerts |
Vector of all points in the zone at initialisation. More... | |
Rotating zone: Motion of every point around a given axis on an origin.
Nektar::SpatialDomains::ZoneRotate::ZoneRotate | ( | int | id, |
const CompositeMap & | domain, | ||
const int | coordDim, | ||
const NekPoint< NekDouble > & | origin, | ||
const DNekVec & | axis, | ||
const LibUtilities::EquationSharedPtr & | angularVelEqn | ||
) |
Constructor for rotating zones
id | Zone ID |
domain | Domain that the zone consists of |
coordDim | Coordinate dimension |
origin | Origin that the zone rotates about |
axis | Axis that the zone rotates about |
angularVelEqn | Equation for the angular velocity of rotation |
Definition at line 141 of file Zones.cpp.
References Nektar::SpatialDomains::eRotate, m_axis, m_W, and m_W2.
|
virtualdefault |
Default destructor.
Return the angular velocity of the zone at.
time |
Definition at line 180 of file Zones.cpp.
References m_angularVelEqn.
Referenced by v_Move().
|
finalprotectedvirtual |
Virtual function for movement of the zone at.
time |
Reimplemented from Nektar::SpatialDomains::ZoneBase.
Definition at line 186 of file Zones.cpp.
References Nektar::SpatialDomains::ZoneBase::ClearBoundingBoxes(), GetAngularVel(), Nektar::SpatialDomains::ZoneBase::m_curves, m_origin, Nektar::SpatialDomains::ZoneBase::m_origVerts, Nektar::SpatialDomains::ZoneBase::m_verts, m_W, and m_W2.
|
protected |
Equation defining angular velocity as a function of time.
Definition at line 168 of file Zones.h.
Referenced by GetAngularVel().
|
protected |
Axis rotation is performed around.
Definition at line 166 of file Zones.h.
Referenced by ZoneRotate().
W matrix Rodrigues' rotation formula, cross product of axis.
Definition at line 170 of file Zones.h.
Referenced by v_Move(), and ZoneRotate().