DUNE PDELab (git)

Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF > Class Template Reference

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, LocalAssemblerInterfaceTraits
 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 ()
 
LocalAssemblerInterfacelocalAssembler ()
 
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

template<typename GFSU, typename GFSV, typename MB, typename DF, typename RF, typename JF>
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()

template<typename GFSU , typename GFSV , typename MB , typename DF , typename RF , typename JF >
template<typename F >
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()

template<typename GFSU , typename GFSV , typename MB , typename DF , typename RF , typename JF >
template<typename X , typename A >
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()

template<typename GFSU , typename GFSV , typename MB , typename DF , typename RF , typename JF >
template<typename X , typename R >
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()

template<typename GFSU , typename GFSV , typename MB , typename DF , typename RF , typename JF >
template<typename GridOperatorTuple >
static void Dune::PDELab::GridOperatorInterface< GFSU, GFSV, MB, DF, RF, JF >::setupGridOperators ( GridOperatorTuple &  tuple)
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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 15, 22:36, 2024)