mus_particle_creator_type Derived Type

type, public :: mus_particle_creator_type

Data type used to create particles with certain properties at specified time steps


Components

Type Visibility Attributes Name Initial
integer, public :: Nparticles

Number of particles in this particle creator object. This is the amount of particles that will be created at each interval.

type(grw_real2darray_type), public :: position

Dynamic array containing positions of particles to be created at each iter First index corresponds to a certain particle, second to x, y, z, rx, ry, rz coordinate

type(grw_real2darray_type), public :: velocity

Dynamic array containing velocities of particles to be created at each iter

type(grw_real2darray_type), public :: force

Dynamic array containing forces of particles to be created at each iter

type(grw_realarray_type), public :: radius

Dynamic array containing radii of particles to be created at each iter

type(grw_realarray_type), public :: mass

Dynamic array containing mass of particles to be created at each iter

type(grw_intarray_type), public :: IDoffset

Dynamic array containing the particleID offsets for each particle These are used to create unique (across all processes) ID's for each particle

logical, public :: init_particle_to_fluid_vel

Logical to indicate whether to initialize particles to the local fluid velocity If this is set to TRUE, particles will be initialized with the local fluid velocity when they are created. In this case the particle_creator%velocities array is not used.

integer, public :: global_Nparticles

Number of particles in the particle creators on all processes

integer, public :: N_times_called = 0

Times that the particleCreator has been called This is the same on all processes

integer, public :: iter_start

Iteration number to start creating particles

integer, public :: iter_end

Iteration number to stop creating particles

integer, public :: iter_interval

Create particles every this many time steps