Basic particle type for Discrete Particle Simulations In DPS particles are unresolved i.e. they are not represented on the grid. Instead, their effect on the flow is considered using the volume fraction in the fluid_GNS scheme's equilibrium distribution functions and forcing terms. Hence the scheme kind should be set to 'fluid_GNS' when using these kinds of particles.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | particleID | ||||
| integer, | public | :: | owner | ||||
| integer, | public | :: | previousOwner |
Previous owner of this particle. Used to determine when to Send data like particle%momInc to new owner |
|||
| 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_global 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. |
|
| logical, | public | :: | removeParticle_local | = | .FALSE. |
removeParticle_local indicates that this particle needs to be removed from this process's particleGroup because its coordOfOrigin is not within one lattice site of a local fluid cell |
|
| real(kind=rk), | public | :: | radius | ||||
| integer, | public | :: | Rn | ||||
| real(kind=rk), | public | :: | mass | ||||
| real(kind=rk), | public | :: | rotInertia | ||||
| 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) | ||||
| integer, | public | :: | posOfOrigin | ||||
| real(kind=rk), | public | :: | F(6) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | Favg(3) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | u_fluid(3) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | rho_fluid | = | 0.0_rk | ||
| real(kind=rk), | public | :: | eps_f_fluid | = | 0.0_rk | ||
| real(kind=rk), | public | :: | grad_p_fluid(3) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | curl_u_fluid(3) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | Fext(6) | = | 0.0_rk | ||
| real(kind=rk), | public | :: | F_DEM(2,6) | = | 0.0_rk | ||
| integer, | public | :: | F_DEM_now | = | 1 | ||
| integer, | public | :: | F_DEM_next | = | 2 | ||
| type(dyn_intarray_type), | public | :: | DEM_neighborlist |
List containing indices of nearby particles to check for collisions during the DEM subcycles |
|||
| 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. |