20 #ifndef OPM_TRANSPORTSOLVERTWOPHASEAD_HEADER_INCLUDED 21 #define OPM_TRANSPORTSOLVERTWOPHASEAD_HEADER_INCLUDED 23 #include <opm/autodiff/AutoDiffBlock.hpp> 24 #include <opm/autodiff/AutoDiffHelpers.hpp> 25 #include <opm/core/transport/TransportSolverTwophaseInterface.hpp> 28 struct UnstructuredGrid;
33 class IncompPropertiesInterface;
34 class LinearSolverInterface;
49 const IncompPropertiesInterface& props,
50 const LinearSolverInterface& linsolver,
51 const double* gravity,
52 const ParameterGroup& param);
65 virtual void solve(
const double* porevolume,
68 TwophaseState& state);
76 const UnstructuredGrid& grid_;
77 const IncompPropertiesInterface& props_;
78 const LinearSolverInterface& linsolver_;
83 std::vector<int> allcells_;
89 #endif // OPM_TRANSPORTSOLVERTWOPHASEAD_HEADER_INCLUDED Contains vectors and sparse matrices that represent subsets or operations on (AD or regular) vectors ...
Definition: AutoDiffHelpers.hpp:44
AutoDiffMatrix is a wrapper class that optimizes matrix operations.
Definition: AutoDiffMatrix.hpp:43
TransportSolverTwophaseAd(const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const LinearSolverInterface &linsolver, const double *gravity, const ParameterGroup ¶m)
Construct solver.
Definition: TransportSolverTwophaseAd.cpp:43
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: AdditionalObjectDeleter.hpp:22
Implements an implicit transport solver for incompressible two-phase flow, using automatic differenti...
Definition: TransportSolverTwophaseAd.hpp:39
Eigen::Array< Scalar, Eigen::Dynamic, 1 > V
Underlying type for values.
Definition: AutoDiffBlock.hpp:99
virtual void solve(const double *porevolume, const double *source, const double dt, TwophaseState &state)
Solve for saturation at next timestep.
Definition: TransportSolverTwophaseAd.cpp:163