dune-pdelab  2.0.0
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode > Class Template Reference

The local assembler for DUNE grids. More...

#include <dune/pdelab/gridoperator/default/localassembler.hh>

Inheritance diagram for Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >:
Inheritance graph

Public Types

typedef
Dune::PDELab::LocalAssemblerTraits
< GO > 
Traits
 The traits class. More...
 
typedef
Traits::Residual::ElementType 
RangeField
 The local operators type for real numbers e.g. time. More...
 
typedef RangeField Real
 
typedef
Traits::TrialGridFunctionSpace 
GFSU
 
typedef
Traits::TestGridFunctionSpace 
GFSV
 
typedef
Traits::TrialGridFunctionSpaceConstraints 
CU
 
typedef
Traits::TestGridFunctionSpaceConstraints 
CV
 
typedef
Dune::PDELab::LocalAssemblerBase
< typename
Traits::MatrixBackend, CU, CV
Base
 The base class of this local assembler. More...
 
typedef GFSU::Traits::GridViewType GridView
 The current grid view type. More...
 
typedef LOP LocalOperator
 The local operator. More...
 
typedef
GO::Traits::MatrixBackend::size_type 
SizeType
 
typedef
Dune::PDELab::LocalFunctionSpace
< GFSU,
Dune::PDELab::TrialSpaceTag
LFSU
 
typedef
Dune::PDELab::LocalFunctionSpace
< GFSV,
Dune::PDELab::TestSpaceTag
LFSV
 
typedef LFSIndexCache< LFSU, CULFSUCache
 
typedef LFSIndexCache< LFSV, CVLFSVCache
 
typedef LFSUCache NoConstraintsLFSUCache
 
typedef LFSVCache NoConstraintsLFSVCache
 

Public Member Functions

 DefaultLocalAssembler (LOP &lop_, shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger)
 Constructor with empty constraints. More...
 
 DefaultLocalAssembler (LOP &lop_, const CU &cu_, const CV &cv_, shared_ptr< typename GO::BorderDOFExchanger > border_dof_exchanger)
 Constructor for non trivial constraints. More...
 
void setTime (Real time_)
 
void setWeight (RangeField weight_)
 Notifies the assembler about the current weight of assembling. More...
 
bool reconstructBorderEntries () const
 
void preProcessing (bool v)
 
void postProcessing (bool v)
 
const
GO::Traits::TrialGridFunctionSpaceConstraints & 
trialConstraints () const
 get the constraints on the trial grid function space More...
 
const
GO::Traits::TestGridFunctionSpaceConstraints & 
testConstraints () const
 get the constraints on the test grid function space More...
 
enable_if< AlwaysTrue< X >
::value &&!is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
forwardtransform (X &x, const bool postrestrict=false) const
 Transforms a vector $ \boldsymbol{x} $ from $ V$ to $ V'$. If postrestrict == true then $\boldsymbol{R}^T_{\boldsymbol{\tilde U}', \boldsymbol{U}'} \boldsymbol{S}_{\boldsymbol{\tilde V}}$ is applied instead of the full transformation. More...
 
enable_if< AlwaysTrue< X >
::value &&is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
forwardtransform (X &x, const bool postrestrict=false) const
 
enable_if< AlwaysTrue< X >
::value &&!is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
backtransform (X &x, const bool prerestrict=false) const
 Transforms a vector $ \boldsymbol{x} $ from $ V'$ to $ V$. If prerestrict == true then $\boldsymbol{S}^T_{\boldsymbol{\tilde U}}$ is applied instead of the full transformation. More...
 
enable_if< AlwaysTrue< X >
::value &&is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
backtransform (X &x, const bool prerestrict=false) const
 
void preStage (Real time_, int r_)
 
void preStep (Real time_, Real dt_, std::size_t stages_)
 
void postStep ()
 
void postStage ()
 
Real suggestTimestep (Real dt) const
 
