Nektar++
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
Nektar::SpatialDomains Namespace Reference

Classes

struct  BoundaryConditionBase
 
class  BoundaryConditions
 
struct  Composite
 
struct  Curve
 
struct  DirichletBoundaryCondition
 
class  EntityHolder
 
class  EntityHolder1D
 
struct  ExpansionInfo
 
class  Geometry
 Base class for shape geometry information. More...
 
class  Geometry0D
 1D geometry information More...
 
class  Geometry1D
 1D geometry information More...
 
class  Geometry2D
 2D geometry information More...
 
class  Geometry3D
 3D geometry information More...
 
struct  GeometryHash
 Unary function that constructs a hash of a Geometry object, based on the vertex IDs. More...
 
class  GeomFactors
 Calculation and storage of geometric factors associated with the mapping from StdRegions reference elements to a given LocalRegions physical element in the mesh. More...
 
struct  GeomFactorsHash
 A hash functor for geometric factors. Utilises GeomFactors::GetHash. More...
 
class  GeomMapView
 
class  HexGeom
 
struct  Interface
 A interface which is a single edge on a zone for handling non-conformality. More...
 
struct  InterfacePair
 
struct  MeshCurvedInfo
 
struct  MeshCurvedPts
 
struct  MeshEdge
 
struct  MeshEntity
 
class  MeshGraph
 Base class for a spectral/hp element mesh. More...
 
class  MeshGraphIO
 
class  MeshGraphIOHDF5
 
class  MeshGraphIOXml
 
class  MeshGraphIOXmlCompressed
 
struct  MeshHex
 
class  MeshPartition
 
class  MeshPartitionMetis
 
class  MeshPartitionPtScotch
 
class  MeshPartitionScotch
 
struct  MeshPrism
 
struct  MeshPyr
 
struct  MeshQuad
 
struct  MeshTet
 
struct  MeshTri
 
struct  MeshVertex
 
class  Movement
 
struct  NeumannBoundaryCondition
 
struct  NotDefinedBoundaryCondition
 
struct  PeriodicBoundaryCondition
 
class  PointGeom
 
class  PrismGeom
 
class  PyrGeom
 
class  QuadGeom
 
class  RefRegion
 Abstract base class for the refinement surface region. More...
 
class  RefRegionCylinder
 Derived class for the refinement surface region. More...
 
class  RefRegionLine
 Derived class for the refinement surface region. More...
 
class  RefRegionParallelogram
 Derived class for the refinement surface region. More...
 
class  RefRegionSphere
 Derived class for the refinement surface region. More...
 
struct  RobinBoundaryCondition
 
class  SegGeom
 
class  TetGeom
 
class  TriGeom
 
class  XmapFactory
 A simple factory for Xmap objects that is based on the element type, the basis and quadrature selection. More...
 
struct  ZoneBase
 Zone base: Contains the shared functions and variables. More...
 
struct  ZoneFixed
 Fixed zone: does not move. More...
 
struct  ZoneRotate
 Rotating zone: Motion of every point around a given axis on an origin. More...
 
struct  ZoneTranslate
 Translating zone: addition of a constant vector to every point. More...
 

Typedefs

typedef std::map< int, CompositeSharedPtrBoundaryRegion
 
typedef std::shared_ptr< BoundaryRegionBoundaryRegionShPtr
 
typedef std::shared_ptr< const BoundaryRegionConstBoundaryRegionShPtr
 
typedef std::map< int, BoundaryRegionShPtrBoundaryRegionCollection
 
typedef std::shared_ptr< BoundaryConditionBaseBoundaryConditionShPtr
 
typedef std::shared_ptr< DirichletBoundaryConditionDirichletBCShPtr
 
typedef std::shared_ptr< NeumannBoundaryConditionNeumannBCShPtr
 
typedef std::shared_ptr< RobinBoundaryConditionRobinBCShPtr
 
typedef std::map< std::string, BoundaryConditionShPtrBoundaryConditionMap
 
typedef std::shared_ptr< BoundaryConditionMapBoundaryConditionMapShPtr
 
typedef std::map< int, BoundaryConditionMapShPtrBoundaryConditionCollection
 
typedef std::shared_ptr< BoundaryConditionsBoundaryConditionsSharedPtr
 
typedef std::shared_ptr< CurveCurveSharedPtr
 
typedef std::unordered_map< int, CurveSharedPtrCurveMap
 
typedef unique_ptr_objpool< GeometryGeometryUniquePtr
 
typedef std::shared_ptr< GeomFactorsGeomFactorsSharedPtr
 Pointer to a GeomFactors object.
 
typedef std::vector< GeomFactorsSharedPtrGeomFactorsVector
 A vector of GeomFactor pointers.
 
typedef std::unordered_set< GeomFactorsSharedPtrGeomFactorsSet
 An unordered set of GeomFactor pointers.
 
typedef Array< OneD, Array< OneD, Array< OneD, NekDouble > > > DerivStorage
 Storage type for derivative of mapping.
 
template<typename T >
using GeomMap = std::map< int, unique_ptr_objpool< T > >
 
typedef unique_ptr_objpool< PointGeomPointGeomUniquePtr
 
typedef std::shared_ptr< PointGeomPointGeomSharedPtr
 
typedef unique_ptr_objpool< SegGeomSegGeomUniquePtr
 
typedef unique_ptr_objpool< TriGeomTriGeomUniquePtr
 
typedef unique_ptr_objpool< QuadGeomQuadGeomUniquePtr
 
typedef unique_ptr_objpool< TetGeomTetGeomUniquePtr
 
typedef unique_ptr_objpool< PyrGeomPyrGeomUniquePtr
 
typedef unique_ptr_objpool< PrismGeomPrismGeomUniquePtr
 
typedef unique_ptr_objpool< HexGeomHexGeomUniquePtr
 
typedef unique_ptr_objpool< Geometry2DGeometry2DUniquePtr
 
typedef unique_ptr_objpool< Geometry3DGeometry3DUniquePtr
 
typedef std::map< int, std::pair< LibUtilities::ShapeType, std::vector< int > > > CompositeDescriptor
 
typedef std::map< int, std::vector< unsigned int > > CompositeOrdering
 
typedef std::map< int, std::vector< unsigned int > > BndRegionOrdering
 
typedef std::shared_ptr< CompositeCompositeSharedPtr
 
typedef std::map< int, CompositeSharedPtrCompositeMap
 
typedef std::shared_ptr< ExpansionInfoExpansionInfoShPtr
 
typedef std::map< int, ExpansionInfoShPtrExpansionInfoMap
 
typedef std::shared_ptr< ExpansionInfoMapExpansionInfoMapShPtr
 
typedef std::map< std::string, ExpansionInfoMapShPtrExpansionInfoMapShPtrMap
 
typedef std::map< std::string, std::string > GeomInfoMap
 
typedef std::shared_ptr< std::vector< std::pair< Geometry *, int > > > GeometryLinkSharedPtr
 
typedef std::map< std::string, std::string > MeshMetaDataMap
 
