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 |
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 | LoadHOSurfaces () |
int | GetNnodes (LibUtilities::ShapeType elType) |
Private Attributes | |
std::map< string, pair< NekCurve, string > > | curveTags |
std::map< 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 () | |
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 class for Nektar session files.
Definition at line 83 of file InputNek.h.
Nektar::Utilities::InputNek::InputNek | ( | MeshSharedPtr | p_m | ) |
Definition at line 57 of file InputNek.cpp.
|
virtual |
Definition at line 62 of file InputNek.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 91 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 1059 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 897 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(), curveTags, Nektar::Utilities::eDirichlet, Nektar::Utilities::eFile, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eHexahedron, Nektar::Utilities::eHOPCondition, Nektar::Utilities::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::Utilities::GetElementFactory(), GetNnodes(), Nektar::Utilities::Element::GetVertex(), hoData, hoMap, Nektar::iterator, LoadHOSurfaces(), Nektar::Utilities::Module::m_mesh, Nektar::Utilities::InputModule::m_mshFile, Nektar::Utilities::Tetrahedron::m_orientationMap, Nektar::Utilities::InputModule::OpenStream(), Nektar::Utilities::Module::ProcessComposites(), Nektar::Utilities::Module::ProcessEdges(), Nektar::Utilities::Module::ProcessElements(), and Nektar::Utilities::Module::ProcessFaces().
|
static |
ModuleKey for class.
Definition at line 95 of file InputNek.h.
|
private |
Maps a curve tag to a filename containing surface information.
Definition at line 104 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 109 of file InputNek.h.
Referenced by LoadHOSurfaces(), and Process().
|
private |
Maps ordering of hsf standard element to Nektar++ ordering.
Definition at line 114 of file InputNek.h.
Referenced by LoadHOSurfaces(), and Process().