27 #ifndef EWOMS_BASE_AUXILIARY_MODULE_HH 28 #define EWOMS_BASE_AUXILIARY_MODULE_HH 54 template <
class TypeTag>
63 using NeighborSet = std::set<unsigned>;
72 virtual unsigned numDofs()
const = 0;
79 { dofOffset_ = value; }
86 {
return dofOffset_; }
94 assert(localDofIdx <
numDofs());
95 return dofOffset_ + localDofIdx;
102 virtual void addNeighbors(std::vector<NeighborSet>& neighbors)
const = 0;
112 virtual void linearize(SparseMatrixAdapter& matrix, GlobalEqVector& residual) = 0;
int localToGlobalDof(unsigned localDofIdx) const
Given a degree of freedom relative to the current auxiliary equation, return the corresponding index ...
Definition: baseauxiliarymodule.hh:92
int dofOffset()
Return the offset in the global system of equations for the first degree of freedom of this auxiliary...
Definition: baseauxiliarymodule.hh:85
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
virtual void linearize(SparseMatrixAdapter &matrix, GlobalEqVector &residual)=0
Linearize the auxiliary equation.
virtual void applyInitial()=0
Set the initial condition of the auxiliary module in the solution vector.
Definition: baseauxiliarymodule.hh:40
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
Declare the properties used by the infrastructure code of the finite volume discretizations.
virtual void addNeighbors(std::vector< NeighborSet > &neighbors) const =0
Specify the additional neighboring correlations caused by the auxiliary module.
Definition: baseauxiliarymodule.hh:38
The Opm property system, traits with inheritance.
virtual unsigned numDofs() const =0
Returns the number of additional degrees of freedom required for the auxiliary module.
void setDofOffset(int value)
Set the offset in the global system of equations for the first degree of freedom of this auxiliary mo...
Definition: baseauxiliarymodule.hh:78
Base class for specifying auxiliary equations.
Definition: baseauxiliarymodule.hh:55
virtual void postSolve(GlobalEqVector &)
This method is called after the linear solver has been called but before the solution is updated for ...
Definition: baseauxiliarymodule.hh:120
Declares the properties required by the black oil model.