FreePOOMA  2.4.1
Classes | Functions
Field.h File Reference

Ties together the notions of field-category and mesh. More...

#include "Array/Array.h"
#include "Domain/CombineDomainOpt.h"
#include "Domain/NewDomain.h"
#include "Engine/ConstantFunctionEngine.h"
#include "Engine/Engine.h"
#include "Engine/EnginePatch.h"
#include "Engine/ExpressionEngine.h"
#include "Evaluator/Evaluator.h"
#include "PETE/PETE.h"
#include "Pooma/View.h"
#include "Utilities/PAssert.h"
#include "Utilities/RefCountedBlockPtr.h"
#include "Utilities/PerformUpdate.h"
#include "Field/FieldMakeReturn.h"
#include "Field/FieldOperators.h"
#include "Field/PoomaFieldOperators.h"
#include "Field/VectorFieldOperators.h"
#include "Field/FieldCreateLeaf.h"
#include "Field/FieldCentering.h"
#include "Field/NearestNeighbors.h"
#include "Field/PrintField.h"
#include "Field/FieldEngine/FieldEnginePatch.h"
#include "Field/FieldEngine/FieldEngine.h"
Include dependency graph for Field.h:
This graph shows which files directly or indirectly include this file:

Classes

class  SubFieldView< Field< Mesh, T, EngineTag > >
 SubFieldView is used to implement the syntax f[i], which selects the ith SubField for field f. More...
class  SubFieldView< Field< Mesh, T, ExpressionTag< Expr > > >
struct  View1Implementation< Field< Mesh, T, EngineTag >, Domain, true >
 View1Implementation<Field, D, SV> specialization for indexing a field with a single domain. More...
struct  NewMeshTag< Dim, Mesh, Domain >
struct  NewMeshTag< Dim, Mesh, Interval< Dim > >
struct  NewMeshTag< Dim, Mesh, INode< Dim > >
struct  View1Implementation< Field< Mesh, T, EngineTag >, Domain, false >
struct  View1< Field< Mesh, T, EngineTag >, Sub1 >
 View1<Field, S1> specialization for indexing a field with a single domain. More...
struct  View1< Field< Mesh, T, EngineTag >, int >
 View1<Field, int> specialization for indexing a field with an int. More...
struct  View1< Field< Mesh, T, EngineTag >, Loc< Mesh::dimensions > >
 View1<Field, Loc> specialization for indexing a field with a Loc. More...
struct  View2< Field< Mesh, T, EngineTag >, Sub1, Sub2 >
 View2<Field, S1, S2> specialization for indexing a field with two domains. More...
struct  View2< Field< Mesh, T, EngineTag >, int, int >
 View2<Field, int, int> specialization for indexing a field with two integers. More...
struct  View2< Field< Mesh, T, EngineTag >, FieldOffset< Dim >, Loc< Dim > >
 View2<Field, FieldOffset<Dim>, Loc<Dim> > specialization for indexing a field with a FieldOffset and a Loc. More...
struct  View3< Field< Mesh, T, EngineTag >, Sub1, Sub2, Sub3 >
 View3<Field, S1, S2, S3> specialization for indexing a field with three domains. More...
struct  View3< Field< Mesh, T, EngineTag >, int, int, int >
 View3<Field, int, int, int> specialization for indexing a field with three integers. More...
struct  Patch< Field< Mesh, T, EngineTag > >
struct  Patch< Field< Mesh, T, MultiPatch< LTag, EngineTag > > >
struct  ComponentView< Components, Field< Mesh, T, EngineTag > >
class  Field< Mesh, T, EngineTag >
 Field. More...
