GEOS
FieldApplicator.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_FIELDAPPLICATOR_HPP_
21 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_FIELDAPPLICATOR_HPP_
22 
29 
30 namespace geos
31 {
32 
43 class FieldApplicator : public TaskBase
44 {
45 public:
46 
52  FieldApplicator( const string & name,
53  Group * const parent );
54 
56  ~FieldApplicator() override;
57 
59  static string catalogName()
60  {
61  return "FieldApplicator";
62  }
63 
71  virtual bool execute( real64 const time_n,
72  real64 const dt,
73  integer const cycleNumber,
74  integer const eventCounter,
75  real64 const eventProgress,
76  DomainPartition & domain ) override;
77 
80 private:
81 
85  struct viewKeyStruct
86  {
87  constexpr static char const * fieldSpecificationNamesString() { return "fieldSpecificationNames"; }
88  constexpr static char const * solverNameString() { return "solverName"; }
89  constexpr static char const * targetRegionsString() { return "targetRegions"; }
90  };
91 
92  void postInputInitialization() override;
93 
99  string getTargetFieldName( string const & fieldName ) const;
100 
101 
119  void initializeSubRegionFluidState( DomainPartition & domain, ElementSubRegionBase & subRegion );
120 
122  stdVector< string > m_fieldSpecificationNames;
123 
125  string m_solverName;
126 
128  stdVector< string > m_targetRegions;
129 };
130 
131 
132 } /* namespace geos */
133 
134 #endif /* SRC_CORECOMPONENTS_PHYSICSSOLVERS_FIELDAPPLICATOR_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Task to apply field specifications to elements during runtime.
static string catalogName()
Accessor for the catalog name.
FieldApplicator(const string &name, Group *const parent)
Constructor for the FieldApplicator class.
~FieldApplicator() override
Destructor for the class.
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