GEOS
PoromechanicsInitialization.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 Total, S.A
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 SRC_CORECOMPONENTS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSINITIALIZATION_HPP_
21 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSINITIALIZATION_HPP_
22 
25 
26 namespace geos
27 {
28 class SolidMechanicsStatistics;
29 
41 template< typename POROMECHANICS_SOLVER >
43 {
44 public:
45 
51  PoromechanicsInitialization( const string & name,
52  Group * const parent );
53 
56 
58  static string catalogName()
59  {
60  return POROMECHANICS_SOLVER::catalogName() + "Initialization";
61  }
62 
70  virtual bool execute( real64 const time_n,
71  real64 const dt,
72  integer const cycleNumber,
73  integer const eventCounter,
74  real64 const eventProgress,
75  DomainPartition & domain ) override;
76 
79 private:
80 
84  struct viewKeyStruct
85  {
87  constexpr static char const * poromechanicsSolverNameString() { return "poromechanicsSolverName"; }
89  constexpr static char const * solidMechanicsStatisticsNameString() { return "solidMechanicsStatisticsName"; }
90  };
91 
92  void postInputInitialization() override;
93 
94 // void registerDataOnMesh( Group & meshBodies ) override;
95 
97  string m_poromechanicsSolverName;
98 
100  string m_solidMechanicsStatisticsName;
101 
103  POROMECHANICS_SOLVER * m_poromechanicsSolver;
104 
106  SolidMechanicsStatistics * m_solidMechanicsStatistics;
107 
108  SolidMechanicsStateReset m_solidMechanicsStateResetTask;
109 
110 };
111 
112 
113 } /* namespace geos */
114 
115 #endif /* SRC_CORECOMPONENTS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSINITIALIZATION_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
PoromechanicsInitialization(const string &name, Group *const parent)
Constructor for the initialization class.
~PoromechanicsInitialization() override
Destructor for the class.
static string catalogName()
Accessor for the catalog name.
virtual bool execute(real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Main extension point of executable targets.
double real64
64-bit floating point type.
Definition: DataTypes.hpp:99
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:82