FreePOOMA  2.4.1
Modules
Data object and container classes

Objects for storing data and for doing computation with. More...

Collaboration diagram for Data object and container classes:

Modules

 Arrays
 

Arrays are simple multi-dimensional indexable data containers.


 Engines
 

Engine related classes/files.


 Evaluator
 

The evaluators present different ways to operate on Arrays and Fields.


 Fields
 

Fields as opposed to Arrays are compound objects out of possibly multiple sub-fields spreading data over multiple centering points per cell and/or to multiple materials.


 Particles
 

Particle support concentrates on PIC (Particle In Cell) like operation which means particle interaction is done via Fields.


 Primitive objects (Vector, Matrix, Tensor)
 

Tiny classes - Vector, TinyMatrix and Tensor.



Detailed Description

Objects for storing data and for doing computation with.

Note that for complex objects like Fields and Arrays placed inside structures the compiler will generate default copy constructors and assignment operators that usually violate the principle of least surprise in that they will invoke the objects assignment operator which will cause a PETE expression to be evaluated and this may lead to cryptic compiler error messages for for example IndexFunction engine objects. To work around this you need to explicitly provide copy constructors and assignment operators that use obj.initialize() instead of an assignment. This will catch you if you are using IndexFunction like objects, such as Stencils and FieldStencils. For writable objects be prepared to get assertion failures because of uninitialized objects created by a default constructors are later initialized by default copy/assignment.