Primary Functions¶
-
int set_default_chemistry_parameters(chemistry_data *my_grackle_data);
Initializes the
grackle_data
data structure. This must be called before run-time parameters can be set.Parameters: - my_grackle_data (chemistry_data*) – run-time parameters
Return type: int
Returns: 1 (success) or 0 (failure)
-
int initialize_chemistry_data(code_units *my_units);
Loads all chemistry and cooling data, given the set run-time parameters. This can only be called after
set_default_chemistry_parameters()
.Parameters: - my_units (code_units*) – code units conversions
Return type: int
Returns: 1 (success) or 0 (failure)
-
int solve_chemistry(code_units *my_units, grackle_field_data *my_fields, double dt_value);
Evolves the species densities and internal energies over a given timestep by solving the chemistry and cooling rate equations.
Parameters: - my_units (code_units*) – code units conversions
- my_fields (grackle_field_data*) – field data storage
- dt_value (double) – the integration timestep in code units
Return type: int
Returns: 1 (success) or 0 (failure)
-
int calculate_cooling_time(code_units *my_units, grackle_field_data *my_fields, gr_float *cooling_time);
Calculates the instantaneous cooling time.
Parameters: - my_units (code_units*) – code units conversions
- my_fields (grackle_field_data*) – field data storage
- cooling_time (gr_float*) – array which will be filled with the calculated cooling time values
Return type: int
Returns: 1 (success) or 0 (failure)
-
int calculate_gamma(code_units *my_units, grackle_field_data *my_fields, gr_float *my_gamma);
Calculates the effective adiabatic index. This is only useful with
primordial_chemistry
>= 2 as the only thing that alters gamma from the single value is H2.Parameters: - my_units (code_units*) – code units conversions
- my_fields (grackle_field_data*) – field data storage
- my_gamma (gr_float*) – array which will be filled with the calculated gamma values
Return type: int
Returns: 1 (success) or 0 (failure)
-
int calculate_pressure(code_units *my_units, grackle_field_data *my_fields, gr_float *pressure);
Calculates the gas pressure.
Parameters: - my_units (code_units*) – code units conversions
- my_fields (grackle_field_data*) – field data storage
- pressure (gr_float*) – array which will be filled with the calculated pressure values
Return type: int
Returns: 1 (success) or 0 (failure)
-
int calculate_temperature(code_units *my_units, grackle_field_data *my_fields, gr_float *temperature);
Calculates the gas temperature.
Parameters: - my_units (code_units*) – code units conversions
- my_fields (grackle_field_data*) – field data storage
- temperature (gr_float*) – array which will be filled with the calculated temperature values
Return type: int
Returns: 1 (success) or 0 (failure)