LocalPatternAssemblerEnginelocalPatternAssemblerEngine (typename Traits::MatrixPattern &p)
 
LocalResidualAssemblerEnginelocalResidualAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x)
 
LocalJacobianAssemblerEnginelocalJacobianAssemblerEngine (typename Traits::Jacobian &a, const typename Traits::Solution &x)
 
LocalJacobianApplyAssemblerEnginelocalJacobianApplyAssemblerEngine (typename Traits::Residual &r, const typename Traits::Solution &x)
 

Static Public Member Functions

static bool doAlphaVolume ()
 Query methods for the assembler engines. Theses methods do not belong to the assembler interface, but simplify the implementations of query methods in the engines;. More...
 
static bool doLambdaVolume ()
 
static bool doAlphaSkeleton ()
 
static bool doLambdaSkeleton ()
 
static bool doAlphaBoundary ()
 
static bool doLambdaBoundary ()
 
static bool doAlphaVolumePostSkeleton ()
 
static bool doLambdaVolumePostSkeleton ()
 
static bool doSkeletonTwoSided ()
 
static bool doPatternVolume ()
 
static bool doPatternSkeleton ()
 
static bool doPatternBoundary ()
 
static bool doPatternVolumePostSkeleton ()
 

Static Public Attributes

static const bool isNonOverlapping = nonoverlapping_mode
 

Protected Member Functions

void eread (const GCView &globalcontainer_view, LocalMatrix< T > &localcontainer) const
 read local stiffness matrix for entity More...
 
void ewrite (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const
 write local stiffness matrix for entity More...
 
void eadd (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const
 write local stiffness matrix for entity More...
 
enable_if< AlwaysTrue< M >
::value &&!is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const
 Scatter local jacobian to global container. More...
 
enable_if< AlwaysTrue< M >
::value &&is_same
< GO::Traits::TestGridFunctionSpaceConstraints,
EmptyTransformation >::value >
::type 
scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const
 
void etadd_symmetric (M &localcontainer, GCView &globalcontainer_view) const
 Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd(). More...
 
void etadd (const M &localcontainer, GCView &globalcontainer_view) const
 
enable_if< is_same< RI, CI >
::value >::type 
add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const
 
enable_if< !is_same< RI, CI >
::value >::type 
add_diagonal_entry (Pattern &pattern, const RI &ri, const CI &ci) const
 
void add_entry (P &globalpattern, const LFSVIndices &lfsv_indices, Index i, const LFSUIndices &lfsu_indices, Index j) const
 Adding matrix entry to pattern with respect to the constraints contributions. This assembles the entries addressed by etadd(..). See the documentation there for more information about the matrix pattern. More...
 
void set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const C &c) const
 insert dirichlet constraints for row and assemble T^T_U in constrained rows More...
 
void set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const EmptyTransformation &c) const
 
void handle_dirichlet_constraints (const GFSV &gfsv, GC &globalcontainer) const
 

Protected Attributes

const
GO::Traits::TrialGridFunctionSpaceConstraints * 
pconstraintsu
 
const
GO::Traits::TestGridFunctionSpaceConstraints * 
pconstraintsv
 

Static Protected Attributes

static
GO::Traits::TrialGridFunctionSpaceConstraints 
emptyconstraintsu
 
static
GO::Traits::TestGridFunctionSpaceConstraints 
emptyconstraintsv
 

Friends

template<typename , typename , typename , typename , typename , typename , typename , typename , typename , bool >
class GridOperator
 
typedef
DefaultLocalPatternAssemblerEngine
< DefaultLocalAssembler
LocalPatternAssemblerEngine
 
typedef
DefaultLocalResidualAssemblerEngine
< DefaultLocalAssembler
LocalResidualAssemblerEngine
 
typedef
DefaultLocalJacobianAssemblerEngine
< DefaultLocalAssembler
LocalJacobianAssemblerEngine
 
typedef
DefaultLocalJacobianApplyAssemblerEngine
< DefaultLocalAssembler
LocalJacobianApplyAssemblerEngine
 
class DefaultLocalPatternAssemblerEngine< DefaultLocalAssembler >
 
class DefaultLocalResidualAssemblerEngine< DefaultLocalAssembler >
 
class DefaultLocalJacobianAssemblerEngine< DefaultLocalAssembler >
 
class DefaultLocalJacobianApplyAssemblerEngine< DefaultLocalAssembler >
 

Detailed Description

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
class Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >

The local assembler for DUNE grids.

Template Parameters
GFSUGridFunctionSpace for ansatz functions
GFSVGridFunctionSpace for test functions
XThe solution vector representation type
RThe residual vector representation type
AThe jacobian matrix representation type
BThe matrix backend
PThe matrix pattern representation type
CUConstraints maps for the individual dofs (trial space)
CVConstraints maps for the individual dofs (test space)

Member Typedef Documentation

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Dune::PDELab::LocalAssemblerBase<typename Traits::MatrixBackend,CU,CV> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Base

The base class of this local assembler.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Traits::TrialGridFunctionSpaceConstraints Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::CU
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Traits::TestGridFunctionSpaceConstraints Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::CV
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Traits::TrialGridFunctionSpace Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSU
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Traits::TestGridFunctionSpace Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::GFSV
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef GFSU::Traits::GridViewType Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::GridView

The current grid view type.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Dune::PDELab::LocalFunctionSpace<GFSU, Dune::PDELab::TrialSpaceTag> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSU

The local function spaces

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef LFSIndexCache<LFSU,CU> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSUCache
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Dune::PDELab::LocalFunctionSpace<GFSV, Dune::PDELab::TestSpaceTag> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSV
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef LFSIndexCache<LFSV,CV> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LFSVCache
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef DefaultLocalJacobianApplyAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianApplyAssemblerEngine
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef DefaultLocalJacobianAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalJacobianAssemblerEngine
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef LOP Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalOperator

The local operator.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef DefaultLocalPatternAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalPatternAssemblerEngine

The local assembler engines

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef DefaultLocalResidualAssemblerEngine<DefaultLocalAssembler> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::LocalResidualAssemblerEngine
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef LFSUCache Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::NoConstraintsLFSUCache
Deprecated:
"NoConstraintsLFSUCache is deprecated, use LFSUCache instead and use the runtime interface to disable constraints caching"
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef LFSVCache Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::NoConstraintsLFSVCache
Deprecated:
"NoConstraintsLFSVCache is deprecated, use LFSVCache instead and use the runtime interface to disable constraints caching"
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Traits::Residual::ElementType Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::RangeField

The local operators type for real numbers e.g. time.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef RangeField Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Real
typedef GO::Traits::MatrixBackend ::size_type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::SizeType
inherited
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
typedef Dune::PDELab::LocalAssemblerTraits<GO> Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::Traits

The traits class.

Constructor & Destructor Documentation

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::DefaultLocalAssembler ( LOP &  lop_,
shared_ptr< typename GO::BorderDOFExchanger >  border_dof_exchanger 
)
inline

Constructor with empty constraints.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::DefaultLocalAssembler ( LOP &  lop_,
const CU cu_,
const CV cv_,
shared_ptr< typename GO::BorderDOFExchanger >  border_dof_exchanger 
)
inline

Constructor for non trivial constraints.

Member Function Documentation

enable_if< is_same<RI,CI>::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::add_diagonal_entry ( Pattern &  pattern,
const RI &  ri,
const CI &  ci 
) const
inlineprotectedinherited
enable_if< !is_same<RI,CI>::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::add_diagonal_entry ( Pattern &  pattern,
const RI &  ri,
const CI &  ci 
) const
inlineprotectedinherited
void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::add_entry ( P &  globalpattern,
const LFSVIndices &  lfsv_indices,
Index  i,
const LFSUIndices &  lfsu_indices,
Index  j 
) const
inlineprotectedinherited

