Field< Mesh, T, EngineTag > Class Template Reference

Field. More...

#include <Field.h>

List of all members.

Public Types

enum  { dimensions = FieldEngine_t::dimensions }
 The dimension (i.e., the number of indices required to select a point). More...
enum  { hasRelations = true }
typedef Mesh MeshTag_t
 The specification type.
typedef Mesh Mesh_t
typedef T T_t
 The type.
typedef EngineTag EngineTag_t
 The engine tag.
typedef Field< Mesh, T, EngineTag > This_t
 This class.
typedef FieldEngine< Mesh, T,
EngineTag > 
FieldEngine_t
 The field engine type.
typedef Engine< dimensions, T,
EngineTag > 
Engine_t
 The engine type.
typedef Engine_t::Element_t Element_t
 Element_t is the type of elements managed by this field's engine.
typedef Engine_t::ElementRef_t ElementRef_t
 ElementRef_t is the writable version.
typedef Engine_t::Layout_t Layout_t
 Layout_t is the Engine's layout.
typedef Engine_t::Domain_t Domain_t
 The types of the our domains.
typedef Centering< dimensions > Centering_t
 The types of the our centering.

Public Member Functions

void makeOwnCopy ()
 Instruct the field to make its own copy of its data.
User-callable constructors
These ctors are meant to be called by users.

 Field ()
 Mesh/centering/layout constructors.
template<class I1 >
 Field (const I1 &i1)
 This version is used for expressions.
template<class Layout2 >
 Field (const Centering_t &centering, const Layout2 &layout, const Mesh_t &mesh)
 Layout is templated so you can use a compatible layout to construct the engine.
template<class Layout2 >
 Field (int materials, const Centering_t &centering, const Layout2 &layout, const Mesh_t &mesh)
template<class I1 , class I2 >
 Field (const Centering_t &centering, const Layout_t &layout, const I1 &i1, const I2 &i2)
 Field (const Centering_t &centering, const Layout_t &layout)
template<class I1 , class I2 >
 Field (int materials, const Centering_t &centering, const Layout_t &layout, const I1 &i1, const I2 &i2)
 Field (const This_t &model)
 Copy constructor.
void initialize (const This_t &model)
 Copy initializer.
template<class Layout2 >
void initialize (const Centering_t &centering, const Layout2 &layout, const Mesh_t &mesh)
 Initializers that are equivalent to the constructors.
template<class Layout2 >
void initialize (int materials, const Centering_t &centering, const Layout2 &layout, const Mesh_t &mesh)
void initialize (const Centering_t &centering, const Layout_t &layout)
Internal POOMA constructors
These ctors are used internally by POOMA.

They are not really meant to be called by users.

template<class GT2 , class T2 , class ET2 , class Initializer >
 Field (const Field< GT2, T2, ET2 > &model, const Initializer &i)
 Model-initializer constructor.
template<class ET2 >
 Field (const Field< Mesh, T, ET2 > &model, int m, int c)
template<class ET2 >
 Field (int c, const Field< Mesh, T, ET2 > &model)
template<class ET2 >
 Field (const Field< Mesh, T, ET2 > &model, int c, const Pooma::CenteringViewTag &tag)
template<class ET2 >
 Field (const Field< Mesh, T, ET2 > &model, int m, const Pooma::MaterialViewTag &tag)
 ~Field ()
 Empty destructor is fine for us.
Accessors
const Engine_tengine () const
Engine_tengine ()
const FieldEngine_tfieldEngine () const
FieldEngine_tfieldEngine ()
int numSubFields () const
const Centering< dimensions > & centering () const
const Centering< dimensions > centering (int c) const
int centeringSize () const
int numMaterials () const
const Domain_t physicalCellDomain () const
 Returns the physical cell domain (as opposed to the vertex or actual domain).
Domain_t totalCellDomain () const
 Returns the total cell domain (including external guards).
Domain_t physicalDomain (int iSubfield) const
 Returns the actual physical domain of the specified subfield (which is a vertex or a cell domain dependend on the centering of the subfield).
