mus_particle_MEM_type Derived Type

type, public :: mus_particle_MEM_type


Components

Type Visibility Attributes Name Initial
integer, public :: particleID
integer, public :: owner
integer, public :: previousOwner = -1

Process who was owner in last time step. We need this for the averaging of forces over two time steps

logical, public, allocatable :: existsOnProc(:)
logical, public, allocatable :: addToProc(:)
logical, public, allocatable :: removeFromProc(:)
logical, public :: newForMe = .FALSE.

Logical which tells us whether to initialize this particle or not is set to true only immediately after receiving this particle from a neighboring process

logical, public :: hasCollided = .FALSE.

hasCollided tells us whether particle has just had its velocity modified in a collision and that this information needs to be sent to other processes

logical, public :: removeParticle_global = .FALSE.

removeParticle indicates that this particle needs to be removed after e.g. hitting an open boundary. This information is first sent to all other procs that know about this particle, then the particle is actually removed from the particleGroup.

real(kind=rk), public :: radius
real(kind=rk), public :: mass
real(kind=rk), public :: rotInertia
integer, public :: Rn
real(kind=rk), public :: vel(6)
real(kind=rk), public :: pos(6)
real(kind=rk), public :: oldPos(6)
integer, public :: coordOfOrigin(4)
integer, public :: oldCoordOfOrigin(4)
real(kind=rk), public :: F(6) = 0.0_rk
real(kind=rk), public :: Fbuff(2,6) = 0.0_rk
real(kind=rk), public :: Fext(6) = 0.0_rk
integer, public :: Fnow = 1
integer, public :: Flast = 2
real(kind=rk), public :: F_DEM(2,6) = 0.0_rk
integer, public :: F_DEM_now = 1
integer, public :: F_DEM_next = 2
integer, public :: nWallPos = 0
real(kind=rk), public :: avgWallPos(3) = 0.0_rk
real(kind=rk), public :: rwall(3) = 0.0_rk
logical, public :: interactWithWall = .FALSE.
type(dyn_intarray_type), public :: exclusionList
type(dyn_intarray_type), public :: exclusionListBuffer

Buffer for exclusion list used in moveParticle routine

integer, public :: NfluidNeighbors

Number of fluid neighbors for this particle

type(grw_intarray_type), public :: makeFluidList

Indices in levelDesc total list of elements that