20 #ifndef OPM_INCOMPTPFA_HEADER_INCLUDED
21 #define OPM_INCOMPTPFA_HEADER_INCLUDED
26 struct UnstructuredGrid;
33 class IncompPropertiesInterface;
34 class RockCompressibility;
35 class LinearSolverInterface;
37 class SimulationDataContainer;
68 const double* gravity,
70 const std::vector<double>& src,
96 const double residual_tol,
97 const double change_tol,
99 const double* gravity,
101 const std::vector<double>& src,
114 void solve(
const double dt,
115 SimulationDataContainer& state,
124 void solveIncomp(
const double dt,
125 SimulationDataContainer& state,
128 void solveRockComp(
const double dt,
129 SimulationDataContainer& state,
133 void computeStaticData();
134 virtual void computePerSolveDynamicData(
const double dt,
135 const SimulationDataContainer& state,
137 void computePerIterationDynamicData(
const double dt,
138 const SimulationDataContainer& state,
140 void assemble(
const double dt,
141 const SimulationDataContainer& state,
143 void solveIncrement();
144 double residualNorm()
const;
145 double incrementNorm()
const;
146 void computeResults(SimulationDataContainer& state,
151 const UnstructuredGrid& grid_;
155 const double residual_tol_;
156 const double change_tol_;
158 const double* gravity_;
160 const std::vector<double>& src_;
162 std::vector<double> htrans_;
163 std::vector<double> gpress_;
164 std::vector<int> allcells_;
167 std::vector<double> trans_ ;
168 std::vector<double> wdp_;
169 std::vector<double> totmob_;
170 std::vector<double> omega_;
171 std::vector<double> gpress_omegaweighted_;
172 std::vector<double> initial_porevol_;
176 std::vector<double> porevol_;
177 std::vector<double> rock_comp_;
178 std::vector<double> pressures_;
186 #endif // OPM_INCOMPTPFA_HEADER_INCLUDED
Encapsulating a tpfa pressure solver for the incompressible-fluid case.
Definition: IncompTpfa.hpp:47
Abstract interface for linear solvers.
Definition: LinearSolverInterface.hpp:32
const std::vector< double > & getHalfTrans() const
Expose read-only reference to internal half-transmissibility.
Definition: IncompTpfa.hpp:120
Interfaces and data structures to assemble a system of simultaneous linear equations discretising a f...
Data structure aggregating static information about all wells in a scenario.
Definition: wells.h:50
Definition: RockCompressibility.hpp:32
Main data structure presenting a view of an assembled system of simultaneous linear equations which m...
Definition: ifs_tpfa.h:48
IncompTpfa(const UnstructuredGrid &grid, const IncompPropertiesInterface &props, LinearSolverInterface &linsolver, const double *gravity, const Wells *wells, const std::vector< double > &src, const FlowBoundaryConditions *bcs)
Construct solver for incompressible case.
Definition: IncompTpfa.cpp:62
Driving forces pertaining to a particular model setup.
Definition: ifs_tpfa.h:70
void solve(const double dt, SimulationDataContainer &state, WellState &well_state)
Solve the pressure equation.
Definition: IncompTpfa.cpp:158
virtual ~IncompTpfa()
Destructor.
Definition: IncompTpfa.cpp:143
The state of a set of wells.
Definition: WellState.hpp:39
Abstract base class for incompressible fluid and reservoir properties.
Definition: IncompPropertiesInterface.hpp:35