Nektar++
|
#include <MeshGraphXmlCompressed.h>
Public Member Functions | |
MeshGraphXmlCompressed () | |
virtual | ~MeshGraphXmlCompressed () |
![]() | |
MeshGraphXml () | |
virtual | ~MeshGraphXml () |
virtual void | WriteGeometry (std::string &outfilename, bool defaultExp=false, const LibUtilities::FieldMetaDataMap &metadata=LibUtilities::NullFieldMetaDataMap) |
Write out an XML file containing the GEOMETRY block representing this MeshGraph instance inside a NEKTAR tag. More... | |
void | WriteXMLGeometry (std::string outname, std::vector< std::set< unsigned int >> elements, std::vector< unsigned int > partitions) |
virtual void | ReadGeometry (DomainRangeShPtr rng, bool fillGraph) |
virtual void | PartitionMesh (LibUtilities::SessionReaderSharedPtr session) |
![]() | |
MeshGraph () | |
virtual | ~MeshGraph () |
void | Empty (int dim, int space) |
void | FillGraph () |
void | FillBoundingBoxTree () |
std::vector< int > | GetElementsContainingPoint (PointGeomSharedPtr p) |
void | ReadExpansions () |
int | GetMeshDimension () |
Dimension of the mesh (can be a 1D curve in 3D space). More... | |
int | GetSpaceDimension () |
Dimension of the space (can be a 1D curve in 3D space). More... | |
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. More... | |
bool | CheckRange (Geometry3D &geom) |
Check if goemetry is in range definition if activated. More... | |
CompositeSharedPtr | GetComposite (int whichComposite) |
GeometrySharedPtr | GetCompositeItem (int whichComposite, int whichItem) |
void | GetCompositeList (const std::string &compositeStr, CompositeMap &compositeVector) const |
std::map< int, CompositeSharedPtr > & | GetComposites () |
std::map< int, std::string > & | GetCompositesLabels () |
std::vector< std::map< int, CompositeSharedPtr > > & | GetDomain () |
std::map< int, CompositeSharedPtr > & | GetDomain (int domain) |
const ExpansionMap & | GetExpansions (const std::string variable="DefaultVar") |
ExpansionShPtr | GetExpansion (GeometrySharedPtr geom, const std::string variable="DefaultVar") |
void | SetExpansions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef) |
Sets expansions given field definitions. More... | |
void | SetExpansions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef, std::vector< std::vector< LibUtilities::PointsType >> &pointstype) |
Sets expansions given field definition, quadrature points. More... | |
void | SetExpansionsToEvenlySpacedPoints (int npoints=0) |
Sets expansions to have equispaced points. More... | |
void | SetExpansionsToPolyOrder (int nmodes) |
Reset expansion to have specified polynomial order nmodes. More... | |
void | SetExpansionsToPointOrder (int npts) |
Reset expansion to have specified point order npts. More... | |
void | SetExpansions (const std::string variable, ExpansionMapShPtr &exp) |
This function sets the expansion #exp in map with entry #variable. More... | |
void | SetSession (LibUtilities::SessionReaderSharedPtr pSession) |
void | SetBasisKey (LibUtilities::ShapeType shape, LibUtilities::BasisKeyVector &keys, std::string var="DefaultVar") |
Sets the basis key for all expansions of the given shape. More... | |
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 () |
PointGeomSharedPtr | GetVertex (int id) |
SegGeomSharedPtr | GetSegGeom (int id) |
CurveMap & | GetCurvedEdges () |
CurveMap & | GetCurvedFaces () |
std::map< int, PointGeomSharedPtr > & | GetAllPointGeoms () |
std::map< int, SegGeomSharedPtr > & | GetAllSegGeoms () |
TriGeomMap & | GetAllTriGeoms () |
QuadGeomMap & | GetAllQuadGeoms () |
TetGeomMap & | GetAllTetGeoms () |
PyrGeomMap & | GetAllPyrGeoms () |
PrismGeomMap & | GetAllPrismGeoms () |
HexGeomMap & | GetAllHexGeoms () |
int | GetNumElements () |
Geometry2DSharedPtr | GetGeometry2D (int gID) |
LibUtilities::BasisKey | GetEdgeBasisKey (SegGeomSharedPtr edge, const std::string variable="DefaultVar") |
GeometryLinkSharedPtr | GetElementsFromEdge (Geometry1DSharedPtr edge) |
GeometryLinkSharedPtr | GetElementsFromFace (Geometry2DSharedPtr face) |
LibUtilities::BasisKey | GetFaceBasisKey (Geometry2DSharedPtr face, const int facedir, const std::string variable="DefaultVar") |
3D functions More... | |
CompositeOrdering & | GetCompositeOrdering () |
BndRegionOrdering & | GetBndRegionOrdering () |
std::map< int, MeshEntity > | CreateMeshEntities () |
Create mesh entities for this graph. More... | |
CompositeDescriptor | CreateCompositeDescriptor () |
Static Public Member Functions | |
static MeshGraphSharedPtr | create () |
![]() | |
static MeshGraphSharedPtr | create () |
![]() | |
static MeshGraphSharedPtr | Read (const LibUtilities::SessionReaderSharedPtr pSession, DomainRangeShPtr rng=NullDomainRangeShPtr, bool fillGraph=true) |
static LibUtilities::BasisKeyVector | DefineBasisKeyFromExpansionType (GeometrySharedPtr in, ExpansionType type, const int order) |
Static Public Attributes | |
static std::string | className |
![]() | |
static std::string | className |
Private Member Functions | |
void | ReadVertices () |
void | ReadCurves () |
void | ReadEdges () |
void | ReadFaces () |
void | ReadElements1D () |
void | ReadElements2D () |
void | ReadElements3D () |
void | WriteVertices (TiXmlElement *geomTag, PointGeomMap &verts) |
void | WriteEdges (TiXmlElement *geomTag, SegGeomMap &edges) |
void | WriteTris (TiXmlElement *faceTag, TriGeomMap &tris) |
void | WriteQuads (TiXmlElement *faceTag, QuadGeomMap &quads) |
void | WriteHexs (TiXmlElement *elmtTag, HexGeomMap &hexs) |
void | WritePrisms (TiXmlElement *elmtTag, PrismGeomMap &pris) |
void | WritePyrs (TiXmlElement *elmtTag, PyrGeomMap &pyrs) |
void | WriteTets (TiXmlElement *elmtTag, TetGeomMap &tets) |
void | WriteCurves (TiXmlElement *geomTag, CurveMap &edges, CurveMap &faces) |
Definition at line 46 of file MeshGraphXmlCompressed.h.
|
inline |
Definition at line 49 of file MeshGraphXmlCompressed.h.
|
inlinevirtual |
Definition at line 53 of file MeshGraphXmlCompressed.h.
|
inlinestatic |
Definition at line 57 of file MeshGraphXmlCompressed.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
privatevirtual |
Look for elements in CURVE block.
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 207 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::Interpreter::DefineFunction(), Nektar::LibUtilities::Interpreter::Evaluate(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshCurvedPts::id, Nektar::SpatialDomains::MeshCurvedPts::index, Nektar::SpatialDomains::MeshCurvedPts::pts, and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Look for elements in ELEMENT block.
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 453 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Look for elements in ELEMENT block.
All elements are of the form: "<S ID = n> ... </S>", with ? being the element type.
See if this face has curves.
Keep looking for additional segments
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 621 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Look for elements in ELEMENT block.
All elements are of the form: "<? ID="#"> ... </?>", with ? being the element type.
See if this face has curves.
Create a TriGeom to hold the new definition.
See if this face has curves.
Create a QuadGeom to hold the new definition.
Keep looking
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 694 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Look for elements in ELEMENT block.
All elements are of the form: "<? ID="#"> ... </?>", with ? being the element type.
Keep looking
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 810 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eTriangle, Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Look for elements in FACE block.
All faces are of the form: "<? ID="#"> ... </?>", with ? being an element type (either Q or T). They might be in compressed format and so then need upacking.
See if this face has curves.
Create a TriGeom to hold the new definition.
See if this face has curves.
Create a QuadGeom to hold the new definition.
Keep looking
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 507 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 70 of file MeshGraphXmlCompressed.cpp.
References ASSERTL0, Nektar::LibUtilities::Interpreter::DefineFunction(), Nektar::LibUtilities::Interpreter::Evaluate(), Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::LibUtilities::CompressData::ZlibDecodeFromBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1287 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshCurvedInfo::entityid, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshVertex::id, Nektar::SpatialDomains::MeshCurvedInfo::id, Nektar::SpatialDomains::MeshCurvedPts::id, Nektar::SpatialDomains::MeshCurvedPts::index, Nektar::SpatialDomains::MeshCurvedInfo::npoints, Nektar::SpatialDomains::MeshCurvedInfo::ptid, Nektar::SpatialDomains::MeshCurvedInfo::ptoffset, Nektar::SpatialDomains::MeshCurvedPts::pts, Nektar::SpatialDomains::MeshCurvedInfo::ptype, Nektar::SpatialDomains::MeshVertex::x, Nektar::SpatialDomains::MeshVertex::y, Nektar::SpatialDomains::MeshVertex::z, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1028 of file MeshGraphXmlCompressed.cpp.
References Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshEdge::id, Nektar::SpatialDomains::MeshEdge::v0, Nektar::SpatialDomains::MeshEdge::v1, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1142 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshHex::f, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshHex::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1179 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshPrism::f, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshPrism::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1216 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshPyr::f, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshPyr::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1106 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshQuad::e, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshQuad::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1252 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshTet::f, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshTet::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 1072 of file MeshGraphXmlCompressed.cpp.
References Nektar::SpatialDomains::MeshTri::e, Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshTri::id, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::MeshGraphXml.
Definition at line 993 of file MeshGraphXmlCompressed.cpp.
References Nektar::LibUtilities::CompressData::GetBitSizeStr(), Nektar::LibUtilities::CompressData::GetCompressString(), Nektar::SpatialDomains::MeshVertex::id, Nektar::SpatialDomains::MeshVertex::x, Nektar::SpatialDomains::MeshVertex::y, Nektar::SpatialDomains::MeshVertex::z, and Nektar::LibUtilities::CompressData::ZlibEncodeToBase64Str().
|
static |
Definition at line 62 of file MeshGraphXmlCompressed.h.