DUNE PDELab (2.8)
Dune::PDELab::DGMaxwellSpatialOperator< T, FEM > Class Template Reference
Spatial local operator for discontinuous Galerkin method for Maxwells Equations. More...
#include <dune/pdelab/localoperator/maxwelldg.hh>
Public Types | |
Flags selective assembly | |
enum | |
Whether to do selective assembly on the elements, i.e. whether or not skip_entity() should be called. | |
enum | |
Whether to do selective assembly on the intersections, i.e. whether or not skip_intersection() should be called. | |
Flags for the sparsity pattern | |
enum | |
Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. | |
enum | |
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. | |
enum | |
Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. | |
enum | |
Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. | |
Flags for the non-constant part of the residual and the jacobian | |
enum | |
Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). | |
enum | |
Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). | |
enum | |
Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). | |
enum | |
Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). | |
Flags for the constant part of the residual | |
enum | |
Whether to call the local operator's lambda_volume(). | |
enum | |
Whether to call the local operator's lambda_volume_post_skeleton(). | |
enum | |
Whether to call the local operator's lambda_skeleton(). | |
enum | |
Whether to call the local operator's lambda_boundary(). | |
Special flags | |
enum | |
Whether to visit the skeleton methods from both sides. | |
enum | |
Wheter the local operator describes a linear problem. | |
Public Member Functions | |
void | setTime (typename T::Traits::RangeFieldType t) |
set time in parameter class | |
void | preStep (typename T::Traits::RangeFieldType time, typename T::Traits::RangeFieldType dt, int stages) |
to be called once before each time step | |
void | preStage (typename T::Traits::RangeFieldType time, int r) |
to be called once before each stage | |
void | postStage () |
to be called once at the end of each stage | |
T::Traits::RangeFieldType | suggestTimestep (typename T::Traits::RangeFieldType dt) const |
to be called once before each stage | |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const |
apply local jacobian of the volume term | |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const X &z, const LFSV &lfsv, Y &y) const |
apply local jacobian of the volume term | |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Jacobian &mat) const |
compute local jacobian of the volume term | |
void | jacobian_apply_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const |
apply local jacobian of the skeleton term | |
void | jacobian_apply_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const X &z_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const X &z_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const |
apply local jacobian of the skeleton term | |
void | jacobian_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, Jacobian &mat_ss, Jacobian &mat_sn, Jacobian &mat_ns, Jacobian &mat_nn) const |
compute local jacobian of the skeleton term | |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, Y &y_s) const |
apply local jacobian of the boundaryterm | |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const X &z_s, const LFSV &lfsv_s, Y &y_s) const |
apply local jacobian of the boundaryterm | |
void | jacobian_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, Jacobian &mat_ss) const |
compute local jacobian of the boundary term | |
T::Traits::RangeFieldType | getTime () const |
get current time More... | |
void | postStep () |
to be called once at the end of each time step More... | |
int | getStage () const |
get current stage More... | |
Detailed Description
template<typename T, typename FEM>
class Dune::PDELab::DGMaxwellSpatialOperator< T, FEM >
class Dune::PDELab::DGMaxwellSpatialOperator< T, FEM >
Spatial local operator for discontinuous Galerkin method for Maxwells Equations.
\begin{align*} - \nabla \times (\mu^{-1} B) + (\frac\sigma\epsilon) D &= j \\ + \nabla \times (\epsilon^{-1} D) &= 0 \end{align*}
with the state vector \(u=(D,B)^T\) having 2*dim components
- Assumes that the local function space is a power space with 2*dim identical components.
- Actually assumes dim==3 in the flux computation
- Assumes Galerkin method, i.e. U=V
- Template Parameters
-
T parameter class FEM Finite Element Map needed to select the cache
- Warning
- This operator cannot deal with spatially varying \(\epsilon\) or \(\mu\). You will get a result, but it will contain spurious reflections. This is a known bug, see issue #41.
Member Function Documentation
◆ getStage()
|
inlineinherited |
get current stage
- Returns
- The current stage number previously set by preStage().
◆ getTime()
|
inlineinherited |
get current time
- Returns
- The time previously set by setTime().
◆ postStep()
|
inlineinherited |
to be called once at the end of each time step
- Note
- With the OneStepMethod and the ExplicitOneStepMetod, for reasons unknown this is only called for temporal but not for spatial local operators. With the MultiStepMethod this is called for all local operators.
The documentation for this class was generated from the following file:
- dune/pdelab/localoperator/maxwelldg.hh
![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/80x15.png)