newtonmethod.hh File Reference

The multi-dimensional Newton method. More...

#include "nullconvergencewriter.hh"
#include <ewoms/common/propertysystem.hh>
#include <ewoms/common/parametersystem.hh>
#include <ewoms/common/timer.hh>
#include <ewoms/common/timerguard.hh>
#include <opm/material/densead/Math.hpp>
#include <opm/common/Unused.hpp>
#include <opm/common/Exceptions.hpp>
#include <opm/common/ErrorMacros.hpp>
#include <dune/istl/istlexception.hh>
#include <dune/common/classname.hh>
#include <dune/common/version.hh>
#include <dune/common/parallel/mpihelper.hh>
#include <iostream>
#include <sstream>
#include <unistd.h>

Go to the source code of this file.

Classes

class  Ewoms::NewtonMethod< TypeTag >
 The multi-dimensional Newton method. More...
 
class  Ewoms::NewtonMethod< TypeTag >
 The multi-dimensional Newton method. More...
 

Functions

 Ewoms::Properties::NEW_TYPE_TAG (NewtonMethod)
 The type tag on which the default properties for the Newton method are attached.
 
 Ewoms::Properties::NEW_PROP_TAG (Simulator)
 Manages the simulation time. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Problem)
 The type of the problem. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Model)
 The class dealing with the balance equations. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Scalar)
 Property to specify the type of scalar values. More...
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonMethod)
 The class implementing the Newton algorithm. More...
 
 Ewoms::Properties::NEW_PROP_TAG (SolutionVector)
 Vector containing all primary variables of the grid. More...
 
 Ewoms::Properties::NEW_PROP_TAG (PrimaryVariables)
 The class storing primary variables plus pseudo primary variables. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableConstraints)
 Specify whether the some degrees of fredom can be constraint. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Constraints)
 The class which represents a constraint degree of freedom. More...
 
 Ewoms::Properties::NEW_PROP_TAG (GlobalEqVector)
 Vector containing a quantity of for equation for each DOF of the whole grid. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EqVector)
 The class storing values of conservation equations (e.g., a "naked" primary varible vector) More...
 
 Ewoms::Properties::NEW_PROP_TAG (Linearizer)
 The class which linearizes the non-linear system of equations.
 
 Ewoms::Properties::NEW_PROP_TAG (JacobianMatrix)
 Type of the global jacobian matrix. More...
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverBackend)
 The type of the linear solver to be used. More...
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonVerbose)
 Specifies whether the Newton method should print messages or not.
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonConvergenceWriter)
 Specifies the type of the class which writes out the Newton convergence.
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonWriteConvergence)
 Specifies whether the convergence rate and the global residual gets written out to disk for every Newton iteration.
 
 Ewoms::Properties::NEW_PROP_TAG (ConvergenceWriter)
 Specifies whether the convergence rate and the global residual gets written out to disk for every Newton iteration.
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonRawTolerance)
 The value for the error below which convergence is declared. More...
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonMaxError)
 The maximum error which may occur in a simulation before the Newton method for the time step is aborted.
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonTargetIterations)
 The number of iterations at which the Newton method should aim at. More...
 
 Ewoms::Properties::NEW_PROP_TAG (NewtonMaxIterations)
 Number of maximum iterations for the Newton method.
 
 Ewoms::Properties::SET_TYPE_PROP (NewtonMethod, NewtonMethod, Ewoms::NewtonMethod< TypeTag >)
 
 Ewoms::Properties::SET_TYPE_PROP (NewtonMethod, NewtonConvergenceWriter, Ewoms::NullConvergenceWriter< TypeTag >)
 
 Ewoms::Properties::SET_BOOL_PROP (NewtonMethod, NewtonWriteConvergence, false)
 
 Ewoms::Properties::SET_BOOL_PROP (NewtonMethod, NewtonVerbose, true)
 
 Ewoms::Properties::SET_SCALAR_PROP (NewtonMethod, NewtonRawTolerance, 1e-8)
 
 Ewoms::Properties::SET_SCALAR_PROP (NewtonMethod, NewtonMaxError, 1e100)
 
 Ewoms::Properties::SET_INT_PROP (NewtonMethod, NewtonTargetIterations, 10)
 
 Ewoms::Properties::SET_INT_PROP (NewtonMethod, NewtonMaxIterations, 18)
 