struct  AssignOpReadWriteTraits< Op >
struct  AssignOpReadWriteTraits< OpAssign >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, ConformTag< Dim > >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, DataObjectRequest< RequestType > >
struct  LeafFunctor< FieldEngine< Mesh, T, EngineTag >, DataObjectRequest< RequestType > >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, DomainFunctorTag >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, ExpressionApply< Tag > >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, EngineView< Tag > >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, EngineFunctorTag< Tag > >
struct  EngineFunctor< Field< Mesh, T, EngineTag >, Tag >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, EvalLeaf< Dim > >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, PerformUpdateTag >
struct  LeafFunctor< Field< Mesh, T, ExpressionTag< Expr > >, PerformUpdateTag >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, SubFieldViewFunctorTag >
struct  LeafFunctor< Array< Dim, T, EngineTag >, SubFieldViewFunctorTag >
struct  LeafFunctor< Scalar< T >, SubFieldViewFunctorTag >
struct  LeafFunctor< Field< Mesh, T, EngineTag >, ViewFunctorTag< Domain > >
struct  ExpressionIsField
struct  ExpressionTraits< Field< Mesh, T, EngineTag > >
struct  CombineExpressionTraits< ExpressionIsField, ExpressionIsField >
struct  CombineExpressionTraits< ExpressionIsField, ExpressionIsScalar >
struct  CombineExpressionTraits< ExpressionIsScalar, ExpressionIsField >
struct  CombineExpressionTraits< ExpressionIsField, ExpressionIsArray >
struct  CombineExpressionTraits< ExpressionIsArray, ExpressionIsField >
struct  ConvertWhereProxy< ExpressionIsField, Tree >

Functions

template<class Mesh , class T , class EngineTag >
std::ostream & operator<< (std::ostream &o, const Field< Mesh, T, EngineTag > &cf)
template<class Mesh , class T , class EngineTag >
std::fstream & operator<< (std::fstream &f, const Field< Mesh, T, EngineTag > &cf)
template<class Mesh , class T , class EngineTag , class Mesh2 , class T2 , class EngineTag2 , class Op >
const Field< Mesh, T, EngineTag > & assign (const Field< Mesh, T, EngineTag > &lhs, const Field< Mesh2, T2, EngineTag2 > &rhs, const Op &op)
template<class Mesh , class T , class EngineTag >
bool compressed (const Field< Mesh, T, EngineTag > &f)
template<class Mesh , class T , class EngineTag >
long elementsCompressed (const Field< Mesh, T, EngineTag > &f)
template<class Mesh , class T , class LTag >
void compress (Field< Mesh, T, MultiPatch< LTag, CompressibleBrick > > &f)
template<class Mesh , class T , class LTag >
void uncompress (Field< Mesh, T, MultiPatch< LTag, CompressibleBrick > > &f)
template<int Dim, class T , class EngineTag >
int numMaterials (const Array< Dim, T, EngineTag > &a)
template<class Mesh , class T , class EngineTag >
int numMaterials (const Field< Mesh, T, EngineTag > &f)
template<int Dim, class T , class EngineTag >
int centeringSize (const Array< Dim, T, EngineTag > &a)
template<class Mesh , class T , class EngineTag >
int centeringSize (const Field< Mesh, T, EngineTag > &f)
template<int Dim, class T , class EngineTag >
Array< Dim, T, EngineTag > & subField (Array< Dim, T, EngineTag > &a, int, int)
template<class Mesh , class T , class EngineTag >
SubFieldView< Field< Mesh, T,
EngineTag > >::Type_t 
subField (Field< Mesh, T, EngineTag > &f, int m, int c)
assign

Prototypes for the assign function used to assign an expression to a Field.

Prototypes defined here:

If you wish to have Field work with other types of objects on the right- hand side (for example, other classes that derive from Field), define extra assign() functions that take the following arguments:

assign(Field<Mesh,T,EngineTag>, yourclass, Operator)

where "yourclass" is the class that you would like to work on the right-hand side in an expression with a Field on the left-hand side.

