Go to the documentation of this file.
4 #ifndef DUNE_PDELAB_GRIDOPERATOR_COMMON_LOCALASSEMBLERENGINEBASE_HH
5 #define DUNE_PDELAB_GRIDOPERATOR_COMMON_LOCALASSEMBLERENGINEBASE_HH
104 return Partitions::interiorBorder;
112 template<
typename EG,
113 typename LFSU,
typename LFSV>
115 const LFSU& lfsu,
const LFSV& lfsv)
119 template<
typename EG,
126 template<
typename EG,
127 typename LFSU,
typename LFSV>
129 const LFSU& lfsu,
const LFSV& lfsv)
133 template<
typename EG,
136 const LFSV_S& lfsv_s)
141 template<
typename IG,
142 typename LFSU,
typename LFSV>
144 const LFSU& lfsu,
const LFSV& lfsv)
148 template<
typename IG,
155 template<
typename IG,
156 typename LFSU,
typename LFSV>
158 const LFSU& lfsu,
const LFSV& lfsv)
162 template<
typename IG,
165 const LFSV_S& lfsv_s)
170 template<
typename IG,
171 typename LFSU_S,
typename LFSV_S,
172 typename LFSU_N,
typename LFSV_N>
174 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
175 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n)
179 template<
typename IG,
183 const LFSV_S& lfsv_s,
184 const LFSV_N& lfsv_n)
188 template<
typename IG,
189 typename LFSU_S,
typename LFSV_S,
190 typename LFSU_N,
typename LFSV_N>
192 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
193 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n)
197 template<
typename IG,
201 const LFSV_S& lfsv_s,
202 const LFSV_N& lfsv_n)
207 template<
typename IG,
208 typename LFSU_S,
typename LFSV_S,
209 typename LFSU_N,
typename LFSV_N,
210 typename LFSU_C,
typename LFSV_C>
212 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
213 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n,
214 const LFSU_C& lfsu_c,
const LFSV_C& lfsv_c)
218 template<
typename IG,
223 const LFSV_S& lfsv_s,
224 const LFSV_N& lfsv_n,
225 const LFSV_C& lfsv_c)
229 template<
typename IG,
230 typename LFSU_S,
typename LFSV_S,
231 typename LFSU_N,
typename LFSV_N,
232 typename LFSU_C,
typename LFSV_C>
234 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
235 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n,
236 const LFSU_C& lfsu_c,
const LFSV_C& lfsv_c)
240 template<
typename IG,
245 const LFSV_S& lfsv_s,
246 const LFSV_N& lfsv_n,
247 const LFSV_C& lfsv_c)
251 template<
typename LFSU>
256 template<
typename LFSU_N>
261 template<
typename LFSU_C>
273 template<
typename EG>
279 template<
typename EG,
typename LFSU,
typename LFSV>
284 template<
typename EG,
typename LFSV>
290 template<
typename IG,
typename LFSU_S,
typename LFSV_S,
typename LFSU_N,
typename LFSV_N>
292 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
293 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n)
297 template<
typename IG,
typename LFSV_S,
typename LFSV_N>
299 const LFSV_S& lfsv_s,
300 const LFSV_N& lfsv_n)
305 template<
typename IG,
typename LFSU,
typename LFSV>
310 template<
typename IG,
typename LFSV>
316 template<
typename IG,
typename LFSU,
typename LFSV>
321 template<
typename IG,
typename LFSV>
327 template<
typename IG,
328 typename LFSU_S,
typename LFSV_S,
329 typename LFSU_N,
typename LFSV_N,
330 typename LFSU_C,
typename LFSV_C>
332 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
333 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n,
334 const LFSU_C& lfsu_c,
const LFSV_C& lfsv_c)
338 template<
typename IG,
343 const LFSV_S& lfsv_s,
344 const LFSV_N& lfsv_n,
345 const LFSV_C& lfsv_c)
350 template<
typename EG,
typename LFSU,
typename LFSV>
355 template<
typename EG,
typename LFSV>
369 template<
typename GFSU,
typename GFSV>
384 #endif // DUNE_PDELAB_GRIDOPERATOR_COMMON_LOCALASSEMBLERENGINEBASE_HH
bool requireVVolumePostSkeleton() const
Definition: localassemblerenginebase.hh:97
void onBindLFSV(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:121
bool requireVVolume() const
Definition: localassemblerenginebase.hh:47
void preAssembly()
Definition: localassemblerenginebase.hh:365
void loadCoefficientsLFSUInside(const LFSU &lfsu_s)
Definition: localassemblerenginebase.hh:252
void assembleUVVolume(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:280
void onBindLFSVCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:222
bool requireSkeletonTwoSided() const
Definition: localassemblerenginebase.hh:37
void onUnbindLFSV(const EG &eg, const LFSV_S &lfsv_s)
Definition: localassemblerenginebase.hh:135
void assembleVEnrichedCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:342
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
bool requireVEnrichedCoupling() const
Definition: localassemblerenginebase.hh:87
void onBindLFSVInside(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:150
bool requireVSkeleton() const
Definition: localassemblerenginebase.hh:57
void onUnbindLFSVInside(const IG &ig, const LFSV_S &lfsv_s)
Definition: localassemblerenginebase.hh:164
auto partition() const
Definition: localassemblerenginebase.hh:102
void onBindLFSUVCoupling(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:211
void onUnbindLFSUV(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:128
void onBindLFSVOutside(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:182
void onUnbindLFSUVOutside(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:191
Definition: localassemblerenginebase.hh:26
void onUnbindLFSUVCoupling(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:233
void assembleUVVolumePostSkeleton(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:351
bool requireVProcessor() const
Definition: localassemblerenginebase.hh:77
bool requireSkeleton() const
Definition: localassemblerenginebase.hh:32
void assembleVProcessor(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:322
void assembleUVProcessor(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:317
void assembleUVSkeleton(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:291
void assembleVBoundary(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:311
void onUnbindLFSUVInside(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:157
void assembleVVolumePostSkeleton(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:356
void onBindLFSUVOutside(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:173
void assembleUVBoundary(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:306
bool requireUVVolumePostSkeleton() const
Definition: localassemblerenginebase.hh:92
Base class for LocalAssemblerEngine implementations to avoid boilerplate code.
Definition: localassemblerenginebase.hh:21
void loadCoefficientsLFSUOutside(const LFSU_N &lfsu_n)
Definition: localassemblerenginebase.hh:257
void onUnbindLFSVOutside(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:200
void assembleVVolume(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:285
void assembleVSkeleton(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:298
void loadCoefficientsLFSUCoupling(const LFSU_C &lfsu_c)
Definition: localassemblerenginebase.hh:262
bool requireUVEnrichedCoupling() const
Definition: localassemblerenginebase.hh:82
void onBindLFSUV(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:114
const IG & ig
Definition: constraints.hh:149
bool requireUVProcessor() const
Definition: localassemblerenginebase.hh:72
bool requireUVBoundary() const
Definition: localassemblerenginebase.hh:62
bool requireUVVolume() const
Definition: localassemblerenginebase.hh:42
void assembleUVEnrichedCoupling(const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:331
void onUnbindLFSVCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:244
bool assembleCell(const EG &eg)
Definition: localassemblerenginebase.hh:274
bool requireVBoundary() const
Definition: localassemblerenginebase.hh:67
void onBindLFSUVInside(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:143
void postAssembly(const GFSU &gfsu, const GFSV &gfsv)
Definition: localassemblerenginebase.hh:370
bool requireUVSkeleton() const
Definition: localassemblerenginebase.hh:52