21 #ifndef OPM_TRANSPORTSOLVERTWOPHASEIMPLICIT_HEADER_INCLUDED
22 #define OPM_TRANSPORTSOLVERTWOPHASEIMPLICIT_HEADER_INCLUDED
24 #include <opm/core/transport/TransportSolverTwophaseInterface.hpp>
25 #include <opm/core/transport/implicit/SimpleFluid2pWrappingProps.hpp>
27 #include <opm/core/transport/implicit/ImplicitTransport.hpp>
28 #include <opm/core/transport/implicit/transport_source.h>
29 #include <opm/core/transport/implicit/CSRMatrixUmfpackSolver.hpp>
30 #include <opm/core/transport/implicit/NormSupport.hpp>
31 #include <opm/core/transport/implicit/ImplicitAssembly.hpp>
32 #include <opm/core/transport/implicit/ImplicitTransport.hpp>
33 #include <opm/core/transport/implicit/JacobianSystem.hpp>
34 #include <opm/core/transport/implicit/CSRMatrixBlockAssembler.hpp>
35 #include <opm/core/utility/parameters/ParameterGroup.hpp>
36 #include <opm/core/props/IncompPropertiesInterface.hpp>
37 #include <opm/core/grid.h>
38 #include <opm/core/linalg/LinearSolverFactory.hpp>
61 const std::vector<double>& porevol,
62 const double* gravity,
63 const std::vector<double>& half_trans,
74 virtual void solve(
const double* porevolume,
89 template <
class Vector>
93 norm(
const Vector& v) {
110 const UnstructuredGrid& grid_;
114 double initial_porevolume_cell0_;
119 #endif // OPM_TRANSPORTSOLVERTWOPHASEIMPLICIT_HEADER_INCLUDED
Definition: TwophaseState.hpp:27
Definition: NormSupport.hpp:85
Definition: TransportSolverTwophaseImplicit.hpp:49
Definition: transport_source.h:43
Definition: JacobianSystem.hpp:109
Definition: SimpleFluid2pWrappingProps.hpp:37
Base class for two-phase incompressible transport solvers.
Definition: TransportSolverTwophaseInterface.hpp:30
Definition: SinglePointUpwindTwoPhase.hpp:278
Definition: ImplicitTransport.hpp:45
TransportSolverTwophaseImplicit(const UnstructuredGrid &grid, const Opm::IncompPropertiesInterface &props, const std::vector< double > &porevol, const double *gravity, const std::vector< double > &half_trans, const ParameterGroup ¶m)
Construct solver.
Definition: TransportSolverTwophaseImplicit.cpp:42
Definition: CSRMatrixUmfpackSolver.hpp:47
Definition: JacobianSystem.hpp:145
Definition: JacobianSystem.hpp:223
ParameterGroup is a class that is used to provide run-time parameters.
Definition: ParameterGroup.hpp:81
virtual void solve(const double *porevolume, const double *source, const double dt, TwophaseState &state)
Solve for saturation at next timestep.
Definition: TransportSolverTwophaseImplicit.cpp:74
Definition: JacobianSystem.hpp:89
Definition: JacobianSystem.hpp:78
Definition: JacobianSystem.hpp:65
Definition: ImplicitTransport.hpp:105
Numerical model and support classes needed to model transport of two incompressible fluid phases...
Abstract base class for incompressible fluid and reservoir properties.
Definition: IncompPropertiesInterface.hpp:35