DUNE PDELab (git)
The local assembler engine for DUNE grids which assembles the local application of the Jacobian. More...
#include <dune/pdelab/gridoperator/default/jacobianapplyengine.hh>
Public Member Functions | |
DefaultLocalJacobianApplyAssemblerEngine (const LocalAssembler &local_assembler_) | |
Constructor. More... | |
const LocalAssembler & | localAssembler () const |
Public access to the wrapping local assembler. | |
const LocalAssembler::Traits::TrialGridFunctionSpaceConstraints & | trialConstraints () const |
Trial space constraints. | |
const LocalAssembler::Traits::TestGridFunctionSpaceConstraints & | testConstraints () const |
Test space constraints. | |
void | setSolution (const Domain &solution_) |
void | setUpdate (const Domain &update_) |
void | setResult (Range &result_) |
bool | requireSkeleton () const |
template<typename EG , typename LFSUC , typename LFSVC > | |
void | onBindLFSUV (const EG &eg, const LFSUC &lfsu_cache, const LFSVC &lfsv_cache) |
template<typename EG , typename LFSVC > | |
void | onUnbindLFSV (const EG &eg, const LFSVC &lfsv_cache) |
template<typename LFSUC > | |
void | loadCoefficientsLFSUInside (const LFSUC &lfsu_s_cache) |
void | postAssembly (const GFSU &gfsu, const GFSV &gfsv) |
Query methods - return false by default | |
bool | requireVVolume () const |
bool | requireVSkeleton () const |
bool | requireVBoundary () const |
bool | requireUVProcessor () const |
bool | requireVProcessor () const |
bool | requireUVEnrichedCoupling () const |
bool | requireVEnrichedCoupling () const |
bool | requireVVolumePostSkeleton () const |
auto | partition () const |
Callbacks for LocalFunctionSpace binding and unbinding events | |
template<typename EG , typename LFSU , typename LFSV > | |
void | onBindLFSUV (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV > | |
void | onBindLFSV (const EG &eg, const LFSV &lfsv) |
template<typename EG , typename LFSU , typename LFSV > | |
void | onUnbindLFSUV (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV_S > | |
void | onUnbindLFSV (const EG &eg, const LFSV_S &lfsv_s) |
template<typename IG , typename LFSU , typename LFSV > | |
void | onBindLFSUVInside (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | onBindLFSVInside (const IG &ig, const LFSV &lfsv) |
template<typename IG , typename LFSU , typename LFSV > | |
void | onUnbindLFSUVInside (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV_S > | |
void | onUnbindLFSVInside (const IG &ig, const LFSV_S &lfsv_s) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N > | |
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) |
template<typename IG , typename LFSV_S , typename LFSV_N > | |
void | onBindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N > | |
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) |
template<typename IG , typename LFSV_S , typename LFSV_N > | |
void | onUnbindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C > | |
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_C &lfsu_c, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C > | |
void | onBindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C > | |
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_C &lfsu_c, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C > | |
void | onUnbindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c) |
template<typename LFSU > | |
void | loadCoefficientsLFSUInside (const LFSU &lfsu_s) |
template<typename LFSU_N > | |
void | loadCoefficientsLFSUOutside (const LFSU_N &lfsu_n) |
template<typename LFSU_C > | |
void | loadCoefficientsLFSUCoupling (const LFSU_C &lfsu_c) |
Assembly methods | |
template<typename EG > | |
bool | assembleCell (const EG &eg) |
Deprecated. Use skipEntity insted. | |
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 , typename LFSV > | |
void | assembleUVBoundary (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | assembleVBoundary (const IG &ig, const LFSV &lfsv) |
template<typename IG , typename LFSU , typename LFSV > | |
void | assembleUVProcessor (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | assembleVProcessor (const IG &ig, const LFSV &lfsv) |
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) |
Global assembly preparation and finalization methods | |
void | preAssembly () |
template<typename GFSU , typename GFSV > | |
void | postAssembly (const GFSU &gfsu, const GFSV &gfsv) |
Static Public Attributes | |
static constexpr bool | isLinear = LOP::isLinear |
Wheter the local operator is linear. | |
template<typename EG > | |
bool | skipEntity (const EG &eg) |
template<typename IG > | |
bool | skipIntersection (const IG &ig) |
Detailed Description
class Dune::PDELab::DefaultLocalJacobianApplyAssemblerEngine< LA >
The local assembler engine for DUNE grids which assembles the local application of the Jacobian.
- Template Parameters
-
LA The local assembler
Constructor & Destructor Documentation
◆ DefaultLocalJacobianApplyAssemblerEngine()
|
inline |
Constructor.
- Parameters
-
[in] local_assembler_ The local assembler object which creates this engine
Member Function Documentation
◆ loadCoefficientsLFSUInside()
|
inline |
Methods for loading of the local function's coefficients
References Dune::PDELab::DefaultLocalJacobianApplyAssemblerEngine< LA >::isLinear.
◆ onBindLFSUV()
|
inline |
Called immediately after binding of local function space in global assembler.
References Dune::PDELab::DefaultLocalJacobianApplyAssemblerEngine< LA >::isLinear, and Dune::PDELab::LocalVector< T, LFSFlavorTag, W >::resize().
◆ onUnbindLFSV()
|
inline |
Called when the local function space is about to be rebound or discarded
◆ postAssembly()
|
inline |
Notifier functions, called immediately before and after assembling
References Dune::PDELab::constrain_residual().
◆ requireSkeleton()
|
inline |
Query methods for the global grid assembler
◆ setResult()
|
inline |
Set current result vector. Should be called prior to assembling.
◆ setSolution()
|
inline |
Set current solution vector. Should be called prior to assembling.
◆ setUpdate()
|
inline |
Set current update vector. Should be called prior to assembling.
◆ skipEntity()
|
inline |
Assembling methods Assemble on a given cell without function spaces.
- Returns
- If true, the assembling for this cell is assumed to be complete and the assembler continues with the next grid cell.
References Dune::InteriorEntity, and Dune::PDELab::DefaultLocalJacobianApplyAssemblerEngine< LA >::localAssembler().
◆ skipIntersection()
|
inline |
Assemble on a given intersection without function spaces.
- Returns
- If true, the assembling for this intersection is assumed to be complete and the assembler continues with the next grid intersection.
References Dune::PDELab::DefaultLocalJacobianApplyAssemblerEngine< LA >::localAssembler().
The documentation for this class was generated from the following file:
- dune/pdelab/gridoperator/default/jacobianapplyengine.hh