|
dune-pdelab
2.0.0
|
a local operator for solving the Poisson equation in instationary problems More...
#include <dune/pdelab/localoperator/poisson.hh>

Public Types | |
| enum | { doPatternVolume = true } |
| enum | { doAlphaVolume = true } |
| enum | { doLambdaVolume = true } |
| enum | { doLambdaBoundary = true } |
| typedef Time | RealType |
Flags for the sparsity pattern | |
| 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... | |
Flags for the non-constant part of the residual and the jacobian | |
| 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... | |
Flags for the constant part of the residual | |
| 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... | |
Special flags | |
| enum | { doSkeletonTwoSided } |
| Whether to visit the skeleton methods from both sides. More... | |
Public Member Functions | |
| InstationaryPoisson (F &f_, B &bctype_, J &j_, unsigned int quadOrder) | |
| construct InstationaryPoisson More... | |
| void | setTime (Time t) |
| set the time for subsequent evaluation on the parameter functions 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 M > | |
| void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, M &matrix) const |
| Compute the Laplace stiffness matrix for the element given in 'eg'. More... | |
| template<typename EG , typename LFSV , typename R > | |
| void | lambda_volume (const EG &eg, const LFSV &lfsv, R &r) const |
| template<typename IG , typename LFSV , typename R > | |
| void | lambda_boundary (const IG &ig, const LFSV &lfsv, R &r) const |
| 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 LFSU , typename LFSV , typename LocalPattern > | |
| void | pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const |
| Time | 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... | |
Protected Attributes | |
| F & | f |
| B & | bctype |
| J & | j |
| Laplace | laplace_ |
| unsigned int | quadOrder_ |
a local operator for solving the Poisson equation in instationary problems
with conforming finite elements on all types of grids in any dimension
| F | Grid function type giving f |
| B | Grid function type selecting boundary condition |
| J | Grid function type giving j |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
construct InstationaryPoisson
|
inlineinherited |
|
inlineinherited |
get current stage
|
inlineinherited |
get current time
|
inlineinherited |
apply local jacobian of the volume term
|
inlineinherited |
Compute the Laplace stiffness matrix for the element given in 'eg'.
| M | Type of the element stiffness matrix |
| [in] | eg | The grid element we are assembling on |
| [in] | lfsu | Local ansatz function space basis |
| [in] | lfsv | Local test function space basis |
| [in] | x | Current configuration; gets ignored for linear problems like this one |
| [out] | matrix | Element stiffness matrix |
References Dune::PDELab::Laplace::jacobian_volume(), and Dune::PDELab::Poisson< F, B, J >::laplace_.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
to be called once at the end of each stage
|
inlineinherited |
to be called once at the end of each time step
|
inlineinherited |
to be called once before each stage
| time | Time of the stage |
| r | Number of the stage, r ∈ [1, nstages] inclusive, where nstages is the number of stage in the step given in the previous call to preStep() |
|
inlineinherited |
to be called once before each time step
| time | Time at beginning of the step. |
| dt | Size of time step. |
| stages | Number of stages to do in the step. For the MultiStepMethod this is always 1. |
|
inline |
set the time for subsequent evaluation on the parameter functions
References Dune::PDELab::InstationaryPoisson< Time, F, B, J >::bctype, Dune::PDELab::InstationaryPoisson< Time, F, B, J >::f, Dune::PDELab::InstationaryPoisson< Time, F, B, J >::j, and Dune::PDELab::InstationaryLocalOperatorDefaultMethods< Time >::setTime().
|
inlineinherited |
to be called after stage 1
This may be called on the spatial local operator in the case of an explicit one step scheme. It is called after stage 1 has been assembled (so the time given to preStep() may not apply anymore in this case). All the alpha_*() and lambda_*() methods should have been called, so they are a good place to generate the information returned here.
|
protected |
|
protected |
|
protected |
|
protectedinherited |
|
protectedinherited |
1.8.7