|
Neko 1.99.6
A portable framework for high-order spectral element flow simulations
|
Particle redistribution support for LPT.
Data Types | |
| type | lpt_migrate_t |
Functions/Subroutines | |
| subroutine | lpt_migrate_init (this, lag_len, strategy) |
| Initialise particle migration settings. | |
| subroutine | lpt_migrate_free (this) |
| Reset migration settings to defaults. | |
| subroutine | build_even_particle_distribution (n_root, counts, offsets, n_local) |
| Build an even rank distribution from the root-rank particle count. | |
| subroutine | initialize_particle_distribution (this, inertia, particles) |
| Apply the initial particle distribution required by the strategy. | |
| subroutine | migrate_particles (this, global_interp, periodic_bc, inertia, particles) |
| Update particle ownership according to the selected migration strategy. | |
| subroutine | distribute_particles_evenly (this, inertia, particles) |
| Distribute particles from rank 0 evenly across all ranks. | |
| subroutine | distribute_particle_ids (this, ids_old, counts, offsets, n_local, ids_local) |
| Scatter particle ids from rank 0 to the current rank. | |
| subroutine | 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 | localize_global_interpolation (this, global_interp, n_local) |
| Mark interpolation data as local after migration has completed. | |
| subroutine | 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 | 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_to_owner = 1 |
| integer, parameter, public | lpt_migrate_none = 2 |
|
private |
| n_root | Number of particles available on rank 0. |
| counts | Number of particles assigned to each rank. |
| offsets | Particle offsets into the root-rank arrays. |
| n_local | Number of particles assigned to this rank. |
Definition at line 96 of file lpt_migration.f90.

|
private |
| ids_old | Root-rank particle ids. |
| counts | Number of ids assigned to each rank. |
| offsets | Offsets into ids_old. |
| n_local | Number of ids received by this rank. |
| ids_local | Local particle ids. |
Definition at line 541 of file lpt_migration.f90.
|
private |
| scalar_old | Root-rank scalar values. |
| counts | Number of values assigned to each rank. |
| offsets | Offsets into scalar_old. |
| n_local | Number of values received by this rank. |
| scalar_local | Local scalar values. |
Definition at line 569 of file lpt_migration.f90.
|
private |
| inertia | Whether particles carry inertial state. |
| particles | Particle storage to redistribute. |
Definition at line 363 of file lpt_migration.f90.

|
private |
| inertia | Whether particles carry inertial state. |
| particles | Particle storage to distribute. |
Definition at line 125 of file lpt_migration.f90.
|
private |
| global_interp | Interpolation object to update. |
| n_local | Number of local particles. |
Definition at line 596 of file lpt_migration.f90.
|
private |
Definition at line 84 of file lpt_migration.f90.
| subroutine lpt_migrate::lpt_migrate_init | ( | class(lpt_migrate_t), intent(inout) | this, |
| integer, intent(in) | lag_len, | ||
| integer, intent(in), optional | strategy | ||
| ) |
| lag_len | Number of lagged RHS levels carried by particles. |
| strategy | Optional migration strategy identifier. |
Definition at line 73 of file lpt_migration.f90.
|
private |
| migrate_comm | Redistribution communicator from interpolation. |
| ids_old | Particle ids before migration. |
| n_particles_old | Number of particles before migration. |
| n_local | Number of particles after migration. |
| particle_ids_local | Particle ids after migration. |
Definition at line 615 of file lpt_migration.f90.
|
private |
| migrate_comm | Redistribution communicator from interpolation. |
| scalar_old | Scalar values before migration. |
| n_particles_old | Number of particles before migration. |
| n_local | Number of particles after migration. |
| scalar_local | Scalar values after migration. |
Definition at line 649 of file lpt_migration.f90.
|
private |
| global_interp | Interpolation object used to locate particle owners. |
| periodic_bc | Periodic wrapper applied before ownership lookup. |
| inertia | Whether particles carry inertial state. |
| particles | Particle storage to migrate. |
Definition at line 140 of file lpt_migration.f90.
Definition at line 50 of file lpt_migration.f90.
Definition at line 49 of file lpt_migration.f90.