PartMC 2.1.1
|
The aero_particle_array_t structure and assoicated subroutines. More...
Data Types | |
type | aero_particle_array_t |
1-D arrays of particles, used by aero_state to build a ragged array. More... | |
Functions/Subroutines | |
subroutine | aero_particle_array_allocate (aero_particle_array) |
Allocates and initializes. | |
subroutine | aero_particle_array_allocate_size (aero_particle_array, n_part, n_spec, n_source) |
Allocates and initializes to the given size. | |
subroutine | aero_particle_array_deallocate (aero_particle_array) |
Deallocates. | |
subroutine | aero_particle_array_copy (aero_particle_array_from, aero_particle_array_to) |
Copies aero_particle_array_from to aero_particle_array_to, both of which must already be allocated. | |
subroutine | aero_particle_array_zero (aero_particle_array) |
Resets an aero_particle_array to contain zero particles. | |
subroutine | aero_particle_array_realloc (aero_particle_array, new_length) |
Changes the given aero_particle_array to exactly the given new_length. | |
subroutine | aero_particle_array_enlarge (aero_particle_array) |
Enlarges the given aero_particle_array by at least one element. | |
subroutine | aero_particle_array_enlarge_to (aero_particle_array, n) |
Enlarges the given array so that it is at least of size n. | |
subroutine | aero_particle_array_shrink (aero_particle_array) |
Possibly shrinks the storage of the given array, ensuring that it can still store the allocated particles. | |
subroutine | aero_particle_array_add_particle (aero_particle_array, aero_particle) |
Adds the given particle to the end of the array. | |
subroutine | aero_particle_array_remove_particle (aero_particle_array, index) |
Removes the particle at the given index. | |
subroutine | aero_particle_array_double (aero_particle_array) |
Doubles the number of particles by making a duplicate of each one. | |
integer | pmc_mpi_pack_size_apa (val) |
Determines the number of bytes required to pack the given value. | |
subroutine | pmc_mpi_pack_aero_particle_array (buffer, position, val) |
Packs the given value into the buffer, advancing position. | |
subroutine | pmc_mpi_unpack_aero_particle_array (buffer, position, val) |
Unpacks the given value from the buffer, advancing position. |
The aero_particle_array_t structure and assoicated subroutines.
subroutine pmc_aero_particle_array::aero_particle_array_add_particle | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array, |
type(aero_particle_t),intent(in) | aero_particle | ||
) |
Adds the given particle to the end of the array.
aero_particle_array | Array to add to. |
aero_particle | Particle to add. |
subroutine pmc_aero_particle_array::aero_particle_array_allocate | ( | type(aero_particle_array_t),intent(out) | aero_particle_array | ) |
Allocates and initializes.
aero_particle_array | Result. |
subroutine pmc_aero_particle_array::aero_particle_array_allocate_size | ( | type(aero_particle_array_t),intent(out) | aero_particle_array, |
integer,intent(in) | n_part, | ||
integer,intent(in) | n_spec, | ||
integer,intent(in) | n_source | ||
) |
Allocates and initializes to the given size.
aero_particle_array | Result. |
n_part | Number of particles. |
n_spec | Number of species. |
n_source | Number of sources. |
subroutine pmc_aero_particle_array::aero_particle_array_copy | ( | type(aero_particle_array_t),intent(in) | aero_particle_array_from, |
type(aero_particle_array_t),intent(inout) | aero_particle_array_to | ||
) |
Copies aero_particle_array_from to aero_particle_array_to, both of which must already be allocated.
aero_particle_array_from | Origin structure. |
aero_particle_array_to | Destination structure. |
subroutine pmc_aero_particle_array::aero_particle_array_deallocate | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array | ) |
Deallocates.
aero_particle_array | Structure to deallocate. |
subroutine pmc_aero_particle_array::aero_particle_array_double | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array | ) |
Doubles the number of particles by making a duplicate of each one.
aero_particle_array | Array to double. |
subroutine pmc_aero_particle_array::aero_particle_array_enlarge | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array | ) |
Enlarges the given aero_particle_array by at least one element.
Currently this doubles the length.
aero_particle_array | Array to enlarge. |
subroutine pmc_aero_particle_array::aero_particle_array_enlarge_to | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array, |
integer,intent(in) | n | ||
) |
Enlarges the given array so that it is at least of size n.
aero_particle_array | Array to enlarge. |
n | Minimum new size of array. |
subroutine pmc_aero_particle_array::aero_particle_array_realloc | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array, |
integer,intent(in) | new_length | ||
) |
Changes the given aero_particle_array to exactly the given new_length.
This function should not be called directly, but rather use aero_particle_array_enlarge(), aero_particle_array_enlarge_to() or aero_particle_array_shrink().
aero_particle_array | Array to reallocate (must already be allocated on entry). |
new_length | New length of the array. |
subroutine pmc_aero_particle_array::aero_particle_array_remove_particle | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array, |
integer,intent(in) | index | ||
) |
Removes the particle at the given index.
aero_particle_array | Array to remove from. |
index | Index of particle to remove. |
subroutine pmc_aero_particle_array::aero_particle_array_shrink | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array | ) |
Possibly shrinks the storage of the given array, ensuring that it can still store the allocated particles.
aero_particle_array | Array to shrink. |
subroutine pmc_aero_particle_array::aero_particle_array_zero | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array | ) |
Resets an aero_particle_array to contain zero particles.
aero_particle_array | Structure to reset. |
subroutine pmc_aero_particle_array::pmc_mpi_pack_aero_particle_array | ( | character,dimension(:),intent(inout) | buffer, |
integer,intent(inout) | position, | ||
type(aero_particle_array_t),intent(in) | val | ||
) |
Packs the given value into the buffer, advancing position.
buffer | Memory buffer. |
position | Current buffer position. |
val | Value to pack. |
integer pmc_aero_particle_array::pmc_mpi_pack_size_apa | ( | type(aero_particle_array_t),intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
val | Value to pack. |
subroutine pmc_aero_particle_array::pmc_mpi_unpack_aero_particle_array | ( | character,dimension(:),intent(inout) | buffer, |
integer,intent(inout) | position, | ||
type(aero_particle_array_t),intent(inout) | val | ||
) |
Unpacks the given value from the buffer, advancing position.
buffer | Memory buffer. |
position | Current buffer position. |
val | Value to pack. |