dune-pdelab  2.4-dev
Public Types | Public Member Functions | Static Public Attributes | List of all members
Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ > Struct Template Reference

Parameter class interface for the vector wave local operators. More...

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

Inheritance diagram for Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >:
Inheritance graph

Public Types

typedef Time_ Time
 export type of temporal values More...
 
typedef GV::ctype DomainField
 field type of domain More...
 
typedef FieldVector< DomainField, dimensionDomain
 vector type of domain More...
 
typedef RF RangeField
 field type of range More...
 
typedef FieldVector< RangeField, dimensionRange
 vector type of range More...
 
typedef GV::template Codim< 0 >::Entity Element
 element type of GridView More...
 

Public Member Functions

RangeField epsilon (const Element &e, const Domain &xl) const
 evaluate dielectric permittivity $\varepsilon=\varepsilon_0\varepsilon_r$ More...
 
bool epsilonChanged (Time t1, Time t2) const
 Whether epsilon changes between the given time steps. More...
 
RangeField mu (const Element &e, const Domain &xl) const
 evaluate magnetic permeability $\mu=\mu_0\mu_r$ More...
 
bool muChanged (Time t1, Time t2) const
 Whether mu changes between the given time steps. More...
 
void setTime (const Time &time)
 set the time for subsequent evaluation More...
 

Static Public Attributes

static const std::size_t dimension = GV::dimension
 export dimension (both domain and range) More...
 

Detailed Description

template<class Imp, class GV, class RF = double, class Time_ = double>
struct Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >

Parameter class interface for the vector wave local operators.

This can also be used as a CRTP base class to implement evaluation by element and local coordinates when the actual function is given in global coordinates.

Template Parameters
ImpThe class derived from this class. That class should either implement the global-coordinate functions or overwrite the local-coordinate-plus-element functions.
GVType of GridView to operate on. Used to extract ctype and dimension.
RFField type of the values.
Time_Type of temporal values.

Member Typedef Documentation

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef FieldVector<DomainField, dimension> Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::Domain

vector type of domain

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef GV::ctype Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::DomainField

field type of domain

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef GV::template Codim<0>::Entity Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::Element

element type of GridView

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef FieldVector<RangeField, dimension> Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::Range

vector type of range

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef RF Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::RangeField

field type of range

template<class Imp, class GV, class RF = double, class Time_ = double>
typedef Time_ Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::Time

export type of temporal values

Member Function Documentation

template<class Imp, class GV, class RF = double, class Time_ = double>
RangeField Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::epsilon ( const Element e,
const Domain xl 
) const
inline

evaluate dielectric permittivity $\varepsilon=\varepsilon_0\varepsilon_r$

This implementation forwards calls to the derived class, which should have an accessible member function

RangeField epsilon(const Domain& xg) const;
template<class Imp, class GV, class RF = double, class Time_ = double>
bool Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::epsilonChanged ( Time  t1,
Time  t2 
) const
inline

Whether epsilon changes between the given time steps.

This is used by the policy class to determine when evaluation values can be reused. This default implemention always returns true (change occured) to be on the safe side.

template<class Imp, class GV, class RF = double, class Time_ = double>
RangeField Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::mu ( const Element e,
const Domain xl 
) const
inline

evaluate magnetic permeability $\mu=\mu_0\mu_r$

This implementation forwards calls to the derived class, which should have an accessible member function

RangeField mu(const Domain& xg) const;
template<class Imp, class GV, class RF = double, class Time_ = double>
bool Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::muChanged ( Time  t1,
Time  t2 
) const
inline

Whether mu changes between the given time steps.

This is used by the policy class to determine when evaluation values can be reused. This default implemention always returns true (change occured) to be on the safe side.

template<class Imp, class GV, class RF = double, class Time_ = double>
void Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::setTime ( const Time time)
inline

set the time for subsequent evaluation

This is a no-op in the default implementation.

Member Data Documentation

template<class Imp, class GV, class RF = double, class Time_ = double>
const std::size_t Dune::PDELab::VectorWave::Parameters< Imp, GV, RF, Time_ >::dimension = GV::dimension
static

export dimension (both domain and range)


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