DUNE PDELab (git)
The grid operator represents an operator mapping which corresponds to the (possibly nonlinear) algebraic problem resulting from the discretization of a PDE. More...
#include <dune/pdelab/gridoperator/common/assembler.hh>
Public Types | |
typedef GridOperatorTraits< GFSU, GFSV, MB, DF, RF, JF, CU, CV, AssemblerInterface, LocalAssemblerInterface > | Traits |
The traits class. | |
Public Member Functions | |
template<typename P > | |
void | fill_pattern (P &globalpattern) const |
Determines the sparsity pattern of the jacobian matrix. | |
template<typename X , typename R > | |
void | residual (const X &x, R &r) const |
template<typename X , typename A > | |
void | jacobian (const X &x, A &a) const |
template<typename F > | |
void | interpolate (const typename Traits::Domain &xold, const F &f, typename Traits::Domain &xnew) |
Interpolate xnew from f, taking unconstrained values from xold. More... | |
Access to the assembler objects | |
Assembler & | assembler () |
LocalAssemblerInterface & | localAssembler () |
Access to the grid function spaces | |
const GFSU & | trialGridFunctionSpace () const |
const GFSV & | testGridFunctionSpace () const |
GFSU::Traits::SizeType | globalSizeU () const |
GFSV::Traits::SizeType | globalSizeV () const |
Static Public Member Functions | |
template<typename GridOperatorTuple > | |
static void | setupGridOperators (GridOperatorTuple &tuple) |
Detailed Description
class Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF >
The grid operator represents an operator mapping which corresponds to the (possibly nonlinear) algebraic problem resulting from the discretization of a PDE.
A grid operator provides methods which allow its evaluation as well as the computation of its jacobian matrix. It therefore provides all functionality required for a direct application of the Newton method.
For numerical reasons, the field type of the jacobian matrix is allowed to differ from the operator's range field type.
Member Function Documentation
◆ interpolate()
void Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF >::interpolate | ( | const typename Traits::Domain & | xold, |
const F & | f, | ||
typename Traits::Domain & | xnew | ||
) |
Interpolate xnew from f, taking unconstrained values from xold.
- Note
- The exact type of F will depend on the GridOperator and may be a more complicated object than a simple GridFunction for scenarios like MultiDomain or grid-glue.
◆ jacobian()
void Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF >::jacobian | ( | const X & | x, |
A & | a | ||
) | const |
Evaluates the jacobian matrix of the grid operator for a given point x in its domain
◆ residual()
void Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF >::residual | ( | const X & | x, |
R & | r | ||
) | const |
Evaluates the grid operator for a given point x in its domain
◆ setupGridOperators()
|
static |
Set up the passed-in tuple of GridOperators to cooperate, e.g. for a time-stepping method. The caller guarantees that the GridOperators will always be invoked in the order that they appear in the tuple.
- Note
- This function is typically called by a superior grid operator which wraps the grid operators given in the tuple. It is assumed that all types in tuple are specializations of the same template class which calls the Dune::PDELab::GridOperatorInterface::setupGridOperator function itself.
- Warning
- After calling this function, all data-handling methods (onBind...(), onUnbind...(), loadCoefficients() ) MUST always be called for all children and in the same order as the one passed to this function. Failure to do so will result in wrong assembly results!
The documentation for this class was generated from the following file:
- dune/pdelab/gridoperator/common/assembler.hh