dune-pdelab  2.4-dev
Public Types | Public Member Functions | List of all members
Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::LocalResidualAssemblerEngine Class Reference

#include <dune/pdelab/gridoperator/common/assembler.hh>

Inheritance diagram for Dune::PDELab::LocalAssemblerInterface< B, CU, CV >::LocalResidualAssemblerEngine:
Inheritance graph

Public Types

typedef LocalAssemblerInterface LocalAssembler
 The type of the local assembler. More...
 

Public Member Functions

const LocalAssemblerlocalAssembler ()
 Access to the superior local assembler object. More...
 
Query methods

Query methods indicating which assembling methods need to be called by the global assembler.

bool requireSkeleton () const
 
bool requireSkeletonTwoSided () const
 
bool requireUVVolume () const
 
bool requireVVolume () const
 
bool requireUVSkeleton () const
 
bool requireVSkeleton () const
 
bool requireUVBoundary () const
 
bool requireVBoundary () const
 
bool requireUVProcessor () const
 
bool requireVProcessor () const
 
bool requireUVEnrichedCoupling () const
 
bool requireVEnrichedCoupling () const
 
bool requireUVVolumePostSkeleton () const
 
bool requireVVolumePostSkeleton () const
 
Assembling methods

All local function spaces as provided in these methods are already bound to the grid cell corresponding to the entity part eg or intersection part ig .

template<typename EG >
bool assembleCell (const EG &eg)
 
template<typename EG , typename LFSU , typename LFSV >
void assembleUVVolume (const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
 
template<typename EG , typename LFSV >
void assembleVVolume (const EG &eg, const LFSV &lfsv)
 
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N >
void assembleUVSkeleton (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
 
template<typename IG , typename LFSV_S , typename LFSV_N >
void assembleVSkeleton (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
 
template<typename IG , typename LFSU_S , typename LFSV_S >
void assembleUVBoundary (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
template<typename IG , typename LFSV_S >
void assembleVBoundary (const IG &ig, const LFSV_S &lfsv_s)
 
template<typename IG , typename LFSU_S , typename LFSV_S >
void assembleUVProcessor (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
template<typename IG , typename LFSV_S >
void assembleVProcessor (const IG &ig, const LFSV_S &lfsv_s)
 
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C >
void assembleUVEnrichedCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c)
 
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C >
void assembleVEnrichedCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
 
template<typename EG , typename LFSU , typename LFSV >
void assembleUVVolumePostSkeleton (const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
 
template<typename EG , typename LFSV >
void assembleVVolumePostSkeleton (const EG &eg, const LFSV &lfsv)
 
void preAssembly ()
 Called directly before assembling. More...
 
void postAssembly ()
 Called last thing after assembling. More...
 
Notifications

Notification methods called by the global assembler when binding and unbinding the local function spaces.

void onBindLFSUV (const EG &eg, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
void onBindLFSV (const EG &eg, const LFSV_S &lfsv_s)
 
void onBindLFSUVInside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
void onBindLFSVInside (const IG &ig, const LFSV_S &lfsv_s)
 
void onBindLFSUVOutside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
 
void onBindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
 
void onBindLFSUVCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n const LFSU_Coupling &lfsu_coupling, const LFSV_Coupling &lfsv_coupling)
 
void onBindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_Coupling &lfsv_coupling)
 
void onUnbindLFSUV (const EG &eg, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
void onUnbindLFSV (const EG &eg, const LFSV_S &lfsv_s)
 
void onUnbindLFSUVInside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s)
 
void onUnbindLFSVInside (const IG &ig, const LFSV_S &lfsv_s)
 
void onUnbindLFSUVOutside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
 
void onUnbindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
 
void onUnbindLFSUVCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_Coupling &lfsu_coupling, const LFSV_Coupling &lfsv_coupling)
 
void onUnbindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_Coupling &lfsv_coupling)
 
Loading trial space coefficients

Tells the engine to load the local coefficients for the given local function space.

void loadCoefficientsLFSUInside (const LFSU_S &lfsu_s)
 
void loadCoefficientsLFSUOutside (const LFSU_N &lfsu_n)
 
void loadCoefficientsLFSUCoupling (const LFSU_Coupling &lfsu_coupling)
 
Assign the assembler target objects

These methods assign the objects into which the assembler should assemble i.e. the solution vector from which the local coefficients are to be extracted.

void setSolution (const X &x)
 
void setPattern (const P &p)
 
void setJacobian (const J &j)
 
void setResidual (const R &r)
 

Member Typedef Documentation

The type of the local assembler.

Member Function Documentation

template<typename EG >
bool Dune::PDELab::LocalAssemblerEngine::assembleCell ( const EG &  eg)
inherited

Assembling method which is called for a given grid cell. It is called before the local function spaces are bound to the cell and the coefficients for the local trial function space are extracted.

Returns
Indicate whether assembling of this cell may be aborted after the call of this method. This may avoid unneccessary costs due to binding of the local function spaces etc.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSU_S , typename LFSV_S >
void Dune::PDELab::LocalAssemblerEngine::assembleUVBoundary ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited

Assembling for a boundary codim 1 entity part for trial and test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C >
void Dune::PDELab::LocalAssemblerEngine::assembleUVEnrichedCoupling ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &  lfsv_n,
const LFSU_C &  lfsu_c,
const LFSV_C &  lfsv_c 
)
inherited
template<typename IG , typename LFSU_S , typename LFSV_S >
void Dune::PDELab::LocalAssemblerEngine::assembleUVProcessor ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited

Assembling for a processor boundary codim 1 entity part for trial and test local function spaces. Specifically, this method will be called for intersections for which it holds that both ig.boundary() and ig.neighbor() return false, i.e. intersections for which it is not possible to obtain the outside entity.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N >
void Dune::PDELab::LocalAssemblerEngine::assembleUVSkeleton ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &  lfsv_n 
)
inherited

Assembling for an interior codim 1 entity part for trial and test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename EG , typename LFSU , typename LFSV >
void Dune::PDELab::LocalAssemblerEngine::assembleUVVolume ( const EG &  eg,
const LFSU &  lfsu,
const LFSV &  lfsv 
)
inherited

Assembling for a codim 0 entity part for trial and test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename EG , typename LFSU , typename LFSV >
void Dune::PDELab::LocalAssemblerEngine::assembleUVVolumePostSkeleton ( const EG &  eg,
const LFSU &  lfsu,
const LFSV &  lfsv 
)
inherited

Assembling for a codim 0 entity part for trial and test local function spaces which is called after the intersection parts of the current cell have been handled.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSV_S >
void Dune::PDELab::LocalAssemblerEngine::assembleVBoundary ( const IG &  ig,
const LFSV_S &  lfsv_s 
)
inherited

Assembling for a boundary codim 1 entity part for test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C >
void Dune::PDELab::LocalAssemblerEngine::assembleVEnrichedCoupling ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n,
const LFSV_C &  lfsv_c 
)
inherited
template<typename IG , typename LFSV_S >
void Dune::PDELab::LocalAssemblerEngine::assembleVProcessor ( const IG &  ig,
const LFSV_S &  lfsv_s 
)
inherited

Assembling for a processor boundary codim 1 entity part for test local function spaces. Specifically, this method will be called for intersections for which it holds that both ig.boundary() and ig.neighbor() return false, i.e. intersections for which it is not possible to obtain the outside entity.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename IG , typename LFSV_S , typename LFSV_N >
void Dune::PDELab::LocalAssemblerEngine::assembleVSkeleton ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n 
)
inherited

Assembling for an interior codim 1 entity part for test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename EG , typename LFSV >
void Dune::PDELab::LocalAssemblerEngine::assembleVVolume ( const EG &  eg,
const LFSV &  lfsv 
)
inherited

Assembling for a codim 0 entity part for test local function spaces.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

template<typename EG , typename LFSV >
void Dune::PDELab::LocalAssemblerEngine::assembleVVolumePostSkeleton ( const EG &  eg,
const LFSV &  lfsv 
)
inherited

Assembling for a codim 0 entity part for test local function spaces which is called after the intersection parts of the current cell have been handled.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

void Dune::PDELab::LocalAssemblerEngine::loadCoefficientsLFSUCoupling ( const LFSU_Coupling &  lfsu_coupling)
inherited
void Dune::PDELab::LocalAssemblerEngine::loadCoefficientsLFSUInside ( const LFSU_S &  lfsu_s)
inherited
void Dune::PDELab::LocalAssemblerEngine::loadCoefficientsLFSUOutside ( const LFSU_N &  lfsu_n)
inherited
const LocalAssembler& Dune::PDELab::LocalAssemblerEngine::localAssembler ( )
inherited

Access to the superior local assembler object.

void Dune::PDELab::LocalAssemblerEngine::onBindLFSUV ( const EG &  eg,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSUVCoupling ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &lfsv_n const LFSU_Coupling &  lfsu_coupling,
const LFSV_Coupling &  lfsv_coupling 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSUVInside ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSUVOutside ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &  lfsv_n 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSV ( const EG &  eg,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVCoupling ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n,
const LFSV_Coupling &  lfsv_coupling 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVInside ( const IG &  ig,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVOutside ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUV ( const EG &  eg,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUVCoupling ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &  lfsv_n,
const LFSU_Coupling &  lfsu_coupling,
const LFSV_Coupling &  lfsv_coupling 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUVInside ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUVOutside ( const IG &  ig,
const LFSU_S &  lfsu_s,
const LFSV_S &  lfsv_s,
const LFSU_N &  lfsu_n,
const LFSV_N &  lfsv_n 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSV ( const EG &  eg,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVCoupling ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n,
const LFSV_Coupling &  lfsv_coupling 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVInside ( const IG &  ig,
const LFSV_S &  lfsv_s 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVOutside ( const IG &  ig,
const LFSV_S &  lfsv_s,
const LFSV_N &  lfsv_n 
)
inherited
void Dune::PDELab::LocalAssemblerEngine::postAssembly ( )
inherited

Called last thing after assembling.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

void Dune::PDELab::LocalAssemblerEngine::preAssembly ( )
inherited

Called directly before assembling.

Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().

bool Dune::PDELab::LocalAssemblerEngine::requireSkeleton ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireSkeletonTwoSided ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVBoundary ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVEnrichedCoupling ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVProcessor ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVSkeleton ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVVolume ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireUVVolumePostSkeleton ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVBoundary ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVEnrichedCoupling ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVProcessor ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVSkeleton ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVVolume ( ) const
inherited
bool Dune::PDELab::LocalAssemblerEngine::requireVVolumePostSkeleton ( ) const
inherited
void Dune::PDELab::LocalAssemblerEngine::setJacobian ( const J &  j)
inherited
void Dune::PDELab::LocalAssemblerEngine::setPattern ( const P &  p)
inherited
void Dune::PDELab::LocalAssemblerEngine::setResidual ( const R &  r)
inherited
void Dune::PDELab::LocalAssemblerEngine::setSolution ( const X &  x)
inherited

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