Nektar++
|
Base class for a spectral/hp element mesh. More...
#include <MeshGraph.h>
Public Member Functions | |
MeshGraph () | |
MeshGraph (unsigned int meshDimension, unsigned int spaceDimension) | |
MeshGraph (const LibUtilities::SessionReaderSharedPtr &pSession, const DomainRangeShPtr &rng=NullDomainRangeShPtr) | |
virtual | ~MeshGraph () |
virtual void | ReadGeometry (const std::string &infilename) |
Read will read the meshgraph vertices given a filename. | |
virtual void | ReadGeometry (TiXmlDocument &doc) |
Read will read the meshgraph vertices given a TiXmlDocument. | |
void | ReadGeometryInfo (const std::string &infilename) |
Read geometric information from a file. | |
void | ReadGeometryInfo (TiXmlDocument &doc) |
Read geometric information from an XML document. | |
void | ReadExpansions (const std::string &infilename) |
Read the expansions given the XML file path. | |
void | ReadExpansions (TiXmlDocument &doc) |
Read the expansions given the XML document reference. | |
void | ReadDomain (TiXmlDocument &doc) |
void | ReadCurves (TiXmlDocument &doc) |
void | ReadCurves (std::string &infilename) |
int | GetMeshDimension () const |
Dimension of the mesh (can be a 1D curve in 3D space). | |
int | GetSpaceDimension () const |
Dimension of the space (can be a 1D curve in 3D space). | |
void | SetDomainRange (NekDouble xmin, NekDouble xmax, NekDouble ymin=NekConstants::kNekUnsetDouble, NekDouble ymax=NekConstants::kNekUnsetDouble, NekDouble zmin=NekConstants::kNekUnsetDouble, NekDouble zmax=NekConstants::kNekUnsetDouble) |
bool | CheckRange (Geometry2D &geom) |
Check if goemetry is in range definition if activated. | |
bool | CheckRange (Geometry3D &geom) |
Check if goemetry is in range definition if activated. | |
Composite | GetComposite (int whichComposite) const |
GeometrySharedPtr | GetCompositeItem (int whichComposite, int whichItem) |
void | GetCompositeList (const std::string &compositeStr, CompositeMap &compositeVector) const |
const CompositeMap & | GetComposites () const |
const std::vector< CompositeMap > & | GetDomain (void) const |
const CompositeMap & | GetDomain (int domain) const |
const ExpansionMap & | GetExpansions () |
const ExpansionMap & | GetExpansions (const std::string variable) |
ExpansionShPtr | GetExpansion (GeometrySharedPtr geom, const std::string variable="DefaultVar") |
void | SetExpansions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef) |
Sets expansions given field definitions. | |
void | SetExpansions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef, std::vector< std::vector< LibUtilities::PointsType > > &pointstype) |
Sets expansions given field definition, quadrature points. | |
void | SetExpansionsToEvenlySpacedPoints (int npoints=0) |
Sets expansions to have equispaced points. | |
void | SetExpansions (const std::string variable, ExpansionMapShPtr &exp) |
This function sets the expansion #exp in map with entry #variable. | |
void | SetBasisKey (LibUtilities::ShapeType shape, LibUtilities::BasisKeyVector &keys, std::string var="DefaultVar") |
Sets the basis key for all expansions of the given shape. | |
bool | SameExpansions (const std::string var1, const std::string var2) |
bool | CheckForGeomInfo (std::string parameter) |
const std::string | GetGeomInfo (std::string parameter) |
LibUtilities::BasisKeyVector | DefineBasisKeyFromExpansionTypeHomo (GeometrySharedPtr in, ExpansionType type_x, ExpansionType type_y, ExpansionType type_z, const int nummodes_x, const int nummodes_y, const int nummodes_z) |
int | GetNvertices () const |
PointGeomSharedPtr | GetVertex (int id) |
PointGeomSharedPtr | AddVertex (NekDouble x, NekDouble y, NekDouble z) |
Adds a vertex to the with the next available ID. | |
SegGeomSharedPtr | AddEdge (PointGeomSharedPtr v0, PointGeomSharedPtr v1, CurveSharedPtr curveDefinition=CurveSharedPtr()) |
Adds an edge between two points. If curveDefinition is null, then the edge is straight, otherwise it is curved according to the curveDefinition. | |
SegGeomSharedPtr | GetEdge (unsigned int id) |
TriGeomSharedPtr | AddTriangle (SegGeomSharedPtr edges[], StdRegions::Orientation orient[]) |
QuadGeomSharedPtr | AddQuadrilateral (SegGeomSharedPtr edges[], StdRegions::Orientation orient[]) |
TetGeomSharedPtr | AddTetrahedron (TriGeomSharedPtr tfaces[TetGeom::kNtfaces]) |
PyrGeomSharedPtr | AddPyramid (TriGeomSharedPtr tfaces[PyrGeom::kNtfaces], QuadGeomSharedPtr qfaces[PyrGeom::kNqfaces]) |
PrismGeomSharedPtr | AddPrism (TriGeomSharedPtr tfaces[PrismGeom::kNtfaces], QuadGeomSharedPtr qfaces[PrismGeom::kNqfaces]) |
HexGeomSharedPtr | AddHexahedron (QuadGeomSharedPtr qfaces[HexGeom::kNqfaces]) |
const CurveVector & | GetCurvedEdges () const |
const CurveVector & | GetCurvedFaces () const |
const SegGeomMap & | GetAllSegGeoms () const |
const TriGeomMap & | GetAllTriGeoms () const |
const QuadGeomMap & | GetAllQuadGeoms () const |
const TetGeomMap & | GetAllTetGeoms () const |
const PyrGeomMap & | GetAllPyrGeoms () const |
const PrismGeomMap & | GetAllPrismGeoms () const |
const HexGeomMap & | GetAllHexGeoms () const |
template<typename ElementType > | |
const std::map< int, boost::shared_ptr< ElementType > > & | GetAllElementsOfType () const |
Convenience method for ElVis. |
Static Public Member Functions | |
static boost::shared_ptr < MeshGraph > | Read (const LibUtilities::SessionReaderSharedPtr &pSession, DomainRangeShPtr &rng=NullDomainRangeShPtr) |
static boost::shared_ptr < MeshGraph > | Read (const std::string &infilename, bool pReadExpansions=true) |
static LibUtilities::BasisKeyVector | DefineBasisKeyFromExpansionType (GeometrySharedPtr in, ExpansionType type, const int order) |
Protected Member Functions | |
ExpansionMapShPtr | SetUpExpansionMap (void) |
Base class for a spectral/hp element mesh.
Definition at line 183 of file MeshGraph.h.
Nektar::SpatialDomains::MeshGraph::MeshGraph | ( | ) |
Definition at line 73 of file MeshGraph.cpp.
Nektar::SpatialDomains::MeshGraph::MeshGraph | ( | unsigned int | meshDimension, |
unsigned int | spaceDimension | ||
) |
Definition at line 84 of file MeshGraph.cpp.
Nektar::SpatialDomains::MeshGraph::MeshGraph | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const DomainRangeShPtr & | rng = NullDomainRangeShPtr |
||
) |
Definition at line 97 of file MeshGraph.cpp.
|
virtual |
Definition at line 110 of file MeshGraph.cpp.
SegGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddEdge | ( | PointGeomSharedPtr | v0, |
PointGeomSharedPtr | v1, | ||
CurveSharedPtr | curveDefinition = CurveSharedPtr() |
||
) |
Adds an edge between two points. If curveDefinition is null, then the edge is straight, otherwise it is curved according to the curveDefinition.
Definition at line 3395 of file MeshGraph.cpp.
References m_segGeoms, and m_spaceDimension.
HexGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddHexahedron | ( | QuadGeomSharedPtr | qfaces[HexGeom::kNqfaces] | ) |
Definition at line 3495 of file MeshGraph.cpp.
References m_hexGeoms.
PrismGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddPrism | ( | TriGeomSharedPtr | tfaces[PrismGeom::kNtfaces], |
QuadGeomSharedPtr | qfaces[PrismGeom::kNqfaces] | ||
) |
Definition at line 3447 of file MeshGraph.cpp.
References m_prismGeoms.
PyrGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddPyramid | ( | TriGeomSharedPtr | tfaces[PyrGeom::kNtfaces], |
QuadGeomSharedPtr | qfaces[PyrGeom::kNqfaces] | ||
) |
Definition at line 3478 of file MeshGraph.cpp.
References m_pyrGeoms.
QuadGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddQuadrilateral | ( | SegGeomSharedPtr | edges[], |
StdRegions::Orientation | orient[] | ||
) |
Definition at line 3433 of file MeshGraph.cpp.
References m_quadGeoms.
TetGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddTetrahedron | ( | TriGeomSharedPtr | tfaces[TetGeom::kNtfaces] | ) |
Definition at line 3464 of file MeshGraph.cpp.
References m_tetGeoms.
TriGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddTriangle | ( | SegGeomSharedPtr | edges[], |
StdRegions::Orientation | orient[] | ||
) |
Definition at line 3418 of file MeshGraph.cpp.
References m_triGeoms.
PointGeomSharedPtr Nektar::SpatialDomains::MeshGraph::AddVertex | ( | NekDouble | x, |
NekDouble | y, | ||
NekDouble | z | ||
) |
Adds a vertex to the with the next available ID.
Definition at line 3383 of file MeshGraph.cpp.
References m_spaceDimension, and m_vertSet.
|
inline |
Definition at line 526 of file MeshGraph.h.
References m_geomInfo.
bool Nektar::SpatialDomains::MeshGraph::CheckRange | ( | Geometry2D & | geom | ) |
Check if goemetry is in range definition if activated.
Definition at line 1417 of file MeshGraph.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim(), Nektar::SpatialDomains::Geometry::GetNumVerts(), Nektar::SpatialDomains::Geometry::GetVertex(), m_domainRange, and Nektar::SpatialDomains::NullDomainRangeShPtr.
Referenced by Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and Nektar::SpatialDomains::MeshGraph2D::ResolveGeomRef().
bool Nektar::SpatialDomains::MeshGraph::CheckRange | ( | Geometry3D & | geom | ) |
Check if goemetry is in range definition if activated.
Definition at line 1520 of file MeshGraph.cpp.
References Nektar::SpatialDomains::Geometry::GetNumVerts(), Nektar::SpatialDomains::Geometry::GetShapeType(), Nektar::SpatialDomains::Geometry::GetVertex(), m_domainRange, and Nektar::SpatialDomains::NullDomainRangeShPtr.
|
static |
Definition at line 2595 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::eChebyshev, Nektar::SpatialDomains::eChebyshev, Nektar::SpatialDomains::eChebyshevFourier, Nektar::LibUtilities::eFourier, Nektar::SpatialDomains::eFourier, Nektar::SpatialDomains::eFourierChebyshev, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeIm, Nektar::SpatialDomains::eFourierHalfModeIm, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::SpatialDomains::eFourierHalfModeRe, Nektar::SpatialDomains::eFourierModified, Nektar::LibUtilities::eFourierSingleMode, Nektar::SpatialDomains::eFourierSingleMode, Nektar::LibUtilities::eFourierSingleModeSpaced, Nektar::LibUtilities::eGauss_Lagrange, Nektar::SpatialDomains::eGauss_Lagrange, Nektar::LibUtilities::eGaussGaussChebyshev, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauMAlpha1Beta0, Nektar::LibUtilities::eGaussRadauMAlpha2Beta0, Nektar::LibUtilities::eGLL_Lagrange, Nektar::SpatialDomains::eGLL_Lagrange, Nektar::SpatialDomains::eGLL_Lagrange_SEM, Nektar::LibUtilities::eHexahedron, Nektar::SpatialDomains::eModified, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::LibUtilities::eModified_C, Nektar::SpatialDomains::eModifiedQuadPlus1, Nektar::SpatialDomains::eModifiedQuadPlus2, Nektar::LibUtilities::eOrtho_A, Nektar::LibUtilities::eOrtho_B, Nektar::LibUtilities::eOrtho_C, Nektar::SpatialDomains::eOrthogonal, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, and Nektar::LibUtilities::eTriangle.
Referenced by ReadExpansions().
LibUtilities::BasisKeyVector Nektar::SpatialDomains::MeshGraph::DefineBasisKeyFromExpansionTypeHomo | ( | GeometrySharedPtr | in, |
ExpansionType | type_x, | ||
ExpansionType | type_y, | ||
ExpansionType | type_z, | ||
const int | nummodes_x, | ||
const int | nummodes_y, | ||
const int | nummodes_z | ||
) |
Definition at line 3176 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::eChebyshev, Nektar::SpatialDomains::eChebyshev, Nektar::LibUtilities::eFourier, Nektar::SpatialDomains::eFourier, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeIm, Nektar::SpatialDomains::eFourierHalfModeIm, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::SpatialDomains::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleMode, Nektar::SpatialDomains::eFourierSingleMode, Nektar::LibUtilities::eFourierSingleModeSpaced, Nektar::LibUtilities::eGaussGaussChebyshev, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, and Nektar::LibUtilities::eTriangle.
Referenced by ReadExpansions().
|
inline |
Convenience method for ElVis.
Definition at line 570 of file MeshGraph.h.
References GetAllHexGeoms().
|
inline |
Definition at line 381 of file MeshGraph.h.
References m_hexGeoms.
Referenced by GetAllElementsOfType().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 444 of file MeshGraph.h.
References ASSERTL0, and m_meshComposites.
Referenced by GetCompositeList(), and Nektar::SpatialDomains::Domain::Read().
GeometrySharedPtr Nektar::SpatialDomains::MeshGraph::GetCompositeItem | ( | int | whichComposite, |
int | whichItem | ||
) |
Definition at line 1627 of file MeshGraph.cpp.
References ErrorUtil::efatal, m_meshComposites, and NEKERROR.
void Nektar::SpatialDomains::MeshGraph::GetCompositeList | ( | const std::string & | compositeStr, |
CompositeMap & | compositeVector | ||
) | const |
Definition at line 1665 of file MeshGraph.cpp.
References ASSERTL0, ErrorUtil::ewarning, Nektar::StdRegions::find(), Nektar::ParseUtils::GenerateSeqVector(), GetComposite(), Nektar::iterator, m_meshComposites, m_meshPartitioned, and NEKERROR.
Referenced by ReadDomain(), and ReadExpansions().
|
inline |
Definition at line 456 of file MeshGraph.h.
References m_meshComposites.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
ExpansionShPtr Nektar::SpatialDomains::MeshGraph::GetExpansion | ( | GeometrySharedPtr | geom, |
const std::string | variable = "DefaultVar" |
||
) |
Definition at line 1740 of file MeshGraph.cpp.
References m_expansionMapShPtrMap.
Referenced by Nektar::SpatialDomains::MeshGraph2D::GetEdgeBasisKey(), and Nektar::SpatialDomains::MeshGraph3D::GetFaceBasisKey().
|
inline |
Definition at line 483 of file MeshGraph.h.
const ExpansionMap & Nektar::SpatialDomains::MeshGraph::GetExpansions | ( | const std::string | variable | ) |
Definition at line 1713 of file MeshGraph.cpp.
References ErrorUtil::efatal, ErrorUtil::ewarning, m_expansionMapShPtrMap, and NEKERROR.
|
inline |
Definition at line 535 of file MeshGraph.h.
References ASSERTL1, and m_geomInfo.
|
inline |
Dimension of the mesh (can be a 1D curve in 3D space).
Definition at line 426 of file MeshGraph.h.
References m_meshDimension.
Referenced by Read().
|
inline |
|
inline |
Dimension of the space (can be a 1D curve in 3D space).
Definition at line 435 of file MeshGraph.h.
References m_spaceDimension.
Referenced by Nektar::SpatialDomains::MeshGraph1D::GetCoordim(), Nektar::SpatialDomains::MeshGraph3D::GetCoordim(), and Nektar::SpatialDomains::MeshGraph2D::GetCoordim().
|
inline |
Definition at line 555 of file MeshGraph.h.
References ASSERTL0, Nektar::iterator, and m_vertSet.
Referenced by Nektar::SpatialDomains::MeshGraph3D::ReadEdges(), Nektar::SpatialDomains::MeshGraph2D::ReadEdges(), and Nektar::SpatialDomains::MeshGraph1D::ReadElements().
|
static |
Definition at line 118 of file MeshGraph.cpp.
References ASSERTL0, ErrorUtil::efatal, and NEKERROR.
Referenced by Diffusion::Diffusion(), Nektar::VortexWaveInteraction::FileRelaxation(), main(), Nektar::Utilities::InputNekpp::Process(), Nektar::Utilities::InputXml::Process(), Nektar::Utilities::OutputNekpp::Process(), Nektar::Utilities::ProcessInterpPoints::Process(), Nektar::Utilities::ProcessInterpField::Process(), Nektar::SolverUtils::EquationSystem::v_InitObject(), and Nektar::SolverUtils::FilterModalEnergy::v_Update().
|
static |
Definition at line 179 of file MeshGraph.cpp.
References ErrorUtil::efatal, GetMeshDimension(), NEKERROR, and ReadGeometry().
void Nektar::SpatialDomains::MeshGraph::ReadCurves | ( | TiXmlDocument & | doc | ) |
We know we have it since we made it this far.
Look for elements in CURVE block.
All curves are of the form: "<? ID="#" TYPE="GLL OR other points type" NUMPOINTS="#"> ... </?>", with ? being an element type (either E or F).
These should be ordered.
Read id attribute.
Read edge id attribute.
Read text edgelement description.
Parse out the element components corresponding to type of element.
Read id attribute.
Read face id attribute.
Read text face element description.
Parse out the element components corresponding to type of element.
Definition at line 1102 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::AnalyticExpressionEvaluator::DefineFunction(), ErrorUtil::efatal, Nektar::LibUtilities::AnalyticExpressionEvaluator::Evaluate(), Nektar::StdRegions::find(), Nektar::LibUtilities::kPointsTypeStr, m_curvedEdges, m_curvedFaces, m_meshDimension, NEKERROR, and Nektar::LibUtilities::SIZE_PointsType.
Referenced by ReadCurves(), Nektar::SpatialDomains::MeshGraph3D::ReadGeometry(), and Nektar::SpatialDomains::MeshGraph2D::ReadGeometry().
void Nektar::SpatialDomains::MeshGraph::ReadCurves | ( | std::string & | infilename | ) |
Definition at line 1366 of file MeshGraph.cpp.
References ASSERTL0, and ReadCurves().
void Nektar::SpatialDomains::MeshGraph::ReadDomain | ( | TiXmlDocument & | doc | ) |
Look for data in DOMAIN block.
Elements are of the form: "<D ID = "N"> ... </D>". Read the ID field first.
Keep looking
Definition at line 1008 of file MeshGraph.cpp.
References ASSERTL0, GetCompositeList(), and m_domain.
Referenced by Nektar::SpatialDomains::MeshGraph1D::ReadGeometry(), Nektar::SpatialDomains::MeshGraph3D::ReadGeometry(), and Nektar::SpatialDomains::MeshGraph2D::ReadGeometry().
void Nektar::SpatialDomains::MeshGraph::ReadExpansions | ( | const std::string & | infilename | ) |
Read the expansions given the XML file path.
Definition at line 524 of file MeshGraph.cpp.
References ASSERTL0.
Referenced by Nektar::SpatialDomains::MeshGraph1D::MeshGraph1D(), Nektar::SpatialDomains::MeshGraph2D::MeshGraph2D(), and Nektar::SpatialDomains::MeshGraph3D::MeshGraph3D().
void Nektar::SpatialDomains::MeshGraph::ReadExpansions | ( | TiXmlDocument & | doc | ) |
Read the expansions given the XML document reference.
Expansiontypes will contain composite, nummodes, and expansiontype (eModified, or eOrthogonal) Or a full list of data of basistype, nummodes, pointstype, numpoints;
Expansiontypes may also contain a list of fields that this expansion relates to. If this does not exist the variable is only set to "DefaultVar".
Mandatory components...optional are to follow later.
Mandatory components...optional are to follow later.
Definition at line 542 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::BasisTypeMap, DefineBasisKeyFromExpansionType(), DefineBasisKeyFromExpansionTypeHomo(), Nektar::SpatialDomains::eExpansionTypeSize, Nektar::SpatialDomains::eNoExpansionType, Nektar::LibUtilities::Equation::Evaluate(), Nektar::StdRegions::find(), Nektar::ParseUtils::GenerateOrderedStringVector(), Nektar::ParseUtils::GenerateOrderedVector(), GetCompositeList(), Nektar::LibUtilities::FieldIO::ImportFieldDefs(), Nektar::SpatialDomains::kExpansionTypeStr, Nektar::LibUtilities::kPointsTypeStr, m_expansionMapShPtrMap, m_session, SetExpansions(), SetUpExpansionMap(), Nektar::LibUtilities::SIZE_BasisType, and Nektar::LibUtilities::SIZE_PointsType.
|
virtual |
Read will read the meshgraph vertices given a filename.
Reimplemented in Nektar::SpatialDomains::MeshGraph2D, Nektar::SpatialDomains::MeshGraph3D, and Nektar::SpatialDomains::MeshGraph1D.
Definition at line 229 of file MeshGraph.cpp.
References ASSERTL0.
Referenced by Read().
|
virtual |
Read will read the meshgraph vertices given a TiXmlDocument.
Error value returned by TinyXML.
Reimplemented in Nektar::SpatialDomains::MeshGraph2D, Nektar::SpatialDomains::MeshGraph3D, and Nektar::SpatialDomains::MeshGraph1D.
Definition at line 247 of file MeshGraph.cpp.
References ASSERTL0, ASSERTL1, Nektar::LibUtilities::AnalyticExpressionEvaluator::DefineFunction(), Nektar::LibUtilities::AnalyticExpressionEvaluator::Evaluate(), m_meshDimension, m_meshPartitioned, m_partition, m_spaceDimension, and m_vertSet.
void Nektar::SpatialDomains::MeshGraph::ReadGeometryInfo | ( | const std::string & | infilename | ) |
Read geometric information from a file.
Read the geometry-related information from the given file. This information is located within the XML tree under <NEKTAR><GEOMETRY><GEOMINFO>.
infilename | Filename of XML file. |
Definition at line 469 of file MeshGraph.cpp.
References ASSERTL0.
void Nektar::SpatialDomains::MeshGraph::ReadGeometryInfo | ( | TiXmlDocument & | doc | ) |
Read geometric information from an XML document.
Read the geometry-related information from the given XML document. This information is located within the XML tree under <NEKTAR><GEOMETRY><GEOMINFO>.
doc | XML document. |
Definition at line 490 of file MeshGraph.cpp.
References ASSERTL0, Nektar::iterator, and m_geomInfo.
|
inline |
Definition at line 509 of file MeshGraph.h.
References m_expansionMapShPtrMap.
void Nektar::SpatialDomains::MeshGraph::SetBasisKey | ( | LibUtilities::ShapeType | shape, |
LibUtilities::BasisKeyVector & | keys, | ||
std::string | var = "DefaultVar" |
||
) |
Sets the basis key for all expansions of the given shape.
For each element of shape given by shape in field var, replace the current BasisKeyVector describing the expansion in each dimension, with the one provided by keys.
: Allow selection of elements through a CompositeVector, as well as by type.
shape | The shape of elements to be changed. |
keys | The new basis vector to apply to those elements. |
Definition at line 2574 of file MeshGraph.cpp.
References m_expansionMapShPtrMap.
void Nektar::SpatialDomains::MeshGraph::SetDomainRange | ( | NekDouble | xmin, |
NekDouble | xmax, | ||
NekDouble | ymin = NekConstants::kNekUnsetDouble , |
||
NekDouble | ymax = NekConstants::kNekUnsetDouble , |
||
NekDouble | zmin = NekConstants::kNekUnsetDouble , |
||
NekDouble | zmax = NekConstants::kNekUnsetDouble |
||
) |
Definition at line 1380 of file MeshGraph.cpp.
References Nektar::NekConstants::kNekUnsetDouble, m_domainRange, and Nektar::SpatialDomains::NullDomainRangeShPtr.
void Nektar::SpatialDomains::MeshGraph::SetExpansions | ( | std::vector< LibUtilities::FieldDefinitionsSharedPtr > & | fielddef | ) |
Sets expansions given field definitions.
Definition at line 1762 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::BasisTypeMap, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauMAlpha1Beta0, Nektar::LibUtilities::eGaussRadauMAlpha2Beta0, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, m_domain, m_expansionMapShPtrMap, m_hexGeoms, m_prismGeoms, m_pyrGeoms, m_quadGeoms, m_segGeoms, m_tetGeoms, and m_triGeoms.
Referenced by ReadExpansions().
void Nektar::SpatialDomains::MeshGraph::SetExpansions | ( | std::vector< LibUtilities::FieldDefinitionsSharedPtr > & | fielddef, |
std::vector< std::vector< LibUtilities::PointsType > > & | pointstype | ||
) |
Sets expansions given field definition, quadrature points.
Definition at line 2297 of file MeshGraph.cpp.
References ASSERTL0, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, m_expansionMapShPtrMap, m_hexGeoms, m_prismGeoms, m_pyrGeoms, m_quadGeoms, m_segGeoms, m_tetGeoms, and m_triGeoms.
|
inline |
This function sets the expansion #exp in map with entry #variable.
Definition at line 493 of file MeshGraph.h.
References ASSERTL0, and m_expansionMapShPtrMap.
void Nektar::SpatialDomains::MeshGraph::SetExpansionsToEvenlySpacedPoints | ( | int | npoints = 0 | ) |
Sets expansions to have equispaced points.
Reset all points keys to have equispaced points with optional arguemtn of npoints which redefines how many points are to be used.
Definition at line 2524 of file MeshGraph.cpp.
References Nektar::LibUtilities::ePolyEvenlySpaced, Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), m_expansionMapShPtrMap, and npts.
|
protected |
Generate a single vector of Expansion structs mapping global element ID to a corresponding Geometry shared pointer and basis key.
Expansion map ensures elements which appear in multiple composites within the domain are only listed once.
Definition at line 3512 of file MeshGraph.cpp.
References m_domain.
Referenced by ReadExpansions().
|
protected |
Definition at line 392 of file MeshGraph.h.
Referenced by GetCurvedEdges(), ReadCurves(), Nektar::SpatialDomains::MeshGraph3D::ReadEdges(), and Nektar::SpatialDomains::MeshGraph2D::ReadEdges().
|
protected |
Definition at line 393 of file MeshGraph.h.
Referenced by GetCurvedFaces(), ReadCurves(), Nektar::SpatialDomains::MeshGraph2D::ReadElements(), and Nektar::SpatialDomains::MeshGraph3D::ReadFaces().
|
protected |
Definition at line 410 of file MeshGraph.h.
Referenced by GetDomain(), Nektar::SpatialDomains::MeshGraph2D::GetElementsFromEdge(), ReadDomain(), SetExpansions(), and SetUpExpansionMap().
|
protected |
Definition at line 411 of file MeshGraph.h.
Referenced by CheckRange(), and SetDomainRange().
|
protected |
Definition at line 413 of file MeshGraph.h.
Referenced by GetExpansion(), GetExpansions(), ReadExpansions(), SameExpansions(), SetBasisKey(), SetExpansions(), and SetExpansionsToEvenlySpacedPoints().
|
protected |
Definition at line 415 of file MeshGraph.h.
Referenced by CheckForGeomInfo(), GetGeomInfo(), and ReadGeometryInfo().
|
protected |
Definition at line 402 of file MeshGraph.h.
Referenced by AddHexahedron(), GetAllHexGeoms(), Nektar::SpatialDomains::MeshGraph3D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 390 of file MeshGraph.h.
|
protected |
Definition at line 409 of file MeshGraph.h.
Referenced by GetComposite(), GetCompositeItem(), GetCompositeList(), GetComposites(), Nektar::SpatialDomains::MeshGraph3D::GetNumCompositeItems(), Nektar::SpatialDomains::MeshGraph2D::GetNumCompositeItems(), Nektar::SpatialDomains::MeshGraph3D::GetNumComposites(), Nektar::SpatialDomains::MeshGraph2D::GetNumComposites(), Nektar::SpatialDomains::MeshGraph1D::ReadComposites(), Nektar::SpatialDomains::MeshGraph3D::ReadComposites(), and Nektar::SpatialDomains::MeshGraph2D::ReadComposites().
|
protected |
Definition at line 404 of file MeshGraph.h.
Referenced by GetMeshDimension(), ReadCurves(), and ReadGeometry().
|
protected |
Definition at line 407 of file MeshGraph.h.
Referenced by GetCompositeList(), and ReadGeometry().
|
protected |
Definition at line 406 of file MeshGraph.h.
Referenced by ReadGeometry().
|
protected |
Definition at line 401 of file MeshGraph.h.
Referenced by AddPrism(), GetAllPrismGeoms(), Nektar::SpatialDomains::MeshGraph3D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 400 of file MeshGraph.h.
Referenced by AddPyramid(), GetAllPyrGeoms(), Nektar::SpatialDomains::MeshGraph3D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 398 of file MeshGraph.h.
Referenced by AddQuadrilateral(), GetAllQuadGeoms(), Nektar::SpatialDomains::MeshGraph3D::GetCartesianEorientFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetCartesianEorientFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetEidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetEidFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetEorientFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetEorientFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetGeometry2D(), Nektar::SpatialDomains::MeshGraph2D::GetQuadgeoms(), Nektar::SpatialDomains::MeshGraph3D::GetQuadgeoms(), Nektar::SpatialDomains::MeshGraph3D::GetVidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetVidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ReadFaces(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), Nektar::SpatialDomains::MeshGraph2D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 395 of file MeshGraph.h.
Referenced by AddEdge(), GetAllSegGeoms(), GetEdge(), Nektar::SpatialDomains::MeshGraph3D::GetNseggeoms(), Nektar::SpatialDomains::MeshGraph2D::GetNseggeoms(), Nektar::SpatialDomains::MeshGraph3D::GetSegGeom(), Nektar::SpatialDomains::MeshGraph2D::GetSegGeom(), Nektar::SpatialDomains::MeshGraph1D::GetSeggeoms(), Nektar::SpatialDomains::MeshGraph1D::GetVidFromElmt(), Nektar::SpatialDomains::MeshGraph3D::ReadEdges(), Nektar::SpatialDomains::MeshGraph2D::ReadEdges(), Nektar::SpatialDomains::MeshGraph1D::ReadElements(), Nektar::SpatialDomains::MeshGraph1D::ResolveGeomRef(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), Nektar::SpatialDomains::MeshGraph2D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 388 of file MeshGraph.h.
Referenced by ReadExpansions().
|
protected |
Definition at line 405 of file MeshGraph.h.
Referenced by AddEdge(), AddVertex(), GetSpaceDimension(), Nektar::SpatialDomains::MeshGraph3D::ReadEdges(), Nektar::SpatialDomains::MeshGraph2D::ReadEdges(), and ReadGeometry().
|
protected |
Definition at line 399 of file MeshGraph.h.
Referenced by AddTetrahedron(), GetAllTetGeoms(), Nektar::SpatialDomains::MeshGraph3D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 397 of file MeshGraph.h.
Referenced by AddTriangle(), GetAllTriGeoms(), Nektar::SpatialDomains::MeshGraph3D::GetCartesianEorientFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetCartesianEorientFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetEidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetEidFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetEorientFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetEorientFromElmt(), Nektar::SpatialDomains::MeshGraph3D::GetGeometry2D(), Nektar::SpatialDomains::MeshGraph2D::GetTrigeoms(), Nektar::SpatialDomains::MeshGraph3D::GetTrigeoms(), Nektar::SpatialDomains::MeshGraph3D::GetVidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::GetVidFromElmt(), Nektar::SpatialDomains::MeshGraph2D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ReadFaces(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), Nektar::SpatialDomains::MeshGraph2D::ResolveGeomRef(), and SetExpansions().
|
protected |
Definition at line 389 of file MeshGraph.h.
Referenced by AddVertex(), GetNvertices(), GetVertex(), ReadGeometry(), Nektar::SpatialDomains::MeshGraph1D::ResolveGeomRef(), Nektar::SpatialDomains::MeshGraph3D::ResolveGeomRef(), and Nektar::SpatialDomains::MeshGraph2D::ResolveGeomRef().