dune-pdelab  2.5-dev
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dune::PDELab::L2 Class Reference

#include <dune/pdelab/localoperator/l2.hh>

Inheritance diagram for Dune::PDELab::L2:
Inheritance graph

Public Types

using RealType = typename impl::ScalarL2 ::RealType
 
Flags for the sparsity pattern
enum  { doPatternVolume }
 Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. More...
 
enum  { doPatternVolumePostSkeleton }
 Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called. More...
 
enum  { doPatternSkeleton }
 Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. More...
 
enum  { doPatternBoundary }
 Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. More...
 
Flags for the non-constant part of the residual and the jacobian
enum  { doAlphaVolume }
 Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). More...
 
enum  { doAlphaVolumePostSkeleton }
 Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). More...
 
enum  { doAlphaSkeleton }
 Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). More...
 
enum  { doAlphaBoundary }
 Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). More...
 
Flags for the constant part of the residual
enum  { doLambdaVolume }
 Whether to call the local operator's lambda_volume(). More...
 
enum  { doLambdaVolumePostSkeleton }
 Whether to call the local operator's lambda_volume_post_skeleton(). More...
 
enum  { doLambdaSkeleton }
 Whether to call the local operator's lambda_skeleton(). More...
 
enum  { doLambdaBoundary }
 Whether to call the local operator's lambda_boundary(). More...
 
Special flags
enum  { doSkeletonTwoSided }
 Whether to visit the skeleton methods from both sides. More...
 

Public Member Functions

 L2 (int intorderadd=0, double scaling=1.0)
 Constructs a new L2 operator. More...
 
void alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
 
void jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const
 
void jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, M &mat) const
 
void setTime (RealType t)
 
RealType getTime () const
 
void preStep (RealType time, RealType dt, int stages)
 
void postStep ()
 
void preStage (RealType time, int r)
 
int getStage () const
 
void postStage ()
 
RealType suggestTimestep (RealType dt) const
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
 

Static Public Attributes

static constexpr bool doPatternVolume
 
static constexpr bool doAlphaVolume
 

Detailed Description

A local operator for the mass operator (L_2 integral)

\begin{align*} \int_\Omega uv dx \end{align*}

This operator also works for trees of function spaces by applying the L2 operator on the block diagonal.

Member Typedef Documentation

◆ RealType

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.

Enumerator
doPatternVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called.

Enumerator
doPatternVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.

Enumerator
doPatternSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.

Enumerator
doPatternBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().

Enumerator
doAlphaVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().

Enumerator
doAlphaVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().

Enumerator
doAlphaSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().

Enumerator
doAlphaBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_volume().

Enumerator
doLambdaVolume 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_volume_post_skeleton().

Enumerator
doLambdaVolumePostSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_skeleton().

Enumerator
doLambdaSkeleton 

◆ anonymous enum

anonymous enum
inherited

Whether to call the local operator's lambda_boundary().

Enumerator
doLambdaBoundary 

◆ anonymous enum

anonymous enum
inherited

Whether to visit the skeleton methods from both sides.

Enumerator
doSkeletonTwoSided 

Constructor & Destructor Documentation

◆ L2()

Dune::PDELab::L2::L2 ( int  intorderadd = 0,
double  scaling = 1.0 
)
inline

Constructs a new L2 operator.

This constructor creates a new L2 operator.

Parameters
intorderaddBy default, the operator will use the sum of the degrees of the ansatz and test space as its integration order. This parameter gets added to that value and lets you modify the default.
scalingThe output of the operator will be scaled by this value.

Member Function Documentation

◆ alpha_volume()

void Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::alpha_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
R &  r 
) const
inlineinherited

◆ getStage()

int Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::getStage ( ) const
inlineinherited

◆ getTime()

◆ jacobian_apply_volume()

void Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::jacobian_apply_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
Y &  y 
) const
inlineinherited

◆ jacobian_volume()

void Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::jacobian_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
M &  mat 
) const
inlineinherited

◆ pattern_volume()

template<typename LFSU , typename LFSV , typename LocalPattern >
void Dune::PDELab::FullVolumePattern::pattern_volume ( const LFSU &  lfsu,
const LFSV &  lfsv,
LocalPattern &  pattern 
) const
inlineinherited

◆ postStage()

◆ postStep()

◆ preStage()

void Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::preStage ( RealType  time,
int  r 
)
inlineinherited

◆ preStep()

void Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::preStep ( RealType  time,
RealType  dt,
int  stages 
)
inlineinherited

◆ setTime()

◆ suggestTimestep()

RealType Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::suggestTimestep ( RealType  dt) const
inlineinherited

Member Data Documentation

◆ doAlphaVolume

constexpr bool Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::doAlphaVolume
staticinherited

◆ doPatternVolume

constexpr bool Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< impl::ScalarL2 >::doPatternVolume
staticinherited

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