GEOSX
TwoPointFluxApproximation.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 TotalEnergies
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 GEOS_FINITEVOLUME_TWOPOINTFLUXAPPROXIMATION_HPP_
20 #define GEOS_FINITEVOLUME_TWOPOINTFLUXAPPROXIMATION_HPP_
21 
23 
24 namespace geos
25 {
26 
33 {
34 public:
35 
40  static string catalogName() { return "TwoPointFluxApproximation"; }
41 
42  TwoPointFluxApproximation() = delete;
43 
49  TwoPointFluxApproximation( string const & name, dataRepository::Group * const parent );
50 
55  {
57  static constexpr char const * edfmStencilString() { return "edfmStencil"; }
59  static constexpr char const * faceToCellStencilString() { return "faceElementToCellStencil"; }
61  static constexpr char const * meanPermCoefficientString() { return "meanPermCoefficient"; }
63  static constexpr char const * usePEDFMString() { return "usePEDFM"; }
64  };
65 
66 private:
67  virtual void registerCellStencil( Group & stencilGroup ) const override;
68 
69  virtual void computeFractureStencil( MeshLevel & mesh ) const override;
70 
71  virtual void computeCellStencil( MeshLevel & mesh ) const override;
72 
73  virtual void registerFractureStencil( Group & stencilGroup ) const override;
74 
75  virtual void addToFractureStencil( MeshLevel & mesh,
76  string const & faceElementRegionName ) const override;
77 
78  virtual void registerBoundaryStencil( Group & stencilGroup,
79  string const & setName ) const override;
80 
81  virtual void computeBoundaryStencil( MeshLevel & mesh,
82  string const & setName,
83  SortedArrayView< localIndex const > const & faceSet ) const override;
84 
85  virtual void registerAquiferStencil( Group & stencilGroup,
86  string const & setName ) const override;
87 
88  virtual void computeAquiferStencil( DomainPartition & domain,
89  MeshLevel & mesh ) const override;
90 
91  virtual void addEmbeddedFracturesToStencils( MeshLevel & mesh,
92  string const & embeddedSurfaceRegionName ) const override;
93 
99  void addFractureFractureConnectionsEDFM( MeshLevel & mesh,
100  string const & embeddedSurfaceRegionName ) const;
101 
107  void addFractureMatrixConnectionsEDFM( MeshLevel & mesh,
108  string const & embeddedSurfaceRegionName ) const;
109 
115  void addFractureFractureConnectionsDFM( MeshLevel & mesh,
116  string const & faceElementRegionName ) const;
117 
123  void addFractureMatrixConnectionsDFM( MeshLevel & mesh,
124  string const & faceElementRegionName ) const;
125 
134  void cleanMatrixMatrixConnectionsDFM( MeshLevel & mesh,
135  string const & faceElementRegionName ) const;
136 
145  void initNewFractureFieldsDFM( MeshLevel & mesh,
146  string const & faceElementRegionName ) const;
147 
149  real64 m_meanPermCoefficient;
151  integer m_useProjectionEmbeddedFractureMethod;
152 };
153 
154 }
155 
156 
157 #endif //GEOS_FINITEVOLUME_TWOPOINTFLUXAPPROXIMATION_HPP_
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Class facilitating the representation of a multi-level discretization of a MeshBody.
Definition: MeshLevel.hpp:41
TwoPointFluxApproximation(string const &name, dataRepository::Group *const parent)
Constructor.
static string catalogName()
Static Factory Catalog Functions.
double real64
64-bit floating point type.
Definition: DataTypes.hpp:139
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:122
LvArray::SortedArrayView< T, localIndex, LvArray::ChaiBuffer > SortedArrayView
A sorted array view of local indices.
Definition: DataTypes.hpp:311