GEOS
SinglePhaseStatistics.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_FLUIDFLOW_SINGLEPHASESTATISTICS_HPP_
21 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_FLUIDFLOW_SINGLEPHASESTATISTICS_HPP_
22 
24 
25 namespace geos
26 {
27 
28 class SinglePhaseBase;
29 
35 class SinglePhaseStatistics : public FieldStatisticsBase< SinglePhaseBase >
36 {
37 public:
38 
44  SinglePhaseStatistics( const string & name,
45  Group * const parent );
46 
48  static string catalogName() { return "SinglePhaseStatistics"; }
49 
57  virtual bool execute( real64 const time_n,
58  real64 const dt,
59  integer const cycleNumber,
60  integer const eventCounter,
61  real64 const eventProgress,
62  DomainPartition & domain ) override;
63 
71  {
73  constexpr static char const * regionStatisticsString() { return "regionStatistics"; }
74  };
75 
77  {
84 
89 
90  // fluid mass
91  real64 totalMass;
92 
99 
104  };
105 
106 private:
107 
109 
115  void computeRegionStatistics( real64 const time,
116  MeshLevel & mesh,
117  arrayView1d< string const > const & regionNames ) const;
118 
119 
120  void registerDataOnMesh( Group & meshBodies ) override;
121 
122 };
123 
124 
125 } /* namespace geos */
126 
127 #endif /* SRC_CORECOMPONENTS_PHYSICSSOLVERS_FLUIDFLOW_SINGLEPHASESTATISTICS_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Class facilitating the representation of a multi-level discretization of a MeshBody.
Definition: MeshLevel.hpp:42
SinglePhaseStatistics(const string &name, Group *const parent)
Constructor for the statistics 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.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Definition: DataTypes.hpp:180
double real64
64-bit floating point type.
Definition: DataTypes.hpp:99
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:82
real64 totalUncompactedPoreVolume
total region uncompacted pore volume
real64 maxDeltaPressure
maximum region delta pressure
real64 minDeltaPressure
minimum region delta pressure
real64 averageTemperature
average region temperature
constexpr static char const * regionStatisticsString()
String for the region statistics.