GEOS
HybridMimeticDiscretization.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
20 #ifndef GEOS_FINITEVOLUME_HYBRIDMIMETICDISCRETIZATION_HPP_
21 #define GEOS_FINITEVOLUME_HYBRIDMIMETICDISCRETIZATION_HPP_
22 
23 #include "dataRepository/Group.hpp"
25 
26 namespace geos
27 {
28 
35 {
36 public:
37 
40 
46 
51  static string catalogName() { return "HybridMimeticDiscretization"; }
52 
53  HybridMimeticDiscretization() = delete;
54 
60  HybridMimeticDiscretization( string const & name, dataRepository::Group * const parent );
61 
66  {
68  static constexpr char const * coeffNameString() { return "coefficientName"; }
69 
71  static constexpr char const * transMultiplierString() { return "TransMultiplier"; }
72 
74  static constexpr char const * innerProductTypeString() { return "innerProductType"; }
75 
77  static constexpr char const * innerProductString() { return "innerProduct"; }
78  };
79 
80 protected:
81 
83 
84 private:
85 
87  string m_innerProductType;
88 
94  std::unique_ptr< mimeticInnerProduct::MimeticInnerProductBase > factory( string const & mimeticInnerProductType ) const;
95 
96 };
97 
98 }
99 
100 
101 #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...