Adding matrix entry to pattern with respect to the constraints contributions. This assembles the entries addressed by etadd(..). See the documentation there for more information about the matrix pattern.

enable_if< AlwaysTrue<X>::value && !is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::backtransform ( X &  x,
const bool  prerestrict = false 
) const
inlineinherited

Transforms a vector $ \boldsymbol{x} $ from $ V'$ to $ V$. If prerestrict == true then $\boldsymbol{S}^T_{\boldsymbol{\tilde U}}$ is applied instead of the full transformation.

enable_if< AlwaysTrue<X>::value && is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::backtransform ( X &  x,
const bool  prerestrict = false 
) const
inlineinherited
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doAlphaBoundary ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doAlphaSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doAlphaVolume ( )
inlinestatic

Query methods for the assembler engines. Theses methods do not belong to the assembler interface, but simplify the implementations of query methods in the engines;.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doAlphaVolumePostSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doLambdaBoundary ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doLambdaSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doLambdaVolume ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doLambdaVolumePostSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doPatternBoundary ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doPatternSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doPatternVolume ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doPatternVolumePostSkeleton ( )
inlinestatic
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
static bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::doSkeletonTwoSided ( )
inlinestatic
void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::eadd ( const LocalMatrix< T > &  localcontainer,
GCView &  globalcontainer_view 
) const
inlineprotectedinherited

write local stiffness matrix for entity

void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::eread ( const GCView &  globalcontainer_view,
LocalMatrix< T > &  localcontainer 
) const
inlineprotectedinherited

read local stiffness matrix for entity

void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::etadd ( const M &  localcontainer,
GCView &  globalcontainer_view 
) const
inlineprotectedinherited
void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::etadd_symmetric ( M &  localcontainer,
GCView &  globalcontainer_view 
) const
inlineprotectedinherited

Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd().

void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::ewrite ( const LocalMatrix< T > &  localcontainer,
GCView &  globalcontainer_view 
) const
inlineprotectedinherited

write local stiffness matrix for entity

enable_if< AlwaysTrue<X>::value && !is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::forwardtransform ( X &  x,
const bool  postrestrict = false 
) const
inlineinherited

Transforms a vector $ \boldsymbol{x} $ from $ V$ to $ V'$. If postrestrict == true then $\boldsymbol{R}^T_{\boldsymbol{\tilde U}', \boldsymbol{U}'} \boldsymbol{S}_{\boldsymbol{\tilde V}}$ is applied instead of the full transformation.

enable_if< AlwaysTrue<X>::value && is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::forwardtransform ( X &  x,
const bool  postrestrict = false 
) const
inlineinherited
void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::handle_dirichlet_constraints ( const GFSV &  gfsv,
GC &  globalcontainer 
) const
inlineprotectedinherited
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
LocalJacobianApplyAssemblerEngine& Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::localJacobianApplyAssemblerEngine ( typename Traits::Residual r,
const typename Traits::Solution x 
)
inline

Returns a reference to the requested engine. This engine is completely configured and ready to use.

Referenced by Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::jacobian_apply().

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
LocalJacobianAssemblerEngine& Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::localJacobianAssemblerEngine ( typename Traits::Jacobian a,
const typename Traits::Solution x 
)
inline

Returns a reference to the requested engine. This engine is completely configured and ready to use.

Referenced by Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::jacobian().

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
LocalPatternAssemblerEngine& Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::localPatternAssemblerEngine ( typename Traits::MatrixPattern p)
inline

Access methods which provid "ready to use" enginesReturns a reference to the requested engine. This engine is completely configured and ready to use.

Referenced by Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::fill_pattern().

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
LocalResidualAssemblerEngine& Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::localResidualAssemblerEngine ( typename Traits::Residual r,
const typename Traits::Solution x 
)
inline

