All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Ewoms::FvBaseLinearizer< TypeTag > Class Template Reference

The common code for the linearizers of non-linear systems of equations. More...

#include <fvbaselinearizer.hh>

Public Member Functions

void init (Simulator &simulator)
 Initialize the linearizer. More...
 
void eraseMatrix ()
 Causes the Jacobian matrix to be recreated from scratch before the next iteration. More...
 
void linearize ()
 Linearize the global non-linear system of equations. More...
 
const Matrix & matrix () const
 Return constant reference to global Jacobian matrix.
 
Matrix & matrix ()
 
const GlobalEqVector & residual () const
 Return constant reference to global residual vector.
 
GlobalEqVector & residual ()
 
const std::map< unsigned,
Constraints > & 
constraintsMap () const
 Returns the map of constraint degrees of freedom. More...
 

Static Public Member Functions

static void registerParameters ()
 Register all run-time parameters for the Jacobian linearizer.
 

Detailed Description

template<class TypeTag>
class Ewoms::FvBaseLinearizer< TypeTag >

The common code for the linearizers of non-linear systems of equations.

This class assumes that these system of equations to be linearized are stemming from models that use an finite volume scheme for spatial discretization and an Euler scheme for time discretization.

Member Function Documentation

template<class TypeTag >
const std::map<unsigned, Constraints>& Ewoms::FvBaseLinearizer< TypeTag >::constraintsMap ( ) const
inline

Returns the map of constraint degrees of freedom.

(This object is only non-empty if the EnableConstraints property is true.)

template<class TypeTag >
void Ewoms::FvBaseLinearizer< TypeTag >::eraseMatrix ( )
inline

Causes the Jacobian matrix to be recreated from scratch before the next iteration.

This method is usally called if the sparsity pattern has changed for some reason. (e.g. by modifications of the grid or changes of the auxiliary equations.)

template<class TypeTag >
void Ewoms::FvBaseLinearizer< TypeTag >::init ( Simulator simulator)
inline

Initialize the linearizer.

At this point we can assume that all objects in the simulator have been allocated. We cannot assume that they are fully initialized, though.

template<class TypeTag >
void Ewoms::FvBaseLinearizer< TypeTag >::linearize ( )
inline

Linearize the global non-linear system of equations.

That means that the global Jacobian of the residual is assembled and the residual is evaluated for the current solution.

The current state of affairs (esp. the previous and the current solutions) is represented by the model object.


The documentation for this class was generated from the following file: