dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
Dune::PDELab::Electrodynamic_T< Eps > Class Template Reference

Construct matrix T for the Electrodynamic operator. More...

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

Inheritance diagram for Dune::PDELab::Electrodynamic_T< Eps >:
Inheritance graph

Public Types

Flags selective assembly
enum  { doSkipEntity }
 Whether to do selective assembly on the elements, i.e. whether or not skip_entity() should be called. More...
 
enum  { doSkipIntersection }
 Whether to do selective assembly on the intersections, i.e. whether or not skip_intersection() should be called. More...
 
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...
 
enum  { isLinear }
 Wheter the local operator describes a linear problem. More...
 

Public Member Functions

 Electrodynamic_T (const Eps &eps, int qorder=2)
 Construct an Electrodynamic_T localoperator.
 
 Electrodynamic_T (Eps &&eps, int qorder=2)
 
template<typename EG , typename LFS , typename X , typename M >
void jacobian_volume (const EG &eg, const LFS &lfsu, const X &x, const LFS &lfsv, M &mat) const
 
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
 
void alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
 compute $\alpha_\text{vol}$
 

Static Public Attributes

static constexpr bool doPatternVolume = true
 
static constexpr bool doAlphaVolume = true
 

Detailed Description

template<typename Eps>
class Dune::PDELab::Electrodynamic_T< Eps >

Construct matrix T for the Electrodynamic operator.

Construct the matrix

\[
   T_{ij}=\int_\Omega\epsilon\mathbf N_i\cdot\mathbf N_jdV
\]

which appears inside the Electrodynamic operator.

Template Parameters
EpsType of function to evaluate $\epsilon$

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

Whether to do selective assembly on the elements, i.e. whether or not skip_entity() should be called.

Enumerator
doSkipEntity 

◆ anonymous enum

anonymous enum
inherited

Whether to do selective assembly on the intersections, i.e. whether or not skip_intersection() should be called.

Enumerator
doSkipIntersection 

◆ 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 

◆ anonymous enum

anonymous enum
inherited

Wheter the local operator describes a linear problem.

Enumerator
isLinear 

Constructor & Destructor Documentation

◆ Electrodynamic_T() [1/2]

template<typename Eps >
Dune::PDELab::Electrodynamic_T< Eps >::Electrodynamic_T ( const Eps &  eps,
int  qorder = 2 
)
inline

Construct an Electrodynamic_T localoperator.

Parameters
eps(Reference to) Function object to evaluate.
qorderQuadrature order to use.

◆ Electrodynamic_T() [2/2]

template<typename Eps >
Dune::PDELab::Electrodynamic_T< Eps >::Electrodynamic_T ( Eps &&  eps,
int  qorder = 2 
)
inline

Member Function Documentation

◆ alpha_volume()

void Dune::PDELab::JacobianBasedAlphaVolume< Electrodynamic_T< Eps > >::alpha_volume ( const EG &  eg,
const LFSU &  lfsu,
const X &  x,
const LFSV &  lfsv,
R &  r 
) const
inlineinherited

compute $\alpha_\text{vol}$

◆ jacobian_volume()

template<typename Eps >
template<typename EG , typename LFS , typename X , typename M >
void Dune::PDELab::Electrodynamic_T< Eps >::jacobian_volume ( const EG &  eg,
const LFS &  lfsu,
const X &  x,
const LFS &  lfsv,
M &  mat 
) const
inline
Note
We support only Galerkin method lfsu==lfsv

◆ 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

Member Data Documentation

◆ doAlphaVolume

template<typename Eps >
constexpr bool Dune::PDELab::Electrodynamic_T< Eps >::doAlphaVolume = true
staticconstexpr

◆ doPatternVolume

template<typename Eps >
constexpr bool Dune::PDELab::Electrodynamic_T< Eps >::doPatternVolume = true
staticconstexpr

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