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

#include <ParticleAmrLayout.h>

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

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.
int maxLevel_m
 Maximum level allowed.

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()

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

◆ getBConds()

◆ getUpdateFlag()

◆ setBConds()

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

Definition at line 94 of file ParticleLayout.h.

◆ 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 >, and BoxLibLayout< double, 3 >.

◆ 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.

References finestLevel_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.

References maxLevel_m.

◆ setUpdateFlag()

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

Definition at line 76 of file ParticleLayout.h.

Referenced by ParticleLayout(), and IpplParticleBase< Layout_t >::setUpdateFlag().

Member Data Documentation

◆ BoundConds

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

Definition at line 118 of file ParticleLayout.h.

◆ 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.

Referenced by BoxLibLayout< T, Dim >::finestLevel(), ParticleAmrLayout(), and setFinestLevel().

◆ maxLevel_m

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

◆ UpdateOptions

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

Definition at line 121 of file ParticleLayout.h.


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