Returns a reference to the requested engine. This engine is completely configured and ready to use.

Referenced by Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC >::residual().

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::postProcessing ( bool  v)
inline

This method allows to set the behavior with regard to any postprocessing within the engines. It is called by the setupGridOperators() method of the GridOperator and should not be called directly.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::postStage ( )
inline
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::postStep ( )
inline
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::preProcessing ( bool  v)
inline

This method allows to set the behavior with regard to any preprocessing within the engines. It is called by the setupGridOperators() method of the GridOperator and should not be called directly.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::preStage ( Real  time_,
int  r_ 
)
inline

Time stepping interface

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::preStep ( Real  time_,
Real  dt_,
std::size_t  stages_ 
)
inline
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::reconstructBorderEntries ( ) const
inline
enable_if< AlwaysTrue<M>::value && !is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::scatter_jacobian ( M &  local_container,
GCView &  global_container_view,
bool  symmetric_mode 
) const
inlineprotectedinherited

Scatter local jacobian to global container.

enable_if< AlwaysTrue<M>::value && is_same< GO::Traits::TestGridFunctionSpaceConstraints , EmptyTransformation >::value >::type Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::scatter_jacobian ( M &  local_container,
GCView &  global_container_view,
bool  symmetric_mode 
) const
inlineprotectedinherited
void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::set_trivial_rows ( const GFSV &  gfsv,
GC &  globalcontainer,
const C &  c 
) const
inlineprotectedinherited

insert dirichlet constraints for row and assemble T^T_U in constrained rows

void Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::set_trivial_rows ( const GFSV &  gfsv,
GC &  globalcontainer,
const EmptyTransformation c 
) const
inlineprotectedinherited
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::setTime ( Real  time_)
inline

Notifies the local assembler about the current time of assembling. Should be called before assembling if the local operator has time dependencies.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
void Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::setWeight ( RangeField  weight_)
inline

Notifies the assembler about the current weight of assembling.

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
Real Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::suggestTimestep ( Real  dt) const
inline
const GO::Traits::TestGridFunctionSpaceConstraints & Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::testConstraints ( ) const
inlineinherited

get the constraints on the test grid function space

const GO::Traits::TrialGridFunctionSpaceConstraints & Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::trialConstraints ( ) const
inlineinherited

get the constraints on the trial grid function space

Friends And Related Function Documentation

template<typename GO, typename LOP, bool nonoverlapping_mode = false>
friend class DefaultLocalJacobianApplyAssemblerEngine< DefaultLocalAssembler >
friend
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
friend class DefaultLocalJacobianAssemblerEngine< DefaultLocalAssembler >
friend
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
friend class DefaultLocalPatternAssemblerEngine< DefaultLocalAssembler >
friend
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
friend class DefaultLocalResidualAssemblerEngine< DefaultLocalAssembler >
friend
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
template<typename , typename , typename , typename , typename , typename , typename , typename , typename , bool >
friend class GridOperator
friend

Member Data Documentation

GO::Traits::TrialGridFunctionSpaceConstraints Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::emptyconstraintsu
staticprotectedinherited
GO::Traits::TestGridFunctionSpaceConstraints Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::emptyconstraintsv
staticprotectedinherited
template<typename GO, typename LOP, bool nonoverlapping_mode = false>
const bool Dune::PDELab::DefaultLocalAssembler< GO, LOP, nonoverlapping_mode >::isNonOverlapping = nonoverlapping_mode
static
const GO::Traits::TrialGridFunctionSpaceConstraints * Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::pconstraintsu
protectedinherited
const GO::Traits::TestGridFunctionSpaceConstraints * Dune::PDELab::LocalAssemblerBase< GO::Traits::MatrixBackend , GO::Traits::TrialGridFunctionSpaceConstraints , GO::Traits::TestGridFunctionSpaceConstraints >::pconstraintsv
protectedinherited

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