Domain_t totalDomain (int iSubfield) const
 Returns the actual total domain of the specified subfield (which is a vertex or a cell domain dependend on the centering of the subfield).
Domain_t physicalDomain () const
 For centerings of size one this returns the actual physical domain of the field.
Domain_t totalDomain () const
 For centerings of size one this returns the actual total domain of the field.
Domain_t domain () const
 Alias for physicalDomain().
const Mesh_tmesh () const
Layout_t layout () const
Sub-field view creation functions
A field consists of (potentially) several sub-fields.

This function returns a view of one of these.

SubFieldView< This_t >::Type_t operator[] (int iSubfield) const
SubFieldView< This_t >::Type_t subField (int m, int c) const
SubFieldView< This_t >::Type_t center (int c) const
SubFieldView< This_t >::Type_t material (int m) const
View-creation operations
These operator() and read() functions take zero or more sub-domains, which combine to form a domain with dimensionality identical to the rank of the field.

The zero argument version returns a view of the physical domain and the 'All'-suffixed versions return a view of the total domain.

View1< This_t, Domain_t >
::ReadType_t 
read () const
View1< This_t, Domain_t >
::ReadType_t 
readAll () const
template<class Sub1 >
View1< This_t, Sub1 >::ReadType_t read (const Sub1 &s1) const
template<class Sub1 , class Sub2 >
View2< This_t, Sub1, Sub2 >
::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2) const
template<class Sub1 , class Sub2 , class Sub3 >
View3< This_t, Sub1, Sub2,
Sub3 >::ReadType_t 
read (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3) const
View1< This_t, Domain_t >::Type_t operator() () const
View1< This_t, Domain_t >::Type_t all () const
template<class Sub1 >
View1< This_t, Sub1 >::Type_t operator() (const Sub1 &s1) const
template<class Sub1 , class Sub2 >
View2< This_t, Sub1, Sub2 >::Type_t operator() (const Sub1 &s1, const Sub2 &s2) const
template<class Sub1 , class Sub2 , class Sub3 >
View3< This_t, Sub1, Sub2,
Sub3 >::Type_t 
operator() (const Sub1 &s1, const Sub2 &s2, const Sub3 &s3) const
Component-forwarding functions
These work quite similarly to the ones from Array except we produce a Field with the same Mesh.

ComponentView< Loc
< 1 >, This_t >::Type_t 
comp (int i1) const
ComponentView< Loc
< 2 >, This_t >::Type_t 
comp (int i1, int i2) const
template<class Components >
ComponentView< Components,
This_t >::Type_t 
comp (const Components &loc) const
Patch accessor functions returns the i'th patch.
Patch< This_t >::Type_t patchLocal (EnginePatch::PatchID_t i) const
int numPatchesLocal () const
Copy assignment operators
We pack this assignment expression into a PETE binary expression tree node and then use this to construct an array with an expression engine.

We then pass this on to an evaluator, which handles the computation. The first three versions handle assigning Arrays and ConstArrays to Arrays and the fourth one handles assigning scalars.

This_toperator= (const This_t &rhs)
const This_toperator= (const This_t &rhs) const
template<class T1 >
const This_toperator= (const T1 &rhs) const
Op-assignment operators
template<class T1 >
const This_toperator+= (const T1 &rhs) const
 Addition.
template<class T1 >
const This_toperator-= (const T1 &rhs) const
 Subtraction.
template<class T1 >
const This_toperator*= (const T1 &rhs) const
 Multiplication.
template<class T1 >
const This_toperator/= (const T1 &rhs) const
 Division.
template<class T1 >
const This_toperator%= (const T1 &rhs) const
 Modulus.
template<class T1 >
const This_toperator|= (const T1 &rhs) const
 Bitwise-Or.
template<class T1 >
const This_toperator&= (const T1 &rhs) const
 Bitwise-And.
template<class T1 >
const This_toperator^= (const T1 &rhs) const
 Bitwise-Xor.
