GEOSX
coreComponents
meshUtilities
MeshGeneratorBase.hpp
Go to the documentation of this file.
1
/*
2
* ------------------------------------------------------------------------------------------------------------
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*
5
* Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6
* Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7
* Copyright (c) 2018-2020 Total, S.A
8
* Copyright (c) 2019- GEOSX Contributors
9
* All rights reserved
10
*
11
* See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12
* ------------------------------------------------------------------------------------------------------------
13
*/
14
19
#ifndef GEOSX_MESHUTILITIES_MESHGENERATORBASE_HPP
20
#define GEOSX_MESHUTILITIES_MESHGENERATORBASE_HPP
21
22
#include "
dataRepository/Group.hpp
"
23
#include "codingUtilities/Utilities.hpp"
24
#include "
common/DataTypes.hpp
"
25
26
namespace
geosx
27
{
28
29
namespace
dataRepository
30
{}
31
32
class
NodeManager;
33
class
DomainPartition;
34
40
class
MeshGeneratorBase
:
public
dataRepository::Group
41
{
42
public
:
43
49
explicit
MeshGeneratorBase
(
std::string
const
& name,
50
Group
*
const
parent );
51
55
virtual
~
MeshGeneratorBase
();
56
57
62
static
string
CatalogName
() {
return
"MeshGeneratorBase"
; }
63
68
virtual
void
GenerateElementRegions(
DomainPartition
& domain ) = 0;
69
74
virtual
void
GenerateMesh(
DomainPartition
*
const
domain ) = 0;
75
76
// virtual void GenerateNodesets( xmlWrapper::xmlNode const & targetNode,
77
// NodeManager * nodeManager ) = 0;
78
88
virtual
void
GetElemToNodesRelationInBox (
const
std::string
& elementType,
89
const
int
index[],
90
const
int
& iEle,
91
int
nodeIDInBox[],
92
const
int
size ) = 0;
98
virtual
void
RemapMesh (
dataRepository::Group
*
const
domain ) = 0;
99
101
int
m_delayMeshDeformation = 0;
102
104
using
CatalogInterface
=
dataRepository::CatalogInterface< MeshGeneratorBase, std::string const &, Group * const >
;
105
111
static
CatalogInterface::CatalogType
& GetCatalog();
112
113
};
114
}
115
116
#endif
/* GEOSX_MESHUTILITIES_MESHGENERATORBASE_HPP */
geosx
Definition:
DataLayouts.hpp:25
geosx::MeshGeneratorBase
The MeshGeneratorBase class provides an abstract base class implementation for different mesh types...
Definition:
MeshGeneratorBase.hpp:40
Group.hpp
geosx::dataRepository::CatalogInterface
This class provides the base class/interface for the catalog value objects.
Definition:
ObjectCatalog.hpp:64
geosx::MeshGeneratorBase::CatalogName
static string CatalogName()
Return the name of the MeshGenerator in object catalog.
Definition:
MeshGeneratorBase.hpp:62
DataTypes.hpp
geosx::dataRepository::Group
Definition:
Group.hpp:70
geosx::string
std::string string
String type.
Definition:
DataTypes.hpp:131
geosx::DomainPartition
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Definition:
DomainPartition.hpp:51
geosx::dataRepository::CatalogInterface::CatalogType
std::unordered_map< std::string, std::unique_ptr< CatalogInterface< BASETYPE, ARGS... > > > CatalogType
This is the type that will be used for the catalog. The catalog is actually instantiated in the BASET...
Definition:
ObjectCatalog.hpp:71
Generated by
1.8.13