typedef std::shared_ptr< MeshGraphMeshGraphSharedPtr
 
typedef std::shared_ptr< MovementMovementSharedPtr
 
typedef LibUtilities::NekFactory< std::string, MeshGraphMeshGraphFactory
 
typedef std::shared_ptr< MeshGraphIOMeshGraphIOSharedPtr
 
typedef LibUtilities::NekFactory< std::string, MeshGraphIOMeshGraphIOFactory
 
typedef LibUtilities::NekFactory< std::string, MeshPartition, const LibUtilities::SessionReaderSharedPtr, LibUtilities::CommSharedPtr, int, std::map< int, MeshEntity >, CompositeDescriptorMeshPartitionFactory
 Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.
 
typedef std::shared_ptr< MeshPartitionMeshPartitionSharedPtr
 
typedef std::shared_ptr< InterfaceInterfaceShPtr
 
typedef std::shared_ptr< InterfacePairInterfacePairShPtr
 
typedef std::map< std::pair< int, std::string >, InterfacePairShPtrInterfaceCollection
 
typedef std::shared_ptr< ZoneBaseZoneBaseShPtr
 
typedef std::shared_ptr< ZoneRotateZoneRotateShPtr
 
typedef std::shared_ptr< ZoneTranslateZoneTranslateShPtr
 
typedef std::shared_ptr< ZoneFixedZoneFixedShPtr
 

Enumerations

enum  BoundaryConditionType {
  eDirichlet , eNeumann , eRobin , ePeriodic ,
  eNotDefined
}
 
enum  ExpansionType {
  eNoExpansionType , eModified , eModifiedQuadPlus1 , eModifiedQuadPlus2 ,
  eModifiedGLLRadau10 , eOrthogonal , eGLL_Lagrange , eGLL_Lagrange_SEM ,
  eGauss_Lagrange , eGauss_Lagrange_SEM , eFourier , eFourierSingleMode ,
  eFourierHalfModeRe , eFourierHalfModeIm , eChebyshev , eFourierChebyshev ,
  eChebyshevFourier , eFourierModified , eExpansionTypeSize
}
 
enum  MovementType {
  eNone , eFixed , eRotate , eTranslate ,
  SIZE_MovementType
}
 Enum of zone movement type. More...
 
enum  GeomType { eNoGeomType , eRegular , eDeformed , eMovingRegular }
 Indicates the type of element geometry. More...
 
enum  GeomState { eNotFilled , ePtsFilled }
 Indicates if the geometric information for an element has been populated. More...
 
enum  GeomMMF {
  eTangentX , eTangentY , eTangentXY , eTangentZ ,
  eTangentCircular , eTangentIrregular , eTangentNonconvex , eLOCAL
}
 Principle direction for MMF. More...
 

Functions

Array< OneD, int > ToArray (const std::set< int > &set)
 
std::set< int > ShareAllBoundaryIDs (const BoundaryRegionCollection &boundaryRegions, LibUtilities::CommSharedPtr comm)
 
bool SortByGlobalId (const Geometry *&lhs, const Geometry *&rhs)
 Less than operator to sort Geometry objects by global id when sorting STL containers.
 
bool GlobalIdEquality (const Geometry *&lhs, const Geometry *&rhs)
 
bool operator== (const GeomFactors &lhs, const GeomFactors &rhs)
 Equivalence test for GeomFactors objects.
 
XmapFactory< StdRegions::StdHexExp, 3 > & GetStdHexFactory ()
 
MeshGraphFactoryGetMeshGraphFactory ()
 
MeshGraphIOFactoryGetMeshGraphIOFactory ()
 
std::pair< size_t, size_t > SplitWork (size_t vecsize, int rank, int nprocs)
 Utility function to split a vector equally amongst a number of processors.
 
template<class T , typename std::enable_if< T::kDim==0, int >::type = 0>
int GetGeomDataDim (GeomMapView< T > &geomMap)
 
template<class... T>
void UniqueValues (std::unordered_set< int > &unique)
 
template<class... T>
void UniqueValues (std::unordered_set< int > &unique, const std::vector< int > &input, T &...args)
 
template<class T , typename std::enable_if< T::kDim==0, int >::type = 0>
NekDouble GetGeomData (T *geom, int i)
 
template<class T , typename std::enable_if< T::kDim==1, int >::type = 0>
int GetGeomData (T *geom, int i)
 
void WriteVert (PointGeom *vert, TiXmlElement *vertTag)
 
void WriteEdge (SegGeom *seg, TiXmlElement *edgeTag, std::string &tag, int edgeID)
 
void WriteTri (TriGeom *tri, TiXmlElement *faceTag, std::string &tag, int triID)
 
void WriteQuad (QuadGeom *quad, TiXmlElement *faceTag, std::string &tag, int quadID)
 
void WriteHex (HexGeom *hex, TiXmlElement *elmtTag, std::string &tag, int hexID)
 
void WritePrism (PrismGeom *pri, TiXmlElement *elmtTag, std::string &tag, int priID)
 
void WritePyr (PyrGeom *pyr, TiXmlElement *elmtTag, std::string &tag, int pyrID)
 
void WriteTet (TetGeom *tet, TiXmlElement *elmtTag, std::string &tag, int tetID)
 
void WriteVert (PointGeom *vert, std::vector< MeshVertex > &vertInfo, int vertID)
 
void WriteEdge (SegGeom *seg, std::vector< MeshEdge > &edgeInfo, int edgeID)
 
void WriteTri (TriGeom *tri, std::vector< MeshTri > &triInfo, int triID)
 
void WriteQuad (QuadGeom *quad, std::vector< MeshQuad > &quadInfo, int quadID)
 
void WriteHex (HexGeom *hex, std::vector< MeshHex > &elementInfo, int hexID)
 
void WritePrism (PrismGeom *prism, std::vector< MeshPrism > &elementInfo, int prismID)
 
void WritePyr (PyrGeom *pyr, std::vector< MeshPyr > &elementInfo, int pyrID)
 
void WriteTet (TetGeom *tet, std::vector< MeshTet > &elementInfo, int tetID)
 
MeshPartitionFactoryGetMeshPartitionFactory ()
 
static std::string ReadTag (std::string &tagStr)
 
static std::string StripParentheses (const std::string &str)
 
bool operator== (const PointGeom &x, const PointGeom &y)
 Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa.
 
bool operator== (const PointGeom &x, const PointGeom *y)
 
bool operator== (const PointGeom *x, const PointGeom &y)
 
bool operator!= (const PointGeom &x, const PointGeom &y)
 
bool operator!= (const PointGeom &x, const PointGeom *y)
 
bool operator!= (const PointGeom *x, const PointGeom &y)
 
XmapFactory< StdRegions::StdPrismExp, 3 > & GetStdPrismFactory ()
 
XmapFactory< StdRegions::StdPyrExp, 3 > & GetStdPyrFactory ()
 
XmapFactory< StdRegions::StdQuadExp, 2 > & GetStdQuadFactory ()
 
XmapFactory< StdRegions::StdSegExp, 1 > & GetStdSegFactory ()
 
