GEOSX
HybridMimeticDiscretization.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_HYBRIDMIMETICDISCRETIZATION_HPP_
20 #define GEOS_FINITEVOLUME_HYBRIDMIMETICDISCRETIZATION_HPP_
21 
22 #include "dataRepository/Group.hpp"
24 
25 namespace geos
26 {
27 
34 {
35 public:
36 
39 
45 
50  static string catalogName() { return "HybridMimeticDiscretization"; }
51 
52  HybridMimeticDiscretization() = delete;
53 
59  HybridMimeticDiscretization( string const & name, dataRepository::Group * const parent );
60 
65  {
67  static constexpr char const * coeffNameString() { return "coefficientName"; }
68 
70  static constexpr char const * transMultiplierString() { return "TransMultiplier"; }
71 
73  static constexpr char const * innerProductTypeString() { return "innerProductType"; }
74 
76  static constexpr char const * innerProductString() { return "innerProduct"; }
77  };
78 
79 protected:
80 
82 
83 private:
84 
86  string m_innerProductType;
87 
93  std::unique_ptr< mimeticInnerProduct::MimeticInnerProductBase > factory( string const & mimeticInnerProductType ) const;
94 
95 };
96 
97 }
98 
99 
100 #endif //GEOS_FINITEVOLUME_HYBRIDMIMETICDISCRETIZATION_HPP_
HybridMimeticDiscretization(string const &name, dataRepository::Group *const parent)
Constructor.
static string catalogName()
Static Factory Catalog Functions.
virtual void initializePostInitialConditionsPreSubGroups() override
Called by InitializePostInitialConditions() prior to initializing sub-Groups.
static CatalogInterface::CatalogType & getCatalog()
Return the data type in the data repository.
This class provides the base class/interface for the catalog value objects.
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...