Detailed Description

The multi-dimensional Newton method.

This class uses static polymorphism to allow implementations to implement different update/convergence strategies.

Function Documentation

◆ NEW_PROP_TAG() [1/15]

Ewoms::Properties::NEW_PROP_TAG ( Scalar  )

Property to specify the type of scalar values.

The type of scalar values.

◆ NEW_PROP_TAG() [2/15]

Ewoms::Properties::NEW_PROP_TAG ( GlobalEqVector  )

Vector containing a quantity of for equation for each DOF of the whole grid.

Vector containing a quantity of for equation on the whole grid.

◆ NEW_PROP_TAG() [3/15]

Ewoms::Properties::NEW_PROP_TAG ( JacobianMatrix  )

Type of the global jacobian matrix.

Specifies the type of a global Jacobian matrix.

◆ NEW_PROP_TAG() [4/15]

Ewoms::Properties::NEW_PROP_TAG ( Model  )

The class dealing with the balance equations.

The model describing the PDEs for the conservation quantities.

The type of the model.

◆ NEW_PROP_TAG() [5/15]

Ewoms::Properties::NEW_PROP_TAG ( Problem  )

The type of the problem.

The physical model which we would like to solve.

◆ NEW_PROP_TAG() [6/15]

Ewoms::Properties::NEW_PROP_TAG ( EqVector  )

The class storing values of conservation equations (e.g., a "naked" primary varible vector)

Vector containing a quantity of for equation for a single degee of freedom.

A vector of holding a quantity for each equation (usually at a given spatial location)

◆ NEW_PROP_TAG() [7/15]

Ewoms::Properties::NEW_PROP_TAG ( PrimaryVariables  )

The class storing primary variables plus pseudo primary variables.

Specifies the type of a solution for a single degee of freedom.

A vector of primary variables within a sub-control volume.

◆ NEW_PROP_TAG() [8/15]

Ewoms::Properties::NEW_PROP_TAG ( NewtonMethod  )

The class implementing the Newton algorithm.

Specifies the type of the actual Newton method.

◆ NEW_PROP_TAG() [9/15]

Ewoms::Properties::NEW_PROP_TAG ( LinearSolverBackend  )

The type of the linear solver to be used.

Specifies the type of the linear solver to be used.

◆ NEW_PROP_TAG() [10/15]

Ewoms::Properties::NEW_PROP_TAG ( Simulator  )

Manages the simulation time.

The simulation management class of the simulation.

◆ NEW_PROP_TAG() [11/15]

Ewoms::Properties::NEW_PROP_TAG ( Constraints  )

The class which represents a constraint degree of freedom.

Specifies the type of objects which specify constraints for a single degee of freedom.

◆ NEW_PROP_TAG() [12/15]

Ewoms::Properties::NEW_PROP_TAG ( SolutionVector  )

Vector containing all primary variables of the grid.

Specifies the type of a solution.

◆ NEW_PROP_TAG() [13/15]

Ewoms::Properties::NEW_PROP_TAG ( NewtonRawTolerance  )

The value for the error below which convergence is declared.

This value can (and for the porous media models will) be changed to account for grid scaling and other effects.

◆ NEW_PROP_TAG() [14/15]

Ewoms::Properties::NEW_PROP_TAG ( NewtonTargetIterations  )

The number of iterations at which the Newton method should aim at.

This is used to control the time-step size. The heuristic used is to scale the last time-step size by the deviation of the number of iterations used from the target steps.

◆ NEW_PROP_TAG() [15/15]

Ewoms::Properties::NEW_PROP_TAG ( EnableConstraints  )

Specify whether the some degrees of fredom can be constraint.

Specifies whether the problem to be simulated exhibits contraint degrees of freedom.