mus_particle_module contains the main control routines for LBM-DEM simulations of particles in a flow.
Swap index of the particle force buffer
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_particle_MEM_type), | intent(inout) | :: | this |
Initialization for particleGroup and all the particles in it Includes: * Assigning the required procedure pointers for particleGroup and particles * Initializing loggers * Initializing communication routines * Building the representation of the particles on the grid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_particle_group_type), | target | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
This routine moves all particles in particleArray.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
This routine moves all particles in particleArray.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
This routine moves all particles in particleArray.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
mus_particles_mapping maps the current particle positions to the lattice This means the exclusionLists are updated, connectivity of solid and fluid neighbor particles is modified, new fluid particles are initialized and have their connectivity restored. Also particles that have no more elements on this process (either local or halo) get removed from this process. Should be called once per LBM time step.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(mus_particle_group_type), | intent(inout) | :: | particleGroup |
Array of particles |
||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to leveldescriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry for access to tree |
||
| type(mus_param_type), | intent(in) | :: | params |
Params for access to dt, dx, etc. |
Routine for manually checking connectivity of particle elements, to be removed later
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_scheme_type) | :: | scheme | ||||
| type(mus_particle_MEM_type) | :: | particle | ||||
| integer | :: | lev |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_scheme_type), | intent(in) | :: | scheme | |||
| type(mus_geom_type), | intent(in) | :: | geometry | |||
| integer, | intent(in) | :: | lev | |||
| integer, | intent(in) | :: | proc | |||
| integer, | intent(in) | :: | plogUnit |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_scheme_type), | intent(in) | :: | scheme | |||
| type(mus_geom_type), | intent(in) | :: | geometry | |||
| integer, | intent(in) | :: | lev | |||
| integer, | intent(in) | :: | proc | |||
| integer, | intent(in) | :: | plogUnit |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_particle_MEM_type), | intent(inout) | :: | this | |||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to level descriptor |
||
| type(tem_stencilHeader_type), | intent(in) | :: | stencil |
fluid stencil |
||
| type(mus_param_type), | intent(in) | :: | params |
Parameters for access to conversion factors between units |