20 #ifndef GEOS_MESH_GENERATORS_VTKMESHGENERATOR_HPP
21 #define GEOS_MESH_GENERATORS_VTKMESHGENERATOR_HPP
26 #include "mesh/mpiCommunications/SpatialPartition.hpp"
47 Group *
const parent );
95 string const & blockName,
96 string const & meshFieldName,
110 constexpr
static char const * regionAttributeString() {
return "regionAttribute"; }
111 constexpr
static char const * structuredIndexAttributeString() {
return "structuredIndexAttribute"; }
112 constexpr
static char const * mainBlockNameString() {
return "mainBlockName"; }
113 constexpr
static char const * faceBlockNamesString() {
return "faceBlocks"; }
114 constexpr
static char const * nodesetNamesString() {
return "nodesetNames"; }
115 constexpr
static char const * partitionRefinementString() {
return "partitionRefinement"; }
116 constexpr
static char const * partitionMethodString() {
return "partitionMethod"; }
117 constexpr
static char const * useGlobalIdsString() {
return "useGlobalIds"; }
118 constexpr
static char const * dataSourceString() {
return "dataSourceName"; }
119 constexpr
static char const * meshPathString() {
return "meshPath"; }
122 struct groupKeyStruct
124 constexpr
static char const * regionString() {
return "VTKRegion"; }
128 void importVolumicFieldOnArray(
string const & cellBlockName,
129 string const & meshFieldName,
130 bool isMaterialField,
131 dataRepository::WrapperBase & wrapper )
const;
133 void importSurfacicFieldOnArray(
string const & faceBlockName,
134 string const & meshFieldName,
135 dataRepository::WrapperBase & wrapper )
const;
142 vtkSmartPointer< vtkDataSet > m_vtkMesh;
145 string m_regionAttributeName;
148 string m_structuredIndexAttributeName;
151 string m_mainBlockName;
157 std::map< string, vtkSmartPointer< vtkDataSet > > m_faceBlockMeshes;
163 integer m_partitionRefinement = 0;
169 vtk::PartitionMethod m_partitionMethod = vtk::PartitionMethod::parmetis;
172 vtk::CellMapType m_cellMap;
175 string m_dataSourceName;
181 VTKHierarchicalDataSource * m_dataSource;
The CellBlockManager class provides an interface to ObjectManagerBase in order to manage CellBlock da...
Base class for external mesh generators (importers).
Block
Describe which kind of block must be considered.
The VTKMeshGenerator class provides a class implementation of VTK generated meshes.
VTKMeshGenerator(const string &name, Group *const parent)
Main constructor for MeshGenerator base class.
void fillCellBlockManager(CellBlockManager &cellBlockManager, SpatialPartition &partition) override
Generate the mesh using the VTK library.
void postInputInitialization() override
void importFieldOnArray(Block block, string const &blockName, string const &meshFieldName, bool isMaterialField, dataRepository::WrapperBase &wrapper) const override
import field from the mesh on the array accessible via the given wrapper.
static string catalogName()
Return the name of the VTKMeshGenerator in object Catalog.
void freeResources() override
Free internal resources associated with mesh/data import.
Base class for all wrappers containing common operations.
stdVector< string > string_array
A 1-dimensional array of geos::string types.
int integer
Signed integer type.
Structure to hold scoped key names.