Standard grid operator implementation.
More...
#include <dune/pdelab/gridoperator/gridoperator.hh>
|
typedef DefaultAssembler< GFSU,
GFSV, CU, CV,
nonoverlapping_mode > | Assembler |
| | The global assembler type. More...
|
| |
typedef
Dune::PDELab::BackendVectorSelector
< GFSU, DF >::Type | Domain |
| | The type of the domain (solution). More...
|
| |
typedef
Dune::PDELab::BackendVectorSelector
< GFSV, RF >::Type | Range |
| | The type of the range (residual). More...
|
| |
typedef
Dune::PDELab::BackendMatrixSelector
< MB, Domain, Range, JF >
::Type | Jacobian |
| | 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,
nonoverlapping_mode > | LocalAssembler |
| | The local assembler type. More...
|
| |
typedef conditional
< nonoverlapping_mode,
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 &x, 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, bool nonoverlapping_mode = false>
class Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >
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) |
| nonoverlapping_mode | Switch for nonoverlapping grids |
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, bool nonoverlapping_mode = false>
| typedef DefaultAssembler<GFSU,GFSV,CU,CV,nonoverlapping_mode> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::Assembler |
The global assembler type.
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, bool nonoverlapping_mode = false>
| typedef conditional< nonoverlapping_mode, NonOverlappingBorderDOFExchanger<GridOperator>, OverlappingBorderDOFExchanger<GridOperator> >::type Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::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, bool nonoverlapping_mode = false>
| typedef Dune::PDELab::BackendVectorSelector<GFSU,DF>::Type Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::Domain |
The type of the domain (solution).
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, bool nonoverlapping_mode = false>
| typedef Dune::PDELab::BackendMatrixSelector<MB,Domain,Range,JF>::Type Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::Jacobian |
The type of the 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, bool nonoverlapping_mode = false>
| typedef DefaultLocalAssembler<GridOperator,LOP,nonoverlapping_mode> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::LocalAssembler |
The local assembler type.
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, bool nonoverlapping_mode = false>
| typedef MB::template Pattern<Jacobian,GFSV,GFSU> Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::Pattern |
The sparsity pattern container for the jacobian matrix.
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, bool nonoverlapping_mode = false>
| typedef Dune::PDELab::BackendVectorSelector<GFSV,RF>::Type Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::Range |
The type of the range (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, bool nonoverlapping_mode = false>
| 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, nonoverlapping_mode >::Traits |
The grid operator 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, bool nonoverlapping_mode = false>
| Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::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.
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, bool nonoverlapping_mode = false>
| Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::GridOperator |
( |
const GFSU & |
gfsu_, |
|
|
const GFSV & |
gfsv_, |
|
|
LOP & |
lop_, |
|
|
const MB & |
mb_ = MB() |
|
) |
| |
|
inline |
Constructor for empty constraints.
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, bool nonoverlapping_mode = false>
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, bool nonoverlapping_mode = false>
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, bool nonoverlapping_mode = false>
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, bool nonoverlapping_mode = false>
| GFSU::Traits::SizeType Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::globalSizeU |
( |
| ) |
const |
|
inline |
Get dimension of space u.
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, bool nonoverlapping_mode = false>
| GFSV::Traits::SizeType Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::globalSizeV |
( |
| ) |
const |
|
inline |
Get dimension of space v.
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, bool nonoverlapping_mode = false>
template<typename F , typename X >
| void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::interpolate |
( |
const X & |
xold, |
|
|
F & |
f, |
|
|
X & |
x |
|
) |
| const |
|
inline |
Interpolate the constrained dofs from given function.
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, bool nonoverlapping_mode = false>
| void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::jacobian |
( |
const Domain & |
x, |
|
|
Jacobian & |
a |
|
) |
| const |
|
inline |
Assembler jacobian.
Referenced by Dune::PDELab::ISTLBackend_OVLP_AMG_4_DG< DGGO, DGCC, CGGFS, CGCC, TransferLOP, DGPrec, Solver, s >::ISTLBackend_OVLP_AMG_4_DG(), and Dune::PDELab::ISTLBackend_SEQ_AMG_4_DG< DGGO, CGGFS, TransferLOP, DGPrec, Solver >::ISTLBackend_SEQ_AMG_4_DG().
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, bool nonoverlapping_mode = false>
| void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::jacobian_apply |
( |
const Domain & |
x, |
|
|
Range & |
r |
|
) |
| const |
|
inline |
Apply jacobian matrix without explicitly assembling it.
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, bool nonoverlapping_mode = false>
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, bool nonoverlapping_mode = false>
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, bool nonoverlapping_mode = false>
Get the matrix backend for this grid operator.
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, bool nonoverlapping_mode = false>
| void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::residual |
( |
const Domain & |
x, |
|
|
Range & |
r |
|
) |
| const |
|
inline |
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, bool nonoverlapping_mode = false>
template<typename GridOperatorTuple >
| static void Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::setupGridOperators |
( |
GridOperatorTuple |
tuple | ) |
|
|
inlinestatic |
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
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, bool nonoverlapping_mode = false>
| const GFSV& Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::testGridFunctionSpace |
( |
| ) |
const |
|
inline |
Get the test grid function space.
Referenced by Dune::PDELab::NonOverlappingBorderDOFExchanger< GridOperator >::accumulateBorderEntries(), Dune::PDELab::ISTLMatrixBackend::buildPattern(), Dune::PDELab::istl::BCRSMatrixBackend< EntriesPerRow >::buildPattern(), and Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::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, bool nonoverlapping_mode = false>
| const GFSU& Dune::PDELab::GridOperator< GFSU, GFSV, LOP, MB, DF, RF, JF, CU, CV, nonoverlapping_mode >::trialGridFunctionSpace |
( |
| ) |
const |
|
inline |
Get the trial grid function space.
Referenced by Dune::PDELab::NonOverlappingBorderDOFExchanger< GridOperator >::accumulateBorderEntries(), Dune::PDELab::ISTLMatrixBackend::buildPattern(), Dune::PDELab::istl::BCRSMatrixBackend< EntriesPerRow >::buildPattern(), and Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::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, bool nonoverlapping_mode = false>
The documentation for this class was generated from the following file: