FieldCentering.h File Reference

specifies value locations within a field's cell More...

#include "Tiny/Vector.h"
#include "Utilities/PAssert.h"
#include <vector>
#include <ostream>

Include dependency graph for FieldCentering.h:

This graph shows which files directly or indirectly include this file:


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 > &centering)
template<int Dim>
bool operator== (const Centering< Dim > &centering1, const Centering< Dim > &centering2)
template<int Dim>
bool operator!= (const Centering< Dim > &centering1, const Centering< Dim > &centering2)
Functions for translating domains based on centerings.
template<int Dim>
Interval< Dim > cellDomainToCenteringDomain (const Interval< Dim > &cellDom, const Centering< Dim > &centering, 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 > &centering, 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)

Detailed Description

specifies value locations within a field's cell

Centering specifies value locations within a field's cell.

CanonicalCentering yields some canonical centerings.

canonicalCentering<Dim>(type, discontinuous, dimension) yields the specified canonical centering


Enumeration Type Documentation

Indicate a cell's centering type.

Enumerator:
VertexType  Vertex type.
EdgeType  Edge type.
FaceType  Face type.
CellType  Cell type.

Indicate whether a cell's values are shared xor not shared.

Enumerator:
Continuous  Shared xor.
Discontinuous  Not shared.

anonymous enum

Permit specifying various dimensions.

Enumerator:
XDim  X components.
YDim  Y components.
ZDim  Z components.
AllDim  All components.


Function Documentation

template<int Dim>
std::ostream& operator<< ( std::ostream &  o,
const Centering< Dim > &  centering 
) [inline]

template<int Dim>
bool operator== ( const Centering< Dim > &  centering1,
const Centering< Dim > &  centering2 
) [inline]

template<int Dim>
bool operator!= ( const Centering< Dim > &  centering1,
const Centering< Dim > &  centering2 
) [inline]

template<int Dim>
const Centering<Dim> canonicalCentering ( const enum CenteringType  type,
const enum ContinuityType  discontinuous,
const int  dimension = 0 
) [inline]

template<>
const Centering<1> canonicalCentering< 1 > ( const enum CenteringType  type,
const enum ContinuityType  discontinuous,
const int  dimension 
) [inline]

template<>
const Centering<2> canonicalCentering< 2 > ( const enum CenteringType  type,
const enum ContinuityType  discontinuous,
const int  dimension 
) [inline]

template<>
const Centering<3> canonicalCentering< 3 > ( const enum CenteringType  type,
const enum ContinuityType  discontinuous,
const int  dimension 
) [inline]

template<int Dim>
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().

template<int Dim>
Interval<Dim> centeringDomainToCellDomain ( const Interval< Dim > &  cDom,
const Centering< Dim > &  centering,
int  i 
) [inline]


Variable Documentation


Generated on Wed Mar 16 06:17:18 2011 for FreePOOMA by  doxygen 1.5.9