|
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... | |
| virtual bool | v_Move (NekDouble time) final |
| Virtual function for movement of the zone at. More... | |
Public Member Functions inherited from Nektar::SpatialDomains::ZoneBase | |
| 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 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... | |
Protected Attributes inherited from Nektar::SpatialDomains::ZoneBase | |
| 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().
|
finalvirtual |
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 171 of file Zones.h.
Referenced by GetAngularVel().
|
protected |
Axis rotation is performed around.
Definition at line 169 of file Zones.h.
Referenced by ZoneRotate().
W matrix Rodrigues' rotation formula, cross product of axis.
Definition at line 173 of file Zones.h.
Referenced by v_Move(), and ZoneRotate().