Spatial local operator for discontinuous Galerkin method for Maxwells Equations.
More...
enum { doPatternVolume = true
}
enum { doPatternSkeleton = true
}
enum { doAlphaVolume = true
}
enum { doAlphaSkeleton = true
}
enum { doAlphaBoundary = true
}
enum { doLambdaVolume = true
}
typedef T::Traits::RangeFieldType RealType
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...
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...
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...
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...
enum { doSkeletonTwoSided
}
Whether to visit the skeleton methods from both sides. More...
enum { isLinear
}
Wheter the local operator describes a linear problem. More...
DGMaxwellSpatialOperator (T ¶m_, int overintegration_=0)
template<typename EG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_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, R &r_s, R &r_n) const
template<typename IG , typename LFSU , typename X , typename LFSV , typename R >
void alpha_boundary (const IG &ig , const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, R &r_s) const
template<typename EG , typename LFSV , typename R >
void lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const
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
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y >
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
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
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
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y >
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
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_skeleton (const LFSU &lfsu_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const LFSV &lfsv_n, LocalPattern &pattern_sn, LocalPattern &pattern_ns) const
template<typename LFSU , typename LFSV , typename LocalPattern >
void pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const
T::Traits::RangeFieldType getTime () const
get current time
void postStep ()
to be called once at the end of each time step
int getStage () const
get current stage
template<typename T, typename FEM>
class Dune::PDELab::DGMaxwellSpatialOperator< T, FEM >
Spatial local operator for discontinuous Galerkin method for Maxwells Equations.
with the state vector 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 or . You will get a result, but it will contain spurious reflections. This is a known bug, see issue #41 .