|
MFC
Exascale flow solver
|
Go to the source code of this file.
Modules | |
| module | m_particle_cloud |
| Generates particle beds by converting particle_cloud patch specifications into individual immersed boundary patches before domain reduction. Each rank runs the same deterministic placement so no MPI broadcast of particle positions is needed. | |
Functions/Subroutines | |
| impure subroutine, public | m_particle_cloud::s_generate_particle_clouds (particle_cloud_ibs) |
| Generate all particle beds and fill particle_cloud_ibs. Called on all ranks before s_reduce_ib_patch_array. | |
| subroutine | m_particle_cloud::s_particle_cloud_random_box (cloud_idx, ib_idx, particle_cloud_ibs) |
| Generates a random distributions of particles in a box with a minimum spacing. | |
| real(wp) function | m_particle_cloud::f_xorshift (seed) |
| Xorshift PRNG. Advances seed in-place and returns a value in [0, 1). | |
| integer function | m_particle_cloud::f_bin_hash (bx, by, bz, hash_size) |
| Hash bin coordinates to a 1-indexed slot in [1, hash_size]. Uses large prime multipliers to spread bins across buckets. Hash collisions are benign: the distance check catches false neighbours. | |