CAMP 1.0.0
Chemistry Across Multiple Phases
aero_reps.h
Go to the documentation of this file.
1/* Copyright (C) 2021 Barcelona Supercomputing Center and University of
2 * Illinois at Urbana-Champaign
3 * SPDX-License-Identifier: MIT
4 *
5 * Header for aerosol representations functions
6 *
7 */
8/** \file
9 * \brief Header file for aerosol representations functions
10 */
11#ifndef AERO_REPS_H_
12#define AERO_REPS_H_
13#include "camp_common.h"
14
15// binned/modal mass
17 int aero_phase_idx,
18 int *aero_rep_int_data,
19 double *aero_rep_float_data,
20 bool *jac_struct);
21void aero_rep_modal_binned_mass_get_dependencies(int *aero_rep_int_data,
22 double *aero_rep_float_data,
23 bool *state_flags);
25 int *aero_rep_int_data,
26 double *aero_rep_float_data,
27 double *aero_rep_env_data);
29 int *aero_rep_int_data,
30 double *aero_rep_float_data,
31 double *aero_rep_env_data);
33 ModelData *model_data, int aero_phase_idx, double *radius,
34 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
35 double *aero_rep_env_data);
37 ModelData *model_data, int aero_phase_idx, double *number_conc,
38 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
39 double *aero_rep_env_data);
41 int *aero_conc_type,
42 int *aero_rep_int_data,
43 double *aero_rep_float_data,
44 double *aero_rep_env_data);
46 ModelData *model_data, int aero_phase_idx, double *aero_phase_mass,
47 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
48 double *aero_rep_env_data);
50 ModelData *model_data, int aero_phase_idx, double *aero_phase_avg_MW,
51 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
52 double *aero_rep_env_data);
53bool aero_rep_modal_binned_mass_update_data(void *update_data,
54 int *aero_rep_int_data,
55 double *aero_rep_float_data,
56 double *aero_rep_env_data);
57void aero_rep_modal_binned_mass_print(int *aero_rep_int_data,
58 double *aero_rep_float_data);
61 int aero_rep_id,
62 int section_id, double gmd);
65 int aero_rep_id,
66 int section_id, double gsd);
67
68// single particle
70 int aero_phase_idx,
71 int *aero_rep_int_data,
72 double *aero_rep_float_data,
73 bool *jac_struct);
74void aero_rep_single_particle_get_dependencies(int *aero_rep_int_data,
75 double *aero_rep_float_data,
76 bool *state_flags);
78 int *aero_rep_int_data,
79 double *aero_rep_float_data,
80 double *aero_rep_env_data);
82 int *aero_rep_int_data,
83 double *aero_rep_float_data,
84 double *aero_rep_env_data);
86 ModelData *model_data, int aero_phase_idx, double *radius,
87 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
88 double *aero_rep_env_data);
90 ModelData *model_data, int aero_phase_idx, double *number_conc,
91 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
92 double *aero_rep_env_data);
94 int *aero_conc_type,
95 int *aero_rep_int_data,
96 double *aero_rep_float_data,
97 double *aero_rep_env_data);
99 ModelData *model_data, int aero_phase_idx, double *aero_phase_mass,
100 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
101 double *aero_rep_env_data);
103 ModelData *model_data, int aero_phase_idx, double *aero_phase_avg_MW,
104 double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data,
105 double *aero_rep_env_data);
106bool aero_rep_single_particle_update_data(void *update_data,
107 int *aero_rep_int_data,
108 double *aero_rep_float_data,
109 double *aero_rep_env_data);
110void aero_rep_single_particle_print(int *aero_rep_int_data,
111 double *aero_rep_float_data);
114 int aero_rep_id,
115 int particle_id,
116 double number_conc);
117
118#endif
int aero_rep_single_particle_get_used_jac_elem(ModelData *model_data, int aero_phase_idx, int *aero_rep_int_data, double *aero_rep_float_data, bool *jac_struct)
Flag Jacobian elements used in calcualtions of mass and volume.
void aero_rep_modal_binned_mass_set_gsd_update_data(void *update_data, int aero_rep_id, int section_id, double gsd)
Set GSD update data.
bool aero_rep_modal_binned_mass_update_data(void *update_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update the aerosol representation data.
void aero_rep_single_particle_get_aero_phase_avg_MW__kg_mol(ModelData *model_data, int aero_phase_idx, double *aero_phase_avg_MW, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the average molecular weight in an aerosol phase ( )
void aero_rep_modal_binned_mass_get_aero_phase_avg_MW__kg_mol(ModelData *model_data, int aero_phase_idx, double *aero_phase_avg_MW, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the average molecular weight in an aerosol phase ( )
void aero_rep_modal_binned_mass_get_number_conc__n_m3(ModelData *model_data, int aero_phase_idx, double *number_conc, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the particle number concentration ( )
void aero_rep_modal_binned_mass_set_gmd_update_data(void *update_data, int aero_rep_id, int section_id, double gmd)
Set GMD update data.
void aero_rep_single_particle_get_effective_radius__m(ModelData *model_data, int aero_phase_idx, double *radius, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the effective particle radius (m)
void aero_rep_modal_binned_mass_update_state(ModelData *model_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update aerosol representation data for a new state.
void aero_rep_modal_binned_mass_get_aero_conc_type(int aero_phase_idx, int *aero_conc_type, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the type of aerosol concentration used.
void aero_rep_single_particle_get_aero_conc_type(int aero_phase_idx, int *aero_conc_type, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the type of aerosol concentration used.
void aero_rep_modal_binned_mass_update_env_state(ModelData *model_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update aerosol representation data for new environmental conditions.
void * aero_rep_single_particle_create_number_update_data()
Create update data for new particle number.
void aero_rep_modal_binned_mass_print(int *aero_rep_int_data, double *aero_rep_float_data)
Print the mass-only modal/binned reaction parameters.
void aero_rep_modal_binned_mass_get_effective_radius__m(ModelData *model_data, int aero_phase_idx, double *radius, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the effective particle radius (m)
void aero_rep_modal_binned_mass_get_dependencies(int *aero_rep_int_data, double *aero_rep_float_data, bool *state_flags)
Flag elements on the state array used by this aerosol representation.
void aero_rep_single_particle_print(int *aero_rep_int_data, double *aero_rep_float_data)
Print the Single Particle reaction parameters.
void aero_rep_modal_binned_mass_get_aero_phase_mass__kg_m3(ModelData *model_data, int aero_phase_idx, double *aero_phase_mass, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the total mass in an aerosol phase ( )
void * aero_rep_modal_binned_mass_create_gmd_update_data()
Create update data for new GMD.
void aero_rep_single_particle_update_env_state(ModelData *model_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update aerosol representation data for new environmental conditions.
bool aero_rep_single_particle_update_data(void *update_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update aerosol representation data.
void aero_rep_single_particle_get_dependencies(int *aero_rep_int_data, double *aero_rep_float_data, bool *state_flags)
Flag elements on the state array used by this aerosol representation.
int aero_rep_modal_binned_mass_get_used_jac_elem(ModelData *model_data, int aero_phase_idx, int *aero_rep_int_data, double *aero_rep_float_data, bool *jac_struct)
Flag Jacobian elements used in calcualtions of mass and volume.
void aero_rep_single_particle_get_aero_phase_mass__kg_m3(ModelData *model_data, int aero_phase_idx, double *aero_phase_mass, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the total mass in an aerosol phase ( )
void * aero_rep_modal_binned_mass_create_gsd_update_data()
Create update data for new GSD.
void aero_rep_single_particle_get_number_conc__n_m3(ModelData *model_data, int aero_phase_idx, double *number_conc, double *partial_deriv, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Get the particle number concentration ( )
void aero_rep_single_particle_set_number_update_data__n_m3(void *update_data, int aero_rep_id, int particle_id, double number_conc)
Set number update data (#/m3)
void aero_rep_single_particle_update_state(ModelData *model_data, int *aero_rep_int_data, double *aero_rep_float_data, double *aero_rep_env_data)
Update aerosol representation data for a new state.
Header file for common constants and structures.