Nektar++
|
#include <InputSem.h>
Public Member Functions | |
InputSem (NekMeshUtils::MeshSharedPtr m) | |
Initialises the InputSem class. More... | |
virtual | ~InputSem () |
virtual void | Process () |
Process a Semtex session file. More... | |
Public Member Functions inherited from Nektar::NekMeshUtils::InputModule | |
NEKMESHUTILS_EXPORT | InputModule (MeshSharedPtr p_m) |
NEKMESHUTILS_EXPORT void | OpenStream () |
Open a file for input. More... | |
Public Member Functions inherited from Nektar::NekMeshUtils::Module | |
NEKMESHUTILS_EXPORT | Module (MeshSharedPtr p_m) |
NEKMESHUTILS_EXPORT void | RegisterConfig (std::string key, std::string value) |
Register a configuration option with a module. More... | |
NEKMESHUTILS_EXPORT void | PrintConfig () |
Print out all configuration options for a module. More... | |
NEKMESHUTILS_EXPORT void | SetDefaults () |
Sets default configuration options for those which have not been set. More... | |
NEKMESHUTILS_EXPORT MeshSharedPtr | GetMesh () |
virtual NEKMESHUTILS_EXPORT void | ProcessVertices () |
Extract element vertices. More... | |
virtual NEKMESHUTILS_EXPORT void | ProcessEdges (bool ReprocessEdges=true) |
Extract element edges. More... | |
virtual NEKMESHUTILS_EXPORT void | ProcessFaces (bool ReprocessFaces=true) |
Extract element faces. More... | |
virtual NEKMESHUTILS_EXPORT void | ProcessElements () |
Generate element IDs. More... | |
virtual NEKMESHUTILS_EXPORT void | ProcessComposites () |
Generate composites. More... | |
virtual NEKMESHUTILS_EXPORT void | ClearElementLinks () |
Static Public Member Functions | |
static NekMeshUtils::ModuleSharedPtr | create (NekMeshUtils::MeshSharedPtr m) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static NekMeshUtils::ModuleKey | className |
ModuleKey for class. More... | |
Private Member Functions | |
void | insertEdge (int elmt, int side, int tagId) |
Private Attributes | |
std::map< std::string, std::streampos > | sectionMap |
Maps Semtex sections to positions inside the input file. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Nektar::NekMeshUtils::InputModule | |
NEKMESHUTILS_EXPORT void | PrintSummary () |
Print summary of elements. More... | |
Protected Member Functions inherited from Nektar::NekMeshUtils::Module | |
NEKMESHUTILS_EXPORT void | ReorderPrisms (PerMap &perFaces) |
Reorder node IDs so that prisms and tetrahedra are aligned correctly. More... | |
NEKMESHUTILS_EXPORT void | PrismLines (int prism, PerMap &perFaces, std::set< int > &prismsDone, std::vector< ElementSharedPtr > &line) |
Protected Attributes inherited from Nektar::NekMeshUtils::InputModule | |
io::filtering_istream | m_mshFile |
Input stream. More... | |
std::ifstream | m_mshFileStream |
Input stream. More... | |
Protected Attributes inherited from Nektar::NekMeshUtils::Module | |
MeshSharedPtr | m_mesh |
Mesh object. More... | |
std::map< std::string, ConfigOption > | m_config |
List of configuration values. More... | |
Converter for Semtex session files.
Definition at line 49 of file InputSem.h.
Nektar::Utilities::InputSem::InputSem | ( | NekMeshUtils::MeshSharedPtr | m | ) |
Initialises the InputSem class.
Definition at line 56 of file InputSem.cpp.
|
virtual |
Definition at line 60 of file InputSem.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 57 of file InputSem.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
private |
Definition at line 662 of file InputSem.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eSegment, Nektar::NekMeshUtils::GetElementFactory(), and Nektar::NekMeshUtils::Module::m_mesh.
Referenced by Process().
|
virtual |
Process a Semtex session file.
Semtex files are defined by a tokenized markup format. We first populate sectionMap which stores the location of the various tags in the session file so that they can be jumped to, since no ordering is defined. The converter only requires the NODES and ELEMENTS sections to exist, but can also read CURVES and SURFACES. High-order curves rely on the meshfile session.msh to be created with the Semtex utility meshpr first.
pFilename | Filename of Semtex session to read. |
Implements Nektar::NekMeshUtils::Module.
Definition at line 77 of file InputSem.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::SpatialDomains::eDirichlet, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::NekMeshUtils::eHOPCondition, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::ePeriodic, Nektar::LibUtilities::eQuadrilateral, Nektar::NekMeshUtils::GetElementFactory(), insertEdge(), Nektar::iterator, Nektar::NekMeshUtils::Module::m_config, Nektar::NekMeshUtils::Module::m_mesh, Nektar::NekMeshUtils::InputModule::m_mshFile, class_topology::Node, Nektar::NekMeshUtils::InputModule::OpenStream(), CellMLToNektar.cellml_metadata::p, Nektar::NekMeshUtils::InputModule::PrintSummary(), Nektar::NekMeshUtils::Module::ProcessComposites(), Nektar::NekMeshUtils::Module::ProcessEdges(), Nektar::NekMeshUtils::Module::ProcessElements(), Nektar::NekMeshUtils::Module::ProcessFaces(), Nektar::NekMeshUtils::Module::ProcessVertices(), and sectionMap.
|
static |
ModuleKey for class.
Definition at line 62 of file InputSem.h.
|
private |
Maps Semtex sections to positions inside the input file.
Definition at line 68 of file InputSem.h.
Referenced by Process().