GEOS
CompositionalMultiphaseStatistics.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_FLUIDFLOW_COMPOSITIONALMULTIPHASESTATISTICS_HPP_
21 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONALMULTIPHASESTATISTICS_HPP_
22 
24 
25 namespace geos
26 {
27 
28 class CompositionalMultiphaseBase;
29 
35 class CompositionalMultiphaseStatistics : public FieldStatisticsBase< CompositionalMultiphaseBase >
36 {
37 public:
38 
44  CompositionalMultiphaseStatistics( const string & name,
45  Group * const parent );
46 
48  static string catalogName() { return "CompositionalMultiphaseStatistics"; }
49 
51  static string regionStatisticsName() { return "regionStatistics"; }
52 
53 
61  virtual bool execute( real64 const time_n,
62  real64 const dt,
63  integer const cycleNumber,
64  integer const eventCounter,
65  real64 const eventProgress,
66  DomainPartition & domain ) override;
67 
71  {
78 
83 
90 
97 
106  };
107 private:
108 
110 
114  struct viewKeyStruct
115  {
117  constexpr static char const * computeCFLNumbersString() { return "computeCFLNumbers"; }
119  constexpr static char const * computeRegionStatisticsString() { return "computeRegionStatistics"; }
121  constexpr static char const * regionStatisticsString() { return "regionStatistics"; }
123  constexpr static char const * relpermThresholdString() { return "relpermThreshold"; }
124  };
125 
126 
127 
134  void computeRegionStatistics( real64 const time,
135  MeshLevel & mesh,
136  string_array const & regionNames ) const;
137 
144  void computeCFLNumbers( real64 const time,
145  real64 const dt,
146  DomainPartition & domain ) const;
147 
148  void postInputInitialization() override;
149 
150  void registerDataOnMesh( Group & meshBodies ) override;
151 
153  integer m_computeCFLNumbers;
154 
156  integer m_computeRegionStatistics;
157 
159  real64 m_relpermThreshold;
160 
161 };
162 
163 
164 } /* namespace geos */
165 
166 #endif /* SRC_CORECOMPONENTS_PHYSICSSOLVERS_FLUIDFLOW_COMPOSITIONALMULTIPHASESTATISTICS_HPP_ */
CompositionalMultiphaseStatistics(const string &name, Group *const parent)
Constructor for the statistics class.
static string regionStatisticsName()
Accessor for the region statistics catalog name.
static string catalogName()
Accessor for the catalog name.
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Group()=delete
Deleted default constructor.
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.
stdVector< string > string_array
A 1-dimensional array of geos::string types.
Definition: DataTypes.hpp:361
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
Definition: DataTypes.hpp:191
double real64
64-bit floating point type.
Definition: DataTypes.hpp:98
int integer
Signed integer type.
Definition: DataTypes.hpp:81
Array< T, 1 > array1d
Alias for 1D array.
Definition: DataTypes.hpp:175
array1d< real64 > phaseMass
region phase mass (trapped and non-trapped, immobile and mobile)