1 #ifndef DUNE_PDELAB_GRIDOPERATOR_ONESTEP_JACOBIANENGINE_HH
2 #define DUNE_PDELAB_GRIDOPERATOR_ONESTEP_JACOBIANENGINE_HH
17 template<
typename OSLA>
20 typename OSLA::LocalAssemblerDT0::LocalJacobianAssemblerEngine,
21 typename OSLA::LocalAssemblerDT1::LocalJacobianAssemblerEngine
26 typename OSLA::LocalAssemblerDT0::LocalJacobianAssemblerEngine,
27 typename OSLA::LocalAssemblerDT1::LocalJacobianAssemblerEngine
47 typedef typename OSLA::Traits::Jacobian
Jacobian;
50 typedef typename OSLA::Traits::Solution
Solution;
53 typedef typename OSLA::Real
Real;
62 :
BaseT(local_assembler_),
63 invalid_jacobian(nullptr),
64 invalid_solution(nullptr),
65 jacobian(invalid_jacobian), solution(invalid_solution)
73 solution = &solution_;
80 jacobian = &jacobian_;
82 assert(solution != invalid_solution);
85 setLocalAssemblerEngineDT0(la.la0.localJacobianAssemblerEngine(*jacobian,*solution));
86 setLocalAssemblerEngineDT1(la.la1.localJacobianAssemblerEngine(*jacobian,*solution));
94 la.la0.setWeight(b_rr * la.dt_factor0);
95 la.la1.setWeight(la.dt_factor1);
106 b_rr = la.osp_method->b(la.stage,la.stage);
107 d_r = la.osp_method->d(la.stage);
111 implicit = abs(b_rr) > 1
e-6;
114 la.la0.setTime(la.time + d_r * la.dt);
115 la.la1.setTime(la.time + d_r * la.dt);
120 template<
typename GFSU,
typename GFSV>
123 lae0->postAssembly(gfsu,gfsv);
124 lae1->postAssembly(gfsu,gfsv);
const Entity & e
Definition: localfunctionspace.hh:123
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
The local assembler engine for UDG sub triangulations which assembles the residual vector.
Definition: enginebase.hh:16
const LocalAssembler & la
Definition: enginebase.hh:472
void setLocalAssemblerEngineDT0(LocalAssemblerEngineDT0 &lae0_)
Definition: enginebase.hh:119
LocalAssemblerEngineDT1 * lae1
Definition: enginebase.hh:475
void setLocalAssemblerEngineDT1(LocalAssemblerEngineDT1 &lae1_)
Definition: enginebase.hh:124
LocalAssemblerEngineDT0 * lae0
Definition: enginebase.hh:474
bool implicit
Definition: enginebase.hh:477
The local assembler engine for one step methods which assembles the residual vector.
Definition: onestep/jacobianengine.hh:23
OSLA LocalAssembler
The type of the wrapping local assembler.
Definition: onestep/jacobianengine.hh:38
OSLA::LocalAssemblerDT1 LocalAssemblerDT1
Definition: onestep/jacobianengine.hh:41
void setJacobian(Jacobian &jacobian_)
Definition: onestep/jacobianengine.hh:78
void setSolution(const Solution &solution_)
Definition: onestep/jacobianengine.hh:71
OSLA::Real Real
The type for real numbers.
Definition: onestep/jacobianengine.hh:53
void postAssembly(const GFSU &gfsu, const GFSV &gfsv)
Definition: onestep/jacobianengine.hh:121
LocalAssemblerDT0::LocalJacobianAssemblerEngine JacobianEngineDT0
Definition: onestep/jacobianengine.hh:43
LocalAssemblerDT1::LocalJacobianAssemblerEngine JacobianEngineDT1
Definition: onestep/jacobianengine.hh:44
OSLA::LocalAssemblerDT0 LocalAssemblerDT0
Definition: onestep/jacobianengine.hh:40
void setWeights()
Definition: onestep/jacobianengine.hh:92
OSLA::Traits::Solution Solution
The type of the solution vector.
Definition: onestep/jacobianengine.hh:50
void preAssembly()
Definition: onestep/jacobianengine.hh:100
OSLA::Traits::Jacobian Jacobian
The type of the residual vector.
Definition: onestep/jacobianengine.hh:47
OneStepLocalJacobianAssemblerEngine(const LocalAssembler &local_assembler_)
Constructor.
Definition: onestep/jacobianengine.hh:61