GEOS
SolidMechanicsInitialization.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 SRC_CORECOMPONENTS_PHYSICSSOLVERS_SOLIDMECHANICS_SOLIDMECHANICSINITIALIZATION_HPP_
21 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_SOLIDMECHANICS_SOLIDMECHANICSINITIALIZATION_HPP_
22 
25 
26 namespace geos
27 {
28 class SolidMechanicsStatistics;
29 
35 template< typename SOLID_SOLVER >
37 {
38 public:
39 
40  SolidMechanicsInitialization( const string & name,
41  Group * const parent );
42 
43  ~SolidMechanicsInitialization() override;
44 
45  static string catalogName()
46  {
47  return SOLID_SOLVER::catalogName() + "Initialization";
48  }
49 
50  virtual bool execute( real64 const time_n,
51  real64 const dt,
52  integer const cycleNumber,
53  integer const eventCounter,
54  real64 const eventProgress,
55  DomainPartition & domain ) override;
56 
57 private:
58 
59  struct viewKeyStruct
60  {
61  constexpr static char const * solidSolverNameString() { return "solidSolverName"; }
62  constexpr static char const * solidMechanicsStatisticsNameString() { return "solidMechanicsStatisticsName"; }
63  constexpr static char const * resetDisplacementsString() { return "reset_displacements"; }
64  };
65 
66  void postInputInitialization() override;
67 
68  string m_solidSolverName;
69  string m_solidMechanicsStatisticsName;
70 
71  SOLID_SOLVER * m_solidSolver;
72  SolidMechanicsStatistics * m_solidMechanicsStatistics;
73 
74  SolidMechanicsStateReset m_solidMechanicsStateResetTask;
75 
76  integer m_resetDisplacements;
77 };
78 
79 }
80 
81 #endif /* SRC_CORECOMPONENTS_PHYSICSSOLVERS_SOLIDMECHANICS_SOLIDMECHANICSINITIALIZATION_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
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:98
int integer
Signed integer type.
Definition: DataTypes.hpp:81