GEOSX
FaceElementRegion.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 
20 #ifndef GEOSX_MESH_FACEELEMENTREGION_HPP_
21 #define GEOSX_MESH_FACEELEMENTREGION_HPP_
22 
23 #include "ElementRegionBase.hpp"
24 
25 namespace geosx
26 {
27 
28 class EdgeManager;
29 
39 {
40 public:
41 
45 
52  FaceElementRegion( string const & name, Group * const parent );
53 
57  FaceElementRegion() = delete;
58 
62  virtual ~FaceElementRegion() override;
63 
65 
69 
75  static const string CatalogName()
76  { return "FaceElementRegion"; }
77 
78  virtual const string getCatalogName() const override final
79  { return FaceElementRegion::CatalogName(); }
80 
82 
86 
88  virtual void GenerateMesh( Group * ) override {}
89 
100  localIndex AddToFractureMesh( real64 const time_np1,
101  EdgeManager * const edgeManager,
102  FaceManager const * const faceManager,
103  ArrayOfArraysView< localIndex const > const & originalFaceToEdges,
104  string const & subRegionName,
105  localIndex const faceIndices[2] );
106 
108 
112 
118  real64 getDefaultAperture() const { return m_defaultAperture; }
119 
121 
127  {
129  static constexpr auto fractureSetString = "fractureSet";
130 
132  static constexpr auto defaultApertureString = "defaultAperture";
133  };
134 
135 protected:
136  virtual void InitializePreSubGroups( Group * const ) override;
137 
138 
139 private:
140 
142  real64 m_defaultAperture;
143 };
144 
145 } /* namespace geosx */
146 
147 #endif /* GEOSX_MESH_FACEELEMENTREGION_HPP_ */
virtual const string getCatalogName() const override final
Get the name of the catalog.
FaceElementRegion()=delete
Deleted default constructor.
A struct to serve as a container for variable strings and keys.
virtual void GenerateMesh(Group *) override
Generate mesh.
static constexpr auto fractureSetString
Fracture set string.
double real64
64-bit floating point type.
Definition: DataTypes.hpp:136
virtual void InitializePreSubGroups(Group *const) override
Called by Initialize() prior to initializing sub-Groups.
This class provides a view into an array of arrays like object.
real64 getDefaultAperture() const
Get default aperture value.
This class provides an interface to ObjectManagerBase in order to manage edge data.
Definition: EdgeManager.hpp:42
The ElementRegionBase is the base class to manage the data stored at the element level.
static constexpr auto defaultApertureString
Default aperture string.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
Definition: DataTypes.hpp:125
localIndex AddToFractureMesh(real64 const time_np1, EdgeManager *const edgeManager, FaceManager const *const faceManager, ArrayOfArraysView< localIndex const > const &originalFaceToEdges, string const &subRegionName, localIndex const faceIndices[2])
This function generates and adds entries to the face/fracture mesh.
The FaceManager class provides an interface to ObjectManagerBase in order to manage face data...
Definition: FaceManager.hpp:40
static const string CatalogName()
The key name for the FaceElementRegion in the object catalog.
virtual ~FaceElementRegion() override
Default destructor.
Struct to serve as a container for variable strings and keys.