11 #ifndef UNIFORM_CARTESIAN_H
12 #define UNIFORM_CARTESIAN_H
24 template<
class T,
unsigned D>
class BareField;
25 template<
class T,
unsigned D,
class M,
class C>
class Field;
27 template <
unsigned Dim,
class MFLOAT>
29 template <
unsigned Dim,
class MFLOAT>
32 template <
unsigned Dim,
class MFLOAT=
double>
151 unsigned vnodes1,
unsigned vnodes2,
152 bool recurse=
false,
int vnodes=-1);
154 unsigned vnodes1,
unsigned vnodes2,
unsigned vnodes3,
155 bool recurse=
false,
int vnodes=-1);
159 unsigned* vnodesPerDirection,
160 bool recurse=
false,
int vnodes=-1);
177 void print(std::ostream&);
244 template<
unsigned Dim,
class MFLOAT >
254 template<
unsigned Dim,
class MFLOAT >
268 #ifndef CARTESIAN_STENCIL_SETUP_H
308 template <
class T,
class MFLOAT >
313 template <
class T,
class MFLOAT >
318 template <
class T,
class MFLOAT >
325 template <
class T,
class MFLOAT >
330 template <
class T,
class MFLOAT >
335 template <
class T,
class MFLOAT >
342 template <
class T,
class MFLOAT >
347 template <
class T,
class MFLOAT >
352 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 >
428 template <
class T,
class MFLOAT >
433 template <
class T,
class MFLOAT >
440 template <
class T,
class MFLOAT >
446 template <
class T,
class MFLOAT >
453 template <
class T,
class MFLOAT >
458 template <
class T,
class MFLOAT >
463 template <
class T,
class MFLOAT >
470 template <
class T,
class MFLOAT >
475 template <
class T,
class MFLOAT >
480 template <
class T,
class MFLOAT >
487 template <
class T,
class MFLOAT >
492 template <
class T,
class MFLOAT >
497 template <
class T,
class MFLOAT >
504 template <
class T,
class MFLOAT >
509 template <
class T,
class MFLOAT >
514 template <
class T,
class MFLOAT >
521 template <
class T,
class MFLOAT >
526 template <
class T,
class MFLOAT >
531 template <
class T,
class MFLOAT >
538 template <
class T,
class MFLOAT >
543 template <
class T,
class MFLOAT >
548 template <
class T,
class MFLOAT >
556 template <
class T,
class MFLOAT >
561 template <
class T,
class MFLOAT >
568 template <
class T,
class MFLOAT >
573 template <
class T,
class MFLOAT >
578 template <
class T,
class MFLOAT >
588 template <
class T1,
class T2,
class MFLOAT >
594 template <
class T1,
class T2,
class MFLOAT >
600 template <
class T1,
class T2,
class MFLOAT >
609 template <
class T1,
class T2,
class MFLOAT >
615 template <
class T1,
class T2,
class MFLOAT >
621 template <
class T1,
class T2,
class MFLOAT >
632 template <
class T1,
class MFLOAT >
637 template <
class T1,
class MFLOAT >
642 template <
class T1,
class MFLOAT >
650 template <
class T1,
class MFLOAT >
655 template <
class T1,
class MFLOAT >
660 template <
class T1,
class MFLOAT >
Field< T, 1U, UniformCartesian< 1U, MFLOAT >, Cell > & Div(Field< Vektor< T, 1U >, 1U, UniformCartesian< 1U, MFLOAT >, Vert > &x, Field< T, 1U, UniformCartesian< 1U, MFLOAT >, Cell > &r)
std::ostream & operator<<(std::ostream &, const UniformCartesian< Dim, MFLOAT > &)
Field< Vektor< T, 1U >, 1U, UniformCartesian< 1U, MFLOAT >, Cell > & Grad(Field< T, 1U, UniformCartesian< 1U, MFLOAT >, Vert > &x, Field< Vektor< T, 1U >, 1U, UniformCartesian< 1U, MFLOAT >, Cell > &r)
Field< Vektor< T, 3U >, 3U, UniformCartesian< 3U, MFLOAT >, Cell > & Grad1Ord(Field< T, 3U, UniformCartesian< 3U, MFLOAT >, Vert > &x, Field< Vektor< T, 3U >, 3U, UniformCartesian< 3U, MFLOAT >, Cell > &r)
Old Grad operator.
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)
NDIndex< Dim > getVertexBelow(const Vektor< MFLOAT, Dim > &) const
void getSurfaceNormalFields(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > **) const
BareField< Vektor< MFLOAT, Dim >, Dim > * CellSpacings
Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Vert > & getDeltaCellField(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Vert > &) const
void set_origin(const Vektor< MFLOAT, Dim > &o)
Vektor< MFLOAT, Dim > * getSurfaceNormals(const NDIndex< Dim > &) const
Field< MFLOAT, Dim, UniformCartesian< Dim, MFLOAT >, Cell > & getCellVolumeField(Field< MFLOAT, Dim, UniformCartesian< Dim, MFLOAT >, Cell > &) const
Vektor< MFLOAT, Dim > getVertexPosition(const NDIndex< Dim > &) const
Vektor< MFLOAT, Dim > origin
FieldLayout< Dim > * FlCell
Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > & getDeltaVertexField(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > &) const
NDIndex< Dim > getCellContaining(const Vektor< MFLOAT, Dim > &x) const
MFLOAT get_meshSpacing(unsigned d) const
Vektor< MFLOAT, Dim > MeshVektor_t
Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > & getSurfaceNormalField(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > &, unsigned) const
MFLOAT get_volume() const
Vektor< MFLOAT, Dim > getDeltaVertex(const NDIndex< Dim > &) const
MFLOAT getCellVolume(const NDIndex< Dim > &) const
MFLOAT getCellRangeVolume(const NDIndex< Dim > &) const
Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > & getCellPositionField(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Cell > &) const
Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Vert > & getVertexPositionField(Field< Vektor< MFLOAT, Dim >, Dim, UniformCartesian< Dim, MFLOAT >, Vert > &) const
void set_meshSpacing(MFLOAT *const del)
NDIndex< Dim > getNearestVertex(const Vektor< MFLOAT, Dim > &) const
FieldLayout< Dim > * FlVert
MFLOAT getVertRangeVolume(const NDIndex< Dim > &) const
void storeSpacingFields()
Vektor< MFLOAT, Dim > getCellPosition(const NDIndex< Dim > &) const
void print(std::ostream &)
Vektor< MFLOAT, Dim > get_origin() const
BareField< Vektor< MFLOAT, Dim >, Dim > * VertSpacings
Vektor< MFLOAT, Dim > Dvc[1<< Dim]
Vektor< MFLOAT, Dim > getSurfaceNormal(const NDIndex< Dim > &, unsigned) const
void initialize(const NDIndex< Dim > &ndi)
Vektor< MFLOAT, Dim > getDeltaCell(const NDIndex< Dim > &) const