Nektar++
|
#include <InputNek.h>
Public Member Functions | |
InputNek (NekMeshUtils::MeshSharedPtr p_m) | |
virtual | ~InputNek () |
virtual void | Process () |
Processes Nektar file format. 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 | LoadHOSurfaces () |
int | GetNnodes (LibUtilities::ShapeType elType) |
Private Attributes | |
std::map< std::string, std::pair< NekCurve, std::string > > | curveTags |
std::map< std::string, NekMeshUtils::HOSurfSet > | hoData |
std::map< int, int > | hoMap |
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 class for Nektar session files.
Definition at line 60 of file InputNek.h.
Nektar::Utilities::InputNek::InputNek | ( | NekMeshUtils::MeshSharedPtr | p_m | ) |
Definition at line 60 of file InputNek.cpp.
|
virtual |
Definition at line 64 of file InputNek.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 68 of file InputNek.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
private |
This routine aids the reading of Nektar files only; it returns the number of nodes for a given entity typw.
Definition at line 1076 of file InputNek.cpp.
References Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::ePoint, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, and Nektar::LibUtilities::eTriangle.
Referenced by Process().
|
private |
Load high order surface information from hsf file.
Definition at line 911 of file InputNek.cpp.
References curveTags, Nektar::Utilities::eFile, Nektar::LibUtilities::eNodalTriElec, hoData, hoMap, Nektar::iterator, Nektar::NekMeshUtils::Module::m_mesh, class_topology::Node, and Nektar::LibUtilities::PointsManager().
Referenced by Process().
|
virtual |
Processes Nektar file format.
Nektar sessions are defined by rea files, and contain sections defining a DNS simulation in a specific order. The converter only reads mesh information, curve information if it exists and boundary information.
pFilename | Filename of Nektar session file to read. |
Implements Nektar::NekMeshUtils::Module.
Definition at line 77 of file InputNek.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), curveTags, Nektar::SpatialDomains::eDirichlet, Nektar::Utilities::eFile, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eHexahedron, Nektar::NekMeshUtils::eHOPCondition, Nektar::SpatialDomains::eNeumann, Nektar::LibUtilities::eNodalTriElec, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::Utilities::eRecon, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, Nektar::NekMeshUtils::GetElementFactory(), GetNnodes(), Nektar::NekMeshUtils::Element::GetVertex(), hoData, hoMap, Nektar::iterator, LoadHOSurfaces(), Nektar::NekMeshUtils::Module::m_mesh, Nektar::NekMeshUtils::InputModule::m_mshFile, Nektar::NekMeshUtils::Tetrahedron::m_orientationMap, class_topology::Node, Nektar::NekMeshUtils::InputModule::OpenStream(), CellMLToNektar.cellml_metadata::p, Nektar::NekMeshUtils::Module::ProcessComposites(), Nektar::NekMeshUtils::Module::ProcessEdges(), Nektar::NekMeshUtils::Module::ProcessElements(), and Nektar::NekMeshUtils::Module::ProcessFaces().
|
static |
|
private |
Maps a curve tag to a filename containing surface information.
Definition at line 82 of file InputNek.h.
Referenced by LoadHOSurfaces(), and Process().
|
private |
Maps a curve tag to the high-order surface data for that tag.
Definition at line 87 of file InputNek.h.
Referenced by LoadHOSurfaces(), and Process().
|
private |
Maps ordering of hsf standard element to Nektar++ ordering.
Definition at line 92 of file InputNek.h.
Referenced by LoadHOSurfaces(), and Process().