|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <BoxLibParticle.h>
Public Types | |
| typedef AmrParticleBase< PLayout >::ParticlePos_t | ParticlePos_t |
| typedef AmrParticleBase< PLayout >::ParticleIndex_t | ParticleIndex_t |
| typedef AmrParticleBase< PLayout >::SingleParticlePos_t | SingleParticlePos_t |
| typedef AmrParticleBase< PLayout >::AmrField_t | AmrField_t |
| typedef AmrParticleBase< PLayout >::AmrScalarFieldContainer_t | AmrScalarFieldContainer_t |
| typedef AmrParticleBase< PLayout >::AmrVectorFieldContainer_t | AmrVectorFieldContainer_t |
| typedef AmrParticleBase< PLayout >::AmrVectorField_t | AmrVectorField_t |
| typedef AmrParticleBase< PLayout >::ParticleLevelCounter_t | ParticleLevelCounter_t |
| typedef PLayout::AmrProcMap_t | AmrProcMap_t |
| typedef PLayout::AmrGrid_t | AmrGrid_t |
| typedef PLayout::AmrGeometry_t | AmrGeometry_t |
| typedef PLayout::AmrIntVect_t | AmrIntVect_t |
| typedef PLayout::AmrBox_t | AmrBox_t |
| typedef PLayout::AmrReal_t | AmrReal_t |
| typedef amrex::FArrayBox | FArrayBox_t |
| typedef long | SortListIndex_t |
| typedef std::vector< SortListIndex_t > | SortList_t |
| typedef std::vector< ParticleAttribBase * > | attrib_container_t |
| enum | { Dim = PLayout::Dimension } |
| typedef PLayout | Layout_t |
| typedef PLayout::Position_t | Position_t |
| typedef PLayout::Index_t | Index_t |
| typedef PLayout::pair_iterator | pair_iterator |
| typedef PLayout::pair_t | pair_t |
| typedef PLayout::UpdateFlags | UpdateFlags |
| typedef attrib_container_t::iterator | attrib_iterator |
| enum | DsMode { INPUT , OUTPUT , BOTH , DEFAULT } |
| typedef std::vector< DataSourceObject * > | container_t |
Public Member Functions | |
| BoxLibParticle () | |
| BoxLibParticle (PLayout *layout) | |
| template<class FT, unsigned Dim, class PT> | |
| void | scatter (ParticleAttrib< FT > &attrib, AmrScalarFieldContainer_t &f, ParticleAttrib< Vektor< PT, Dim > > &pp, int lbase, int lfine, const ParticleAttrib< int > &pbin, int bin=-1) |
| template<class FT, unsigned Dim, class PT> | |
| void | scatter (ParticleAttrib< FT > &attrib, AmrField_t &f, ParticleAttrib< Vektor< PT, Dim > > &pp, const ParticleAttrib< int > &pbin, int bin=-1, int level=0) |
| template<class FT, unsigned Dim, class PT> | |
| void | gather (ParticleAttrib< FT > &attrib, AmrVectorFieldContainer_t &f, ParticleAttrib< Vektor< PT, Dim > > &pp, int lbase, int lfine) |
| void | initializeAmr () |
| const ParticleLevelCounter_t & | getLocalNumPerLevel () const |
| ParticleLevelCounter_t & | getLocalNumPerLevel () |
| void | setLocalNumPerLevel (const ParticleLevelCounter_t &LocalNumPerLevel) |
| void | createWithID (unsigned id) |
| void | create (size_t M) |
| void | destroy (size_t M, size_t I, bool doNow=false) |
| void | performDestroy (bool updateLocalNum=false) |
| void | update () |
| void | update (int lev_min, int lev_max, bool isRegrid=false) |
| void | update (const ParticleAttrib< char > &canSwap) |
| void | sort () |
| void | sort (SortList_t &sortlist) |
| PLayout & | getAmrLayout () |
| const PLayout & | getAmrLayout () const |
| void | setForbidTransform (bool forbidTransform) |
| bool | isForbidTransform () const |
| const double & | domainMapping (bool inverse=false) |
| const double & | getScalingFactor () const |
| void | setLorentzFactor (const Vector_t &lorentzFactor) |
| void | initialize (PLayout *) |
| size_t | getTotalNum () const |
| size_t | getLocalNum () const |
| size_t | getDestroyNum () const |
| size_t | getGhostNum () const |
| void | setTotalNum (size_t n) |
| void | setLocalNum (size_t n) |
| PLayout & | getLayout () |
| const PLayout & | getLayout () const |
| ParticleBConds< Position_t, PLayout::Dimension > & | getBConds () |
| void | setBConds (const ParticleBConds< Position_t, PLayout::Dimension > &bc) |
| virtual void | setBConds (const ParticleBConds< Position_t, Dim > &bc)=0 |
| bool | singleInitNode () const |
| bool | getUpdateFlag (UpdateFlags f) const |
| void | setUpdateFlag (UpdateFlags f, bool val) |
| void | addAttribute (ParticleAttribBase &pa) |
| ParticleAttribBase & | getAttribute (attrib_container_t::size_type N) |
| attrib_container_t::size_type | numAttributes () const |
| attrib_iterator | begin () |
| attrib_iterator | end () |
| void | resetID () |
| void | globalCreate (size_t np) |
| size_t | putMessage (Message &, size_t, size_t) |
| size_t | putMessage (Message &, const std::vector< size_t > &) |
| size_t | putMessage (Message &, size_t) |
| Format * | getFormat () |
| size_t | writeMsgBuffer (MsgBuffer *&, const std::vector< size_t > &) |
| template<class O> | |
| size_t | writeMsgBufferWithOffsets (MsgBuffer *&, const std::vector< size_t > &, const std::vector< O > &) |
| size_t | readMsgBuffer (MsgBuffer *) |
| size_t | readGhostMsgBuffer (MsgBuffer *, int) |
| size_t | getMessage (Message &) |
| size_t | getSingleMessage (Message &) |
| size_t | getMessageAndCreate (Message &) |
| size_t | ghostPutMessage (Message &, size_t, size_t) |
| size_t | ghostPutMessage (Message &, const std::vector< size_t > &) |
| size_t | ghostGetMessage (Message &, int) |
| size_t | ghostGetSingleMessage (Message &, int) |
| void | ghostDestroy (size_t, size_t) |
| void | printDebug (Inform &) |
| bool | connected (DataConnect *=0) const |
| DataSourceObject * | findDataSourceObject (DataConnect *) const |
| DataConnect * | connect (const char *, DataConnect *=0, int=DataSource::DEFAULT) |
| bool | connect (DataSourceObject *) |
| bool | disconnect (DataConnect *=0) |
| bool | updateConnection (DataConnect *=0) |
| void | interact (DataConnect *=0) |
| void | interact (const char *, DataConnect *=0) |
Public Attributes | |
| ParticleIndex_t | Level |
| ParticleIndex_t | Grid |
| ParticlePos_t | R |
| ParticleIndex_t | ID |
| ParticlePos_t * | R_p |
| ParticleIndex_t * | ID_p |
Protected Member Functions | |
| virtual DataSourceObject * | createDataSourceObject (const char *nm, DataConnect *dc, int tm) |
Protected Attributes | |
| IpplTimings::TimerRef | updateParticlesTimer_m |
| IpplTimings::TimerRef | sortParticlesTimer_m |
| IpplTimings::TimerRef | domainMappingTimer_m |
| bool | forbidTransform_m |
| To avoid multiple transformations during regrid. | |
| double | scale_m |
| Vector_t | lorentzFactor_m |
| std::vector< std::pair< size_t, size_t > > | DestroyList |
Private Member Functions | |
| template<class AType> | |
| void | AssignDensityFort (ParticleAttrib< AType > &pa, AmrScalarFieldContainer_t &mf_to_be_filled, int lev_min, int ncomp, int finest_level, const ParticleAttrib< int > &pbin, int bin=-1) const |
| template<class AType> | |
| void | InterpolateFort (ParticleAttrib< AType > &pa, AmrVectorFieldContainer_t &mesh_data, int lev_min, int lev_max) |
| template<class AType> | |
| void | InterpolateSingleLevelFort (ParticleAttrib< AType > &pa, AmrVectorField_t &mesh_data, int lev) |
| template<class AType> | |
| void | InterpolateMultiLevelFort (ParticleAttrib< AType > &pa, AmrVectorFieldContainer_t &mesh_data, int lev) |
| template<class AType> | |
| void | AssignCellDensitySingleLevelFort (ParticleAttrib< AType > &pa, AmrField_t &mf, int level, const ParticleAttrib< int > &pbin, int bin=-1, int ncomp=1, int particle_lvl_offset=0) const |
| void | getLocalBounds_m (Vector_t &rmin, Vector_t &rmax) |
| void | getGlobalBounds_m (Vector_t &rmin, Vector_t &rmax) |
| void | setup () |
| unsigned | getNextID () |
Private Attributes | |
| IpplTimings::TimerRef | AssignDensityTimer_m |
| ParticleLevelCounter_t | LocalNumPerLevel_m |
| PLayout * | Layout |
| attrib_container_t | AttribList |
| size_t | TotalNum |
| size_t | LocalNum |
| size_t | DestroyNum |
| size_t | GhostNum |
| unsigned | NextID |
| container_t | ConnectionList |
Definition at line 38 of file BoxLibParticle.h.
| typedef PLayout::AmrBox_t BoxLibParticle< PLayout >::AmrBox_t |
Definition at line 55 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::AmrField_t BoxLibParticle< PLayout >::AmrField_t |
Definition at line 44 of file BoxLibParticle.h.
| typedef PLayout::AmrGeometry_t BoxLibParticle< PLayout >::AmrGeometry_t |
Definition at line 53 of file BoxLibParticle.h.
| typedef PLayout::AmrGrid_t BoxLibParticle< PLayout >::AmrGrid_t |
Definition at line 52 of file BoxLibParticle.h.
| typedef PLayout::AmrIntVect_t BoxLibParticle< PLayout >::AmrIntVect_t |
Definition at line 54 of file BoxLibParticle.h.
| typedef PLayout::AmrProcMap_t BoxLibParticle< PLayout >::AmrProcMap_t |
Definition at line 51 of file BoxLibParticle.h.
| typedef PLayout::AmrReal_t BoxLibParticle< PLayout >::AmrReal_t |
Definition at line 56 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::AmrScalarFieldContainer_t BoxLibParticle< PLayout >::AmrScalarFieldContainer_t |
Definition at line 46 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::AmrVectorField_t BoxLibParticle< PLayout >::AmrVectorField_t |
Definition at line 48 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::AmrVectorFieldContainer_t BoxLibParticle< PLayout >::AmrVectorFieldContainer_t |
Definition at line 47 of file BoxLibParticle.h.
|
inherited |
Definition at line 59 of file AmrParticleBase.h.
|
inherited |
Definition at line 143 of file IpplParticleBase.h.
|
inherited |
Definition at line 67 of file DataSource.h.
| typedef amrex::FArrayBox BoxLibParticle< PLayout >::FArrayBox_t |
Definition at line 58 of file BoxLibParticle.h.
|
inherited |
Definition at line 134 of file IpplParticleBase.h.
|
inherited |
Definition at line 132 of file IpplParticleBase.h.
|
inherited |
Definition at line 139 of file IpplParticleBase.h.
|
inherited |
Definition at line 140 of file IpplParticleBase.h.
| typedef AmrParticleBase<PLayout>::ParticleIndex_t BoxLibParticle< PLayout >::ParticleIndex_t |
Definition at line 42 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::ParticleLevelCounter_t BoxLibParticle< PLayout >::ParticleLevelCounter_t |
Definition at line 49 of file BoxLibParticle.h.
| typedef AmrParticleBase<PLayout>::ParticlePos_t BoxLibParticle< PLayout >::ParticlePos_t |
Definition at line 41 of file BoxLibParticle.h.
|
inherited |
Definition at line 133 of file IpplParticleBase.h.
| typedef AmrParticleBase<PLayout>::SingleParticlePos_t BoxLibParticle< PLayout >::SingleParticlePos_t |
Definition at line 43 of file BoxLibParticle.h.
|
inherited |
Definition at line 58 of file AmrParticleBase.h.
|
inherited |
Definition at line 57 of file AmrParticleBase.h.
|
inherited |
Definition at line 141 of file IpplParticleBase.h.
|
inherited |
| Enumerator | |
|---|---|
| Dim | |
Definition at line 129 of file IpplParticleBase.h.
|
inherited |
| Enumerator | |
|---|---|
| INPUT | |
| OUTPUT | |
| BOTH | |
| DEFAULT | |
Definition at line 64 of file DataSource.h.
| BoxLibParticle< PLayout >::BoxLibParticle | ( | ) |
Definition at line 37 of file BoxLibParticle.hpp.
References AmrParticleBase< PLayout >::AmrParticleBase(), AssignDensityTimer_m, and IpplTimings::getTimer().
| BoxLibParticle< PLayout >::BoxLibParticle | ( | PLayout * | layout | ) |
| layout | that does the particle-to-core management |
Definition at line 44 of file BoxLibParticle.hpp.
References AmrParticleBase< PLayout >::AmrParticleBase(), AssignDensityTimer_m, and IpplTimings::getTimer().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 231 of file IpplParticleBase.h.
Referenced by GenArrayParticle< PLayout, T, N >::GenArrayParticle(), GenParticle< PLayout, T >::GenParticle(), ParticlePos_t< PLayout >::initializeAmr(), and setup().
|
private |
Single-level scatter (adjusted from AMReX).
| pa | is the attribute to scatter onto the grid |
| mf | where attribute is scatterd to |
| level | where we want to scatter |
| ncomp | is the number of the component in the MultiFab (ncomp = 1) |
| particle_lvl_offset | is zero |
Definition at line 180 of file BoxLibParticle.hpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), AmrParticleLevelCounter< Key, T, Compare, Allocator >::end(), IpplParticleBase< PLayout >::getLayout(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), AmrParticleBase< PLayout >::Grid, and IpplParticleBase< PLayout >::R.
Referenced by AssignDensityFort(), and scatter().
|
private |
Multi-level scatter (adjusted from AMReX).
| pa | is the attribute to scatter onto the grid |
| mf_to_be_filled | is the MultiFab container to be filled (i.e. grid data) |
| lev_min | level we want to start |
| ncomp | is the number of components of MultiFab (equal to 1) |
| finest_level | level we want to end |
Definition at line 118 of file BoxLibParticle.hpp.
References AssignCellDensitySingleLevelFort(), AssignDensityTimer_m, IpplParticleBase< PLayout >::getLayout(), IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by scatter().
|
inlineinherited |
Definition at line 242 of file IpplParticleBase.h.
|
inherited |
Definition at line 83 of file DataSource.cpp.
Referenced by DataConnect::connect(), and DataConnect::connect().
|
inherited |
Definition at line 127 of file DataSource.cpp.
References DataConnect::checkin(), DataSourceObject::connected(), ConnectionList, DataSourceObject::getConnection(), and DataSourceObject::getSource().
|
inherited |
Definition at line 69 of file DataSource.cpp.
References ConnectionList, and findDataSourceObject().
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 135 of file AmrParticleBase.hpp.
|
inlineprotectedvirtualinherited |
Implements DataSource.
Definition at line 346 of file IpplParticleBase.h.
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 152 of file AmrParticleBase.hpp.
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 95 of file AmrParticleBase.hpp.
|
inherited |
Definition at line 143 of file DataSource.cpp.
References a, DataConnect::checkout(), and ConnectionList.
Referenced by DataConnect::checkout(), and ~DataSource().
|
inherited |
Linear mapping to AMReX computation domain [-1, 1]^3 including the Lorentz transform. All dimensions are mapped by the same scaling factor. The potential and electric field need to be scaled afterwards appropriately.
| PData | is the particle data |
| inverse | is true if we want to do the inverse operation |
Definition at line 265 of file AmrParticleBase.hpp.
References domainMappingTimer_m, getGlobalBounds_m(), IpplParticleBase< PLayout >::getLayout(), IpplParticleBase< PLayout >::getLocalNum(), IpplParticleBase< PLayout >::getTotalNum(), lorentzFactor_m, IpplInfo::myNode(), IpplParticleBase< PLayout >::R, scale_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::initFineLevels().
|
inlineinherited |
Definition at line 243 of file IpplParticleBase.h.
|
inherited |
Definition at line 55 of file DataSource.cpp.
References a, and ConnectionList.
Referenced by connected().
| void BoxLibParticle< PLayout >::gather | ( | ParticleAttrib< FT > & | attrib, |
| AmrVectorFieldContainer_t & | f, | ||
| ParticleAttrib< Vektor< PT, Dim > > & | pp, | ||
| int | lbase, | ||
| int | lfine ) |
Multi-level gather. Gather the data from the given Field into the given attribute, using the given Position attribute.
| attrib | to gather from grid |
| f | vector field on grid |
| pp | particle position (not used for AMReX call) |
| lbase | base level to gather from |
| lfine | finest level to gather from |
Definition at line 106 of file BoxLibParticle.hpp.
References InterpolateFort().
Referenced by AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::computeSelfFields_cycl().
|
inlineinherited |
Definition at line 125 of file AmrParticleBase.h.
Referenced by AmrYtWriter::writeBunch().
|
inlineinherited |
Definition at line 126 of file AmrParticleBase.h.
|
inlineinherited |
Definition at line 235 of file IpplParticleBase.h.
Referenced by DiscParticle::read(), and DiscParticle::write().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 207 of file IpplParticleBase.h.
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 197 of file IpplParticleBase.h.
|
inherited |
Definition at line 250 of file IpplParticleBase.hpp.
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 198 of file IpplParticleBase.h.
|
privateinherited |
Definition at line 370 of file AmrParticleBase.hpp.
References allreduce(), getLocalBounds_m(), and min().
Referenced by domainMapping().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 203 of file IpplParticleBase.h.
Referenced by BoxLibParticle< PLayout >::AssignCellDensitySingleLevelFort(), BoxLibParticle< PLayout >::AssignDensityFort(), AmrParticleBase< PLayout >::domainMapping(), ParticlePos_t< PLayout >::getAmrLayout(), ParticlePos_t< PLayout >::getAmrLayout(), IpplParticleBase< Layout_t >::getUpdateFlag(), BoxLibParticle< PLayout >::InterpolateMultiLevelFort(), BoxLibParticle< PLayout >::InterpolateSingleLevelFort(), operator<<(), BoxLibParticle< PLayout >::scatter(), IpplParticleBase< Layout_t >::setUpdateFlag(), AmrParticleBase< PLayout >::update(), and AmrParticleBase< PLayout >::update().
|
inlineinherited |
Definition at line 204 of file IpplParticleBase.h.
|
privateinherited |
Definition at line 349 of file AmrParticleBase.hpp.
References IpplParticleBase< PLayout >::getLocalNum(), max(), and IpplParticleBase< PLayout >::R.
Referenced by getGlobalBounds_m().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 196 of file IpplParticleBase.h.
Referenced by AmrParticleBase< PLayout >::domainMapping(), AmrParticleBase< PLayout >::getLocalBounds_m(), operator<<(), printDebug(), DiscParticle::read(), resetID(), AmrParticleBase< PLayout >::sort(), and DiscParticle::write().
|
inherited |
Definition at line 80 of file AmrParticleBase.hpp.
|
inherited |
Definition at line 72 of file AmrParticleBase.hpp.
References LocalNumPerLevel_m.
Referenced by BoxLibParticle< PLayout >::AssignCellDensitySingleLevelFort(), BoxLibParticle< PLayout >::InterpolateMultiLevelFort(), BoxLibParticle< PLayout >::InterpolateSingleLevelFort(), AmrBoxLib::postRegrid_m(), AmrBoxLib::tagForMaxNumParticles_m(), AmrBoxLib::tagForMinNumParticles_m(), AmrBoxLib::tagForMomenta_m(), AmrYtWriter::writeBunch(), and AmrYtWriter::writeParticles_m().
|
inherited |
Definition at line 346 of file IpplParticleBase.hpp.
References AttribList, Message::get(), Layout, and PAssert.
|
inherited |
Definition at line 394 of file IpplParticleBase.hpp.
References ADDIPPLSTAT, getMessage(), Layout, LocalNum, and PAssert.
Referenced by DiscParticle::read().
|
privateinherited |
Definition at line 86 of file IpplParticleBase.hpp.
References IpplInfo::Comm, and NextID.
Referenced by create().
|
inlineinherited |
This function is used during the cell tagging routines.
Definition at line 338 of file AmrParticleBase.hpp.
References scale_m.
Referenced by AmrBoxLib::tagForChargeDensity_m().
|
inherited |
Definition at line 369 of file IpplParticleBase.hpp.
References AttribList, Layout, and PAssert.
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 195 of file IpplParticleBase.h.
Referenced by AmrParticleBase< PLayout >::domainMapping(), operator<<(), printDebug(), and DiscParticle::write().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 219 of file IpplParticleBase.h.
Referenced by destroy(), and performDestroy().
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 603 of file IpplParticleBase.hpp.
References AttribList, GhostNum, Layout, and PAssert.
|
inherited |
Definition at line 688 of file IpplParticleBase.hpp.
References AttribList, Message::get(), GhostNum, Layout, and PAssert.
|
inherited |
Definition at line 713 of file IpplParticleBase.hpp.
References AttribList, GhostNum, Layout, and PAssert.
|
inherited |
Definition at line 663 of file IpplParticleBase.hpp.
References AttribList, Layout, PAssert, and Message::put().
|
inherited |
Definition at line 628 of file IpplParticleBase.hpp.
References AttribList, GhostNum, Layout, PAssert, Message::put(), and R.
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 465 of file IpplParticleBase.hpp.
References create(), IpplInfo::getNodes(), Layout, IpplInfo::myNode(), and PAssert.
|
inherited |
Definition at line 33 of file IpplParticleBase.hpp.
References Layout, PAssert, and setup().
|
inlineinherited |
Definition at line 75 of file AmrParticleBase.h.
|
inherited |
Definition at line 208 of file DataSource.cpp.
References a, and ConnectionList.
|
inherited |
Definition at line 195 of file DataSource.cpp.
References a, and ConnectionList.
|
private |
Multi-level gather (adjusted from AMReX).
| pa | is the attribute to gather to. |
| mesh_data | where the information is |
| lev_min | level to start |
| lev_max | level to end |
Definition at line 302 of file BoxLibParticle.hpp.
References InterpolateMultiLevelFort(), and InterpolateSingleLevelFort().
Referenced by gather().
|
private |
Multi-level gather.
| pa | is the attribute to be updated |
| mesh_data | where the information is taken from |
| lev | for which we get the mesh data |
Definition at line 409 of file BoxLibParticle.hpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), AmrParticleLevelCounter< Key, T, Compare, Allocator >::end(), IpplParticleBase< PLayout >::getLayout(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), AmrParticleBase< PLayout >::Grid, and IpplParticleBase< PLayout >::R.
Referenced by InterpolateFort().
|
private |
Single-level gather (adjusted from AMReX).
| pa | is the attribute to be updated |
| mesh_data | where the information is taken from |
| lev | for which we get the mesh data |
Definition at line 317 of file BoxLibParticle.hpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), AmrParticleLevelCounter< Key, T, Compare, Allocator >::end(), IpplParticleBase< PLayout >::getLayout(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), AmrParticleBase< PLayout >::Grid, and IpplParticleBase< PLayout >::R.
Referenced by InterpolateFort().
|
inlineinherited |
Definition at line 259 of file AmrParticleBase.hpp.
References forbidTransform_m.
Referenced by AmrBoxLib::initFineLevels().
|
inlineinherited |
Definition at line 239 of file IpplParticleBase.h.
Referenced by operator<<(), DiscParticle::read(), and DiscParticle::write().
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 110 of file AmrParticleBase.hpp.
References IpplParticleBase< PLayout >::DestroyList.
|
inherited |
Definition at line 763 of file IpplParticleBase.hpp.
References AttribList, endl(), getLocalNum(), getTotalNum(), and Layout.
|
inherited |
Definition at line 209 of file IpplParticleBase.hpp.
|
inherited |
Definition at line 232 of file IpplParticleBase.hpp.
References AttribList, Layout, and PAssert.
|
inherited |
Definition at line 180 of file IpplParticleBase.hpp.
References Layout, PAssert, and Message::put().
Referenced by DiscParticle::write().
|
inherited |
Definition at line 330 of file IpplParticleBase.hpp.
|
inherited |
Definition at line 314 of file IpplParticleBase.hpp.
References MsgBuffer::get().
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 96 of file IpplParticleBase.hpp.
References IpplInfo::Comm, COMM_ANY_NODE, Message::get(), getLocalNum(), IpplInfo::getNodes(), ID, IpplInfo::myNode(), P_LAYOUT_CYCLE, P_RESET_ID_TAG, PAssert, Message::put(), and sum().
| void BoxLibParticle< PLayout >::scatter | ( | ParticleAttrib< FT > & | attrib, |
| AmrField_t & | f, | ||
| ParticleAttrib< Vektor< PT, Dim > > & | pp, | ||
| const ParticleAttrib< int > & | pbin, | ||
| int | bin = -1, | ||
| int | level = 0 ) |
Single-level scatter. Scatter the data from the given attribute onto the given field, using the given position attribute. It calls the AMReX methods.
| attrib | to scatter onto grid |
| f | field on grid |
| pp | particle position (not used for AMReX call) |
| pbin | the particle bin attribute |
| bin | to scatter (default: -1 --> scatter all particles) |
| level | for which we put particles onto the grid |
Definition at line 85 of file BoxLibParticle.hpp.
References AssignCellDensitySingleLevelFort().
| void BoxLibParticle< PLayout >::scatter | ( | ParticleAttrib< FT > & | attrib, |
| AmrScalarFieldContainer_t & | f, | ||
| ParticleAttrib< Vektor< PT, Dim > > & | pp, | ||
| int | lbase, | ||
| int | lfine, | ||
| const ParticleAttrib< int > & | pbin, | ||
| int | bin = -1 ) |
Multi-level scatter. Scatter the data from the given attribute onto the given field, using the given position attribute. It calls the AMReX method.
| attrib | to scatter onto grid |
| f | field on grid |
| pp | particle position (not used for AMReX call) |
| lbase | base level we want to start |
| lfine | finest level we want to stop |
| pbin | the particle bin attribute |
| bin | to scatter (default: -1 --> scatter all particles) |
Definition at line 52 of file BoxLibParticle.hpp.
References AssignDensityFort(), IpplParticleBase< PLayout >::getLayout(), and scatter().
Referenced by AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::solvePoisson_m(), and AmrBoxLib::tagForChargeDensity_m().
|
pure virtualinherited |
|
inlineinherited |
Definition at line 210 of file IpplParticleBase.h.
|
inlineinherited |
This method is used in the AmrPartBunch::boundp() function in order to avoid multpile particle mappings during the mesh regridding process.
| forbidTransform | true if we don't want to map particles onto \([-1, 1]^3\) |
Definition at line 253 of file AmrParticleBase.hpp.
References forbidTransform_m.
Referenced by AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::initFineLevels().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 200 of file IpplParticleBase.h.
|
inherited |
Definition at line 87 of file AmrParticleBase.hpp.
References LocalNumPerLevel_m.
|
inherited |
Definition at line 343 of file AmrParticleBase.hpp.
References lorentzFactor_m.
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 199 of file IpplParticleBase.h.
|
privateinherited |
Definition at line 49 of file IpplParticleBase.hpp.
References addAttribute(), IpplInfo::Comm, DestroyNum, GhostNum, ID, AbstractParticle< PLayout::Position_t, PLayout::Dimension >::ID_p, INCIPPLSTAT, LocalNum, NextID, R, AbstractParticle< PLayout::Position_t, PLayout::Dimension >::R_p, and TotalNum.
Referenced by initialize(), and IpplParticleBase< Layout_t >::IpplParticleBase().
|
inlinevirtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 222 of file IpplParticleBase.h.
|
virtualinherited |
Implements AbstractParticle< PLayout::Position_t, PLayout::Dimension >.
Definition at line 78 of file IpplParticleBase.hpp.
References IpplInfo::Comm.
|
inherited |
Definition at line 215 of file AmrParticleBase.hpp.
References IpplParticleBase< PLayout >::getLocalNum(), IpplParticleBase< PLayout >::LocalNum, sort(), sortParticlesTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by sort(), update(), and update().
|
inherited |
Definition at line 244 of file AmrParticleBase.hpp.
References begin(), and end().
|
virtualinherited |
Reimplemented from IpplParticleBase< PLayout >.
Definition at line 166 of file AmrParticleBase.hpp.
Referenced by AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::postRegrid_m(), AmrBoxLib::tagForChargeDensity_m(), AmrBoxLib::tagForMaxNumParticles_m(), AmrBoxLib::tagForMinNumParticles_m(), and AmrBoxLib::tagForMomenta_m().
|
virtualinherited |
Reimplemented from IpplParticleBase< PLayout >.
Definition at line 194 of file AmrParticleBase.hpp.
References IpplParticleBase< PLayout >::getLayout(), INCIPPLSTAT, IpplParticleBase< PLayout >::Layout, PAssert, sort(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and updateParticlesTimer_m.
|
inherited |
There's is NO check performed if lev_min <= lev_max and lev_min >= 0.
| lev_min | is the start level to update |
| lev_max | is the last level to update |
| isRegrid | is true if we are updating the grids (default: false) |
Definition at line 173 of file AmrParticleBase.hpp.
References IpplParticleBase< PLayout >::getLayout(), INCIPPLSTAT, IpplParticleBase< PLayout >::Layout, PAssert, sort(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and updateParticlesTimer_m.
|
inherited |
Definition at line 176 of file DataSource.cpp.
References a, and ConnectionList.
|
inherited |
Definition at line 275 of file IpplParticleBase.hpp.
|
inherited |
Definition at line 291 of file IpplParticleBase.hpp.
|
private |
Definition at line 192 of file BoxLibParticle.h.
Referenced by AssignDensityFort(), BoxLibParticle(), and BoxLibParticle().
|
privateinherited |
Definition at line 362 of file IpplParticleBase.h.
Referenced by create(), createWithID(), destroy(), getMessage(), getSingleMessage(), ghostDestroy(), ghostGetMessage(), ghostGetSingleMessage(), ghostPutMessage(), ghostPutMessage(), performDestroy(), printDebug(), putMessage(), and sort().
|
privateinherited |
Definition at line 138 of file DataSource.h.
Referenced by connect(), connected(), disconnect(), findDataSourceObject(), interact(), interact(), and updateConnection().
|
protectedinherited |
Definition at line 355 of file IpplParticleBase.h.
Referenced by destroy(), AmrParticleBase< PLayout >::performDestroy(), and performDestroy().
|
privateinherited |
Definition at line 369 of file IpplParticleBase.h.
Referenced by destroy(), performDestroy(), and setup().
|
protectedinherited |
Definition at line 173 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), and domainMapping().
|
protectedinherited |
To avoid multiple transformations during regrid.
Definition at line 175 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), isForbidTransform(), and setForbidTransform().
|
privateinherited |
Definition at line 370 of file IpplParticleBase.h.
Referenced by ghostDestroy(), ghostGetMessage(), ghostGetSingleMessage(), ghostPutMessage(), and setup().
|
inherited |
Definition at line 62 of file AmrParticleBase.h.
Referenced by BoxLibParticle< PLayout >::AssignCellDensitySingleLevelFort(), BoxLibParticle< PLayout >::InterpolateMultiLevelFort(), BoxLibParticle< PLayout >::InterpolateSingleLevelFort(), and AmrYtWriter::writeParticles_m().
|
inherited |
Definition at line 148 of file IpplParticleBase.h.
Referenced by create(), createWithID(), resetID(), and setup().
|
inherited |
Definition at line 93 of file AbstractParticle.h.
Referenced by IpplParticleBase< PLayout >::setup().
|
privateinherited |
Definition at line 359 of file IpplParticleBase.h.
Referenced by create(), createWithID(), destroy(), getMessage(), getMessageAndCreate(), getSingleMessage(), ghostDestroy(), ghostGetMessage(), ghostGetSingleMessage(), ghostPutMessage(), ghostPutMessage(), globalCreate(), initialize(), performDestroy(), printDebug(), putMessage(), putMessage(), putMessage(), AmrParticleBase< PLayout >::update(), AmrParticleBase< PLayout >::update(), update(), and update().
|
inherited |
Definition at line 61 of file AmrParticleBase.h.
|
privateinherited |
Definition at line 368 of file IpplParticleBase.h.
Referenced by create(), createWithID(), destroy(), getMessageAndCreate(), performDestroy(), setup(), and AmrParticleBase< PLayout >::sort().
|
privateinherited |
Definition at line 194 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), getLocalNumPerLevel(), and setLocalNumPerLevel().
|
protectedinherited |
Lorentz factor used for the domain mapping. Is updated in AmrBoxLib
Definition at line 188 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), domainMapping(), and setLorentzFactor().
|
privateinherited |
Definition at line 373 of file IpplParticleBase.h.
Referenced by getNextID(), and setup().
|
inherited |
Definition at line 147 of file IpplParticleBase.h.
Referenced by BoxLibParticle< PLayout >::AssignCellDensitySingleLevelFort(), AmrParticleBase< PLayout >::domainMapping(), AmrParticleBase< PLayout >::getLocalBounds_m(), ghostPutMessage(), BoxLibParticle< PLayout >::InterpolateMultiLevelFort(), BoxLibParticle< PLayout >::InterpolateSingleLevelFort(), and setup().
|
inherited |
Definition at line 92 of file AbstractParticle.h.
Referenced by IpplParticleBase< PLayout >::setup().
|
protectedinherited |
Scaling factor for particle coordinate transform (used for Poisson solve and particle-to-core distribution)
Definition at line 181 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), domainMapping(), and getScalingFactor().
|
protectedinherited |
Definition at line 172 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), and sort().
|
privateinherited |
Definition at line 367 of file IpplParticleBase.h.
Referenced by setup().
|
protectedinherited |
Definition at line 171 of file AmrParticleBase.h.
Referenced by AmrParticleBase(), AmrParticleBase(), update(), and update().