Neko 1.99.6
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
lpt_migration.f90 File Reference

Go to the source code of this file.

Data Types

type  lpt_migrate::lpt_migrate_t
 

Modules

module  lpt_migrate
 Particle redistribution support for LPT.
 

Functions/Subroutines

subroutine lpt_migrate::lpt_migrate_init (this, lag_len, strategy)
 Initialise particle migration settings.
 
subroutine lpt_migrate::lpt_migrate_free (this)
 Reset migration settings to defaults.
 
subroutine lpt_migrate::build_even_particle_distribution (n_root, counts, offsets, n_local)
 Build an even rank distribution from the root-rank particle count.
 
subroutine lpt_migrate::initialize_particle_distribution (this, inertia, particles)
 Apply the initial particle distribution required by the strategy.
 
subroutine lpt_migrate::migrate_particles (this, global_interp, periodic_bc, inertia, particles)
 Update particle ownership according to the selected migration strategy.
 
subroutine lpt_migrate::distribute_particles_evenly (this, inertia, particles)
 Distribute particles from rank 0 evenly across all ranks.
 
subroutine lpt_migrate::distribute_particle_ids (this, ids_old, counts, offsets, n_local, ids_local)
 Scatter particle ids from rank 0 to the current rank.
 
subroutine lpt_migrate::distribute_particle_scalar (this, scalar_old, counts, offsets, n_local, scalar_local)
 Scatter one particle scalar field from rank 0 to the current rank.
 
subroutine lpt_migrate::localize_global_interpolation (this, global_interp, n_local)
 Mark interpolation data as local after migration has completed.
 
subroutine lpt_migrate::migrate_particle_ids (this, migrate_comm, ids_old, n_particles_old, n_local, particle_ids_local)
 Exchange particle ids according to global-interpolation ownership data.
 
subroutine lpt_migrate::migrate_particle_scalar (this, migrate_comm, scalar_old, n_particles_old, n_local, scalar_local)
 Exchange one particle scalar according to interpolation ownership data.
 

Variables

integer, parameter, public lpt_migrate::lpt_migrate_to_owner = 1
 
integer, parameter, public lpt_migrate::lpt_migrate_none = 2