Classes | |
struct | aero_particle_array_t |
1-D arrays of particles, used by aero_state to build a ragged array. More... | |
Functions | |
subroutine | aero_particle_array_alloc (aero_particle_array, n_part, n_spec) |
Allocates and initializes. | |
subroutine | aero_particle_array_free (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. | |
subroutine | inout_write_aero_particle_array (file, aero_particle_array) |
Write full state. | |
subroutine | inout_read_aero_particle_array (file, aero_particle_array) |
Read full state. | |
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. |
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_alloc | ( | type(aero_particle_array_t),intent(inout) | aero_particle_array, | |
integer,intent(in) | n_part, | |||
integer,intent(in) | n_spec | |||
) |
Allocates and initializes.
aero_particle_array | Result. |
n_part | Number of particles. |
n_spec | Number of species. |
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_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_free | ( | 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_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::inout_read_aero_particle_array | ( | type(inout_file_t),intent(inout) | file, | |
type(aero_particle_array_t),intent(out) | aero_particle_array | |||
) |
Read full state.
file | File to write to. |
aero_particle_array | Structure to read into (must not be allocated). |
subroutine pmc_aero_particle_array::inout_write_aero_particle_array | ( | type(inout_file_t),intent(inout) | file, | |
type(aero_particle_array_t),intent(in) | aero_particle_array | |||
) |
Write full state.
file | File to write to. |
aero_particle_array | Structure to write. |
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(out) | val | |||
) |
Unpacks the given value from the buffer, advancing position.
buffer | Memory buffer. |
position | Current buffer position. |
val | Value to pack. |