Chombo + EB + MF  3.2
Classes | Macros | Functions
ParticleData.H File Reference
#include <map>
#include "BaseFab.H"
#include "RealVect.H"
#include "List.H"
#include "Box.H"
#include "LevelData.H"
#include "ListBox.H"
#include "ListBoxFactory.H"
#include "NamespaceHeader.H"
#include "NamespaceFooter.H"
#include "ParticleDataI.H"
Include dependency graph for ParticleData.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  boxids
 
class  ParticleData< P >
 
struct  CompIntVect
 

Macros

#define _PARTICLEDATA_H_
 

Functions

IntVect locateBin (const RealVect a_x, const RealVect a_dx, const RealVect a_origin)
 compute the cell index containing the physical position of the item More...
 
template<class P >
void collectValidParticles (List< P > &a_partValid, ParticleData< P > &a_PD, const LevelData< BaseFab< bool > > *a_mask, const RealVect a_meshSpacing, const int a_refRatio, const bool a_flip=false, const RealVect a_origin=RealVect(D_DECL6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)))
 
template<class P >
void collectValidParticles (ParticleData< P > &a_PDValid, ParticleData< P > &a_PD, const LevelData< BaseFab< bool > > *a_mask, const RealVect a_meshSpacing, const int a_refRatio, const bool a_flip=false, const RealVect a_origin=RealVect(D_DECL6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)))
 overloaded version of the above More...
 

Macro Definition Documentation

#define _PARTICLEDATA_H_

Function Documentation

IntVect locateBin ( const RealVect  a_x,
const RealVect  a_dx,
const RealVect  a_origin 
)
inline

compute the cell index containing the physical position of the item

References CH_TIME, and D_DECL6.

Referenced by BinFab< T >::addItem(), BinFab< T >::addItems(), BinFab< T >::addItemsDestructive(), ParticleData< P >::fillGhosts(), BinFab< T >::reBin(), and ParticleData< P >::remapOutcast().

template<class P >
void collectValidParticles ( List< P > &  a_partValid,
ParticleData< P > &  a_PD,
const LevelData< BaseFab< bool > > *  a_mask,
const RealVect  a_meshSpacing,
const int  a_refRatio,
const bool  a_flip = false,
const RealVect  a_origin = RealVect(D_DECL6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)) 
)

Routine for transfering particles between AMR levels. Arguments: a_partValid: the destination to which particles will be sent if they meet the requirements. a_PD: the source from which the particles will be transfered. a_mask: this defines the valid region. If a_flip is false, a particle will be transfered from the source to the dest if it lies in a region of the domain where the mask is true. a_dx: particle position will be converted to integer indices by binning them by this cell spacing. a_refRatio: a_mask will be copied onto a boxlayout that has been refined or coarsened by this argument (refined if positive, coarsened if negative.) This is to allow comparison with mask arrays defined on arbitrary refinement levels a_flip if true, the sign of mask will be treated as reversed (i.e., this becomes a collectInvalidParticles function).

References CH_TIMERS, coarsen(), D_DECL6, ParticleData< P >::getBoxes(), LayoutIterator::ok(), ListIterator< T >::ok(), refine(), and List< T >::transfer().

template<class P >
void collectValidParticles ( ParticleData< P > &  a_PDValid,
ParticleData< P > &  a_PD,
const LevelData< BaseFab< bool > > *  a_mask,
const RealVect  a_meshSpacing,
const int  a_refRatio,
const bool  a_flip = false,
const RealVect  a_origin = RealVect(D_DECL6(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)) 
)