particle field list model More...
#include <SmartPList.hpp>
Classes | |
class | Iterator |
Public Member Functions | |
Iterator | begin () |
Iterator | end () |
Iterator | vbegin () |
Iterator | vend () |
SmartPList () | |
SmartPList (const int &num, const int vnum=0) | |
void | Init (const int &num, const int vnum=0) |
void | Clear () |
void | InitPresreveBuffer () |
void | ChangeStatus (const SPLTag &status) |
void | AllocateBuffer () |
void | AllocateBuffer (const int lens0) |
const T & | Add (const T &val) |
add element to pfield list More... | |
void | InitVirtualRegion () |
set the virtual particle length to zero More... | |
const T & | AddVirtual (const T &val) |
add a virtual particle More... | |
const T & | GetAndRemove (const int &ind) |
Get element and Remove it. More... | |
void | Compact () |
remove all empty cavity, will be called after particle send and recieve More... | |
void | InitCavityIndex () |
const int | Length () |
length of valid field list More... | |
const int | MaxLength () |
length of field list including removed position, not including the virtual particle part More... | |
const int | MaxLengthIncludeVirtual () |
const int | MaxVirtualRegionLength () |
const int | BufferLength () |
length of the buffer More... | |
T & | RemovedList (const int &i) |
int | RemovedMaxSize () |
std::string | PrintRemovedInd () |
T & | operator() (const int &i) |
void | InitVirtualWaitingList () |
void | AddIndexToVirtualWaitingList (const int vind) |
int | VirtualWaitingListMaxSize () |
T & | VirtualWaitingList (const int i) |
T & | VirtualRegion (const int i) |
void | SetAuxstep (const int &aup, const int &auf) |
Public Attributes | |
int | auxstep_pdata = 0 |
int | auxstep_fdata = 0 |
Private Attributes | |
Array1< T > | _buffer |
CavityIndex | _cind |
CavityIndex | _vindtemp |
int | _len = 0 |
int | _vlen = 0 |
SPLTag | _status = SPLTag::Free |
particle field list model
buffer model:
|0|1|2|...|10|11|12|...|20|21|...|29|30| | | | | V V V V start _len-1 _len+_vlen-1 buffer size-1 =1.5(_len+_vlen)-1;
T |
|
inline |
|
inline |
|
inline |
add element to pfield list
val |
References dmdyn::AddOnly, dmdyn::CavityQueue< T >::Dequeue(), and dmdyn::CavityQueue< T >::IsEmpty().
|
inline |
|
inline |
add a virtual particle
val | usually a particleField |
References dmdyn::AddVirtualListOnly.
|
inline |
References dmdyn::ReadOnly.
|
inline |
References dmdyn::ReadOnly.
|
inline |
|
inline |
length of the buffer
|
inline |
|
inline |
|
inline |
remove all empty cavity, will be called after particle send and recieve
References dmdyn::CavityQueue< T >::IsEmpty(), and dmdyn::CavityQueue< T >::Pop().
|
inline |
|
inline |
Get element and Remove it.
ind |
References dmdyn::GetAndRemoveOnly, dmdyn::CavityQueue< T >::Inqueue(), and dmdyn::CavityQueue< T >::IsInqueuing().
|
inline |
|
inline |
|
inline |
|
inline |
set the virtual particle length to zero
References dmdyn::AddVirtualListOnly.
|
inline |
References dmdyn::CavityQueue< T >::CleanBuffer(), and dmdyn::CavityQueue< T >::InitQueue().
|
inline |
length of valid field list
References dmdyn::CavityQueue< T >::Length().
|
inline |
length of field list including removed position, not including the virtual particle part
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
int dmdyn::SmartPList< T >::auxstep_fdata = 0 |
int dmdyn::SmartPList< T >::auxstep_pdata = 0 |