The aero_particle_t structure and associated subroutines. More...
Classes | |
struct | aero_particle_t |
Single aerosol particle data structure. More... | |
Functions | |
subroutine | aero_particle_alloc (aero_particle, n_spec) |
Allocates memory in an aero_particle_t and initializes it to zero. | |
subroutine | aero_particle_free (aero_particle) |
Deallocates memory associated with an aero_particle_t. | |
subroutine | aero_particle_copy (aero_particle_from, aero_particle_to) |
Copies a particle. | |
subroutine | aero_particle_shift (aero_particle_from, aero_particle_to) |
Shift data from one aero_particle_t to another and free the first one. | |
subroutine | aero_particle_zero (aero_particle) |
Resets an aero_particle to be zero. | |
subroutine | aero_particle_set_vols (aero_particle, vols) |
Sets the aerosol particle volumes. | |
real *8 | aero_particle_mass (aero_particle, aero_data) |
Total mass of the particle (kg). | |
real *8 | aero_particle_moles (aero_particle, aero_data) |
Total moles in the particle (1). | |
real *8 | aero_particle_volume (aero_particle) |
Total volume of the particle (m^3). | |
integer | aero_particle_in_bin (aero_particle, bin_grid) |
Find the bin number that contains a given particle. | |
real *8 | aero_particle_average_solute_quantity (aero_particle, aero_data, quantity) |
Returns the volume-average of the non-water elements of quantity. | |
real *8 | aero_particle_total_solute_quantity (aero_particle, aero_data, quantity) |
Returns the volume-total of the non-water elements of quantity. | |
real *8 | average_water_quantity (aero_particle, aero_data, quantity) |
Returns the water element of quantity. | |
real *8 | total_water_quantity (aero_particle, aero_data, quantity) |
Returns the volume-total of the water element of quantity. | |
real *8 | aero_particle_water_molec_weight (aero_data) |
Returns the water molecular weight. (kg/mole). | |
real *8 | aero_particle_solute_molec_weight (aero_particle, aero_data) |
Returns the average of the solute molecular weight (kg/mole). | |
real *8 | aero_particle_solute_num_ions (aero_particle, aero_data) |
Returns the average of the solute ion number (1). | |
real *8 | aero_particle_solute_solubility (aero_particle, aero_data) |
Returns the average of the solute solubilities (1). | |
real *8 | aero_particle_water_density (aero_data) |
Returns the water density (kg/m^3). | |
real *8 | aero_particle_solute_density (aero_particle, aero_data) |
Returns the average of the solute densities (kg/m^3). | |
real *8 | aero_particle_water_mass (aero_particle, aero_data) |
Returns the water mass (kg). | |
real *8 | aero_particle_solute_mass (aero_particle, aero_data) |
Returns the total solute mass (kg). | |
real *8 | aero_particle_solute_kappa (aero_particle, aero_data) |
Returns the average of the solute kappas (1). | |
subroutine | aero_particle_coagulate (aero_particle_1, aero_particle_2, aero_particle_new) |
Coagulate two particles together to make a new one. | |
subroutine | inout_write_aero_particle (file, aero_particle) |
Write full state. | |
subroutine | inout_read_aero_particle (file, aero_particle) |
Read full state. | |
integer | pmc_mpi_pack_size_aero_particle (val) |
Determines the number of bytes required to pack the given value. | |
subroutine | pmc_mpi_pack_aero_particle (buffer, position, val) |
Packs the given value into the buffer, advancing position. | |
subroutine | pmc_mpi_unpack_aero_particle (buffer, position, val) |
Unpacks the given value from the buffer, advancing position. |
The aero_particle_t structure and associated subroutines.
subroutine pmc_aero_particle::aero_particle_alloc | ( | type(aero_particle_t),intent(inout) | aero_particle, | |
integer,intent(in) | n_spec | |||
) |
Allocates memory in an aero_particle_t and initializes it to zero.
aero_particle | Particle to init. | |
n_spec | Number of species. |
real*8 pmc_aero_particle::aero_particle_average_solute_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-average of the non-water elements of quantity.
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. | |
quantity | Quantity to average. |
subroutine pmc_aero_particle::aero_particle_coagulate | ( | type(aero_particle_t),intent(in) | aero_particle_1, | |
type(aero_particle_t),intent(in) | aero_particle_2, | |||
type(aero_particle_t),intent(inout) | aero_particle_new | |||
) |
Coagulate two particles together to make a new one.
aero_particle_1 | First particle. | |
aero_particle_2 | Second particle. | |
aero_particle_new | Result particle. |
subroutine pmc_aero_particle::aero_particle_copy | ( | type(aero_particle_t),intent(in) | aero_particle_from, | |
type(aero_particle_t),intent(inout) | aero_particle_to | |||
) |
Copies a particle.
aero_particle_from | Reference particle. | |
aero_particle_to | Destination particle (already alloced on entry). |
subroutine pmc_aero_particle::aero_particle_free | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
Deallocates memory associated with an aero_particle_t.
aero_particle | Particle to free. |
integer pmc_aero_particle::aero_particle_in_bin | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(bin_grid_t),intent(in) | bin_grid | |||
) |
Find the bin number that contains a given particle.
aero_particle | Particle. | |
bin_grid | Bin_grid. |
real*8 pmc_aero_particle::aero_particle_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Total mass of the particle (kg).
aero_particle | Particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_moles | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Total moles in the particle (1).
aero_particle | Particle. | |
aero_data | Aerosol data. |
subroutine pmc_aero_particle::aero_particle_set_vols | ( | type(aero_particle_t),intent(inout) | aero_particle, | |
real*8,dimension(size(aero_particle%vol),intent(in) | vols | |||
) |
Sets the aerosol particle volumes.
aero_particle | Particle. | |
vols | New volumes. |
subroutine pmc_aero_particle::aero_particle_shift | ( | type(aero_particle_t),intent(inout) | aero_particle_from, | |
type(aero_particle_t),intent(inout) | aero_particle_to | |||
) |
Shift data from one aero_particle_t to another and free the first one.
This is roughly equivalent to aero_particle_copy(from, to) followed by aero_particle_free(from), but faster and with different memory allocation requirements.
aero_particle_from | Reference particle (will be deallocated on return). | |
aero_particle_to | Destination particle (not allocated on entry). |
real*8 pmc_aero_particle::aero_particle_solute_density | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute densities (kg/m^3).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_kappa | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute kappas (1).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the total solute mass (kg).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_molec_weight | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute molecular weight (kg/mole).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_num_ions | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute ion number (1).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_solute_solubility | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the average of the solute solubilities (1).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_total_solute_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-total of the non-water elements of quantity.
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. | |
quantity | Quantity to total. |
real*8 pmc_aero_particle::aero_particle_volume | ( | type(aero_particle_t),intent(in) | aero_particle | ) |
Total volume of the particle (m^3).
aero_particle | Particle. |
real*8 pmc_aero_particle::aero_particle_water_density | ( | type(aero_data_t),intent(in) | aero_data | ) |
Returns the water density (kg/m^3).
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_water_mass | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data | |||
) |
Returns the water mass (kg).
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. |
real*8 pmc_aero_particle::aero_particle_water_molec_weight | ( | type(aero_data_t),intent(in) | aero_data | ) |
Returns the water molecular weight. (kg/mole).
aero_data | Aerosol data. |
subroutine pmc_aero_particle::aero_particle_zero | ( | type(aero_particle_t),intent(inout) | aero_particle | ) |
Resets an aero_particle to be zero.
aero_particle | Particle to zero. |
real*8 pmc_aero_particle::average_water_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the water element of quantity.
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. | |
quantity | Quantity to average. |
subroutine pmc_aero_particle::inout_read_aero_particle | ( | type(inout_file_t),intent(inout) | file, | |
type(aero_particle_t),intent(out) | aero_particle | |||
) |
Read full state.
file | File to write to. | |
aero_particle | Aero_particle to read. |
subroutine pmc_aero_particle::inout_write_aero_particle | ( | type(inout_file_t),intent(inout) | file, | |
type(aero_particle_t),intent(in) | aero_particle | |||
) |
Write full state.
file | File to write to. | |
aero_particle | Aero_particle to write. |
subroutine pmc_aero_particle::pmc_mpi_pack_aero_particle | ( | character,dimension(:),intent(inout) | buffer, | |
integer,intent(inout) | position, | |||
type(aero_particle_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::pmc_mpi_pack_size_aero_particle | ( | type(aero_particle_t),intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
val | Value to pack. |
subroutine pmc_aero_particle::pmc_mpi_unpack_aero_particle | ( | character,dimension(:),intent(inout) | buffer, | |
integer,intent(inout) | position, | |||
type(aero_particle_t),intent(out) | val | |||
) |
Unpacks the given value from the buffer, advancing position.
buffer | Memory buffer. | |
position | Current buffer position. | |
val | Value to pack. |
real*8 pmc_aero_particle::total_water_quantity | ( | type(aero_particle_t),intent(in) | aero_particle, | |
type(aero_data_t),intent(in) | aero_data, | |||
real*8,dimension(:),intent(in) | quantity | |||
) |
Returns the volume-total of the water element of quantity.
aero_particle | Aerosol particle. | |
aero_data | Aerosol data. | |
quantity | Quantity to total. |