20#ifndef OPM_INCOMPTPFA_HEADER_INCLUDED
21#define OPM_INCOMPTPFA_HEADER_INCLUDED
26struct 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,
115 SimulationDataContainer& state,
125 SimulationDataContainer& state,
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,
160 const std::vector<double>&
src_;
Definition: IncompPropertiesInterface.hpp:36
Definition: IncompTpfa.hpp:48
const std::vector< double > & getHalfTrans() const
Expose read-only reference to internal half-transmissibility.
Definition: IncompTpfa.hpp:120
std::vector< double > totmob_
Definition: IncompTpfa.hpp:169
std::vector< double > rock_comp_
Definition: IncompTpfa.hpp:177
const RockCompressibility * rock_comp_props_
Definition: IncompTpfa.hpp:153
const double residual_tol_
Definition: IncompTpfa.hpp:155
struct ifs_tpfa_forces forces_
Definition: IncompTpfa.hpp:173
const int maxiter_
Definition: IncompTpfa.hpp:157
std::vector< double > pressures_
Definition: IncompTpfa.hpp:178
const std::vector< double > & src_
Definition: IncompTpfa.hpp:160
std::vector< double > initial_porevol_
Definition: IncompTpfa.hpp:172
IncompTpfa(const UnstructuredGrid &grid, const IncompPropertiesInterface &props, LinearSolverInterface &linsolver, const double *gravity, const Wells *wells, const std::vector< double > &src, const FlowBoundaryConditions *bcs)
IncompTpfa(const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const RockCompressibility *rock_comp_props, LinearSolverInterface &linsolver, const double residual_tol, const double change_tol, const int maxiter, const double *gravity, const Wells *wells, const std::vector< double > &src, const FlowBoundaryConditions *bcs)
const LinearSolverInterface & linsolver_
Definition: IncompTpfa.hpp:154
std::vector< double > porevol_
Definition: IncompTpfa.hpp:176
const double * gravity_
Definition: IncompTpfa.hpp:158
void solveRockComp(const double dt, SimulationDataContainer &state, WellState &well_state)
std::vector< double > omega_
Definition: IncompTpfa.hpp:170
const FlowBoundaryConditions * bcs_
Definition: IncompTpfa.hpp:161
const Wells * wells_
Definition: IncompTpfa.hpp:159
std::vector< double > trans_
Definition: IncompTpfa.hpp:167
std::vector< double > htrans_
Definition: IncompTpfa.hpp:162
const UnstructuredGrid & grid_
Definition: IncompTpfa.hpp:151
const IncompPropertiesInterface & props_
Definition: IncompTpfa.hpp:152
void solveIncomp(const double dt, SimulationDataContainer &state, WellState &well_state)
virtual ~IncompTpfa()
Destructor.
struct ifs_tpfa_data * h_
Definition: IncompTpfa.hpp:181
void solve(const double dt, SimulationDataContainer &state, WellState &well_state)
std::vector< double > gpress_omegaweighted_
Definition: IncompTpfa.hpp:171
std::vector< double > gpress_
Definition: IncompTpfa.hpp:163
const double change_tol_
Definition: IncompTpfa.hpp:156
std::vector< double > wdp_
Definition: IncompTpfa.hpp:168
std::vector< int > allcells_
Definition: IncompTpfa.hpp:164
Abstract interface for linear solvers.
Definition: LinearSolverInterface.hpp:33
Definition: RockCompressibility.hpp:33
The state of a set of wells.
Definition: WellState.hpp:40
Definition: AnisotropicEikonal.hpp:44
Definition: ifs_tpfa.h:48
Definition: ifs_tpfa.h:70