#include <BinFab.H>
Inheritance diagram for BinFab< T >:
Box
.
This is a class for holding and sorting particle items. Class must have a RealVect
::position() const function which is used to place the item in an appropriate bin. See class BinItem
for a base class for particles. All BinFabs are assumed to have 1 component.
Public Member Functions | |
BinFab () | |
Null constructor, copy constructor and operator= can be compiler defined. | |
BinFab (const Box &a_domain, const RealVect &a_mesh_spacing, const RealVect &a_origin, const ProblemDomain &a_probdomain) | |
Constructs an empty BinFab on a_domain. | |
BinFab (const BinFab &a_binfab) | |
Copy constructor. | |
virtual | ~BinFab () |
Destructor. | |
virtual void | define (const Box &a_domain, const RealVect &a_mesh_spacing, const RealVect &a_origin, const ProblemDomain &a_probdomain) |
Same as the constructor. | |
virtual void | reBin () |
Sort all the items into the appropriate bins. | |
virtual void | addItem (const T &a_item) |
Copy one item into the appropriate bin. | |
virtual void | addItems (const List< T > &a_list) |
Copy a list of items into the appropriate bins. | |
virtual void | addItemsDestructive (List< T > &a_list) |
Move items off the argument list and into the appropriate bins. | |
virtual void | addItemsDestructive (List< T > &a_list,const Box &a_valid, bool a_in=true) |
Move items into the appropriate bins and remove from the arg list only if the dest is in the Box. | |
virtual void | clear () |
Delete all the items in this BinFab and reset it to the null Box . | |
virtual int | numItems (const Box &a_box=Box(), const Interval &a_comps=Interval()) const |
Count the number of items in this BinFab . | |
virtual const int * | size () const |
Calls corresponding BaseFab<> function. | |
virtual int | size (const Box &a_box, const Interval &a_comps) const |
The number of bytes used by linearIn()/linearOut(). | |
virtual void | linearOut (void *a_buf, const Box &a_box, const Interval &a_comps) const |
Write a serialized (packed) representation into a_buf. | |
virtual void | linearIn (void *a_buf, const Box &a_box, const Interval &a_comps) |
Extract a serialized (packed) representation from a_buf. | |
Static Public Member Functions | |
int | preAllocatable () |
Protected Member Functions | |
IntVect | locateBin (const T &a_item) const |
compute the cell index containing the physical position of the item | |
Protected Attributes | |
RealVect | m_origin |
location in physical space of the 0 index | |
RealVect | m_mesh_spacing |
cell size in physical space | |
ProblemDomain | m_probdomain |
contains the Box on which this BinFab is defined |
|
Null constructor, copy constructor and operator= can be compiler defined.
|
|
Constructs an empty
|
|
Copy constructor.
|
|
Destructor.
|
|
Same as the constructor.
|
|
Sort all the items into the appropriate bins.
|
|
Copy one item into the appropriate bin.
|
|
Copy a list of items into the appropriate bins.
|
|
Move items off the argument list and into the appropriate bins.
|
|
Move items into the appropriate bins and remove from the arg list only if the dest is in the Box. If the destination cell is in the specified box (on not in if a_in is false) then remove the particle from the argument List, else copy it. |
|
Delete all the items in this
Reimplemented from BaseFab< List< T > >. |
|
Count the number of items in this The default is to do the whole Fab for all components. This is slow, so use it sparingly. |
|
Calls corresponding BaseFab<> function. this is supplied because the other size(...) function hides the BaseFab one. Reimplemented from BaseFab< List< T > >. |
|
The number of bytes used by linearIn()/linearOut().
Returns the size, in number of bytes, of a flat linear representation of the items in the specified Reimplemented from BaseFab< List< T > >. |
|
Write a serialized (packed) representation into a_buf.
Write a linear representation of the items in the specified Reimplemented from BaseFab< List< T > >. |
|
Extract a serialized (packed) representation from a_buf.
Given a linear representation of the class data previously made using linearIn() in a_buf, set the data for this class on the specified Reimplemented from BaseFab< List< T > >. |
|
Reimplemented from BaseFab< List< T > >. |
|
compute the cell index containing the physical position of the item
|
|
location in physical space of the 0 index
|
|
cell size in physical space
|
|
contains the
|