GEOSX
MeshManager.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_MESH_MESHMANAGER_HPP_
20 #define GEOS_MESH_MESHMANAGER_HPP_
21 
22 #include "dataRepository/Group.hpp"
23 #include "mesh/DomainPartition.hpp"
24 
25 namespace geos
26 {
27 class SolverBase;
28 
34 {
35 public:
36 
42  MeshManager( string const & name,
43  Group * const parent );
44 
45  virtual ~MeshManager() override;
46 
47 
54  virtual Group * createChild( string const & childKey, string const & childName ) override;
55 
57  virtual void expandObjectCatalogs() override;
58 
63  void generateMeshes( DomainPartition & domain );
64 
70 
75  void importFields( DomainPartition & domain );
76 
77 private:
78 
82  MeshManager() = delete;
83 
84 };
85 
86 } /* namespace geos */
87 
88 #endif /* GEOS_MESH_MESHMANAGER_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
This class manages the mesh objects in GEOSX (reservoir mesh, well mesh)
Definition: MeshManager.hpp:34
virtual Group * createChild(string const &childKey, string const &childName) override
Create a new sub-mesh.
MeshManager(string const &name, Group *const parent)
Constructor for the MeshManager object.
void generateMeshLevels(DomainPartition &domain)
Generate the different mesh levels in a MeshBody of the domain.
void generateMeshes(DomainPartition &domain)
Generate the meshes of the physical DomainPartition.
void importFields(DomainPartition &domain)
Import data from external sources (e.g. dataset that comes with a mesh).
virtual void expandObjectCatalogs() override
This function is used to expand any catalogs in the data structure.