26 template <
class T,
unsigned Dim>
33 template <
unsigned Dim>
44 template <
class FT,
class M,
class C,
class PT>
64 ERRORMSG(
"IntSUDS::scatter: not implemented for Dim>3!!"<<
endl);
70 template <
class FT,
class M,
class C,
class PT>
79 ngp =
FindNGP(mesh, ppos, ctag);
91 ERRORMSG(
"IntSUDS::scatter: not implemented for Dim>3!!"<<
endl);
96 template <
class FT,
class M,
class C,
class PT>
103 ERRORMSG(
"IntSUDS::scatter: not implemented for Dim>3!!"<<
endl);
108 template <
class FT,
class M,
class C,
class PT>
118 FindPos(gpos, mesh, ngp, ctag);
128 ERRORMSG(
"IntSUDS::gather: not implemented for Dim>3!!"<<
endl);
134 template <
class FT,
class M,
class C,
class PT>
143 ngp =
FindNGP(mesh, ppos, ctag);
145 FindPos(gpos, mesh, ngp, ctag);
155 ERRORMSG(
"IntSUDS::gather: not implemented for Dim>3!!"<<
endl);
160 template <
class FT,
class M,
class C,
class PT>
167 ERRORMSG(
"IntSUDS::gather: not implemented for Dim>3!!"<<
endl);
185 template <
class FT,
class M,
class C,
class PT>
194 FindPos(gpos, mesh, ngp, ctag);
205 fiter.
offset( 1) += 0.5 * dpos(0) * pdata;
206 fiter.
offset(-1) -= 0.5 * dpos(0) * pdata;
212 template <
class FT,
class M,
class C,
class PT>
220 ngp =
FindNGP(mesh, ppos, ctag);
222 FindPos(gpos, mesh, ngp, ctag);
233 fiter.
offset( 1) += 0.5 * dpos(0) * pdata;
234 fiter.
offset(-1) -= 0.5 * dpos(0) * pdata;
239 template <
class FT,
class M,
class C,
class PT>
247 fiter.
offset( 1) += 0.5 * dpos(0) * pdata;
248 fiter.
offset(-1) -= 0.5 * dpos(0) * pdata;
253 template <
class FT,
class M,
class C,
class PT>
262 FindPos(gpos, mesh, ngp, ctag);
279 template <
class FT,
class M,
class C,
class PT>
287 ngp =
FindNGP(mesh, ppos, ctag);
289 FindPos(gpos, mesh, ngp, ctag);
305 template <
class FT,
class M,
class C,
class PT>
331 template <
class FT,
class M,
class C,
class PT>
340 FindPos(gpos, mesh, ngp, ctag);
351 fiter.
offset( 1,0) += 0.5 * dpos(0) * pdata;
352 fiter.
offset(-1,0) -= 0.5 * dpos(0) * pdata;
353 fiter.
offset(0, 1) += 0.5 * dpos(1) * pdata;
354 fiter.
offset(0,-1) -= 0.5 * dpos(1) * pdata;
360 template <
class FT,
class M,
class C,
class PT>
368 ngp =
FindNGP(mesh, ppos, ctag);
370 FindPos(gpos, mesh, ngp, ctag);
381 fiter.
offset( 1,0) += 0.5 * dpos(0) * pdata;
382 fiter.
offset(-1,0) -= 0.5 * dpos(0) * pdata;
383 fiter.
offset(0, 1) += 0.5 * dpos(1) * pdata;
384 fiter.
offset(0,-1) -= 0.5 * dpos(1) * pdata;
389 template <
class FT,
class M,
class C,
class PT>
397 fiter.
offset( 1,0) += 0.5 * dpos(0) * pdata;
398 fiter.
offset(-1,0) -= 0.5 * dpos(0) * pdata;
399 fiter.
offset(0, 1) += 0.5 * dpos(1) * pdata;
400 fiter.
offset(0,-1) -= 0.5 * dpos(1) * pdata;
405 template <
class FT,
class M,
class C,
class PT>
414 FindPos(gpos, mesh, ngp, ctag);
425 0.5 * dpos(0) * (fiter.
offset(1,0) - fiter.
offset(-1,0)) +
426 0.5 * dpos(1) * (fiter.
offset(0,1) - fiter.
offset(0,-1));
432 template <
class FT,
class M,
class C,
class PT>
440 ngp =
FindNGP(mesh, ppos, ctag);
442 FindPos(gpos, mesh, ngp, ctag);
453 0.5 * dpos(0) * (fiter.
offset(1,0) - fiter.
offset(-1,0)) +
454 0.5 * dpos(1) * (fiter.
offset(0,1) - fiter.
offset(0,-1));
459 template <
class FT,
class M,
class C,
class PT>
467 0.5 * dpos(0) * (fiter.
offset(1,0) - fiter.
offset(-1,0)) +
468 0.5 * dpos(1) * (fiter.
offset(0,1) - fiter.
offset(0,-1));
486 template <
class FT,
class M,
class C,
class PT>
495 FindPos(gpos, mesh, ngp, ctag);
506 fiter.
offset( 1,0,0) += 0.5 * dpos(0) * pdata;
507 fiter.
offset(-1,0,0) -= 0.5 * dpos(0) * pdata;
508 fiter.
offset(0, 1,0) += 0.5 * dpos(1) * pdata;
509 fiter.
offset(0,-1,0) -= 0.5 * dpos(1) * pdata;
510 fiter.
offset(0,0, 1) += 0.5 * dpos(2) * pdata;
511 fiter.
offset(0,0,-1) -= 0.5 * dpos(2) * pdata;
517 template <
class FT,
class M,
class C,
class PT>
525 ngp =
FindNGP(mesh, ppos, ctag);
527 FindPos(gpos, mesh, ngp, ctag);
538 fiter.
offset( 1,0,0) += 0.5 * dpos(0) * pdata;
539 fiter.
offset(-1,0,0) -= 0.5 * dpos(0) * pdata;
540 fiter.
offset(0, 1,0) += 0.5 * dpos(1) * pdata;
541 fiter.
offset(0,-1,0) -= 0.5 * dpos(1) * pdata;
542 fiter.
offset(0,0, 1) += 0.5 * dpos(2) * pdata;
543 fiter.
offset(0,0,-1) -= 0.5 * dpos(2) * pdata;
548 template <
class FT,
class M,
class C,
class PT>
556 fiter.
offset( 1,0,0) += 0.5 * dpos(0) * pdata;
557 fiter.
offset(-1,0,0) -= 0.5 * dpos(0) * pdata;
558 fiter.
offset(0, 1,0) += 0.5 * dpos(1) * pdata;
559 fiter.
offset(0,-1,0) -= 0.5 * dpos(1) * pdata;
560 fiter.
offset(0,0, 1) += 0.5 * dpos(2) * pdata;
561 fiter.
offset(0,0,-1) -= 0.5 * dpos(2) * pdata;
566 template <
class FT,
class M,
class C,
class PT>
575 FindPos(gpos, mesh, ngp, ctag);
586 0.5 * dpos(0) * (fiter.
offset(1,0,0) - fiter.
offset(-1,0,0)) +
587 0.5 * dpos(1) * (fiter.
offset(0,1,0) - fiter.
offset(0,-1,0)) +
588 0.5 * dpos(2) * (fiter.
offset(0,0,1) - fiter.
offset(0,0,-1));
594 template <
class FT,
class M,
class C,
class PT>
602 ngp =
FindNGP(mesh, ppos, ctag);
604 FindPos(gpos, mesh, ngp, ctag);
615 0.5 * dpos(0) * (fiter.
offset(1,0,0) - fiter.
offset(-1,0,0)) +
616 0.5 * dpos(1) * (fiter.
offset(0,1,0) - fiter.
offset(0,-1,0)) +
617 0.5 * dpos(2) * (fiter.
offset(0,0,1) - fiter.
offset(0,0,-1));
622 template <
class FT,
class M,
class C,
class PT>
630 0.5 * dpos(0) * (fiter.
offset(1,0,0) - fiter.
offset(-1,0,0)) +
631 0.5 * dpos(1) * (fiter.
offset(0,1,0) - fiter.
offset(0,-1,0)) +
632 0.5 * dpos(2) * (fiter.
offset(0,0,1) - fiter.
offset(0,0,-1));
650 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
659 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
668 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
676 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
685 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
694 template <
class FT,
unsigned Dim,
class M,
class C,
class PT>
NDIndex< Dim > FindNGP(const M &mesh, const Vektor< PT, Dim > &ppos, CenteringTag< Cell >)
void FindDelta(Vektor< PT, Dim > &delta, const M &mesh, const NDIndex< Dim > &gp, CenteringTag< Cell >)
void FindPos(Vektor< PT, Dim > &pos, const M &mesh, const NDIndex< Dim > &indices, CenteringTag< Cell >)
Inform & endl(Inform &inf)
static CompressedBrickIterator< T, Dim > getFieldIter(const BareField< T, Dim > &f, const NDIndex< Dim > &pt)
CacheData1< T, Dim > Cache_t
static void scatter(const FT &, Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh, NDIndex< Dim > &ngp, Vektor< PT, Dim > &dpos)
static void gather(FT &, const Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh)
static void gather(FT &, const Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh, NDIndex< Dim > &ngp, Vektor< PT, Dim > &dpos)
static void gather(FT &, const Field< FT, Dim, M, C > &f, const NDIndex< Dim > &ngp, const Vektor< PT, Dim > &)
static void scatter(const FT &, Field< FT, Dim, M, C > &f, const NDIndex< Dim > &ngp, const Vektor< PT, Dim > &)
static void scatter(const FT &, Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, 1U, M, C > &f, const NDIndex< 1U > &ngp, const Vektor< PT, 1U > &dpos)
static void gather(FT &pdata, const Field< FT, 1U, M, C > &f, const NDIndex< 1U > &ngp, const Vektor< PT, 1U > &dpos)
static void scatter(const FT &pdata, Field< FT, 1U, M, C > &f, const Vektor< PT, 1U > &ppos, const M &mesh, NDIndex< 1U > &ngp, Vektor< PT, 1U > &dpos)
static void gather(FT &pdata, const Field< FT, 1U, M, C > &f, const Vektor< PT, 1U > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, 1U, M, C > &f, const Vektor< PT, 1U > &ppos, const M &mesh)
static void gather(FT &pdata, const Field< FT, 1U, M, C > &f, const Vektor< PT, 1U > &ppos, const M &mesh, NDIndex< 1U > &ngp, Vektor< PT, 1U > &dpos)
static void scatter(const FT &pdata, Field< FT, 2U, M, C > &f, const Vektor< PT, 2U > &ppos, const M &mesh, NDIndex< 2U > &ngp, Vektor< PT, 2U > &dpos)
static void gather(FT &pdata, const Field< FT, 2U, M, C > &f, const Vektor< PT, 2U > &ppos, const M &mesh, NDIndex< 2U > &ngp, Vektor< PT, 2U > &dpos)
static void gather(FT &pdata, const Field< FT, 2U, M, C > &f, const NDIndex< 2U > &ngp, const Vektor< PT, 2U > &dpos)
static void scatter(const FT &pdata, Field< FT, 2U, M, C > &f, const NDIndex< 2U > &ngp, const Vektor< PT, 2U > &dpos)
static void gather(FT &pdata, const Field< FT, 2U, M, C > &f, const Vektor< PT, 2U > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, 2U, M, C > &f, const Vektor< PT, 2U > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, 3U, M, C > &f, const Vektor< PT, 3U > &ppos, const M &mesh, NDIndex< 3U > &ngp, Vektor< PT, 3U > &dpos)
static void gather(FT &pdata, const Field< FT, 3U, M, C > &f, const NDIndex< 3U > &ngp, const Vektor< PT, 3U > &dpos)
static void gather(FT &pdata, const Field< FT, 3U, M, C > &f, const Vektor< PT, 3U > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, 3U, M, C > &f, const Vektor< PT, 3U > &ppos, const M &mesh)
static void gather(FT &pdata, const Field< FT, 3U, M, C > &f, const Vektor< PT, 3U > &ppos, const M &mesh, NDIndex< 3U > &ngp, Vektor< PT, 3U > &dpos)
static void scatter(const FT &pdata, Field< FT, 3U, M, C > &f, const NDIndex< 3U > &ngp, const Vektor< PT, 3U > &dpos)
static void scatter(const FT &pdata, Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh)
static void scatter(const FT &pdata, Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh, CacheData1< PT, Dim > &cache)
static void gather(FT &pdata, const Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh)
static void gather(FT &pdata, const Field< FT, Dim, M, C > &f, const Vektor< PT, Dim > &ppos, const M &mesh, CacheData1< PT, Dim > &cache)
static void gather(FT &pdata, const Field< FT, Dim, M, C > &f, const CacheData1< PT, Dim > &cache)
static void scatter(const FT &pdata, Field< FT, Dim, M, C > &f, const CacheData1< PT, Dim > &cache)