XmapFactory< StdRegions::StdTetExp, 3 > & GetStdTetFactory ()
 
XmapFactory< StdRegions::StdTriExp, 2 > & GetStdTriFactory ()
 

Variables

static const Array< OneD, BoundaryConditionShPtrNullBoundaryConditionShPtrArray
 
static CurveMap NullCurveMap
 
const std::string kExpansionTypeStr []
 
const std::string MovementTypeStr []
 Map of zone movement type to movement type string.
 
const char *const GeomMMFMap []
 Session file names associated with tangent principle directions.
 

Typedef Documentation

◆ BndRegionOrdering

typedef std::map<int, std::vector<unsigned int> > Nektar::SpatialDomains::BndRegionOrdering

Definition at line 171 of file MeshGraph.h.

◆ BoundaryConditionCollection

Definition at line 258 of file Conditions.h.

◆ BoundaryConditionMap

Definition at line 256 of file Conditions.h.

◆ BoundaryConditionMapShPtr

Definition at line 257 of file Conditions.h.

◆ BoundaryConditionShPtr

Definition at line 251 of file Conditions.h.

◆ BoundaryConditionsSharedPtr

Definition at line 327 of file Conditions.h.

◆ BoundaryRegion

Definition at line 246 of file Conditions.h.

◆ BoundaryRegionCollection

Definition at line 249 of file Conditions.h.

◆ BoundaryRegionShPtr

Definition at line 247 of file Conditions.h.

◆ CompositeDescriptor

typedef std::map< int, std::pair< LibUtilities::ShapeType, std::vector< int > > > Nektar::SpatialDomains::CompositeDescriptor

Definition at line 124 of file MeshGraph.h.

◆ CompositeMap

Definition at line 179 of file MeshGraph.h.

◆ CompositeOrdering

typedef std::map<int, std::vector<unsigned int> > Nektar::SpatialDomains::CompositeOrdering

Definition at line 170 of file MeshGraph.h.

◆ CompositeSharedPtr

Definition at line 178 of file MeshGraph.h.

◆ ConstBoundaryRegionShPtr

Definition at line 248 of file Conditions.h.

◆ CurveMap

typedef std::unordered_map< int, CurveSharedPtr > Nektar::SpatialDomains::CurveMap

Definition at line 61 of file Curve.hpp.

◆ CurveSharedPtr

typedef std::shared_ptr< Curve > Nektar::SpatialDomains::CurveSharedPtr

Definition at line 60 of file Curve.hpp.

◆ DerivStorage

Storage type for derivative of mapping.

Definition at line 64 of file GeomFactors.h.

◆ DirichletBCShPtr

Definition at line 252 of file Conditions.h.

◆ ExpansionInfoMap

Definition at line 184 of file MeshGraph.h.

◆ ExpansionInfoMapShPtr

Definition at line 186 of file MeshGraph.h.

◆ ExpansionInfoMapShPtrMap

Definition at line 187 of file MeshGraph.h.

◆ ExpansionInfoShPtr

Definition at line 183 of file MeshGraph.h.

◆ Geometry2DUniquePtr

Definition at line 105 of file MeshGraph.h.

◆ Geometry3DUniquePtr

Definition at line 106 of file MeshGraph.h.

◆ GeometryLinkSharedPtr

typedef std::shared_ptr<std::vector<std::pair<Geometry *, int> > > Nektar::SpatialDomains::GeometryLinkSharedPtr

Definition at line 209 of file MeshGraph.h.

◆ GeometryUniquePtr

Definition at line 52 of file Geometry.h.

◆ GeomFactorsSet

An unordered set of GeomFactor pointers.

Definition at line 62 of file GeomFactors.h.

◆ GeomFactorsSharedPtr

Pointer to a GeomFactors object.

Definition at line 58 of file GeomFactors.h.

◆ GeomFactorsVector

A vector of GeomFactor pointers.

Definition at line 60 of file GeomFactors.h.

◆ GeomInfoMap

typedef std::map<std::string, std::string> Nektar::SpatialDomains::GeomInfoMap

Definition at line 207 of file MeshGraph.h.

◆ GeomMap

template<typename T >
using Nektar::SpatialDomains::GeomMap = typedef std::map<int, unique_ptr_objpool<T> >

Definition at line 90 of file MeshGraph.h.

◆ HexGeomUniquePtr

Definition at line 104 of file MeshGraph.h.

◆ InterfaceCollection

typedef std::map<std::pair<int, std::string>, InterfacePairShPtr> Nektar::SpatialDomains::InterfaceCollection

Definition at line 50 of file Movement.h.

◆ InterfacePairShPtr

Definition at line 167 of file InterfaceInterpolation.h.

◆ InterfaceShPtr

Definition at line 128 of file InterfaceInterpolation.h.

◆ MeshGraphFactory

Definition at line 879 of file MeshGraph.h.

◆ MeshGraphIOFactory

Definition at line 110 of file MeshGraphIO.h.

◆ MeshGraphIOSharedPtr

Definition at line 46 of file MeshGraphIO.h.

◆ MeshGraphSharedPtr

Definition at line 217 of file MeshGraph.h.

◆ MeshMetaDataMap

typedef std::map<std::string, std::string> Nektar::SpatialDomains::MeshMetaDataMap

Definition at line 214 of file MeshGraph.h.

◆ MeshPartitionFactory

Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.

Definition at line 61 of file MeshPartition.h.

◆ MeshPartitionSharedPtr

Definition at line 174 of file MeshPartition.h.

◆ MovementSharedPtr

Definition at line 220 of file MeshGraph.h.

◆ NeumannBCShPtr

Definition at line 253 of file Conditions.h.

◆ PointGeomSharedPtr

Definition at line 95 of file MeshGraph.h.

◆ PointGeomUniquePtr

Definition at line 93 of file MeshGraph.h.

◆ PrismGeomUniquePtr

Definition at line 103 of file MeshGraph.h.

◆ PyrGeomUniquePtr

Definition at line 102 of file MeshGraph.h.

◆ QuadGeomUniquePtr

Definition at line 100 of file MeshGraph.h.

◆ RobinBCShPtr

Definition at line 254 of file Conditions.h.

◆ SegGeomUniquePtr

Definition at line 98 of file MeshGraph.h.

◆ TetGeomUniquePtr

Definition at line 101 of file MeshGraph.h.

◆ TriGeomUniquePtr

Definition at line 99 of file MeshGraph.h.

◆ ZoneBaseShPtr

Definition at line 177 of file Zones.h.

◆ ZoneFixedShPtr

Definition at line 377 of file Zones.h.

◆ ZoneRotateShPtr

Definition at line 375 of file Zones.h.

◆ ZoneTranslateShPtr

Definition at line 376 of file Zones.h.

Enumeration Type Documentation

◆ BoundaryConditionType

Enumerator
eDirichlet 
eNeumann 
eRobin 
ePeriodic 
eNotDefined 

Definition at line 52 of file Conditions.h.

◆ ExpansionType

