|
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...
|
|
|
| ConvectionDiffusionDG (T ¶m_, ConvectionDiffusionDGMethod::Type method_=ConvectionDiffusionDGMethod::SIPG, ConvectionDiffusionDGWeights::Type weights_=ConvectionDiffusionDGWeights::weightsOn, Real alpha_=1.0, int intorderadd_=0) |
| constructor: pass parameter object and define DG-method More...
|
|
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 EG , typename LFSU , typename X , typename LFSV , typename Y > |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const |
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename M > |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, M &mat) 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 Y > |
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 |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename M > |
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, M &mat_ss, M &mat_sn, M &mat_ns, M &mat_nn) const |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename R > |
void | residual_boundary_integral (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, R &r_s, bool jacobian_apply=false) 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 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 LFSV &lfsv_s, Y &y_s) const |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename M > |
void | jacobian_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, M &mat_ss) const |
|
template<typename EG , typename LFSV , typename R > |
void | lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const |
|
void | setTime (Real t) |
| set time in parameter class 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 | preStep (RealType time, RealType dt, int stages) |
| to be called once before each time step More...
|
|
void | postStep () |
| to be called once at the end of each time step More...
|
|
void | preStage (RealType time, int r) |
| to be called once before each stage More...
|
|
int | getStage () const |
| get current stage More...
|
|
void | postStage () |
| to be called once at the end of each stage More...
|
|
RealType | suggestTimestep (RealType dt) const |
| to be called after stage 1 More...
|
|
template<typename T, typename FiniteElementMap>
class Dune::PDELab::ConvectionDiffusionDG< T, FiniteElementMap >
a local operator for solving the convection-diffusion equation with discontinuous Galerkin
Note:
- This formulation is valid for velocity fields which are non-divergence free.
- Outflow boundary conditions should only be set on the outflow boundary
- This implementiation does not work with polynomial degree 0. Use ConvectionDiffusionCCFV in this case.
- Template Parameters
-
T | model of ConvectionDiffusionParameterInterface |