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>
272 template<
typename EG>
280 template<
typename EG>
287 template<
typename IG>
293 template<
typename EG,
typename LFSU,
typename LFSV>
298 template<
typename EG,
typename LFSV>
304 template<
typename IG,
typename LFSU_S,
typename LFSV_S,
typename LFSU_N,
typename LFSV_N>
306 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
307 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n)
311 template<
typename IG,
typename LFSV_S,
typename LFSV_N>
313 const LFSV_S& lfsv_s,
314 const LFSV_N& lfsv_n)
319 template<
typename IG,
typename LFSU,
typename LFSV>
324 template<
typename IG,
typename LFSV>
330 template<
typename IG,
typename LFSU,
typename LFSV>
335 template<
typename IG,
typename LFSV>
341 template<
typename IG,
342 typename LFSU_S,
typename LFSV_S,
343 typename LFSU_N,
typename LFSV_N,
344 typename LFSU_C,
typename LFSV_C>
346 const LFSU_S& lfsu_s,
const LFSV_S& lfsv_s,
347 const LFSU_N& lfsu_n,
const LFSV_N& lfsv_n,
348 const LFSU_C& lfsu_c,
const LFSV_C& lfsv_c)
352 template<
typename IG,
357 const LFSV_S& lfsv_s,
358 const LFSV_N& lfsv_n,
359 const LFSV_C& lfsv_c)
364 template<
typename EG,
typename LFSU,
typename LFSV>
369 template<
typename EG,
typename LFSV>
383 template<
typename GFSU,
typename GFSV>
const IG & ig
Definition: constraints.hh:149
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
Base class for LocalAssemblerEngine implementations to avoid boilerplate code.
Definition: localassemblerenginebase.hh:22
void assembleVProcessor(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:336
void onBindLFSUV(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:114
void onBindLFSVCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:222
void onUnbindLFSUV(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:128
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:345
bool requireUVVolume() const
Definition: localassemblerenginebase.hh:42
bool requireUVBoundary() const
Definition: localassemblerenginebase.hh:62
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 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:305
bool requireUVProcessor() const
Definition: localassemblerenginebase.hh:72
void onBindLFSVOutside(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:182
bool requireSkeletonTwoSided() const
Definition: localassemblerenginebase.hh:37
void onUnbindLFSVCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:244
void assembleUVProcessor(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:331
bool skipEntity(const EG &eg)
Definition: localassemblerenginebase.hh:281
bool requireVBoundary() const
Definition: localassemblerenginebase.hh:67
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
bool assembleCell(const EG &eg)
Deprecated. Use skipEntity insted.
Definition: localassemblerenginebase.hh:273
bool requireUVSkeleton() const
Definition: localassemblerenginebase.hh:52
void loadCoefficientsLFSUInside(const LFSU &lfsu_s)
Definition: localassemblerenginebase.hh:252
void assembleVBoundary(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:325
void loadCoefficientsLFSUOutside(const LFSU_N &lfsu_n)
Definition: localassemblerenginebase.hh:257
void assembleUVBoundary(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:320
void assembleVEnrichedCoupling(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c)
Definition: localassemblerenginebase.hh:356
bool requireUVVolumePostSkeleton() const
Definition: localassemblerenginebase.hh:92
void loadCoefficientsLFSUCoupling(const LFSU_C &lfsu_c)
Definition: localassemblerenginebase.hh:262
void assembleVSkeleton(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:312
void onBindLFSUVInside(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:143
bool requireUVEnrichedCoupling() const
Definition: localassemblerenginebase.hh:82
auto partition() const
Definition: localassemblerenginebase.hh:102
bool requireVVolume() const
Definition: localassemblerenginebase.hh:47
void postAssembly(const GFSU &gfsu, const GFSV &gfsv)
Definition: localassemblerenginebase.hh:384
void preAssembly()
Definition: localassemblerenginebase.hh:379
void onBindLFSVInside(const IG &ig, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:150
void onUnbindLFSV(const EG &eg, const LFSV_S &lfsv_s)
Definition: localassemblerenginebase.hh:135
void onUnbindLFSVInside(const IG &ig, const LFSV_S &lfsv_s)
Definition: localassemblerenginebase.hh:164
bool requireVSkeleton() const
Definition: localassemblerenginebase.hh:57
void assembleVVolume(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:299
void onUnbindLFSVOutside(const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n)
Definition: localassemblerenginebase.hh:200
void assembleUVVolume(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:294
bool requireVVolumePostSkeleton() const
Definition: localassemblerenginebase.hh:97
bool requireVProcessor() const
Definition: localassemblerenginebase.hh:77
void onBindLFSV(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:121
void assembleUVVolumePostSkeleton(const EG &eg, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:365
bool requireVEnrichedCoupling() const
Definition: localassemblerenginebase.hh:87
void onUnbindLFSUVInside(const IG &ig, const LFSU &lfsu, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:157
bool skipIntersection(const IG &ig)
Definition: localassemblerenginebase.hh:288
void assembleVVolumePostSkeleton(const EG &eg, const LFSV &lfsv)
Definition: localassemblerenginebase.hh:370
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
bool requireSkeleton() const
Definition: localassemblerenginebase.hh:32
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:27