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 More...
void preStep (typename T::Traits::RangeFieldType time, typename T::Traits::RangeFieldType dt, int stages)
to be called once before each time step More...
void preStage (typename T::Traits::RangeFieldType time, int r)
to be called once before each stage More...
void postStage ()
to be called once at the end of each stage More...
T::Traits::RangeFieldType suggestTimestep (typename T::Traits::RangeFieldType dt) const
to be called once before each stage More...
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 More...
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 More...
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 More...
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 More...
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 More...
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 More...
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 More...
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 More...
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 More...
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 More...
void postStep ()
to be called once at the end of each time step More...
int getStage () const
get current stage More...
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 .