Module “equilibrium”¶
- class tc_python.process_metallurgy.equilibrium.AbstractEquilibriumAddition¶
Bases:
AbstractAddition
The base class for representing an addition to an equilibrium calculation.
- set_amount(amount: float)¶
Change the amount of the addition.
- Parameters
amount – The new amount [in the amount unit of this addition]
- Returns
This
AbstractEquilibriumAddition
object
- set_component_composition(component: str, content: float)¶
Change the composition of a component of the addition.
- Parameters
component – The component to be changed
content – The new content of the component [in the composition unit defined for this addition]
- Returns
This
AbstractEquilibriumAddition
object
- class tc_python.process_metallurgy.equilibrium.AdiabaticEquilibriumCalculation(calculator)¶
Bases:
EquilibriumCalculation
An adiabatic Process Metallurgy equilibrium calculation. Such calculations can for example be used to determine the global equilibrium state of a process.
- add_addition(addition: AbstractEquilibriumAddition)¶
Adds an addition to the calculation.
- Parameters
addition – A
EquilibriumAddition
orEquilibriumGasAddition
- Returns
This
AdiabaticEquilibriumCalculation
object
- add_poly_command(command: str)¶
Adds a Thermo-Calc Console syntax POLY module command which will be executed when performing the calculation using the
calculate()
method.If multiple commands are added, they will be executed in the order of addition. Each command will only be executed one.
Note
It should not be necessary for most users to use this method, try to use the corresponding method implemented in the API instead.
Warning
As this method runs raw Thermo-Calc commands directly in the engine, it may hang the program in case of spelling mistakes (e.g. forgotten equals sign).
- Parameters
command – The POLY module command in Thermo-Calc console syntax
- Returns
This
AdiabaticEquilibriumCalculation
object
- calculate(timeout_in_minutes: float = 0.0) EquilibriumResult ¶
Runs the Process Metallurgy equilibrium calculation.
- Parameters
timeout_in_minutes – The calculation will be aborted after that time, default: no timeout
- Returns
A new
EquilibriumResult
object
- remove_addition(addition: AbstractEquilibriumAddition)¶
Removes an addition from the calculation.
- Parameters
addition – The addition to be removed
- Returns
This
AdiabaticEquilibriumCalculation
object
- remove_all_additions()¶
Removes all additions from the calculation.
- Returns
This
AdiabaticEquilibriumCalculation
object
- set_pressure(pressure: float = 100000.0)¶
Sets the pressure.
- Parameters
pressure – The pressure [Pa]
- Returns
This
AdiabaticEquilibriumCalculation
object
- with_options(options: ProcessMetallurgyOptions)¶
Sets the options for the calculation.
- Parameters
options – The options
- Returns
This
AdiabaticEquilibriumCalculation
object
- class tc_python.process_metallurgy.equilibrium.EquilibriumAddition(composition: Dict[str, float], amount: float, temperature: float = 293.15, composition_unit: CompositionUnit = CompositionUnit.MASS_PERCENT, do_scale: bool = False)¶
Bases:
AbstractEquilibriumAddition
An addition to an equilibrium calculation.
Tip
By setting do_scale=True, the composition will be scaled to 100% / fraction of 1. This is useful if the composition provided is not summing to 100% / 1. An example could be a slag addition which is provided like this: 90 wt-% CaO - 5 wt-% Al2O3 - 4 wt-% SiO2.
- Parameters
composition – The composition
amount – The amount [kg]
temperature – The initial addition temperature (default: 20 °C) [K]
composition_unit – The composition unit
do_scale – If the composition is scaled to 100% / fraction of 1
- get_amount() float ¶
Returns the amount of this addition.
- Returns
The amount [kg]
- get_composition_unit() CompositionUnit ¶
Returns the composition unit used in this addition.
- Returns
The composition unit
- class tc_python.process_metallurgy.equilibrium.EquilibriumCalculation(metallurgical_reaction)¶
Bases:
object
A Process Metallurgy equilibrium calculation. Such calculations can for example be used to determine the global equilibrium state of a process.
- abstract add_addition(addition: AbstractEquilibriumAddition)¶
Adds an addition to the calculation.
- Parameters
addition – The addition
- Returns
This
EquilibriumCalculation
object
- abstract add_poly_command(command: str)¶
Adds a Thermo-Calc Console syntax POLY module command which will be executed when performing the calculation using the
calculate()
method.If multiple commands are added, they will be executed in the order of addition. Each command will only be executed one.
Note
It should not be necessary for most users to use this method, try to use the corresponding method implemented in the API instead.
Warning
As this method runs raw Thermo-Calc commands directly in the engine, it may hang the program in case of spelling mistakes (e.g. forgotten equals sign).
- Parameters
command – The POLY module command in Thermo-Calc console syntax
- Returns
This
EquilibriumCalculation
object
- abstract calculate(timeout_in_minutes: float = 0.0) EquilibriumResult ¶
Runs the Process Metallurgy equilibrium calculation.
- Parameters
timeout_in_minutes – The calculation will be aborted after that time, default: no timeout
- Returns
A new
EquilibriumResult
object
- abstract remove_addition(addition: AbstractEquilibriumAddition)¶
Removes an addition from the calculation.
- Parameters
addition – The addition to be removed
- Returns
This
EquilibriumCalculation
object
- abstract remove_all_additions()¶
Removes all additions from the calculation.
- Returns
This
EquilibriumCalculation
object
- abstract set_pressure(pressure: float = 100000.0)¶
Sets the pressure.
- Parameters
pressure – The pressure [Pa]
- Returns
This
EquilibriumCalculation
object
- update_addition(addition: AbstractEquilibriumAddition)¶
Replaces an already added addition with an updated one. This is usually used to change the composition or amount of an addition while iterating over them. Typically, this is done for stepping or mapping calculations.
Note
The calculation must already contain the addition object to be updated.
- Parameters
addition – The new addition containing updated values
- Returns
This
IsoThermalMetallurgyCalculation
object
- abstract with_options(options: ProcessMetallurgyOptions)¶
Sets the options for the calculation.
- Parameters
options – The options
- Returns
This
EquilibriumCalculation
object
- class tc_python.process_metallurgy.equilibrium.EquilibriumGasAddition(composition: Dict[str, float], amount: float, temperature: float = 293.15, amount_unit: GasAmountUnit = GasAmountUnit.NORM_CUBIC_METER, composition_unit: GasCompositionUnit = GasCompositionUnit.VOLUME_PERCENT, do_scale: bool = False)¶
Bases:
AbstractEquilibriumAddition
A gas addition to an equilibrium calculation.
Tip
By setting do_scale=True, the composition will be scaled to 100% / fraction of 1. This is useful if the composition provided is not summing to 100% / 1. An example could be a gas addition which is provided like this: 90 vol–% Ar - 10 vol-% O2.
- get_amount() float ¶
Returns the amount of this addition.
Note
The amount unit can be obtained using
get_amount_unit()
.- Returns
The amount [in the amount unit]
- get_amount_unit() GasAmountUnit ¶
Returns the amount unit used in this addition.
- Returns
The amount unit
- get_composition_unit() GasCompositionUnit ¶
Returns the composition unit used in this addition.
- Returns
The composition unit
- class tc_python.process_metallurgy.equilibrium.EquilibriumResult(result)¶
Bases:
AbstractResult
The result of a Process Metallurgy equilibrium calculation.
- get_activity_of_slag(component: str, reference: ActivityReference = ActivityReference.LIQUID) float ¶
Returns the activity of a component in the slag.
- Parameters
component – The component
reference – The reference for the activity, can be liquid or solid slag, default: liquid slag
- Returns
The activity of the component [-]
- get_amount() float ¶
Returns the total amount.
- Returns
The total amount [kg]
- get_amount_of_elements() Dict[str, float] ¶
Returns the amount of each element.
- Returns
The amount of the elements [kg]
- get_amount_of_phase_groups() Dict[PhaseGroup, float] ¶
Returns the amount of each phase group (e.g., for example all liquid slag).
- Returns
The amount of the phase groups [kg]
- get_amount_of_phases() Dict[str, float] ¶
Returns the amount of each phase.
- Returns
The amount of the phases [kg]
- get_components() Set[str] ¶
Returns all components defined for the elements present in this result.
- Returns
The components present in this result
- get_composition(composition_unit: CompositionUnit = CompositionUnit.MASS_PERCENT) Dict[str, float] ¶
Returns the composition of the result.
- Parameters
composition_unit – The composition unit, default: mass percent
- Returns
The composition
- get_composition_of_phase(phase: str, composition_unit: CompositionUnit = CompositionUnit.MASS_PERCENT, composition_type: CompositionType = CompositionType.COMPONENT) Dict[str, float] ¶
Returns the composition of a phase in the result.
- Parameters
phase – The phase name
composition_unit – The composition unit, default: mass percent
composition_type – Defines if the composition is given by element (e.g., 75 wt-% Fe - 25 wt-% Cr) or by component (e.g. 65 wt-% Al2O3 - 35 wt-% CaO). In case of a metallic phase, the composition is given by element even if component is selected. Default: by component.
- Returns
The composition
- get_composition_of_phase_group(phase_group: PhaseGroup, composition_unit: CompositionUnit = CompositionUnit.MASS_PERCENT, composition_type: CompositionType = CompositionType.COMPONENT) Dict[str, float] ¶
Returns the composition of a phase group (e.g., all liquid slag) in the result.
- Parameters
phase_group – The phase group
composition_unit – The composition unit, default: mass percent
composition_type – Defines if the composition is given by element (e.g., 75 wt-% Fe - 25 wt-% Cr) or by component (e.g. 65 wt-% Al2O3 - 35 wt-% CaO). In case of a metallic phase, the composition is given by element even if component is selected. Default: by component.
- Returns
The composition
- get_elements() Set[str] ¶
Returns all elements defined for the result.
- Returns
All elements present in this result
- get_formula_for_activity_of_slag(component: str, reference: ActivityReference = ActivityReference.LIQUID) str ¶
Returns the Thermo-Calc Console syntax formula used for calculating the activity of a component in the slag (e.g. AC(AL2O3, IONIC_LIQ). The actual activity can be obtained using
get_activity_of_slag()
.- Parameters
component – The component
reference – The reference for the activity, can be liquid or solid slag, default: liquid slag
- Returns
The formula for calculating the activity
- get_formula_for_slag_property(slag_property: SlagProperty, slag_type: SlagType = SlagType.ALL) str ¶
Returns the Thermo-Calc Console syntax formula used for calculating a property of the slag (e.g. B(CAO)/B(SIO2). The actual slag property can be obtained using
get_slag_property()
.- Parameters
slag_property – The slag property
slag_type – The part of the slag for which the property will be calculated. Can be all slag, the liquid or the solid slag. Default: all slag
- Returns
The formula for calculating the slag property
- get_fraction_of_phase_groups(unit: PhaseUnit = PhaseUnit.MASS_FRACTION) Dict[PhaseGroup, float] ¶
Returns the fraction of the phase groups (e.g., all liquid slag) in the result.
- Parameters
unit – The unit of the fraction, default: volume fraction
- Returns
The phase fractions
- get_fraction_of_phases(unit: PhaseUnit = PhaseUnit.MASS_FRACTION) Dict[str, float] ¶
Returns the fraction of the stable phases in the result.
- Parameters
unit – The unit of the fraction, default: volume fraction
- Returns
The phase fractions
- get_gas_components() Set[str] ¶
Returns all components of the gas phase defined for the elements present in this result.
- Returns
The components of the gas phase present in this result
- get_oxygen_partial_pressure() float ¶
Returns the partial pressure of oxygen in the result.
- Returns
The partial pressure [Pa]
- get_pressure() float ¶
Returns the pressure in the result.
- Returns
The pressure [Pa]
- get_slag_property(slag_property: SlagProperty, slag_type: SlagType = SlagType.ALL) float ¶
Returns a property of the slag. These properties are mostly used to describe the property of a slag to pick up sulfur.
- Parameters
slag_property – The slag property
slag_type – The part of the slag for which the property will be calculated. Can be all slag, the liquid or the solid slag. Default: all slag
- Returns
The slag property [unit depending on the property]
- get_stable_phases() Set[str] ¶
Returns the stable phases in the result.
- Returns
The stable phases
- get_stable_phases_in_phase_group(phase_group: PhaseGroup) Set[str] ¶
Returns the stable phases of a phase group (e.g., all liquid slag) in the result.
- Parameters
phase_group – The phase group
- Returns
The stable phases
- get_temperature() float ¶
Returns the temperature in the result.
- Returns
The temperature [K]
- get_value_of(classic_expression: str) float ¶
Returns a value for a thermodynamic quantity.
Warning
It should normally not be required to use this method, use the appropriate method available in the API instead.
- Parameters
classic_expression – The thermodynamic quantity to get the value of in Thermo-Calc Console Mode syntax (for example “NPM(FCC_A1)”)
- Returns
The requested value
- get_viscosity_dynamic_of_phase(phase: str) float ¶
Returns the dynamic viscosity of a phase in the result.
- Parameters
phase – The phase name
- Returns
The dynamic viscosity [Pa*s]
- get_viscosity_kinematic_of_phase(phase: str) float ¶
Returns the kinematic viscosity of a phase in the result.
- Parameters
phase – The phase name
- Returns
The kinematic viscosity [m**2/s]
- class tc_python.process_metallurgy.equilibrium.IsoThermalEquilibriumCalculation(calculation)¶
Bases:
EquilibriumCalculation
An isothermal Process Metallurgy equilibrium calculation. Such calculations can for example be used to determine the global equilibrium state of a process.
- add_addition(addition: AbstractEquilibriumAddition)¶
Adds an addition to the calculation.
- Parameters
addition – A
EquilibriumAddition
orEquilibriumGasAddition
- Returns
This
IsoThermalEquilibriumCalculation
object
- add_poly_command(command: str)¶
Adds a Thermo-Calc Console syntax POLY module command which will be executed when performing the calculation using the
calculate()
method.If multiple commands are added, they will be executed in the order of addition. Each command will only be executed one.
Note
It should not be necessary for most users to use this method, try to use the corresponding method implemented in the API instead.
Warning
As this method runs raw Thermo-Calc commands directly in the engine, it may hang the program in case of spelling mistakes (e.g. forgotten equals sign).
- Parameters
command – The POLY module command in Thermo-Calc console syntax
- Returns
This
IsoThermalEquilibriumCalculation
object
- calculate(timeout_in_minutes: float = 0.0) EquilibriumResult ¶
Runs the Process Metallurgy equilibrium calculation.
- Parameters
timeout_in_minutes – The calculation will be aborted after that time, default: no timeout
- Returns
A new
EquilibriumResult
object
- remove_addition(addition: AbstractEquilibriumAddition)¶
Removes an addition from the calculation.
- Parameters
addition – The addition to be removed
- Returns
This
IsoThermalEquilibriumCalculation
object
- remove_all_additions()¶
Removes all additions from the calculation.
- Returns
This
IsoThermalEquilibriumCalculation
object
- set_pressure(pressure: float = 100000.0)¶
Sets the pressure.
- Parameters
pressure – The pressure [Pa]
- Returns
This
IsoThermalEquilibriumCalculation
object
- set_temperature(temperature: float)¶
Sets the temperature.
- Parameters
temperature – The temperature [K]
- Returns
This
IsoThermalEquilibriumCalculation
object
- update_addition(addition: AbstractEquilibriumAddition)¶
Replaces an already added addition with an updated one.
Tip
This is usually used to change the composition or amount of an addition while iterating over multiple values. Typically, this is done for stepping or mapping calculations.
Note
The calculation must already contain the addition object to be updated.
- Parameters
addition – A previously added addition object with the updated values
- Returns
This
IsoThermalEquilibriumCalculation
object
- with_options(options: ProcessMetallurgyOptions)¶
Sets the options for the calculation.
- Parameters
options – The options
- Returns
This
IsoThermalEquilibriumCalculation
object