dune-pdelab  2.4-dev
Classes | Public Types | Public Member Functions | List of all members
Dune::PDELab::Electrodynamic_S< Mu > Class Template Reference

Contruct matrix S for the Electrodynamic operator. More...

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

Inheritance diagram for Dune::PDELab::Electrodynamic_S< Mu >:
Inheritance graph

Public Types

enum  { doPatternVolume = true }
 
enum  { doAlphaVolume = true }
 
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

 Electrodynamic_S (const Mu &mu_, int qorder_=2)
 Construct an Electrodynamic_S localoperator. More...
 
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}$ More...
 

Detailed Description

template<typename Mu>
class Dune::PDELab::Electrodynamic_S< Mu >

Contruct matrix S for the Electrodynamic operator.

Construct the matrix

\[ S_{ij}=\int_\Omega\mu^{-1}(\nabla\times\mathbf N_i)\cdot (\nabla\times\mathbf N_j)dV \]

which appears inside the Electrodynamic operator.

Template Parameters
MuType of function to evaluate $\mu$

Constructor & Destructor Documentation

template<typename Mu >
Dune::PDELab::Electrodynamic_S< Mu >::Electrodynamic_S ( const Mu &  mu_,
int  qorder_ = 2 
)
inline

Construct an Electrodynamic_S localoperator.

Parameters
mu_Reference to function object to evaluate
qorder_Quadrature order to use.
Note
The references the the function objects should be valid for as long as this localoperators residual() method is used.

Member Function Documentation

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

compute $\alpha_\text{vol}$

template<typename Mu >
template<typename EG , typename LFS , typename X , typename M >
void Dune::PDELab::Electrodynamic_S< Mu >::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

References dim, and value.

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

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