GEOSX
SurfaceElementSubRegion.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_MESH_SURFACEELEMENTSUBREGION_HPP_
20 #define GEOSX_MESH_SURFACEELEMENTSUBREGION_HPP_
21 
22 #include "ElementSubRegionBase.hpp"
23 #include "InterObjectRelation.hpp"
24 #include "ToElementRelation.hpp"
25 #include "EdgeManager.hpp"
26 #include "CellElementSubRegion.hpp"
27 
28 namespace geosx
29 {
30 
38 {
39 public:
40 
43 
46 
50 
56  static const string CatalogName()
57  { return "SurfaceElementSubRegion"; }
58 
63  virtual const string getCatalogName() const override
64  {
66  }
67 
69 
73 
80  SurfaceElementSubRegion( string const & name,
81  dataRepository::Group * const parent );
82 
83 
85  virtual ~SurfaceElementSubRegion() override;
86 
88 
93 
99  NodeMapType const & nodeList() const
100  {
101  return m_toNodesRelation;
102  }
103 
108  {
109  return m_toNodesRelation;
110  }
111 
118  localIndex & nodeList( localIndex const k, localIndex a ) { return m_toNodesRelation( k, a ); }
119 
123  localIndex const & nodeList( localIndex const k, localIndex a ) const { return m_toNodesRelation( k, a ); }
124 
129  EdgeMapType const & edgeList() const
130  {
131  return m_toEdgesRelation;
132  }
133 
138  {
139  return m_toEdgesRelation;
140  }
141 
147  {
149  }
150 
155  {
157  }
158 
160 
161 
166 
173 
178 
184 
189 
191 
197  {
199  static constexpr auto surfaceElementsToCellRegionsString = "fractureElementsToCellRegions";
200 
202  static constexpr auto surfaceElementsToCellSubRegionsString = "fractureElementsToCellSubRegions";
203 
205  static constexpr auto surfaceElementsToCellIndexString = "fractureElementsToCellIndices";
206 
207 
209  static constexpr auto elementApertureString = "elementAperture";
210 
212  static constexpr auto elementAreaString = "elementArea";
213 
215  constexpr static auto creationMassString = "creationMass";
216 
217  };
218 
221 
222 protected:
223 
226 
229 
232 
235 
236 };
237 
238 } /* namespace geosx */
239 
240 #endif /* SRC_CORECOMPONENTS_MESH_SURFACEELEMENTSUBREGION_HPP_ */
static constexpr auto elementAreaString
Embedded surface element surface are string.
FixedToManyElementRelation const & getToCellRelation() const
Get the surface element to cells map.
localIndex const & nodeList(localIndex const k, localIndex a) const
Get the local index of the a-th node of the k-th element.
FixedToManyElementRelation & getToCellRelation()
Get the surface element to cells map.
EdgeMapType const & edgeList() const
Get the surface element to edges map.
static constexpr auto creationMassString
Mass creation string.
NodeMapType m_toNodesRelation
list of nodes
SurfaceElementSubRegion(string const &name, dataRepository::Group *const parent)
Constructor.
NodeMapType const & nodeList() const
Get the face element to nodes map.
static constexpr auto surfaceElementsToCellSubRegionsString
Face element to cell subregions map string.
array1d< real64 > m_elementArea
Member level field for the element center.
This class serves to provide a "view" of a multidimensional array.
Definition: ArrayView.hpp:67
virtual const string getCatalogName() const override
Get catalog name.
A struct to serve as a container for variable strings and keys.
arrayView1d< real64 const > getElementAperture() const
Get face element aperture.
FixedToManyElementRelation m_surfaceElementsToCells
Map between the face elements and the cells.
Struct containing the keys to all embedded surface element views.
static const string CatalogName()
Get catalog name.
localIndex & nodeList(localIndex const k, localIndex a)
Get the local index of the a-th node of the k-th element.
NodeMapType & nodeList()
Get the face element to nodes map.
virtual ~SurfaceElementSubRegion() override
Destructor.
EdgeMapType m_toEdgesRelation
list of edges
arrayView1d< real64 > getElementArea()
Get face element surface area.
arrayView1d< real64 const > getElementArea() const
Get face element surface area.
std::ptrdiff_t localIndex
Local index type (for indexing objects within an MPI partition).
Definition: DataTypes.hpp:125
array1d< real64 > m_elementAperture
Member level field for the element center.
static constexpr auto surfaceElementsToCellRegionsString
Face element to cell regions map string.
static constexpr auto elementApertureString
Embedded surface element aperture string.
arrayView1d< real64 > getElementAperture()
Get face element aperture.
EdgeMapType & edgeList()
Get the surface element to edges map.
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...
Definition: Array.hpp:55
static constexpr auto surfaceElementsToCellIndexString
Face element to cell indices map string.