Enumerator
eNoExpansionType 
eModified 
eModifiedQuadPlus1 
eModifiedQuadPlus2 
eModifiedGLLRadau10 
eOrthogonal 
eGLL_Lagrange 
eGLL_Lagrange_SEM 
eGauss_Lagrange 
eGauss_Lagrange_SEM 
eFourier 
eFourierSingleMode 
eFourierHalfModeRe 
eFourierHalfModeIm 
eChebyshev 
eFourierChebyshev 
eChebyshevFourier 
eFourierModified 
eExpansionTypeSize 

Definition at line 126 of file MeshGraph.h.

127{
129 eModified,
138 eFourier,
147};
@ eGauss_Lagrange
Lagrange Polynomials using the Gauss points.
Definition BasisType.h:57
@ eGLL_Lagrange
Lagrange for SEM basis .
Definition BasisType.h:56
@ eFourierSingleMode
Fourier ModifiedExpansion with just the first mode .
Definition BasisType.h:64
@ eChebyshev
Chebyshev Polynomials.
Definition BasisType.h:61
@ eFourierHalfModeIm
Fourier Modified expansions with just the imaginary part of the first mode .
Definition BasisType.h:68
@ eFourierHalfModeRe
Fourier Modified expansions with just the real part of the first mode .
Definition BasisType.h:66
@ eFourier
Fourier Expansion .
Definition BasisType.h:55

◆ GeomMMF

Principle direction for MMF.

Enumerator
eTangentX 

X coordinate direction.

eTangentY 

Y coordinate direction.

eTangentXY 

XY direction.

eTangentZ 

Z coordinate direction.

eTangentCircular 

Circular around the centre of domain.

eTangentIrregular 

Circular around the centre of domain.

eTangentNonconvex 

Circular around the centre of domain.

eLOCAL 

No Principal direction.

Definition at line 71 of file SpatialDomains.hpp.

72{
73 eTangentX, ///< X coordinate direction.
74 eTangentY, ///< Y coordinate direction.
75 eTangentXY, ///< XY direction.
76 eTangentZ, ///< Z coordinate direction.
77 eTangentCircular, ///< Circular around the centre of domain.
78 eTangentIrregular, ///< Circular around the centre of domain.
79 eTangentNonconvex, ///< Circular around the centre of domain.
80 eLOCAL, ///< No Principal direction.
81};
@ eLOCAL
No Principal direction.
@ eTangentIrregular
Circular around the centre of domain.
@ eTangentX
X coordinate direction.
@ eTangentCircular
Circular around the centre of domain.
@ eTangentNonconvex
Circular around the centre of domain.
@ eTangentZ
Z coordinate direction.
@ eTangentY
Y coordinate direction.

◆ GeomState

Indicates if the geometric information for an element has been populated.

Enumerator
eNotFilled 

Geometric information has not been generated.

ePtsFilled 

Geometric information has been generated.

Definition at line 62 of file SpatialDomains.hpp.

63{
64 eNotFilled, ///< Geometric information has not been generated.
65 ePtsFilled ///< Geometric information has been generated.
66};
@ eNotFilled
Geometric information has not been generated.
@ ePtsFilled
Geometric information has been generated.

◆ GeomType

Indicates the type of element geometry.

This property of the element geometry is used to indicate the necessary storage for the element's geometric information and its corresponding computational complexity. In many cases significant savings in both cases can be made based on this information, in comparison to the most generic case.

Enumerator
eNoGeomType 

No type defined.

eRegular 

Geometry is straight-sided with constant geometric factors.

eDeformed 

Geometry is curved or has non-constant factors.

eMovingRegular 

Currently unused.

Definition at line 49 of file SpatialDomains.hpp.

50{
51 eNoGeomType, ///< No type defined.
52 eRegular, ///< Geometry is straight-sided with constant
53 /// geometric factors.
54 eDeformed, ///< Geometry is curved or has non-constant factors.
55 eMovingRegular, ///< Currently unused.
56};
@ eRegular
Geometry is straight-sided with constant geometric factors.
@ eNoGeomType
No type defined.
@ eMovingRegular
Currently unused.
@ eDeformed
Geometry is curved or has non-constant factors.

◆ MovementType

Enum of zone movement type.

Enumerator
eNone 
eFixed 
eRotate 
eTranslate 
SIZE_MovementType 

Definition at line 47 of file Zones.h.

Function Documentation

◆ GetGeomData() [1/2]

template<class T , typename std::enable_if< T::kDim==0, int >::type = 0>
NekDouble Nektar::SpatialDomains::GetGeomData ( T *  geom,
int  i 
)
inline

Definition at line 1511 of file MeshGraphIOHDF5.cpp.

1512{
1513 return (*geom)(i);
1514}

Referenced by Nektar::SpatialDomains::MeshGraphIOHDF5::WriteGeometryMap().

◆ GetGeomData() [2/2]

template<class T , typename std::enable_if< T::kDim==1, int >::type = 0>
int Nektar::SpatialDomains::GetGeomData ( T *  geom,
int  i 
)
inline

Definition at line 1517 of file MeshGraphIOHDF5.cpp.

1518{
1519 return geom->GetVid(i);
1520}

◆ GetGeomDataDim()

template<class T , typename std::enable_if< T::kDim==0, int >::type = 0>
int Nektar::SpatialDomains::GetGeomDataDim ( GeomMapView< T > &  geomMap)
inline

◆ GetMeshGraphFactory()

MeshGraphFactory & Nektar::SpatialDomains::GetMeshGraphFactory ( )

Returns an instance of the MeshGraph factory, held as a singleton.

Definition at line 86 of file MeshGraph.cpp.

87{
88 static MeshGraphFactory instance;
89 return instance;
90}
Provides a generic Factory class.

◆ GetMeshGraphIOFactory()

MeshGraphIOFactory & Nektar::SpatialDomains::GetMeshGraphIOFactory ( )

Returns an instance of the MeshGraphIO factory, held as a singleton.

Definition at line 45 of file MeshGraphIO.cpp.

46{
47 static MeshGraphIOFactory instance;
48 return instance;
49}

Referenced by MeshGraphIO_Create(), Nektar::SpatialDomains::MeshGraphIO::Read(), Nektar::FieldUtils::OutputXml::v_Process(), and Nektar::IterativeElasticSystem::WriteGeometry().

◆ GetMeshPartitionFactory()

MeshPartitionFactory & Nektar::SpatialDomains::GetMeshPartitionFactory ( )

◆ GetStdHexFactory()

XmapFactory< StdRegions::StdHexExp, 3 > & Nektar::SpatialDomains::GetStdHexFactory ( )

Definition at line 46 of file HexGeom.cpp.

47{
49 return factory;
50}
A simple factory for Xmap objects that is based on the element type, the basis and quadrature selecti...

Referenced by Nektar::SpatialDomains::HexGeom::SetUpXmap().

◆ GetStdPrismFactory()

XmapFactory< StdRegions::StdPrismExp, 3 > & Nektar::SpatialDomains::GetStdPrismFactory ( )

Definition at line 55 of file PrismGeom.cpp.

56{
58 return factory;
59}

