OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
ParticleAmrLayout< T, Dim > Class Template Referenceabstract

#include <ParticleAmrLayout.h>

Inheritance diagram for ParticleAmrLayout< T, Dim >:
Inheritance graph
Collaboration diagram for ParticleAmrLayout< T, Dim >:
Collaboration graph

Public Types

typedef int pair_t
 
typedef pair_tpair_iterator
 
typedef ParticleLayout< T, Dim >::SingleParticlePos_t SingleParticlePos_t
 
typedef ParticleLayout< T, Dim >::Index_t Index_t
 
typedef ParticleAttrib< SingleParticlePos_tParticlePos_t
 
typedef ParticleAttrib< Index_tParticleIndex_t
 
enum  { Dimension = Dim }
 
enum  UpdateFlags {
  SWAP , BCONDS , NUMFLAGS , OPTDESTROY ,
  ALL
}
 
typedef T Position_t
 

Public Member Functions

 ParticleAmrLayout ()
 
void setFinestLevel (int finestLevel)
 
void setMaxLevel (int maxLevel)
 
virtual void setBoundingBox (double dh)=0
 
void setUpdateFlag (UpdateFlags f, bool val)
 
bool getUpdateFlag (UpdateFlags f) const
 
ParticleBConds< T, Dim > & getBConds ()
 
void setBConds (const ParticleBConds< T, Dim > &bc)
 

Protected Member Functions

template<class PPT , class NDI >
void apply_bconds (unsigned n, PPT &R, const ParticleBConds< T, Dim > &bcs, const NDI &nr)
 

Protected Attributes

int finestLevel_m
 Current finest level of simluation. More...
 
int maxLevel_m
 Maximum level allowed. More...
 

Private Attributes

ParticleBConds< T, DimBoundConds
 
unsigned int UpdateOptions
 

Detailed Description

template<class T, unsigned Dim>
class ParticleAmrLayout< T, Dim >

Definition at line 27 of file ParticleAmrLayout.h.

Member Typedef Documentation

◆ Index_t

template<class T , unsigned Dim>
typedef ParticleLayout<T,Dim>::Index_t ParticleAmrLayout< T, Dim >::Index_t

Definition at line 35 of file ParticleAmrLayout.h.

◆ pair_iterator

template<class T , unsigned Dim>
typedef pair_t* ParticleAmrLayout< T, Dim >::pair_iterator

Definition at line 32 of file ParticleAmrLayout.h.

◆ pair_t

template<class T , unsigned Dim>
typedef int ParticleAmrLayout< T, Dim >::pair_t

Definition at line 31 of file ParticleAmrLayout.h.

◆ ParticleIndex_t

template<class T , unsigned Dim>
typedef ParticleAttrib<Index_t> ParticleAmrLayout< T, Dim >::ParticleIndex_t

Definition at line 39 of file ParticleAmrLayout.h.

◆ ParticlePos_t

template<class T , unsigned Dim>
typedef ParticleAttrib<SingleParticlePos_t> ParticleAmrLayout< T, Dim >::ParticlePos_t

Definition at line 38 of file ParticleAmrLayout.h.

◆ Position_t

template<class T , unsigned Dim>
typedef T ParticleLayout< T, Dim >::Position_t
inherited

Definition at line 62 of file ParticleLayout.h.

◆ SingleParticlePos_t

template<class T , unsigned Dim>
typedef ParticleLayout<T,Dim>::SingleParticlePos_t ParticleAmrLayout< T, Dim >::SingleParticlePos_t

Definition at line 34 of file ParticleAmrLayout.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T , unsigned Dim>
anonymous enum
inherited
Enumerator
Dimension 

Definition at line 58 of file ParticleLayout.h.

◆ UpdateFlags

template<class T , unsigned Dim>
enum ParticleLayout::UpdateFlags
inherited
Enumerator
SWAP 
BCONDS 
NUMFLAGS 
OPTDESTROY 
ALL 

Definition at line 59 of file ParticleLayout.h.

Constructor & Destructor Documentation

◆ ParticleAmrLayout()

template<class T , unsigned Dim>
ParticleAmrLayout< T, Dim >::ParticleAmrLayout

Definition at line 72 of file ParticleAmrLayout.h.

Member Function Documentation

◆ apply_bconds()

template<class T , unsigned Dim>
template<class PPT , class NDI >
void ParticleLayout< T, Dim >::apply_bconds ( unsigned  n,
PPT &  R,
const ParticleBConds< T, Dim > &  bcs,
const NDI &  nr 
)
inlineprotectedinherited

Definition at line 106 of file ParticleLayout.h.

References ParticleBConds< T, Dim >::apply(), Dim, Hypervolume::n, nr, and Attrib::Distribution::R.

Here is the call graph for this function:

◆ getBConds()

template<class T , unsigned Dim>
ParticleBConds< T, Dim > & ParticleLayout< T, Dim >::getBConds ( )
inlineinherited

◆ getUpdateFlag()

template<class T , unsigned Dim>
bool ParticleLayout< T, Dim >::getUpdateFlag ( UpdateFlags  f) const
inlineinherited

◆ setBConds()

template<class T , unsigned Dim>
void ParticleLayout< T, Dim >::setBConds ( const ParticleBConds< T, Dim > &  bc)
inlineinherited

◆ setBoundingBox()

template<class T , unsigned Dim>
virtual void ParticleAmrLayout< T, Dim >::setBoundingBox ( double  dh)
pure virtual

Set the computational domain of the base level. E.g. the computational domain is [-1, 1]^3. With dh = 4, we get a new domain of [-1.04, 1.04]^3.

Parameters
dhis the mesh enlargement in [%]

Implemented in BoxLibLayout< T, Dim >.

◆ setFinestLevel()

template<class T , unsigned Dim>
void ParticleAmrLayout< T, Dim >::setFinestLevel ( int  finestLevel)
Parameters
finestLevelof current simulation state

Definition at line 79 of file ParticleAmrLayout.h.

Referenced by AmrBoxLib::doRegrid_m().

◆ setMaxLevel()

template<class T , unsigned Dim>
void ParticleAmrLayout< T, Dim >::setMaxLevel ( int  maxLevel)
Parameters
maxLevelallowed during simulation run

Definition at line 85 of file ParticleAmrLayout.h.

◆ setUpdateFlag()

template<class T , unsigned Dim>
void ParticleLayout< T, Dim >::setUpdateFlag ( UpdateFlags  f,
bool  val 
)
inlineinherited

Member Data Documentation

◆ BoundConds

template<class T , unsigned Dim>
ParticleBConds<T,Dim> ParticleLayout< T, Dim >::BoundConds
privateinherited

◆ finestLevel_m

template<class T , unsigned Dim>
int ParticleAmrLayout< T, Dim >::finestLevel_m
protected

Current finest level of simluation.

Definition at line 63 of file ParticleAmrLayout.h.

◆ maxLevel_m

template<class T , unsigned Dim>
int ParticleAmrLayout< T, Dim >::maxLevel_m
protected

Maximum level allowed.

Definition at line 64 of file ParticleAmrLayout.h.

Referenced by BoxLibLayout< T, Dim >::BoxLibLayout(), and BoxLibLayout< T, Dim >::resize().

◆ UpdateOptions

template<class T , unsigned Dim>
unsigned int ParticleLayout< T, Dim >::UpdateOptions
privateinherited

The documentation for this class was generated from the following file: