25 #ifndef TTAG_FLOW_PROBLEM_TPSA_HPP 26 #define TTAG_FLOW_PROBLEM_TPSA_HPP 28 #include <dune/common/fvector.hh> 29 #include <dune/istl/bvector.hh> 31 #include <opm/material/densead/Evaluation.hpp> 33 #include <opm/models/discretization/common/tpsalinearizer.hpp> 34 #include <opm/models/tpsa/elasticityindices.hpp> 35 #include <opm/models/tpsa/elasticitylocalresidualtpsa.hpp> 36 #include <opm/models/tpsa/elasticityprimaryvariables.hpp> 37 #include <opm/models/tpsa/tpsabaseproperties.hpp> 38 #include <opm/models/tpsa/tpsamodel.hpp> 39 #include <opm/models/tpsa/tpsanewtonmethod.hpp> 41 #include <opm/simulators/flow/BlackoilModelTPSA.hpp> 42 #include <opm/simulators/flow/FlowProblemTPSA.hpp> 43 #include <opm/simulators/linalg/matrixblock.hh> 44 #include <opm/simulators/linalg/ISTLSolverTPSA.hpp> 57 template<
class TypeTag>
64 template<
class TypeTag>
69 template<
class TypeTag>
74 template<
class TypeTag>
78 static constexpr
unsigned numEq = getPropValue<TypeTag, Properties::NumEqTPSA>();
83 using type = DenseAd::Evaluation<Scalar, numEq>;
87 template<
class TypeTag>
90 using type = Dune::FieldVector<GetPropType<TypeTag, Scalar>,
91 getPropValue<TypeTag, Properties::NumEqTPSA>()>;
95 template<
class TypeTag>
97 {
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::EqVectorTPSA>>; };
100 template<
class TypeTag>
105 template<
class TypeTag>
110 template<
class TypeTag>
112 {
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariablesTPSA>>; };
115 template<
class TypeTag>
117 {
static constexpr
int value = 2; };
120 template<
class TypeTag>
125 template<
class TypeTag>
130 template<
class TypeTag>
135 enum { numEq = getPropValue<TypeTag, Properties::NumEqTPSA>() };
144 template<
class TypeTag>
Definition: tpsabaseproperties.hpp:34
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(...))
Definition: propertysystem.hh:233
Primary variables in (linear) elasticity equations.
Definition: elasticityprimaryvariables.hpp:51
Newton method solving for generic TPSA model.
Definition: tpsanewtonmethod.hpp:57
Definition: elasticityindices.hpp:32
Definition: tpsabaseproperties.hpp:73
Definition: tpsabaseproperties.hpp:67
Definition: tpsabaseproperties.hpp:46
Definition: tpsabaseproperties.hpp:70
Class for setting up ISTL linear solvers for TPSA.
Definition: ISTLSolverTPSA.hpp:66
Definition: matrixblock.hh:228
Definition: tpsabaseproperties.hpp:58
Definition: tpsabaseproperties.hpp:64
Linearizes TPSA equations and generates system matrix and residual for linear solver.
Definition: tpsalinearizer.hpp:52
Definition: TTagFlowProblemTPSA.hpp:52
Definition: tpsabaseproperties.hpp:40
Definition: tpsabaseproperties.hpp:55
Definition: tpsabaseproperties.hpp:61
A sparse matrix interface backend for BCRSMatrix from dune-istl.
Definition: tpsabaseproperties.hpp:49
Calculation of (linear) elasticity model terms for the residual.
Definition: elasticitylocalresidualtpsa.hpp:67
Definition: tpsabaseproperties.hpp:52
A sparse matrix interface backend for BCRSMatrix from dune-istl.
Definition: istlsparsematrixadapter.hh:42
Definition: tpsabaseproperties.hpp:37
Definition: blackoilmodel.hh:80
TPSA geomechanics model.
Definition: tpsamodel.hpp:50
Definition: tpsabaseproperties.hpp:43