Referenced by Nektar::SpatialDomains::PrismGeom::SetUpXmap().

◆ GetStdPyrFactory()

XmapFactory< StdRegions::StdPyrExp, 3 > & Nektar::SpatialDomains::GetStdPyrFactory ( )

Definition at line 49 of file PyrGeom.cpp.

50{
52 return factory;
53}

Referenced by Nektar::SpatialDomains::PyrGeom::SetUpXmap().

◆ GetStdQuadFactory()

XmapFactory< StdRegions::StdQuadExp, 2 > & Nektar::SpatialDomains::GetStdQuadFactory ( )

Definition at line 48 of file QuadGeom.cpp.

49{
51 return factory;
52}

Referenced by Nektar::SpatialDomains::QuadGeom::SetUpXmap().

◆ GetStdSegFactory()

XmapFactory< StdRegions::StdSegExp, 1 > & Nektar::SpatialDomains::GetStdSegFactory ( )

Definition at line 59 of file SegGeom.cpp.

60{
62 return factory;
63}

◆ GetStdTetFactory()

XmapFactory< StdRegions::StdTetExp, 3 > & Nektar::SpatialDomains::GetStdTetFactory ( )

Definition at line 53 of file TetGeom.cpp.

54{
56 return factory;
57}

Referenced by Nektar::SpatialDomains::TetGeom::SetUpXmap().

◆ GetStdTriFactory()

XmapFactory< StdRegions::StdTriExp, 2 > & Nektar::SpatialDomains::GetStdTriFactory ( )

Definition at line 48 of file TriGeom.cpp.

49{
51 return factory;
52}

Referenced by Nektar::SpatialDomains::TriGeom::SetUpXmap().

◆ GlobalIdEquality()

bool Nektar::SpatialDomains::GlobalIdEquality ( const Geometry *&  lhs,
const Geometry *&  rhs 
)

Definition at line 94 of file Geometry.cpp.

95{
96 return lhs->GetGlobalID() == rhs->GetGlobalID();
97}
int GetGlobalID(void) const
Get the ID of this object.
Definition Geometry.h:322

References Nektar::SpatialDomains::Geometry::GetGlobalID().

◆ operator!=() [1/3]

bool Nektar::SpatialDomains::operator!= ( const PointGeom x,
const PointGeom y 
)

Definition at line 203 of file PointGeom.cpp.

204{
205 return (x.m_globalID != y.m_globalID);
206}

◆ operator!=() [2/3]

bool Nektar::SpatialDomains::operator!= ( const PointGeom x,
const PointGeom y 
)

Definition at line 208 of file PointGeom.cpp.

209{
210 return (x.m_globalID != y->m_globalID);
211}

◆ operator!=() [3/3]

bool Nektar::SpatialDomains::operator!= ( const PointGeom x,
const PointGeom y 
)

Definition at line 213 of file PointGeom.cpp.

214{
215 return (x->m_globalID != y.m_globalID);
216}

◆ operator==() [1/4]

bool Nektar::SpatialDomains::operator== ( const GeomFactors lhs,
const GeomFactors rhs 
)

Equivalence test for GeomFactors objects.

Tests if two GeomFactors classes are equal.

Member data equivalence is tested in the following order: shape type, expansion dimension, coordinate dimension and coordinates.

Definition at line 118 of file GeomFactors.cpp.

119{
120 if (!(lhs.m_type == rhs.m_type))
121 {
122 return false;
123 }
124
125 if (!(lhs.m_expDim == rhs.m_expDim))
126 {
127 return false;
128 }
129
130 if (!(lhs.m_coordDim == rhs.m_coordDim))
131 {
132 return false;
133 }
134
135 const Array<OneD, const NekDouble> jac_lhs =
136 lhs.ComputeJac(lhs.m_xmap->GetPointsKeys());
137 const Array<OneD, const NekDouble> jac_rhs =
138 rhs.ComputeJac(rhs.m_xmap->GetPointsKeys());
139 if (!(jac_lhs == jac_rhs))
140 {
141 return false;
142 }
143
144 return true;
145}
int m_coordDim
Dimension of coordinate system.
Array< OneD, NekDouble > ComputeJac(const LibUtilities::PointsKeyVector &keyTgt) const
Return the Jacobian of the mapping and cache the result.
int m_expDim
Dimension of expansion.
StdRegions::StdExpansionSharedPtr m_xmap
Stores information about the expansion.
GeomType m_type
Type of geometry (e.g. eRegular, eDeformed, eMovingRegular).

◆ operator==() [2/4]

bool Nektar::SpatialDomains::operator== ( const PointGeom x,
const PointGeom y 
)

Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa.

Definition at line 188 of file PointGeom.cpp.

189{
190 return (x.m_globalID == y.m_globalID);
191}

◆ operator==() [3/4]

bool Nektar::SpatialDomains::operator== ( const PointGeom x,
const PointGeom y 
)

Definition at line 193 of file PointGeom.cpp.

194{
195 return (x.m_globalID == y->m_globalID);
196}

◆ operator==() [4/4]

bool Nektar::SpatialDomains::operator== ( const PointGeom x,
const PointGeom y 
)

Definition at line 198 of file PointGeom.cpp.

199{
200 return (x->m_globalID == y.m_globalID);
201}

◆ ReadTag()

static std::string Nektar::SpatialDomains::ReadTag ( std::string &  tagStr)
inlinestatic

Definition at line 50 of file Movement/Movement.cpp.

51{
52 std::string::size_type indxBeg = tagStr.find_first_of('[') + 1;
53 std::string::size_type indxEnd = tagStr.find_last_of(']') - 1;
54
56 indxBeg <= indxEnd,
57 (std::string("Error reading interface region definition:") + tagStr)
58 .c_str());
59
60 std::string indxStr = tagStr.substr(indxBeg, indxEnd - indxBeg + 1);
61
62 return indxStr;
63}
#define ASSERTL0(condition, msg)

References ASSERTL0.

Referenced by Nektar::SpatialDomains::Movement::ReadInterfaces(), and Nektar::SpatialDomains::Movement::ReadZones().

◆ ShareAllBoundaryIDs()

std::set< int > Nektar::SpatialDomains::ShareAllBoundaryIDs ( const BoundaryRegionCollection boundaryRegions,
LibUtilities::CommSharedPtr  comm 
)

Definition at line 78 of file Conditions.cpp.

