Nektar++
|
#include <InputNek.h>
Public Member Functions | |
InputNek (MeshSharedPtr p_m) | |
virtual | ~InputNek () |
virtual void | Process () |
Processes Nektar file format. 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 |
virtual std::string | GetModuleName ()=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 (std::string key, std::string value) |
void | PrintConfig () |
void | SetDefaults () |
MeshSharedPtr | GetMesh () |
virtual void | ProcessVertices () |
Extract element vertices. More... | |
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... | |
virtual void | ClearElementLinks () |
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 | LoadHOSurfaces () |
int | GetNnodes (LibUtilities::ShapeType elType) |
Private Attributes | |
std::map< std::string, std::pair< NekCurve, std::string > > | curveTags |
std::map< std::string, HOSurfSet > | hoData |
std::map< int, int > | hoMap |
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 () | |
void | ReorderPrisms (PerMap &perFaces) |
Reorder node IDs so that prisms and tetrahedra are aligned correctly. More... | |
void | PrismLines (int prism, PerMap &perFaces, std::set< int > &prismsDone, std::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... | |
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 | ( | 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::Utilities::Module::m_mesh, 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::Utilities::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::Utilities::Module::m_mesh, Nektar::Utilities::InputModule::m_mshFile, Nektar::NekMeshUtils::Tetrahedron::m_orientationMap, Nektar::Utilities::InputModule::OpenStream(), Nektar::Utilities::Module::ProcessComposites(), Nektar::Utilities::Module::ProcessEdges(), Nektar::Utilities::Module::ProcessElements(), Nektar::Utilities::Module::ProcessFaces(), and Nektar::NekMeshUtils::surf.
|
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().