#include "Tiny/Vector.h"
#include "Utilities/PAssert.h"
#include <vector>
#include <ostream>
Classes | |
class | Centering< Dim > |
Centering indicates the positions of values within a field's cell. More... | |
class | CanonicalCentering< Dim > |
This object makes available some canonical centerings. More... | |
Enumerations | |
enum | CenteringType { VertexType, EdgeType, FaceType, CellType } |
Indicate a cell's centering type. More... | |
enum | ContinuityType { Continuous = 0, Discontinuous } |
Indicate whether a cell's values are shared xor not shared. More... | |
enum | { XDim = 1, YDim = XDim << 1, ZDim = YDim << 1, AllDim = XDim | YDim | ZDim } |
Permit specifying various dimensions. More... | |
Functions | |
template<int Dim> | |
std::ostream & | operator<< (std::ostream &o, const Centering< Dim > ¢ering) |
template<int Dim> | |
bool | operator== (const Centering< Dim > ¢ering1, const Centering< Dim > ¢ering2) |
template<int Dim> | |
bool | operator!= (const Centering< Dim > ¢ering1, const Centering< Dim > ¢ering2) |
Functions for translating domains based on centerings. | |
template<int Dim> | |
Interval< Dim > | cellDomainToCenteringDomain (const Interval< Dim > &cellDom, const Centering< Dim > ¢ering, int i) |
cellDomainToCenteringDomain(cellDom, centering, i) computes the domain of the i'th subfield for a field that has the given cell domain. | |
template<int Dim> | |
Interval< Dim > | centeringDomainToCellDomain (const Interval< Dim > &cDom, const Centering< Dim > ¢ering, int i) |
centeringDomainToCellDomain(cDom, centering, i) the inverse function. | |
canonicalCentering | |
canonicalCentering<Dim>(type, discontinuous, dimension) is a functional wrapper around a CanonicalCentering object. | |
const CanonicalCentering< 1 > | canonicalCenteringOne_g |
const CanonicalCentering< 2 > | canonicalCenteringTwo_g |
const CanonicalCentering< 3 > | canonicalCenteringThree_g |
template<int Dim> | |
const Centering< Dim > | canonicalCentering (const enum CenteringType type, const enum ContinuityType discontinuous, const int dimension=0) |
template<> | |
const Centering< 1 > | canonicalCentering< 1 > (const enum CenteringType type, const enum ContinuityType discontinuous, const int dimension) |
template<> | |
const Centering< 2 > | canonicalCentering< 2 > (const enum CenteringType type, const enum ContinuityType discontinuous, const int dimension) |
template<> | |
const Centering< 3 > | canonicalCentering< 3 > (const enum CenteringType type, const enum ContinuityType discontinuous, const int dimension) |
Centering specifies value locations within a field's cell.
CanonicalCentering yields some canonical centerings.
canonicalCentering<Dim>(type, discontinuous, dimension) yields the specified canonical centering
enum CenteringType |
enum ContinuityType |
Indicate whether a cell's values are shared xor not shared.
Continuous | Shared xor. |
Discontinuous | Not shared. |
anonymous enum |
std::ostream& operator<< | ( | std::ostream & | o, | |
const Centering< Dim > & | centering | |||
) | [inline] |
bool operator!= | ( | const Centering< Dim > & | centering1, | |
const Centering< Dim > & | centering2 | |||
) | [inline] |
const Centering<Dim> canonicalCentering | ( | const enum CenteringType | type, | |
const enum ContinuityType | discontinuous, | |||
const int | dimension = 0 | |||
) | [inline] |
const Centering<1> canonicalCentering< 1 > | ( | const enum CenteringType | type, | |
const enum ContinuityType | discontinuous, | |||
const int | dimension | |||
) | [inline] |
const Centering<2> canonicalCentering< 2 > | ( | const enum CenteringType | type, | |
const enum ContinuityType | discontinuous, | |||
const int | dimension | |||
) | [inline] |
const Centering<3> canonicalCentering< 3 > | ( | const enum CenteringType | type, | |
const enum ContinuityType | discontinuous, | |||
const int | dimension | |||
) | [inline] |
Interval<Dim> cellDomainToCenteringDomain | ( | const Interval< Dim > & | cellDom, | |
const Centering< Dim > & | centering, | |||
int | i | |||
) | [inline] |
cellDomainToCenteringDomain(cellDom, centering, i) computes the domain of the i'th subfield for a field that has the given cell domain.
References Centering< Dim >::discontinuous(), growRight(), Centering< Dim >::orientation(), and shrinkRight().
Referenced by FieldEngine< Mesh, T, EngineTag >::FieldEngine(), FieldEngine< Mesh, T, EngineTag >::physicalDomain(), and FieldEngine< Mesh, T, EngineTag >::totalDomain().
Interval<Dim> centeringDomainToCellDomain | ( | const Interval< Dim > & | cDom, | |
const Centering< Dim > & | centering, | |||
int | i | |||
) | [inline] |
centeringDomainToCellDomain(cDom, centering, i) the inverse function.
References Centering< Dim >::discontinuous(), growRight(), Centering< Dim >::orientation(), and shrinkRight().
Referenced by FieldEngine< Mesh, T, EngineTag >::FieldEngine(), and FieldEngine< Mesh, T, EngineTag >::inputDomainToVertexDomain().