template<class T1 >
const This_toperator<<= (const T1 &rhs) const
 Left shift.
template<class T1 >
const This_toperator>>= (const T1 &rhs) const
 Right shift.
Relation support
void addRelation (RelationListItem *item) const
 add a relation
void removeRelations ()
 remove all relations
void applyRelations (bool makeDirty=false) const
 trigger all relations dirty (or all, if makeDirty is set)
void setDirty () const
 dirty field, dirtying all relations
void clearDirty () const
 clear dirty flag of field, clearing all relations dirty flag


Detailed Description

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
class Field< Mesh, T, EngineTag >

Field.

Member Typedef Documentation

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Mesh Field< Mesh, T, EngineTag >::MeshTag_t

The specification type.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Mesh Field< Mesh, T, EngineTag >::Mesh_t

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef T Field< Mesh, T, EngineTag >::T_t

The type.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef EngineTag Field< Mesh, T, EngineTag >::EngineTag_t

The engine tag.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Field<Mesh, T, EngineTag> Field< Mesh, T, EngineTag >::This_t

This class.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef FieldEngine<Mesh, T, EngineTag> Field< Mesh, T, EngineTag >::FieldEngine_t

The field engine type.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine<dimensions, T, EngineTag> Field< Mesh, T, EngineTag >::Engine_t

The engine type.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Element_t Field< Mesh, T, EngineTag >::Element_t

Element_t is the type of elements managed by this field's engine.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::ElementRef_t Field< Mesh, T, EngineTag >::ElementRef_t

ElementRef_t is the writable version.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Layout_t Field< Mesh, T, EngineTag >::Layout_t

Layout_t is the Engine's layout.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Engine_t::Domain_t Field< Mesh, T, EngineTag >::Domain_t

The types of the our domains.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
typedef Centering<dimensions> Field< Mesh, T, EngineTag >::Centering_t

The types of the our centering.


Member Enumeration Documentation

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
anonymous enum

The dimension (i.e., the number of indices required to select a point).

Enumerator:
dimensions 

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
anonymous enum

Enumerator:
hasRelations 


Constructor & Destructor Documentation

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Field< Mesh, T, EngineTag >::Field (  )  [inline]

Mesh/centering/layout constructors.

We use the specified mesh object to initialize our mesh and the layout to initialize the engines. Clearly, these must be synchronized. This is appropriate for multi-patch engines. We just store the centering.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class I1 >
Field< Mesh, T, EngineTag >::Field ( const I1 &  i1  )  [inline, explicit]

This version is used for expressions.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Layout2 >
Field< Mesh, T, EngineTag >::Field ( const Centering_t centering,
const Layout2 &  layout,
const Mesh_t mesh 
) [inline]

