Go to the documentation of this file. 1 #ifndef DUNE_PDELAB_GRIDOPERATOR_ONESTEP_RESIDUALENGINE_HH
2 #define DUNE_PDELAB_GRIDOPERATOR_ONESTEP_RESIDUALENGINE_HH
18 template<
typename OSLA>
21 typename OSLA::LocalAssemblerDT0::LocalResidualAssemblerEngine,
22 typename OSLA::LocalAssemblerDT1::LocalResidualAssemblerEngine
27 typename OSLA::LocalAssemblerDT0::LocalResidualAssemblerEngine,
28 typename OSLA::LocalAssemblerDT1::LocalResidualAssemblerEngine
52 typedef typename OSLA::Traits::Residual
Residual;
55 typedef typename OSLA::Traits::Solution
Solution;
58 typedef typename OSLA::Real
Real;
69 :
BaseT(local_assembler_)
70 , invalid_residual(nullptr)
71 , invalid_solution(nullptr)
72 , residual_0(invalid_residual)
73 , residual_1(invalid_residual)
74 , const_residual_0(invalid_residual)
75 , const_residual_1(invalid_residual)
76 , solution(invalid_solution)
83 solution = &solution_;
90 const_residual_0 = &const_residual_;
91 const_residual_1 = &const_residual_;
98 residual_0 = &residual_;
99 residual_1 = &residual_;
102 assert(solution != invalid_solution);
113 const_residual_0 = &const_residual_0_;
114 const_residual_1 = &const_residual_1_;
123 residual_0 = &residual_0_;
124 residual_1 = &residual_1_;
127 assert(solution != invalid_solution);
137 la.la0.setWeight(b_rr *
la.dt_factor0);
138 la.la1.setWeight(
la.dt_factor1);
149 b_rr =
la.osp_method->b(
la.stage,
la.stage);
150 d_r =
la.osp_method->d(
la.stage);
155 la.la0.setTime(
la.time + d_r *
la.dt);
156 la.la1.setTime(
la.time + d_r *
la.dt);
161 template<
typename GFSU,
typename GFSV>
166 assert(const_residual_0 != invalid_residual);
167 assert(const_residual_1 != invalid_residual);
168 *residual_0 += *const_residual_0;
169 if(residual_0 != residual_1){
170 assert(const_residual_0 != const_residual_1);
171 *residual_1 += *const_residual_1;
174 lae0->postAssembly(gfsu,gfsv);
175 lae1->postAssembly(gfsu,gfsv);
215 #endif // DUNE_PDELAB_GRIDOPERATOR_ONESTEP_RESIDUALENGINE_HH
bool implicit
Definition: enginebase.hh:464
LocalAssemblerDT1::LocalResidualAssemblerEngine ResidualEngineDT1
Definition: onestep/residualengine.hh:48
OSLA::Real Real
The type for real numbers.
Definition: onestep/residualengine.hh:58
OneStepLocalResidualAssemblerEngine(const LocalAssembler &local_assembler_)
Constructor.
Definition: onestep/residualengine.hh:68
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
LocalAssemblerEngineDT0 * lae0
Definition: enginebase.hh:461
OSLA::Traits::Residual Residual
The type of the residual vector.
Definition: onestep/residualengine.hh:52
The local assembler engine for one step methods which assembles the residual vector.
Definition: onestep/residualengine.hh:19
OSLA::LocalAssemblerDT1 LocalAssemblerDT1
Definition: onestep/residualengine.hh:45
void postAssembly(const GFSU &gfsu, const GFSV &gfsv)
Definition: onestep/residualengine.hh:162
void setSolution(const Solution &solution_)
Definition: onestep/residualengine.hh:81
OSLA OneStepLocalAssembler
The type of the wrapping local assembler.
Definition: onestep/residualengine.hh:40
void setLocalAssemblerEngineDT1(LocalAssemblerEngineDT1 &lae1_)
Definition: enginebase.hh:124
LocalAssemblerDT0::LocalResidualAssemblerEngine ResidualEngineDT0
Definition: onestep/residualengine.hh:47
void setLocalAssemblerEngineDT0(LocalAssemblerEngineDT0 &lae0_)
Definition: enginebase.hh:119
const Entity & e
Definition: localfunctionspace.hh:120
OSLA LocalAssembler
Definition: onestep/residualengine.hh:60
void setResiduals(Residual &residual_0_, Residual &residual_1_)
Definition: onestep/residualengine.hh:121
OSLA::Traits::Solution Solution
The type of the solution vector.
Definition: onestep/residualengine.hh:55
The local assembler engine for UDG sub triangulations which assembles the residual vector.
Definition: enginebase.hh:15
const LocalAssembler & la
Definition: enginebase.hh:459
LocalAssemblerEngineDT1 * lae1
Definition: enginebase.hh:462
void preAssembly()
Definition: onestep/residualengine.hh:143
void setConstResidual(const Residual &const_residual_)
Definition: onestep/residualengine.hh:88
void setWeights()
Definition: onestep/residualengine.hh:135
void setResidual(Residual &residual_)
Definition: onestep/residualengine.hh:96
OSLA::LocalAssemblerDT0 LocalAssemblerDT0
Definition: onestep/residualengine.hh:44
OneStepLocalAssembler LocalAssembler
Definition: enginebase.hh:42
void setConstResiduals(const Residual &const_residual_0_, const Residual &const_residual_1_)
Definition: onestep/residualengine.hh:111