GEOSX
FiniteVolumeManager.hpp
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 
15 /*
16  * @file FiniteVolumeManager.hpp
17  *
18  */
19 
20 #ifndef GEOSX_FINITEVOLUME_FINITEVOLUMEMANAGER_HPP_
21 #define GEOSX_FINITEVOLUME_FINITEVOLUMEMANAGER_HPP_
22 
23 #include "dataRepository/Group.hpp"
24 
25 namespace geosx
26 {
27 
28 class DomainPartition;
29 class FluxApproximationBase;
30 
37 {
38 public:
39 
43  FiniteVolumeManager() = delete;
44 
50  FiniteVolumeManager( string const & name, Group * const parent );
51 
55  virtual ~FiniteVolumeManager() override;
56 
57  virtual Group * CreateChild( string const & childKey, string const & childName ) override;
58 
59  virtual void ExpandObjectCatalogs() override;
60 
66  FluxApproximationBase const & getFluxApproximation( string const & name ) const;
67 
71  FluxApproximationBase & getFluxApproximation( string const & name );
72 
73 private:
74 
75 };
76 
77 } // namespace geosx
78 
79 
80 #endif //GEOSX_FINITEVOLUME_FINITEVOLUMEMANAGER_HPP_
FluxApproximationBase const & getFluxApproximation(string const &name) const
Return the FluxApproximation associated with the provided name.
virtual Group * CreateChild(string const &childKey, string const &childName) override
Creates a new sub-Group using the ObjectCatalog functionality.
FiniteVolumeManager()=delete
Deleted default constructor.
virtual void ExpandObjectCatalogs() override
Expand any catalogs in the data structure.
virtual ~FiniteVolumeManager() override
Destructor.