Nektar++
|
#include <InputSem.h>
Public Member Functions | |
InputSem (MeshSharedPtr m) | |
Initialises the InputSem class. More... | |
virtual | ~InputSem () |
virtual void | Process () |
Process a Semtex session file. More... | |
Public Member Functions inherited from Nektar::Utilities::InputModule | |
InputModule (FieldSharedPtr p_m) | |
void | AddFile (string fileType, string fileName) |
InputModule (MeshSharedPtr p_m) | |
void | OpenStream () |
Open a file for input. More... | |
Public Member Functions inherited from Nektar::Utilities::Module | |
Module (FieldSharedPtr p_f) | |
virtual void | Process (po::variables_map &vm)=0 |
void | RegisterConfig (string key, string value) |
Register a configuration option with a module. More... | |
void | PrintConfig () |
Print out all configuration options for a module. More... | |
void | SetDefaults () |
Sets default configuration options for those which have not been set. More... | |
bool | GetRequireEquiSpaced (void) |
void | SetRequireEquiSpaced (bool pVal) |
void | EvaluateTriFieldAtEquiSpacedPts (LocalRegions::ExpansionSharedPtr &exp, const Array< OneD, const NekDouble > &infield, Array< OneD, NekDouble > &outfield) |
Module (MeshSharedPtr p_m) | |
void | RegisterConfig (string key, string value) |
void | PrintConfig () |
void | SetDefaults () |
MeshSharedPtr | GetMesh () |
virtual void | ProcessVertices () |
Extract element vertices. More... | |
Static Public Member Functions | |
static ModuleSharedPtr | create (MeshSharedPtr m) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static 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::Utilities::InputModule | |
void | PrintSummary () |
Print summary of elements. More... | |
void | PrintSummary () |
Print summary of elements. More... | |
Protected Member Functions inherited from Nektar::Utilities::Module | |
Module () | |
virtual void | ProcessEdges (bool ReprocessEdges=true) |
Extract element edges. More... | |
virtual void | ProcessFaces (bool ReprocessFaces=true) |
Extract element faces. More... | |
virtual void | ProcessElements () |
Generate element IDs. More... | |
virtual void | ProcessComposites () |
Generate composites. More... | |
void | ReorderPrisms (PerMap &perFaces) |
Reorder node IDs so that prisms and tetrahedra are aligned correctly. More... | |
void | PrismLines (int prism, PerMap &perFaces, set< int > &prismsDone, vector< ElementSharedPtr > &line) |
Protected Attributes inherited from Nektar::Utilities::InputModule | |
set< string > | m_allowedFiles |
std::ifstream | m_mshFile |
Input stream. More... | |
Protected Attributes inherited from Nektar::Utilities::Module | |
FieldSharedPtr | m_f |
Field object. More... | |
map< string, ConfigOption > | m_config |
List of configuration values. More... | |
bool | m_requireEquiSpaced |
MeshSharedPtr | m_mesh |
Mesh object. More... | |
Converter for Semtex session files.
Definition at line 48 of file InputSem.h.
Nektar::Utilities::InputSem::InputSem | ( | MeshSharedPtr | m | ) |
Initialises the InputSem class.
Definition at line 55 of file InputSem.cpp.
|
virtual |
Definition at line 60 of file InputSem.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 56 of file InputSem.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
private |
Definition at line 640 of file InputSem.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eSegment, Nektar::Utilities::GetElementFactory(), and Nektar::Utilities::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::Utilities::Module.
Definition at line 78 of file InputSem.cpp.
References Nektar::Utilities::eDirichlet, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::Utilities::eHOPCondition, Nektar::Utilities::eNeumann, Nektar::Utilities::ePeriodic, Nektar::LibUtilities::eQuadrilateral, Nektar::Utilities::GetElementFactory(), insertEdge(), Nektar::iterator, Nektar::Utilities::Module::m_config, Nektar::Utilities::Module::m_mesh, Nektar::Utilities::InputModule::m_mshFile, Nektar::Utilities::InputModule::OpenStream(), Nektar::Utilities::InputModule::PrintSummary(), Nektar::Utilities::Module::ProcessComposites(), Nektar::Utilities::Module::ProcessEdges(), Nektar::Utilities::Module::ProcessElements(), Nektar::Utilities::Module::ProcessFaces(), Nektar::Utilities::Module::ProcessVertices(), and sectionMap.
|
static |
ModuleKey for class.
Definition at line 60 of file InputSem.h.
|
private |
Maps Semtex sections to positions inside the input file.
Definition at line 66 of file InputSem.h.
Referenced by Process().