auxi.tools.chemistry.thermochemistry module¶
This module provides classes and functions for doing thermochemical calculations.
-
class
auxi.tools.chemistry.thermochemistry.
Compound
(dictionary)¶ Bases:
auxi.core.objects.Object
Represents a chemical compound.
Parameters: dictionary – Dictionary containing the data required to initialise the compound. -
Cp
(phase, T)¶ Calculate the heat capacity of a phase of the compound at a specified temperature.
Parameters: - phase – A phase of the compound, e.g. ‘S’, ‘L’, ‘G’.
- T – [K] temperature
Returns: [J/mol/K] Heat capacity.
-
G
(phase, T)¶ Calculate the Gibbs free energy of a phase of the compound at a specified temperature.
Parameters: - phase – A phase of the compound, e.g. ‘S’, ‘L’, ‘G’.
- T – [K] temperature
Returns: [J/mol] Gibbs free energy.
-
H
(phase, T)¶ Calculate the enthalpy of a phase of the compound at a specified temperature.
Parameters: - phase – A phase of the compound, e.g. ‘S’, ‘L’, ‘G’.
- T – [K] temperature
Returns: [J/mol] Enthalpy.
-
S
(phase, T)¶ Calculate the enthalpy of a phase of the compound at a specified temperature.
Parameters: - phase – A phase of the compound, e.g. ‘S’, ‘L’, ‘G’.
- T – [K] temperature
Returns: [J/mol/K] Entropy.
-
formula
= None¶ Chemical formula, e.g. ‘Fe’, ‘CO2’.
-
get_phase_list
()¶ Get a list of the compound’s phases.
Returns: List of phases.
-
get_reference
()¶
-
molar_mass
= None¶ Molar mass. [kg/mol]
-
-
auxi.tools.chemistry.thermochemistry.
Cp
(compound_string, T, mass=1.0)¶ Calculate the heat capacity of the compound for the specified temperature and mass.
Parameters: - compound_string – Formula and phase of chemical compound, e.g. ‘Fe2O3[S1]’.
- T – [°C] temperature
- mass – [kg]
Returns: [kWh/K] Heat capacity.
-
class
auxi.tools.chemistry.thermochemistry.
CpRecord
(dictionary)¶ Bases:
auxi.core.objects.Object
A heat capacity (Cp) equation record for a compound phase over a specific temperature range.
Parameters: dictionary – A dictionary containing the data required to initialise the phase. -
Cp
(T)¶ Calculate the heat capacity of the compound phase.
Parameters: T – [K] temperature Returns: [J/mol/K] Heat capacity.
-
H
(T)¶ Calculate the portion of enthalpy of the compound phase covered by this Cp record.
Parameters: T – [K] temperature Returns: [J/mol] Enthalpy.
-
S
(T)¶ Calculate the portion of entropy of the compound phase covered by this Cp record.
Parameters: T – [K] temperature Returns: Entropy. [J/mol/K]
-
Tmax
= None¶ [K] The maximum temperature of the range covered by this record.
-
Tmin
= None¶ [K] The minimum temperature of the range covered by this record.
-
-
auxi.tools.chemistry.thermochemistry.
G
(compound_string, T, mass=1.0)¶ Calculate the Gibbs free energy of the compound for the specified temperature and mass.
Parameters: - compound_string – Formula and phase of chemical compound, e.g. ‘Fe2O3[S1]’.
- T – [°C] temperature
- mass – [kg]
Returns: [kWh] Gibbs free energy.
-
auxi.tools.chemistry.thermochemistry.
H
(compound_string, T, mass=1.0)¶ Calculate the enthalpy of the compound for the specified temperature and mass.
Parameters: - compound_string – Formula and phase of chemical compound, e.g. ‘Fe2O3[S1]’.
- T – [°C] temperature
- mass – [kg]
Returns: [kWh] Enthalpy.
-
class
auxi.tools.chemistry.thermochemistry.
Phase
(dictionary)¶ Bases:
auxi.core.objects.NamedObject
A phase of a chemical compound.
Parameters: dictionary – Dictionary containing the data required to initialise the phase. -
Cp
(T)¶ Calculate the heat capacity of the compound phase at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol/K] The heat capacity of the compound phase.
-
Cp_mag
(T)¶ Calculate the phase’s magnetic contribution to heat capacity at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol/K] The magnetic heat capacity of the compound phase. Dinsdale, A. T. (1991). SGTE data for pure elements. Calphad, 15(4), 317–425. http://doi.org/10.1016/0364-5916(91)90030-N
-
DHref
= None¶ [J/mol] The formation enthalpy of the phase at Tref.
-
G
(T)¶ Calculate the heat capacity of the compound phase at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol] The Gibbs free energy of the compound phase.
-
G_mag
(T)¶ Calculate the phase’s magnetic contribution to Gibbs energy at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol] The magnetic Gibbs energy of the compound phase. Dinsdale, A. T. (1991). SGTE data for pure elements. Calphad, 15(4), 317–425. http://doi.org/10.1016/0364-5916(91)90030-N
-
H
(T)¶ Calculate the enthalpy of the compound phase at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol] The enthalpy of the compound phase.
-
H_mag
(T)¶ Calculate the phase’s magnetic contribution to enthalpy at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol] The magnetic enthalpy of the compound phase. Dinsdale, A. T. (1991). SGTE data for pure elements. Calphad, 15(4), 317–425. http://doi.org/10.1016/0364-5916(91)90030-N
-
S
(T)¶ Calculate the entropy of the compound phase at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol/K] The entropy of the compound phase.
-
S_mag
(T)¶ Calculate the phase’s magnetic contribution to entropy at the specified temperature.
Parameters: T – [K] temperature Returns: [J/mol/K] The magnetic entropy of the compound phase. Dinsdale, A. T. (1991). SGTE data for pure elements. Calphad, 15(4), 317–425. http://doi.org/10.1016/0364-5916(91)90030-N
-
Sref
= None¶ [J/mol/K] The standard entropy of the phase at Tref.
-
Tc_mag
= None¶ The critical temperature, which is the Curie temperature for ferromagnetic materials or the Neel temperature for antiferromagnetic materials.
-
Tref
= None¶ [K] The reference temperature of the phase.
-
Zero_mag
(T)¶ Return a zero value for a phase with no magnetic property data.
Parameters: T – [K] temperature Returns: Zero.
-
beta0_mag
= None¶ The average magnetic moment per atom.
-
name
= None¶ The phase’s name, e.g. solid, liquid, gas, etc.
-
p_mag
= None¶ This value can be thought of as the fraction of the magnetic enthalpy absorbed above the critical. It depends on structure.
-
symbol
= None¶ The phase’s symbol, e.g. S1 = solid 1, L = liquid, etc.
-
-
auxi.tools.chemistry.thermochemistry.
S
(compound_string, T, mass=1.0)¶ Calculate the entropy of the compound for the specified temperature and mass.
Parameters: - compound_string – Formula and phase of chemical compound, e.g. ‘Fe2O3[S1]’.
- T – [°C] temperature
- mass – [kg]
Returns: [kWh/K] Entropy.
-
auxi.tools.chemistry.thermochemistry.
get_datafile_references
()¶ Retrieve all the references used by the datafiles.
-
auxi.tools.chemistry.thermochemistry.
list_compounds
()¶ List all compounds that are currently loaded in the thermo module, and their phases.
-
auxi.tools.chemistry.thermochemistry.
load_data_auxi
(path='')¶ Load all the thermochemical data auxi files located at a path.
Parameters: path – Path at which the data files are located.
-
auxi.tools.chemistry.thermochemistry.
load_data_factsage
(path='')¶ Load all the thermochemical data factsage files located at a path.
Parameters: path – Path at which the data files are located.
-
auxi.tools.chemistry.thermochemistry.
molar_mass
(compound)¶ Determine the molar mass of a chemical compound.
Parameters: compound – Formula of a chemical compound, e.g. ‘Fe2O3’. Returns: [kg/mol] Molar mass.
-
auxi.tools.chemistry.thermochemistry.
write_compound_to_auxi_file
(directory, compound)¶ Writes a compound to an auxi file at the specified directory.
Parameters: - dir – The directory.
- compound – The compound.