pmc_aero_particle_array Namespace Reference

The aero_particle_array_t structure and assoicated subroutines. More...


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_allocate (aero_particle_array)
 Allocates and initializes.
subroutine aero_particle_array_allocate_size (aero_particle_array, n_part, n_spec)
 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.


Detailed Description

The aero_particle_array_t structure and assoicated subroutines.

Function Documentation

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.

Parameters:
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(inout)  aero_particle_array  ) 

Allocates and initializes.

Parameters:
aero_particle_array  Result.

subroutine pmc_aero_particle_array::aero_particle_array_allocate_size ( type(aero_particle_array_t),intent(inout)  aero_particle_array,
integer,intent(in)  n_part,
integer,intent(in)  n_spec 
)

Allocates and initializes to the given size.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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().

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Value to pack.


Generated on Mon Jun 15 15:56:22 2009 for PartMC by  doxygen 1.5.6