template<class Mesh , class T , class EngineTag , class MeshTag2 , class T2 , class EngineTag2 , class Op >
const Field< Mesh, T, EngineTag > & assign (const Field< Mesh, T, EngineTag > &lhs, const Field< MeshTag2, T2, EngineTag2 > &rhs, const Op &op)
template<class Mesh , class T , class EngineTag , int Dim2, class T2 , class EngineTag2 , class Op >
const Field< Mesh, T, EngineTag > & assign (const Field< Mesh, T, EngineTag > &lhs, const Array< Dim2, T2, EngineTag2 > &rhs, const Op &op)
template<class Mesh , class T , class EngineTag , class T1 , class Op >
const Field< Mesh, T, EngineTag > & assign (const Field< Mesh, T, EngineTag > &lhs, const T1 &rhs, const Op &op)
template<class Mesh , class T , class EngineTag , int Dim2, class T2 , class EngineTag2 , class Op >
const Array< Dim2, T2,
EngineTag2 > & 
assign (const Array< Dim2, T2, EngineTag2 > &lhs, const Field< Mesh, T, EngineTag > &rhs, const Op &op)
template<class Mesh , class T , class EngineTag , class F , class B , class Op >
const Field< Mesh, T, EngineTag > & assign (const Field< Mesh, T, EngineTag > &lhs, const WhereProxy< F, B > &rhs, const Op &op)

Detailed Description

Ties together the notions of field-category and mesh.


Function Documentation

template<class Mesh , class T , class EngineTag , class MeshTag2 , class T2 , class EngineTag2 , class Op >
const Field<Mesh, T, EngineTag>& assign ( const Field< Mesh, T, EngineTag > &  lhs,
const Field< MeshTag2, T2, EngineTag2 > &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag , int Dim2, class T2 , class EngineTag2 , class Op >
const Field< Mesh, T, EngineTag > & assign ( const Field< Mesh, T, EngineTag > &  lhs,
const Array< Dim2, T2, EngineTag2 > &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag , class T1 , class Op >
const Field< Mesh, T, EngineTag > & assign ( const Field< Mesh, T, EngineTag > &  lhs,
const T1 &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag , int Dim2, class T2 , class EngineTag2 , class Op >
const Array< Dim2, T2, EngineTag2 > & assign ( const Array< Dim2, T2, EngineTag2 > &  lhs,
const Field< Mesh, T, EngineTag > &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag , class F , class B , class Op >
const Field< Mesh, T, EngineTag > & assign ( const Field< Mesh, T, EngineTag > &  lhs,
const WhereProxy< F, B > &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag >
std::ostream& operator<< ( std::ostream &  o,
const Field< Mesh, T, EngineTag > &  cf 
)
template<class Mesh , class T , class EngineTag >
std::fstream& operator<< ( std::fstream &  f,
const Field< Mesh, T, EngineTag > &  cf 
)
template<class Mesh , class T , class EngineTag , class Mesh2 , class T2 , class EngineTag2 , class Op >
const Field<Mesh, T, EngineTag>& assign ( const Field< Mesh, T, EngineTag > &  lhs,
const Field< Mesh2, T2, EngineTag2 > &  rhs,
const Op &  op 
)
template<class Mesh , class T , class EngineTag >
bool compressed ( const Field< Mesh, T, EngineTag > &  f) [inline]
template<class Mesh , class T , class EngineTag >
long elementsCompressed ( const Field< Mesh, T, EngineTag > &  f) [inline]
template<class Mesh , class T , class LTag >
void compress ( Field< Mesh, T, MultiPatch< LTag, CompressibleBrick > > &  f)

References compress().

template<class Mesh , class T , class LTag >
void uncompress ( Field< Mesh, T, MultiPatch< LTag, CompressibleBrick > > &  f)

References uncompress().

template<int Dim, class T , class EngineTag >
int numMaterials ( const Array< Dim, T, EngineTag > &  a) [inline]
template<class Mesh , class T , class EngineTag >
int numMaterials ( const Field< Mesh, T, EngineTag > &  f) [inline]
template<int Dim, class T , class EngineTag >
int centeringSize ( const Array< Dim, T, EngineTag > &  a) [inline]
template<class Mesh , class T , class EngineTag >
int centeringSize ( const Field< Mesh, T, EngineTag > &  f) [inline]
template<int Dim, class T , class EngineTag >
Array<Dim, T, EngineTag>& subField ( Array< Dim, T, EngineTag > &  a,
int  ,
int   
) [inline]
template<class Mesh , class T , class EngineTag >
SubFieldView<Field<Mesh, T, EngineTag> >::Type_t subField ( Field< Mesh, T, EngineTag > &  f,
int  m,
int  c 
) [inline]