26 template<
class T,
unsigned D>
class BareField;
27 template<
class T,
unsigned D,
class M,
class C>
class Field;
28 template <
unsigned Dim,
class MFLOAT>
class Cartesian;
29 template <
unsigned Dim,
class MFLOAT>
32 template <
unsigned Dim,
class MFLOAT=
double>
174 unsigned vnodes1,
unsigned vnodes2,
175 bool recurse=
false,
int vnodes=-1);
177 unsigned vnodes1,
unsigned vnodes2,
unsigned vnodes3,
178 bool recurse=
false,
int vnodes=-1);
182 unsigned* vnodesPerDirection,
183 bool recurse=
false,
int vnodes=-1);
207 void print(std::ostream&);
271 template<
unsigned Dim,
class MFLOAT >
284 #ifndef CARTESIAN_STENCIL_SETUP_H
324 template <
class T,
class MFLOAT >
329 template <
class T,
class MFLOAT >
334 template <
class T,
class MFLOAT >
341 template <
class T,
class MFLOAT >
346 template <
class T,
class MFLOAT >
351 template <
class T,
class MFLOAT >
359 template <
class T,
class MFLOAT >
364 template <
class T,
class MFLOAT >
369 template <
class T,
class MFLOAT >
376 template <
class T,
class MFLOAT >
381 template <
class T,
class MFLOAT >
386 template <
class T,
class MFLOAT >
393 template <
class T,
class MFLOAT >
398 template <
class T,
class MFLOAT >
403 template <
class T,
class MFLOAT >
410 template <
class T,
class MFLOAT >
415 template <
class T,
class MFLOAT >
420 template <
class T,
class MFLOAT >
427 template <
class T,
class MFLOAT >
432 template <
class T,
class MFLOAT >
437 template <
class T,
class MFLOAT >
444 template <
class T,
class MFLOAT >
449 template <
class T,
class MFLOAT >
454 template <
class T,
class MFLOAT >
463 template <
class T,
class MFLOAT >
468 template <
class T,
class MFLOAT >
473 template <
class T,
class MFLOAT >
480 template <
class T,
class MFLOAT >
485 template <
class T,
class MFLOAT >
490 template <
class T,
class MFLOAT >
498 template <
class T,
class MFLOAT >
503 template <
class T,
class MFLOAT >
508 template <
class T,
class MFLOAT >
515 template <
class T,
class MFLOAT >
520 template <
class T,
class MFLOAT >
525 template <
class T,
class MFLOAT >
532 template <
class T,
class MFLOAT >
537 template <
class T,
class MFLOAT >
542 template <
class T,
class MFLOAT >
549 template <
class T,
class MFLOAT >
554 template <
class T,
class MFLOAT >
559 template <
class T,
class MFLOAT >
568 template <
class T1,
class T2,
class MFLOAT >
574 template <
class T1,
class T2,
class MFLOAT >
580 template <
class T1,
class T2,
class MFLOAT >
589 template <
class T1,
class T2,
class MFLOAT >
595 template <
class T1,
class T2,
class MFLOAT >
601 template <
class T1,
class T2,
class MFLOAT >
612 template <
class T1,
class MFLOAT >
617 template <
class T1,
class MFLOAT >
622 template <
class T1,
class MFLOAT >
630 template <
class T1,
class MFLOAT >
635 template <
class T1,
class MFLOAT >
640 template <
class T1,
class MFLOAT >
Field< T, 1U, Cartesian< 1U, MFLOAT >, Cell > & Div(Field< Vektor< T, 1U >, 1U, Cartesian< 1U, MFLOAT >, Vert > &x, Field< T, 1U, Cartesian< 1U, MFLOAT >, Cell > &r)
std::ostream & operator<<(std::ostream &, const Cartesian< Dim, MFLOAT > &)
Field< Vektor< T, 1U >, 1U, Cartesian< 1U, MFLOAT >, Cell > & Grad(Field< T, 1U, Cartesian< 1U, MFLOAT >, Vert > &x, Field< Vektor< T, 1U >, 1U, Cartesian< 1U, MFLOAT >, Cell > &r)
Field< T1, 1U, Cartesian< 1U, MFLOAT >, Vert > & Average(Field< T1, 1U, Cartesian< 1U, MFLOAT >, Cell > &x, Field< T2, 1U, Cartesian< 1U, MFLOAT >, Cell > &w, Field< T1, 1U, Cartesian< 1U, MFLOAT >, Vert > &r)
Vektor< MFLOAT, Dim > MeshVektor_t
Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > & getDeltaVertexField(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > &) const
void get_meshSpacing(unsigned d, MFLOAT *spacings) const
MFLOAT getCellRangeVolume(const NDIndex< Dim > &) const
Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Vert > & getVertexPositionField(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Vert > &) const
Vektor< MFLOAT, Dim > Dvc[1<< Dim]
NDIndex< Dim > getCellContaining(const Vektor< MFLOAT, Dim > &x) const
NDIndex< Dim > getVertexBelow(const Vektor< MFLOAT, Dim > &) const
BareField< Vektor< MFLOAT, Dim >, Dim > * CellSpacings
Vektor< MFLOAT, Dim > getSurfaceNormal(const NDIndex< Dim > &, unsigned) const
Vektor< MFLOAT, Dim > origin
void set_meshSpacing(MFLOAT **const del)
void getSurfaceNormalFields(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > **) const
Field< MFLOAT, Dim, Cartesian< Dim, MFLOAT >, Cell > & getCellVolumeField(Field< MFLOAT, Dim, Cartesian< Dim, MFLOAT >, Cell > &) const
Vektor< MFLOAT, Dim > getDeltaCell(const NDIndex< Dim > &) const
Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > & getCellPositionField(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > &) const
FieldLayout< Dim > * FlCell
MFLOAT getCellVolume(const NDIndex< Dim > &) const
Vektor< MFLOAT, Dim > getVertexPosition(const NDIndex< Dim > &) const
Vektor< MFLOAT, Dim > getCellPosition(const NDIndex< Dim > &) const
void storeSpacingFields()
void set_MeshBC(unsigned face, MeshBC_E meshBCType)
FieldLayout< Dim > * FlVert
void set_origin(const Vektor< MFLOAT, Dim > &o)
MeshBC_E * get_MeshBC() const
NDIndex< Dim > getNearestVertex(const Vektor< MFLOAT, Dim > &) const
Vektor< MFLOAT, Dim > * getSurfaceNormals(const NDIndex< Dim > &) const
std::map< int, MFLOAT > meshPosition[Dim]
Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Vert > & getDeltaCellField(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Vert > &) const
Vektor< MFLOAT, Dim > getDeltaVertex(const NDIndex< Dim > &) const
Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > & getSurfaceNormalField(Field< Vektor< MFLOAT, Dim >, Dim, Cartesian< Dim, MFLOAT >, Cell > &, unsigned) const
void updateMeshSpacingGuards(int face)
BareField< Vektor< MFLOAT, Dim >, Dim > * VertSpacings
std::map< int, MFLOAT > meshSpacing[Dim]
void print(std::ostream &)
Vektor< MFLOAT, Dim > get_origin() const
void initialize(const NDIndex< Dim > &ndi)
MFLOAT getVertRangeVolume(const NDIndex< Dim > &) const