81{
82 // Turn the keys of boundaryRegions into set.
83 std::set<int> ids;
84 auto it = boundaryRegions.begin(), end = boundaryRegions.end();
85 int i = 0;
86 for (; it != end; ++it, ++i)
87 {
88 ids.insert(it->first);
89 }
90
91 int np = comm->GetSize();
92 int ip = comm->GetRank();
93
94 int half_size = 1;
95 bool involved = true;
96 while (involved && half_size < np)
97 {
98 if (ip & half_size)
99 {
100 // I'm sender
101
102 // The receiver rank
103 int receiver = ip - half_size;
104
105 Array<OneD, int> idsArray = ToArray(ids);
106 // Send my size (to alloc the reciever array)
107 Array<OneD, int> sender_size(1);
108 sender_size[0] = idsArray.size();
109 comm->Send(receiver, sender_size);
110
111 // Send my data
112 comm->Send(receiver, idsArray);
113
114 // Once we've sent, we're no longer involved.
115 involved = false;
116 }
117 else
118 {
119 // I'm receiver
120
121 // The sender rank
122 int sender = ip + half_size;
123
124 if (sender < np)
125 {
126 // Receive the size
127 Array<OneD, int> sender_size(1);
128 comm->Recv(sender, sender_size);
129
130 // Receive the data
131 Array<OneD, int> other_ids(sender_size[0]);
132 comm->Recv(sender, other_ids);
133
134 // Merge
135 ids.insert(other_ids.begin(), other_ids.end());
136 }
137 }
138 half_size *= 2;
139 }
140
141 // Bcast the size
142 int nIds;
143 if (ip == 0)
144 {
145 nIds = ids.size();
146 }
147
148 comm->Bcast(nIds, 0);
149
150 // Bcast the data
151 Array<OneD, int> idsArray;
152 if (ip == 0)
153 {
154 idsArray = ToArray(ids);
155 }
156 else
157 {
158 idsArray = Array<OneD, int>(nIds);
159 }
160
161 comm->Bcast(idsArray, 0);
162
163 return std::set<int>(idsArray.begin(), idsArray.end());
164}
Array< OneD, int > ToArray(const std::set< int > &set)

References ToArray().

Referenced by Nektar::SpatialDomains::BoundaryConditions::CreateBoundaryComms().

◆ SortByGlobalId()

bool Nektar::SpatialDomains::SortByGlobalId ( const Geometry *&  lhs,
const Geometry *&  rhs 
)

Less than operator to sort Geometry objects by global id when sorting STL containers.

Definition at line 89 of file Geometry.cpp.

90{
91 return lhs->GetGlobalID() < rhs->GetGlobalID();
92}

References Nektar::SpatialDomains::Geometry::GetGlobalID().

◆ SplitWork()

std::pair< size_t, size_t > Nektar::SpatialDomains::SplitWork ( size_t  vecsize,
int  rank,
int  nprocs 
)

Utility function to split a vector equally amongst a number of processors.

Parameters
vecsizeSize of the total amount of work
rankRank of this process
nprocsNumber of processors in the group
Returns
A pair with the offset this process should occupy, along with the count for the amount of work.

Definition at line 95 of file MeshGraphIOHDF5.cpp.

96{
97 size_t div = vecsize / nprocs;
98 size_t rem = vecsize % nprocs;
99 if (rank < rem)
100 {
101 return std::make_pair(rank * (div + 1), div + 1);
102 }
103 else
104 {
105 return std::make_pair((rank - rem) * div + rem * (div + 1), div);
106 }
107}

Referenced by Nektar::SpatialDomains::MeshGraphIOHDF5::v_PartitionMesh().

◆ StripParentheses()

static std::string Nektar::SpatialDomains::StripParentheses ( const std::string &  str)
inlinestatic

Definition at line 65 of file Movement/Movement.cpp.

66{
67 auto length = str.length();
68 return str.substr(1, length - 2);
69}

Referenced by Nektar::SpatialDomains::Movement::WriteMovement().

◆ ToArray()

Array< OneD, int > Nektar::SpatialDomains::ToArray ( const std::set< int > &  set)

Helper that turns a set into an array.

Definition at line 58 of file Conditions.cpp.

59{
60 Array<OneD, int> ans(set.size());
61 auto it = set.begin(), end = set.end();
62 for (int i = 0; it != end; ++it, ++i)
63 {
64 ans[i] = *it;
65 }
66 return ans;
67}

Referenced by ShareAllBoundaryIDs().

◆ UniqueValues() [1/2]

template<class... T>
void Nektar::SpatialDomains::UniqueValues ( std::unordered_set< int > &  unique)
inline

Definition at line 134 of file MeshGraphIOHDF5.cpp.

135{
136}

Referenced by UniqueValues(), and Nektar::SpatialDomains::MeshGraphIOHDF5::v_PartitionMesh().

◆ UniqueValues() [2/2]

template<class... T>
void Nektar::SpatialDomains::UniqueValues ( std::unordered_set< int > &  unique,
const std::vector< int > &  input,
T &...  args 
)
inline

Definition at line 139 of file MeshGraphIOHDF5.cpp.

141{
142 for (auto i : input)
143 {
144 unique.insert(i);
145 }
146
147 UniqueValues(unique, args...);
148}

References UniqueValues().

◆ WriteEdge() [1/2]

void Nektar::SpatialDomains::WriteEdge ( SegGeom seg,
std::vector< MeshEdge > &  edgeInfo,
int  edgeID 
)

Definition at line 1089 of file MeshGraphIOXmlCompressed.cpp.

1090{
1091 MeshEdge e;
1092 e.id = edgeID;
1093 e.v0 = seg->GetVid(0);
1094 e.v1 = seg->GetVid(1);
1095 edgeInfo.push_back(e);
1096}
int GetVid(int i) const
Returns global id of vertex i of this object.
Definition Geometry.h:353

References Nektar::SpatialDomains::Geometry::GetVid(), Nektar::SpatialDomains::MeshEdge::id, Nektar::SpatialDomains::MeshEdge::v0, and Nektar::SpatialDomains::MeshEdge::v1.

◆ WriteEdge() [2/2]

void Nektar::SpatialDomains::WriteEdge ( SegGeom seg,
TiXmlElement *  edgeTag,
std::string &  tag,
int  edgeID 
)

Definition at line 2607 of file MeshGraphIOXml.cpp.

2609{
2610 std::stringstream s;
2611 s << seg->GetVid(0) << " " << seg->GetVid(1);
2612 TiXmlElement *e = new TiXmlElement(tag);
2613 e->SetAttribute("ID", edgeID);
2614 e->LinkEndChild(new TiXmlText(s.str()));
2615 edgeTag->LinkEndChild(e);
2616}