Layout is templated so you can use a compatible layout to construct the engine.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Layout2 >
Field< Mesh, T, EngineTag >::Field ( int  materials,
const Centering_t centering,
const Layout2 &  layout,
const Mesh_t mesh 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class I1 , class I2 >
Field< Mesh, T, EngineTag >::Field ( const Centering_t centering,
const Layout_t layout,
const I1 &  i1,
const I2 &  i2 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Field< Mesh, T, EngineTag >::Field ( const Centering_t centering,
const Layout_t layout 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class I1 , class I2 >
Field< Mesh, T, EngineTag >::Field ( int  materials,
const Centering_t centering,
const Layout_t layout,
const I1 &  i1,
const I2 &  i2 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Field< Mesh, T, EngineTag >::Field ( const This_t model  )  [inline]

Copy constructor.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class GT2 , class T2 , class ET2 , class Initializer >
Field< Mesh, T, EngineTag >::Field ( const Field< GT2, T2, ET2 > &  model,
const Initializer &  i 
) [inline]

Model-initializer constructor.

Used by SubFieldView and View1Implementation above and by MakeFieldReturn in FieldCreateLeaf.h.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class ET2 >
Field< Mesh, T, EngineTag >::Field ( const Field< Mesh, T, ET2 > &  model,
int  m,
int  c 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class ET2 >
Field< Mesh, T, EngineTag >::Field ( int  c,
const Field< Mesh, T, ET2 > &  model 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class ET2 >
Field< Mesh, T, EngineTag >::Field ( const Field< Mesh, T, ET2 > &  model,
int  c,
const Pooma::CenteringViewTag tag 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class ET2 >
Field< Mesh, T, EngineTag >::Field ( const Field< Mesh, T, ET2 > &  model,
int  m,
const Pooma::MaterialViewTag tag 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Field< Mesh, T, EngineTag >::~Field (  )  [inline]

Empty destructor is fine for us.


Member Function Documentation

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::initialize ( const This_t model  )  [inline]

Copy initializer.

References Field< Mesh, T, EngineTag >::fieldEngine().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Layout2 >
void Field< Mesh, T, EngineTag >::initialize ( const Centering_t centering,
const Layout2 &  layout,
const Mesh_t mesh 
) [inline]

Initializers that are equivalent to the constructors.

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Layout2 >
void Field< Mesh, T, EngineTag >::initialize ( int  materials,
const Centering_t centering,
const Layout2 &  layout,
const Mesh_t mesh 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::initialize ( const Centering_t centering,
const Layout_t layout 
) [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Engine_t& Field< Mesh, T, EngineTag >::engine (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Engine_t& Field< Mesh, T, EngineTag >::engine (  )  [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const FieldEngine_t& Field< Mesh, T, EngineTag >::fieldEngine (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
FieldEngine_t& Field< Mesh, T, EngineTag >::fieldEngine (  )  [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Field< Mesh, T, EngineTag >::numSubFields (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Centering<dimensions>& Field< Mesh, T, EngineTag >::centering (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Centering<dimensions> Field< Mesh, T, EngineTag >::centering ( int  c  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Field< Mesh, T, EngineTag >::centeringSize (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Field< Mesh, T, EngineTag >::numMaterials (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Domain_t Field< Mesh, T, EngineTag >::physicalCellDomain (  )  const [inline]

Returns the physical cell domain (as opposed to the vertex or actual domain).

References FieldEngine< Mesh, T, EngineTag >::physicalCellDomain().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::totalCellDomain (  )  const [inline]

Returns the total cell domain (including external guards).

References FieldEngine< Mesh, T, EngineTag >::totalCellDomain().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::physicalDomain ( int  iSubfield  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::totalDomain ( int  iSubfield  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::physicalDomain (  )  const [inline]

For centerings of size one this returns the actual physical domain of the field.

For centerings of size greater than one this returns the physical cell domain (dont use in this case).

References FieldEngine< Mesh, T, EngineTag >::physicalDomain().

Referenced by Field< Mesh, T, EngineTag >::operator()(), and Field< Mesh, T, EngineTag >::read().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::totalDomain (  )  const [inline]

For centerings of size one this returns the actual total domain of the field.

For centerings of size greater than one this returns the total cell domain (dont use in this case).

References FieldEngine< Mesh, T, EngineTag >::totalDomain().

Referenced by Field< Mesh, T, EngineTag >::all(), and Field< Mesh, T, EngineTag >::readAll().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Domain_t Field< Mesh, T, EngineTag >::domain (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const Mesh_t& Field< Mesh, T, EngineTag >::mesh (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Layout_t Field< Mesh, T, EngineTag >::layout (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::makeOwnCopy (  )  [inline]

Instruct the field to make its own copy of its data.

Recursively call ourself with subfield views of this field. When we're through, tell the fieldEngine to make a distinct copy of itself.

References FieldEngine< Mesh, T, EngineTag >::makeOwnCopy().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
SubFieldView<This_t>::Type_t Field< Mesh, T, EngineTag >::operator[] ( int  iSubfield  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
SubFieldView<This_t>::Type_t Field< Mesh, T, EngineTag >::subField ( int  m,
int  c 
) const [inline]

Referenced by assign(), and subField().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
SubFieldView<This_t>::Type_t Field< Mesh, T, EngineTag >::center ( int  c  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
SubFieldView<This_t>::Type_t Field< Mesh, T, EngineTag >::material ( int  m  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View1<This_t, Domain_t>::ReadType_t Field< Mesh, T, EngineTag >::read (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View1<This_t, Domain_t>::ReadType_t Field< Mesh, T, EngineTag >::readAll (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
View1<This_t, Sub1>::ReadType_t Field< Mesh, T, EngineTag >::read ( const Sub1 &  s1  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
View2<This_t, Sub1, Sub2>::ReadType_t Field< Mesh, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2 
) const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
View3<This_t, Sub1, Sub2, Sub3>::ReadType_t Field< Mesh, T, EngineTag >::read ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View1<This_t, Domain_t>::Type_t Field< Mesh, T, EngineTag >::operator() (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
View1<This_t, Domain_t>::Type_t Field< Mesh, T, EngineTag >::all (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 >
View1<This_t, Sub1>::Type_t Field< Mesh, T, EngineTag >::operator() ( const Sub1 &  s1  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 >
View2<This_t, Sub1, Sub2>::Type_t Field< Mesh, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2 
) const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Sub1 , class Sub2 , class Sub3 >
View3<This_t, Sub1, Sub2, Sub3>::Type_t Field< Mesh, T, EngineTag >::operator() ( const Sub1 &  s1,
const Sub2 &  s2,
const Sub3 &  s3 
) const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<1>, This_t>::Type_t Field< Mesh, T, EngineTag >::comp ( int  i1  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
ComponentView<Loc<2>, This_t>::Type_t Field< Mesh, T, EngineTag >::comp ( int  i1,
int  i2 
) const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class Components >
ComponentView<Components, This_t>::Type_t Field< Mesh, T, EngineTag >::comp ( const Components &  loc  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
Patch<This_t>::Type_t Field< Mesh, T, EngineTag >::patchLocal ( EnginePatch::PatchID_t  i  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
int Field< Mesh, T, EngineTag >::numPatchesLocal (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
This_t& Field< Mesh, T, EngineTag >::operator= ( const This_t rhs  )  [inline]

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
const This_t& Field< Mesh, T, EngineTag >::operator= ( const This_t rhs  )  const [inline]

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator= ( const T1 &  rhs  )  const [inline]

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator+= ( const T1 &  rhs  )  const [inline]

Addition.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator-= ( const T1 &  rhs  )  const [inline]

Subtraction.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator*= ( const T1 &  rhs  )  const [inline]

Multiplication.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator/= ( const T1 &  rhs  )  const [inline]

Division.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator%= ( const T1 &  rhs  )  const [inline]

Modulus.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator|= ( const T1 &  rhs  )  const [inline]

Bitwise-Or.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator&= ( const T1 &  rhs  )  const [inline]

Bitwise-And.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator^= ( const T1 &  rhs  )  const [inline]

Bitwise-Xor.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator<<= ( const T1 &  rhs  )  const [inline]

Left shift.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
template<class T1 >
const This_t& Field< Mesh, T, EngineTag >::operator>>= ( const T1 &  rhs  )  const [inline]

Right shift.

References assign().

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::addRelation ( RelationListItem item  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::removeRelations (  )  [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::applyRelations ( bool  makeDirty = false  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::setDirty (  )  const [inline]

template<class Mesh, class T = POOMA_DEFAULT_ELEMENT_TYPE, class EngineTag = POOMA_DEFAULT_ENGINE_TYPE>
void Field< Mesh, T, EngineTag >::clearDirty (  )  const [inline]

clear dirty flag of field, clearing all relations dirty flag

References Field< Mesh, T, EngineTag >::centering(), FieldEngine< Mesh, T, EngineTag >::data(), and Field< Mesh, T, EngineTag >::numMaterials().


The documentation for this class was generated from the following file:

Generated on Wed Mar 16 06:20:10 2011 for FreePOOMA by  doxygen 1.5.9