Standard grid operator implementation.
More...
#include <dune/pdelab/gridoperator/gridoperator.hh>
|
typedef DefaultAssembler< GFSU, GFSV, CU, CV > | Assembler |
| The global assembler type. More...
|
|
using | Domain = Dune::PDELab::Backend::Vector< GFSU, DF > |
| The type of the domain (solution). More...
|
|
using | Range = Dune::PDELab::Backend::Vector< GFSV, RF > |
| The type of the range (residual). More...
|
|
using | Jacobian = Dune::PDELab::Backend::Matrix< MB, Domain, Range, JF > |
| The type of the jacobian. More...
|
|
typedef MB::template Pattern< Jacobian, GFSV, GFSU > | Pattern |
| The sparsity pattern container for the jacobian matrix. More...
|
|
typedef DefaultLocalAssembler< GridOperator, LOP, GFSU::Traits::EntitySet::Partitions::partitionIterator()==InteriorBorder_Partition > | LocalAssembler |
| The local assembler type. More...
|
|
typedef std::conditional< GFSU::Traits::EntitySet::Partitions::partitionIterator()==InteriorBorder_Partition, NonOverlappingBorderDOFExchanger< GridOperator >, OverlappingBorderDOFExchanger< GridOperator > >::type | BorderDOFExchanger |
|
typedef Dune::PDELab::GridOperatorTraits< GFSU, GFSV, MB, DF, RF, JF, CU, CV, Assembler, LocalAssembler > | Traits |
| The grid operator traits. More...
|
|
|
| GridOperator (const GFSU &gfsu_, const CU &cu_, const GFSV &gfsv_, const CV &cv_, LOP &lop_, const MB &mb_=MB()) |
| Constructor for non trivial constraints. More...
|
|
| GridOperator (const GFSU &gfsu_, const GFSV &gfsv_, LOP &lop_, const MB &mb_=MB()) |
| Constructor for empty constraints. More...
|
|
const GFSU & | trialGridFunctionSpace () const |
| Get the trial grid function space. More...
|
|
const GFSV & | testGridFunctionSpace () const |
| Get the test grid function space. More...
|
|
GFSU::Traits::SizeType | globalSizeU () const |
| Get dimension of space u. More...
|
|
GFSV::Traits::SizeType | globalSizeV () const |
| Get dimension of space v. More...
|
|
Assembler & | assembler () |
|
const Assembler & | assembler () const |
|
LocalAssembler & | localAssembler () const |
|
template<typename F , typename X > |
void | interpolate (const X &xold, F &f, X &x) const |
| Interpolate the constrained dofs from given function. More...
|
|
void | fill_pattern (Pattern &p) const |
| Fill pattern of jacobian matrix. More...
|
|
void | residual (const Domain &x, Range &r) const |
| Assemble residual. More...
|
|
void | jacobian (const Domain &x, Jacobian &a) const |
| Assembler jacobian. More...
|
|
void | jacobian_apply (const Domain &z, Range &r) const |
| Apply jacobian matrix without explicitly assembling it. More...
|
|
void | nonlinear_jacobian_apply (const Domain &x, const Domain &z, Range &r) const |
| Apply jacobian matrix without explicitly assembling it. More...
|
|
void | make_consistent (Jacobian &a) const |
|
void | update () |
|
const Traits::MatrixBackend & | matrixBackend () const |
| Get the matrix backend for this grid operator. More...
|
|
|
template<typename GridOperatorTuple > |
static void | setupGridOperators (GridOperatorTuple tuple) |
|
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
class Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >
Standard grid operator implementation.
- Template Parameters
-
GFSU | GridFunctionSpace for ansatz functions |
GFSV | GridFunctionSpace for test functions |
MB | The matrix backend to be used for representation of the jacobian |
DF | The domain field type of the operator |
RF | The range field type of the operator |
JF | The jacobian field type |
CU | Constraints maps for the individual dofs (trial space) |
CV | Constraints maps for the individual dofs (test space) |
◆ Assembler
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
typedef DefaultAssembler<GFSU,GFSV,CU,CV> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::Assembler |
The global assembler type.
◆ BorderDOFExchanger
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
typedef std::conditional< GFSU::Traits::EntitySet::Partitions::partitionIterator() == InteriorBorder_Partition, NonOverlappingBorderDOFExchanger<GridOperator>, OverlappingBorderDOFExchanger<GridOperator> >::type Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::BorderDOFExchanger |
◆ Domain
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
The type of the domain (solution).
◆ Jacobian
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
using Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::Jacobian = Dune::PDELab::Backend::Matrix<MB,Domain,Range,JF> |
The type of the jacobian.
◆ LocalAssembler
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
typedef DefaultLocalAssembler< GridOperator, LOP, GFSU::Traits::EntitySet::Partitions::partitionIterator() == InteriorBorder_Partition > Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::LocalAssembler |
The local assembler type.
◆ Pattern
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
typedef MB::template Pattern<Jacobian,GFSV,GFSU> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::Pattern |
The sparsity pattern container for the jacobian matrix.
◆ Range
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
The type of the range (residual).
◆ Traits
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
typedef Dune::PDELab::GridOperatorTraits<GFSU,GFSV,MB,DF,RF,JF,CU,CV,Assembler,LocalAssembler> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::Traits |
The grid operator traits.
◆ GridOperator() [1/2]
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::GridOperator |
( |
const GFSU & |
gfsu_, |
|
|
const CU & |
cu_, |
|
|
const GFSV & |
gfsv_, |
|
|
const CV & |
cv_, |
|
|
LOP & |
lop_, |
|
|
const MB & |
mb_ = MB() |
|
) |
| |
|
inline |
Constructor for non trivial constraints.
◆ GridOperator() [2/2]
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::GridOperator |
( |
const GFSU & |
gfsu_, |
|
|
const GFSV & |
gfsv_, |
|
|
LOP & |
lop_, |
|
|
const MB & |
mb_ = MB() |
|
) |
| |
|
inline |
Constructor for empty constraints.
◆ assembler() [1/2]
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ assembler() [2/2]
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ fill_pattern()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Fill pattern of jacobian matrix.
◆ globalSizeU()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Get dimension of space u.
◆ globalSizeV()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Get dimension of space v.
◆ interpolate()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
template<typename F , typename X >
void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::interpolate |
( |
const X & |
xold, |
|
|
F & |
f, |
|
|
X & |
x |
|
) |
| const |
|
inline |
Interpolate the constrained dofs from given function.
◆ jacobian()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ jacobian_apply()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Apply jacobian matrix without explicitly assembling it.
◆ localAssembler()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ make_consistent()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ matrixBackend()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Get the matrix backend for this grid operator.
◆ nonlinear_jacobian_apply()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV >::nonlinear_jacobian_apply |
( |
const Domain & |
x, |
|
|
const Domain & |
z, |
|
|
Range & |
r |
|
) |
| const |
|
inline |
Apply jacobian matrix without explicitly assembling it.
◆ residual()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
◆ setupGridOperators()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
template<typename GridOperatorTuple >
Method to set up a number of grid operators which are used in a joint assembling. It is assumed that all operators are specializations of the same template type
◆ testGridFunctionSpace()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Get the test grid function space.
◆ trialGridFunctionSpace()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
Get the trial grid function space.
◆ update()
template<typename GFSU, typename GFSV, typename LOP, typename MB, typename DF, typename RF, typename JF, typename CU = Dune::PDELab::EmptyTransformation, typename CV = Dune::PDELab::EmptyTransformation>
The documentation for this class was generated from the following file: