dune-pdelab
2.4-dev
|
The local assembler engine which handles the integration parts as provided by the global assemblers. More...
#include <dune/pdelab/gridoperator/common/assembler.hh>
Public Types | |
typedef LocalAssemblerInterface | LocalAssembler |
The type of the local assembler. More... | |
Public Member Functions | |
const LocalAssembler & | localAssembler () |
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) |
The local assembler engine which handles the integration parts as provided by the global assemblers.
The type of the local assembler.
bool Dune::PDELab::LocalAssemblerEngine::assembleCell | ( | const EG & | eg | ) |
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.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
void Dune::PDELab::LocalAssemblerEngine::assembleUVBoundary | ( | const IG & | ig, |
const LFSU_S & | lfsu_s, | ||
const LFSV_S & | lfsv_s | ||
) |
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().
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 | ||
) |
void Dune::PDELab::LocalAssemblerEngine::assembleUVProcessor | ( | const IG & | ig, |
const LFSU_S & | lfsu_s, | ||
const LFSV_S & | lfsv_s | ||
) |
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().
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 | ||
) |
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().
void Dune::PDELab::LocalAssemblerEngine::assembleUVVolume | ( | const EG & | eg, |
const LFSU & | lfsu, | ||
const LFSV & | lfsv | ||
) |
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().
void Dune::PDELab::LocalAssemblerEngine::assembleUVVolumePostSkeleton | ( | const EG & | eg, |
const LFSU & | lfsu, | ||
const LFSV & | lfsv | ||
) |
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().
void Dune::PDELab::LocalAssemblerEngine::assembleVBoundary | ( | const IG & | ig, |
const LFSV_S & | lfsv_s | ||
) |
Assembling for a boundary codim 1 entity part for test local function spaces.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
void Dune::PDELab::LocalAssemblerEngine::assembleVEnrichedCoupling | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n, | ||
const LFSV_C & | lfsv_c | ||
) |
void Dune::PDELab::LocalAssemblerEngine::assembleVProcessor | ( | const IG & | ig, |
const LFSV_S & | lfsv_s | ||
) |
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().
void Dune::PDELab::LocalAssemblerEngine::assembleVSkeleton | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n | ||
) |
Assembling for an interior codim 1 entity part for test local function spaces.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
void Dune::PDELab::LocalAssemblerEngine::assembleVVolume | ( | const EG & | eg, |
const LFSV & | lfsv | ||
) |
Assembling for a codim 0 entity part for test local function spaces.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
void Dune::PDELab::LocalAssemblerEngine::assembleVVolumePostSkeleton | ( | const EG & | eg, |
const LFSV & | lfsv | ||
) |
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 | ) |
void Dune::PDELab::LocalAssemblerEngine::loadCoefficientsLFSUInside | ( | const LFSU_S & | lfsu_s | ) |
void Dune::PDELab::LocalAssemblerEngine::loadCoefficientsLFSUOutside | ( | const LFSU_N & | lfsu_n | ) |
const LocalAssembler& Dune::PDELab::LocalAssemblerEngine::localAssembler | ( | ) |
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 | ||
) |
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 | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onBindLFSUVInside | ( | const IG & | ig, |
const LFSU_S & | lfsu_s, | ||
const LFSV_S & | lfsv_s | ||
) |
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 | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onBindLFSV | ( | const EG & | eg, |
const LFSV_S & | lfsv_s | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVCoupling | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n, | ||
const LFSV_Coupling & | lfsv_coupling | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVInside | ( | const IG & | ig, |
const LFSV_S & | lfsv_s | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onBindLFSVOutside | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUV | ( | const EG & | eg, |
const LFSU_S & | lfsu_s, | ||
const LFSV_S & | lfsv_s | ||
) |
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 | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSUVInside | ( | const IG & | ig, |
const LFSU_S & | lfsu_s, | ||
const LFSV_S & | lfsv_s | ||
) |
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 | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSV | ( | const EG & | eg, |
const LFSV_S & | lfsv_s | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVCoupling | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n, | ||
const LFSV_Coupling & | lfsv_coupling | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVInside | ( | const IG & | ig, |
const LFSV_S & | lfsv_s | ||
) |
void Dune::PDELab::LocalAssemblerEngine::onUnbindLFSVOutside | ( | const IG & | ig, |
const LFSV_S & | lfsv_s, | ||
const LFSV_N & | lfsv_n | ||
) |
void Dune::PDELab::LocalAssemblerEngine::postAssembly | ( | ) |
Called last thing after assembling.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
void Dune::PDELab::LocalAssemblerEngine::preAssembly | ( | ) |
Called directly before assembling.
Referenced by Dune::PDELab::DefaultAssembler< CGGFS, GFS, CC, CC, false >::assemble().
bool Dune::PDELab::LocalAssemblerEngine::requireSkeleton | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireSkeletonTwoSided | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVBoundary | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVEnrichedCoupling | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVProcessor | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVSkeleton | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVVolume | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireUVVolumePostSkeleton | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVBoundary | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVEnrichedCoupling | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVProcessor | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVSkeleton | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVVolume | ( | ) | const |
bool Dune::PDELab::LocalAssemblerEngine::requireVVolumePostSkeleton | ( | ) | const |
void Dune::PDELab::LocalAssemblerEngine::setJacobian | ( | const J & | j | ) |
void Dune::PDELab::LocalAssemblerEngine::setPattern | ( | const P & | p | ) |
void Dune::PDELab::LocalAssemblerEngine::setResidual | ( | const R & | r | ) |
void Dune::PDELab::LocalAssemblerEngine::setSolution | ( | const X & | x | ) |