References Nektar::SpatialDomains::Geometry::GetVid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteEdges(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteEdges().

◆ WriteHex() [1/2]

void Nektar::SpatialDomains::WriteHex ( HexGeom hex,
std::vector< MeshHex > &  elementInfo,
int  hexID 
)

Definition at line 1252 of file MeshGraphIOXmlCompressed.cpp.

1253{
1254 MeshHex e;
1255 e.id = hexID;
1256 e.f[0] = hex->GetFid(0);
1257 e.f[1] = hex->GetFid(1);
1258 e.f[2] = hex->GetFid(2);
1259 e.f[3] = hex->GetFid(3);
1260 e.f[4] = hex->GetFid(4);
1261 e.f[5] = hex->GetFid(5);
1262 elementInfo.push_back(e);
1263}
int GetFid(int i) const
Get the ID of face i of this object.
Definition Geometry.cpp:118

References Nektar::SpatialDomains::MeshHex::f, Nektar::SpatialDomains::Geometry::GetFid(), and Nektar::SpatialDomains::MeshHex::id.

◆ WriteHex() [2/2]

void Nektar::SpatialDomains::WriteHex ( HexGeom hex,
TiXmlElement *  elmtTag,
std::string &  tag,
int  hexID 
)

Definition at line 2707 of file MeshGraphIOXml.cpp.

2708{
2709 std::stringstream s;
2710 s << hex->GetFid(0) << " " << hex->GetFid(1) << " " << hex->GetFid(2) << " "
2711 << hex->GetFid(3) << " " << hex->GetFid(4) << " " << hex->GetFid(5)
2712 << " ";
2713 TiXmlElement *h = new TiXmlElement(tag);
2714 h->SetAttribute("ID", hexID);
2715 h->LinkEndChild(new TiXmlText(s.str()));
2716 elmtTag->LinkEndChild(h);
2717}

References Nektar::SpatialDomains::Geometry::GetFid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteHexs(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteHexs().

◆ WritePrism() [1/2]

void Nektar::SpatialDomains::WritePrism ( PrismGeom pri,
TiXmlElement *  elmtTag,
std::string &  tag,
int  priID 
)

Definition at line 2739 of file MeshGraphIOXml.cpp.

2741{
2742 std::stringstream s;
2743 s << pri->GetFid(0) << " " << pri->GetFid(1) << " " << pri->GetFid(2) << " "
2744 << pri->GetFid(3) << " " << pri->GetFid(4) << " ";
2745 TiXmlElement *p = new TiXmlElement(tag);
2746 p->SetAttribute("ID", priID);
2747 p->LinkEndChild(new TiXmlText(s.str()));
2748 elmtTag->LinkEndChild(p);
2749}

References Nektar::SpatialDomains::Geometry::GetFid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WritePrisms(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WritePrisms().

◆ WritePrism() [2/2]

void Nektar::SpatialDomains::WritePrism ( PrismGeom prism,
std::vector< MeshPrism > &  elementInfo,
int  prismID 
)

Definition at line 1306 of file MeshGraphIOXmlCompressed.cpp.

1308{
1309 MeshPrism e;
1310 e.id = prismID;
1311 e.f[0] = prism->GetFid(0);
1312 e.f[1] = prism->GetFid(1);
1313 e.f[2] = prism->GetFid(2);
1314 e.f[3] = prism->GetFid(3);
1315 e.f[4] = prism->GetFid(4);
1316 elementInfo.push_back(e);
1317}

References Nektar::SpatialDomains::MeshPrism::f, Nektar::SpatialDomains::Geometry::GetFid(), and Nektar::SpatialDomains::MeshPrism::id.

◆ WritePyr() [1/2]

void Nektar::SpatialDomains::WritePyr ( PyrGeom pyr,
std::vector< MeshPyr > &  elementInfo,
int  pyrID 
)

Definition at line 1360 of file MeshGraphIOXmlCompressed.cpp.

1361{
1362 MeshPyr e;
1363 e.id = pyrID;
1364 e.f[0] = pyr->GetFid(0);
1365 e.f[1] = pyr->GetFid(1);
1366 e.f[2] = pyr->GetFid(2);
1367 e.f[3] = pyr->GetFid(3);
1368 e.f[4] = pyr->GetFid(4);
1369 elementInfo.push_back(e);
1370}

References Nektar::SpatialDomains::MeshPyr::f, Nektar::SpatialDomains::Geometry::GetFid(), and Nektar::SpatialDomains::MeshPyr::id.

◆ WritePyr() [2/2]

void Nektar::SpatialDomains::WritePyr ( PyrGeom pyr,
TiXmlElement *  elmtTag,
std::string &  tag,
int  pyrID 
)

Definition at line 2771 of file MeshGraphIOXml.cpp.

2772{
2773 std::stringstream s;
2774 s << pyr->GetFid(0) << " " << pyr->GetFid(1) << " " << pyr->GetFid(2) << " "
2775 << pyr->GetFid(3) << " " << pyr->GetFid(4) << " ";
2776 TiXmlElement *p = new TiXmlElement(tag);
2777 p->SetAttribute("ID", pyrID);
2778 p->LinkEndChild(new TiXmlText(s.str()));
2779 elmtTag->LinkEndChild(p);
2780}

References Nektar::SpatialDomains::Geometry::GetFid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WritePyrs(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WritePyrs().

◆ WriteQuad() [1/2]

void Nektar::SpatialDomains::WriteQuad ( QuadGeom quad,
std::vector< MeshQuad > &  quadInfo,
int  quadID 
)

Definition at line 1200 of file MeshGraphIOXmlCompressed.cpp.

1201{
1202 MeshQuad q;
1203 q.id = quadID;
1204 q.e[0] = quad->GetEid(0);
1205 q.e[1] = quad->GetEid(1);
1206 q.e[2] = quad->GetEid(2);
1207 q.e[3] = quad->GetEid(3);
1208 quadInfo.push_back(q);
1209}
int GetEid(int i) const
Get the ID of edge i of this object.
Definition Geometry.cpp:110

References Nektar::SpatialDomains::Geometry::GetEid().

◆ WriteQuad() [2/2]

void Nektar::SpatialDomains::WriteQuad ( QuadGeom quad,
TiXmlElement *  faceTag,
std::string &  tag,
int  quadID 
)

Definition at line 2675 of file MeshGraphIOXml.cpp.

2677{
2678 std::stringstream s;
2679 s << quad->GetEid(0) << " " << quad->GetEid(1) << " " << quad->GetEid(2)
2680 << " " << quad->GetEid(3);
2681 TiXmlElement *q = new TiXmlElement(tag);
2682 q->SetAttribute("ID", quadID);
2683 q->LinkEndChild(new TiXmlText(s.str()));
2684 faceTag->LinkEndChild(q);
2685}

References Nektar::SpatialDomains::Geometry::GetEid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteQuads(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteQuads().

◆ WriteTet() [1/2]

void Nektar::SpatialDomains::WriteTet ( TetGeom tet,
std::vector< MeshTet > &  elementInfo,
int  tetID 
)

Definition at line 1413 of file MeshGraphIOXmlCompressed.cpp.

1414{
1415 MeshTet e;
1416 e.id = tetID;
1417 e.f[0] = tet->GetFid(0);
1418 e.f[1] = tet->GetFid(1);
1419 e.f[2] = tet->GetFid(2);
1420 e.f[3] = tet->GetFid(3);
1421 elementInfo.push_back(e);
1422}

References Nektar::SpatialDomains::MeshTet::f, Nektar::SpatialDomains::Geometry::GetFid(), and Nektar::SpatialDomains::MeshTet::id.

◆ WriteTet() [2/2]

void Nektar::SpatialDomains::WriteTet ( TetGeom tet,
TiXmlElement *  elmtTag,
std::string &  tag,
int  tetID 
)

Definition at line 2802 of file MeshGraphIOXml.cpp.

2803{
2804 std::stringstream s;
2805 s << tet->GetFid(0) << " " << tet->GetFid(1) << " " << tet->GetFid(2) << " "
2806 << tet->GetFid(3) << " ";
2807 TiXmlElement *t = new TiXmlElement(tag);
2808 t->SetAttribute("ID", tetID);
2809 t->LinkEndChild(new TiXmlText(s.str()));
2810 elmtTag->LinkEndChild(t);
2811}

References Nektar::SpatialDomains::Geometry::GetFid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteTets(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteTets().

◆ WriteTri() [1/2]

void Nektar::SpatialDomains::WriteTri ( TriGeom tri,
std::vector< MeshTri > &  triInfo,
int  triID 
)

Definition at line 1149 of file MeshGraphIOXmlCompressed.cpp.

1150{
1151 MeshTri t;
1152 t.id = triID;
1153 t.e[0] = tri->GetEid(0);
1154 t.e[1] = tri->GetEid(1);
1155 t.e[2] = tri->GetEid(2);
1156 triInfo.push_back(t);
1157}

References Nektar::SpatialDomains::MeshTri::e, Nektar::SpatialDomains::Geometry::GetEid(), and Nektar::SpatialDomains::MeshTri::id.

◆ WriteTri() [2/2]

void Nektar::SpatialDomains::WriteTri ( TriGeom tri,
TiXmlElement *  faceTag,
std::string &  tag,
int  triID 
)

Definition at line 2645 of file MeshGraphIOXml.cpp.

2646{
2647 std::stringstream s;
2648 s << tri->GetEid(0) << " " << tri->GetEid(1) << " " << tri->GetEid(2);
2649 TiXmlElement *t = new TiXmlElement(tag);
2650 t->SetAttribute("ID", triID);
2651 t->LinkEndChild(new TiXmlText(s.str()));
2652 faceTag->LinkEndChild(t);
2653}

References Nektar::SpatialDomains::Geometry::GetEid().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteTris(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteTris().

◆ WriteVert() [1/2]

void Nektar::SpatialDomains::WriteVert ( PointGeom vert,
std::vector< MeshVertex > &  vertInfo,
int  vertID 
)

Definition at line 1039 of file MeshGraphIOXmlCompressed.cpp.

1040{
1041 MeshVertex v;
1042 v.id = vertID;
1043 v.x = vert->x();
1044 v.y = vert->y();
1045 v.z = vert->z();
1046 vertInfo.push_back(v);
1047}
boost::call_traits< DataType >::const_reference x() const
Definition NekPoint.hpp:160
boost::call_traits< DataType >::const_reference z() const
Definition NekPoint.hpp:172
boost::call_traits< DataType >::const_reference y() const
Definition NekPoint.hpp:166

References Nektar::SpatialDomains::MeshVertex::id, Nektar::NekPoint< data_type >::x(), Nektar::SpatialDomains::MeshVertex::x, Nektar::NekPoint< data_type >::y(), Nektar::SpatialDomains::MeshVertex::y, Nektar::NekPoint< data_type >::z(), and Nektar::SpatialDomains::MeshVertex::z.

◆ WriteVert() [2/2]

void Nektar::SpatialDomains::WriteVert ( PointGeom vert,
TiXmlElement *  vertTag 
)

Definition at line 2573 of file MeshGraphIOXml.cpp.

2574{
2575 std::stringstream s;
2576 s << std::scientific << std::setprecision(8) << (*vert)(0) << " "
2577 << (*vert)(1) << " " << (*vert)(2);
2578 TiXmlElement *v = new TiXmlElement("V");
2579 v->SetAttribute("ID", vert->GetGlobalID());
2580 v->LinkEndChild(new TiXmlText(s.str()));
2581 vertTag->LinkEndChild(v);
2582}

References Nektar::SpatialDomains::Geometry::GetGlobalID().

Referenced by Nektar::SpatialDomains::MeshGraphIOXml::v_WriteVertices(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_WriteVertices().

Variable Documentation

◆ GeomMMFMap

const char* const Nektar::SpatialDomains::GeomMMFMap[]
Initial value:
= {
"TangentX", "TangentY", "TangentXY", "TangentZ",
"TangentCircular", "TangentIrregular", "TangentNonconvex", "LOCAL",
}

Session file names associated with tangent principle directions.

Definition at line 87 of file SpatialDomains.hpp.

87 {
88 "TangentX", "TangentY", "TangentXY", "TangentZ",
89 "TangentCircular", "TangentIrregular", "TangentNonconvex", "LOCAL",
90};

Referenced by Nektar::SolverUtils::MMFSystem::CheckMovingFrames(), and Nektar::SolverUtils::MMFSystem::v_GenerateSummary().

◆ kExpansionTypeStr

const std::string Nektar::SpatialDomains::kExpansionTypeStr[]
Initial value:
= {"NOTYPE",
"MODIFIED",
"MODIFIEDQUADPLUS1",
"MODIFIEDQUADPLUS2",
"MODIFIEDGLLRADAU10",
"ORTHOGONAL",
"GLL_LAGRANGE",
"GLL_LAGRANGE_SEM",
"GAUSS_LAGRANGE",
"GAUSS_LAGRANGE_SEM",
"FOURIER",
"FOURIERSINGLEMODE",
"FOURIERHALFMODERE",
"FOURIERHALFMODEIM",
"CHEBYSHEV",
"FOURIER-CHEBYSHEV",
"CHEBYSHEV-FOURIER",
"FOURIER-MODIFIED"}

Definition at line 151 of file MeshGraph.h.

151 {"NOTYPE",
152 "MODIFIED",
153 "MODIFIEDQUADPLUS1",
154 "MODIFIEDQUADPLUS2",
155 "MODIFIEDGLLRADAU10",
156 "ORTHOGONAL",
157 "GLL_LAGRANGE",
158 "GLL_LAGRANGE_SEM",
159 "GAUSS_LAGRANGE",
160 "GAUSS_LAGRANGE_SEM",
161 "FOURIER",
162 "FOURIERSINGLEMODE",
163 "FOURIERHALFMODERE",
164 "FOURIERHALFMODEIM",
165 "CHEBYSHEV",
166 "FOURIER-CHEBYSHEV",
167 "CHEBYSHEV-FOURIER",
168 "FOURIER-MODIFIED"};

Referenced by Nektar::SpatialDomains::MeshGraph::ReadExpansionInfo().

◆ MovementTypeStr

const std::string Nektar::SpatialDomains::MovementTypeStr[]
Initial value:
= {"None", "Fixed", "Rotated",
"Translated"}

Map of zone movement type to movement type string.

Definition at line 57 of file Zones.h.

57 {"None", "Fixed", "Rotated",
58 "Translated"};

Referenced by export_Zones(), Nektar::SpatialDomains::Movement::Movement(), and Nektar::SpatialDomains::Movement::WriteMovement().

◆ NullBoundaryConditionShPtrArray

const Array<OneD, BoundaryConditionShPtr> Nektar::SpatialDomains::NullBoundaryConditionShPtrArray
static

Definition at line 261 of file Conditions.h.

◆ NullCurveMap

CurveMap Nektar::SpatialDomains::NullCurveMap
static

Definition at line 62 of file Geometry.h.