28#ifndef EWOMS_FV_BASE_NEWTON_METHOD_HH
29#define EWOMS_FV_BASE_NEWTON_METHOD_HH
37template <
class TypeTag>
40template <
class TypeTag>
45namespace Opm::Properties {
54template<
class TypeTag,
class MyTypeTag>
58template<
class TypeTag>
62template<
class TypeTag>
66template<
class TypeTag>
82template <
class TypeTag>
83class FvBaseNewtonMethod :
public NewtonMethod<TypeTag>
85 using ParentType = NewtonMethod<TypeTag>;
98 explicit FvBaseNewtonMethod(Simulator& simulator)
99 : ParentType(simulator)
103 friend class NewtonMethod<TypeTag>;
123 const SolutionVector& currentSolution,
124 const GlobalEqVector& solutionUpdate,
125 const GlobalEqVector& currentResidual)
131 if (
model_().storeIntensiveQuantities()) {
132 for (
unsigned dofIdx = 0; dofIdx <
model_().numGridDof(); ++dofIdx) {
133 model_().setIntensiveQuantitiesCacheEntryValidity(dofIdx,
163 Implementation& asImp_()
164 {
return *
static_cast<Implementation*
>(
this); }
166 const Implementation& asImp_()
const
167 {
return *
static_cast<const Implementation*
>(
this); }
Writes the intermediate solutions during the Newton scheme for models using a finite volume discretiz...
Definition fvbasenewtonconvergencewriter.hh:64
A Newton method for models using a finite volume discretization.
Definition fvbasenewtonmethod.hh:84
void beginIteration_()
Indicates the beginning of a Newton iteration.
Definition fvbasenewtonmethod.hh:143
Model & model_()
Returns a reference to the model.
Definition fvbasenewtonmethod.hh:153
void update_(SolutionVector &nextSolution, const SolutionVector ¤tSolution, const GlobalEqVector &solutionUpdate, const GlobalEqVector ¤tResidual)
Update the current solution with a delta vector.
Definition fvbasenewtonmethod.hh:122
const Model & model_() const
Returns a reference to the model.
Definition fvbasenewtonmethod.hh:159
void update_(SolutionVector &nextSolution, const SolutionVector ¤tSolution, const GlobalEqVector &solutionUpdate, const GlobalEqVector ¤tResidual)
Update the current solution with a delta vector.
Definition newtonmethod.hh:648
Model & model()
Returns a reference to the numeric model.
Definition newtonmethod.hh:172
void beginIteration_()
Indicates the beginning of a Newton iteration.
Definition newtonmethod.hh:514
Writes the intermediate solutions during the Newton scheme for models using a finite volume discretiz...
The generic type tag for problems using the immiscible multi-phase model.
Definition blackoilmodel.hh:82
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:45
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
The multi-dimensional Newton method.
The Opm property system, traits with inheritance.
The discretization specific part of he implementing the Newton algorithm.
Definition fvbasenewtonmethod.hh:55
Specifies the type of the class which writes out the Newton convergence.
Definition newtonmethodproperties.hh:40
Specifies the type of the actual Newton method.
Definition newtonmethodproperties.hh:32
Definition fvbasenewtonmethod.hh:50
a tag to mark properties as undefined
Definition propertysystem.hh:38