Package “process”

class tc_toolbox.process_metallurgy.process.AbstractContinuousAddition

The base class representing an addition in a process simulation that is added continuously over a period of time.

Method Summary
get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.AbstractProcessAddition

The base class for representing an addition in a process simulation.

Method Summary
get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.AbstractSingleTimeAddition

The base class representing an addition in a process simulation that is added at a distinct time point.

Method Summary
get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.BulkZone

A bulk zone in a process simulation, this is representing a large volume in the process, for example the steel melt or the top slag. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Tip

This is a generic class and seldom used directly. Use instead MetalBulkZone or SlagBulkZone.

Constructor Summary
BulkZone(density, phase_group_to_transfer, name)

A bulk zone in a process simulation, this is representing a large volume in the process, for example the steel melt or the top slag. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Tip

This is a generic class and seldom used directly. Use instead MetalBulkZone or SlagBulkZone.

Parameters:
  • density – The density of the zone [kg/m**3]

  • phase_group_to_transfer – The phase group that is transferred from the attached reaction zones back to this zone after each time step, usually this is ALL_METAL or ALL_OXIDES

  • name – The unique name of the zone

Property Summary
Method Summary
add_addition(addition, time)

Adds a single-time addition at the specified time point to the zone. The addition will be dissolved immediately.

Parameters:
  • addition – A SingleTimeAddition or SingleTimeGasAddition

  • time – The time point [s]

Returns:

This BulkZone object

add_continuous_addition(addition, from_time, to_time)

Adds a constant addition continuously during the specified time period to the zone. All added material will be dissolved immediately.

Parameters:
  • addition – A ContinuousAddition or ContinuousGasAddition

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This BulkZone object

add_power(power, from_time, to_time)

Adds a constant power during a specified time period to the zone (for example heating or cooling).

Parameters:
  • power – The power [W]

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This BulkZone object

disable_degassing()

Disables degassing for this zone, i.e. all gas formed at any time step will be staying in this zone.

Returns:

This BulkZone object

enable_degassing()

Enables degassing for this zone, i.e. any gas formed at any time step will be removed after that time step. This gas will be transferred into the exhaust gas zone. This is the default.

Returns:

This BulkZone object

get_density()

Returns the density of the zone

Returns:

The density [kg/m**3]

get_elements()

Returns the elements present in the zone. The elements are determined by the additions.

Returns:

The elements

get_id()

Returns the unique id of the zone. :return: The zone id

get_phase_group_to_transfer()

Returns the phase group that is transferred from the attached reaction zones back to this zone after each time step.

Returns:

The phase group

is_degassing_enabled()

Returns if degassing is enabled in the zone.

Returns:

If degassing is enabled

class tc_toolbox.process_metallurgy.process.ContinuousAddition

An addition in a process simulation that is added continuously during a period of time.

It is assumed that the material added during that period is dissolved instantaneously.

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 scaling 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

  • rate – The rate of addition [kg/s]

  • 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

Constructor Summary
ContinuousAddition(composition, rate, temperature, composition_unit, do_scale)

An addition in a process simulation that is added continuously during a period of time.

It is assumed that the material added during that period is dissolved instantaneously.

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 scaling 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

  • rate – The rate of addition [kg/s]

  • 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

Property Summary
Method Summary
get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_rate()

Returns the rate of addition.

Returns:

The addition rate [kg/s]

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.ContinuousGasAddition

A gas addition in a process simulation that is added continuously during a period of time.

It is assumed that the gas added during that period is dissolved instantaneously.

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 scaling to 100% / 1. An example could be a gas addition which is provided like this: 90 vol–% Ar - 10 vol-% O2.

Constructor Summary
ContinuousGasAddition(composition, rate, temperature, rate_unit, composition_unit, do_scale)

A gas addition in a process simulation that is added continuously during a period of time.

It is assumed that the gas added during that period is dissolved instantaneously.

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 scaling to 100% / 1. An example could be a gas addition which is provided like this: 90 vol–% Ar - 10 vol-% O2.

Parameters:
  • composition – The composition

  • rate – The rate of addition [kg/s]

  • temperature – The initial addition temperature (default: 20 °C) [K]

  • rate_unit – The amount unit

  • composition_unit – The composition unit

  • do_scale – If the composition is scaled to 100% / fraction of 1

Property Summary
Method Summary
get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_rate()

Returns the rate of addition.

Note

The rate unit can be obtained using get_rate_unit().

Returns:

The addition rate [in the rate unit]

get_rate_unit()

Returns the rate unit used in this addition.

Returns:

The rate unit

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.ExhaustGasResult

A result representing the exhaust gas zone, here all exhaust gas generated during the process is accumulated.

The data is returned for each time point of the process simulation. These time points can be obtained from this method: ProcessSimulationResult.get_time_points().

Constructor Summary
ExhaustGasResult(back)

Constructs an instance of ExhaustGasResult.

Property Summary
Method Summary
get_amount()

Returns the amount of exhaust gas present at each time point.

This is the amount of gas accumulated since the beginning of the process.

Returns:

The accumulated amount of gas at each time point [kg]

get_amount_of_components()

Returns the amount of each exhaust gas component present at each time point.

This is the amount of gas accumulated since the beginning of the process. This is different from the current composition at each time point obtained using get_composition().

Returns:

The accumulated amount of each gas component at each time point [kg]

get_composition(composition_type, unit)

Returns the current composition of the exhaust gas zone at each time point. This is the composition at each time point. This is different from the accumulated amount obtained using get_amount_of_components().

Parameters:
  • composition_type – The type of the composition, can be by gas component or by element, default: by gas component

  • unit – The composition unit, default: mass percent

Returns:

The current composition of the gas components at each time point

get_pressure()

Returns the pressure of the exhaust gas zone at each time point.

Returns:

The pressure [Pa]

get_stable_phases()

Returns the stable phases within the exhaust gas zone at each time point.

Returns:

The stable phases

get_temperature()

Returns the temperature of the exhaust gas at each time point.

Returns:

The temperature at each time point [K]

class tc_toolbox.process_metallurgy.process.MassTransferCoefficients

The mass transfer coefficients between a reaction zone and a bulk zone vs. time.

Constructor Summary
MassTransferCoefficients()

The mass transfer coefficients between a reaction zone and a bulk zone vs. time. Constructs an instance of MassTransferCoefficients.

Property Summary
Method Summary
add(mass_transfer_coefficient, time)

Adds the mass transfer coefficient valid beginning at a time point.

This value is valid until another value is defined for a later time point.

Parameters:
  • mass_transfer_coefficient – The mass transfer coefficient [m/s]

  • time – The time-point where the mass transfer coefficient begins to be valid [s]

Returns:

This MassTransferCoefficients object

class tc_toolbox.process_metallurgy.process.MetalBulkZone

A metallic bulk zone in a process simulation.

This is representing a large volume in the process, for example the steel melt. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

The name of this zone is automatically defined and unique.

Constructor Summary
MetalBulkZone(density)

A metallic bulk zone in a process simulation.

This is representing a large volume in the process, for example the steel melt. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Parameters:

density – The density of the zone [kg/m**3]

Property Summary
Method Summary
add_addition(addition, time)

Adds a single-time addition at the specified time point to the zone. The addition will be dissolved immediately.

Parameters:
  • addition – A SingleTimeAddition or SingleTimeGasAddition

  • time – The time point [s]

Returns:

This MetalBulkZone object

add_continuous_addition(addition, from_time, to_time)

Adds a constant addition continuously during the specified time period to the zone. All added material will be dissolved immediately.

Parameters:
  • addition – A ContinuousAddition or ContinuousGasAddition

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This MetalBulkZone object

add_power(power, from_time, to_time)

Adds a constant power during a specified time period to the zone (for example heating or cooling).

Parameters:
  • power – The power [W]

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This MetalBulkZone object

disable_degassing()

Disables degassing for this zone, i.e. all gas formed at any time step will be staying in this zone.

Returns:

This MetalBulkZone object

enable_degassing()

Enables degassing for this zone, i.e. any gas formed at any time step will be removed after that time step. This gas will be transferred into the exhaust gas zone. This is the default.

Returns:

This MetalBulkZone object

get_density()

Returns the density of the zone

Returns:

The density [kg/m**3]

get_elements()

Returns the elements present in the zone. The elements are determined by the additions.

Returns:

The elements

get_id()

Returns the unique name / id of the zone.

Returns:

The zone name / id

get_phase_group_to_transfer()

Returns the phase group that is transferred from the attached reaction zones back to this zone after each time step.

Returns:

The phase group

is_degassing_enabled()

Returns if degassing is enabled in the zone.

Returns:

If degassing is enabled

class tc_toolbox.process_metallurgy.process.ProcessSimulationCalculation

A Process Metallurgy process simulation. Such calculations represent complete metallurgical processes with several zones and simulate their evolution over time.

Constructor Summary
ProcessSimulationCalculation(back)

Constructs an instance of ProcessSimulationCalculation.

Property Summary
Method Summary
calculate(timeout_in_minutes)

Runs the Process Metallurgy process simulation.

Parameters:

timeout_in_minutes – The calculation will be aborted after that time, default: no timeout

Returns:

A new ProcessSimulationResult object

set_end_time(end_time)

Sets the end time of a process.

Parameters:

end_time – The end time point [s]

Returns:

This ProcessSimulationCalculation object

set_initial_time_step(initial_time_step)

Sets the initial time step used in the process simulation.

Note

All later time steps are automatically determined to limit the expected temperature change during that step, this is controlled by set_max_allowed_temp_change_per_step().

Parameters:

initial_time_step – The initial time step [s]

Returns:

This ProcessSimulationCalculation object

set_max_allowed_temp_change_per_step(max_allowed_temp_change)

The maximum allowed temperature change per time step. This is implicitly also limiting the composition change during a time step and required for numerical stability.

Parameters:

max_allowed_temp_change – The maximum allowed temperature change [K]

Returns:

This ProcessSimulationCalculation object

set_max_time_step(max_time_step)

The maximum time step chosen by the automatic time step control.

Note

All time steps are automatically determined to limit the expected temperature change during that step, this is controlled by set_max_allowed_temp_change_per_step().

Parameters:

max_time_step – The maximum time step [s]

Returns:

This ProcessSimulationCalculation object

set_min_time_step(min_time_step)

The minimum time step chosen by the automatic time step control.

Note

All time steps are automatically determined to limit the expected temperature change during that step, this is controlled by set_max_allowed_temp_change_per_step().

Parameters:

min_time_step – The minimum time step [s]

Returns:

This ProcessSimulationCalculation object

set_pressure(pressure)

Sets a constant pressure during the complete process.

Parameters:

pressure – The pressure [Pa]

Returns:

This ProcessSimulationCalculation object

set_pressure_in_time_period(pressure_in_pa, from_time, to_time)

Sets a constant pressure during a time period.

Default: 1.0e5 Pa.

Parameters:
  • pressure_in_pa – The pressure [Pa]

  • from_time – The start time [s]

  • to_time – The end time [s]

Returns:

This ProcessSimulationCalculation object

with_options(options)

Sets the options for the process simulation.

Parameters:

options – The options

Returns:

This ProcessSimulationCalculation object

with_reaction_zone(reaction_zone)

Sets the reaction zone of the process simulation. The bulk zones attached to this reaction zone are configured in the reaction zone object.

Note

In the present release, only one reaction zone is supported.

Parameters:

reaction_zone – The reaction zone object

Returns:

This ProcessSimulationCalculation object

class tc_toolbox.process_metallurgy.process.ProcessSimulationResult

The result of a Process Metallurgy process simulation.

Constructor Summary
ProcessSimulationResult(back)

Call base constructor: tc_toolbox.AbstractResult.

Method Summary
get_activity_of_slag(zone, component, reference)

Returns the activity of a component in the slag in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • component – The component

  • reference – The reference for the activity, can be liquid or solid slag, default: liquid slag

Returns:

The activity of the component at each time point [-]

get_amount(zone)

Returns the amount of a zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The amount at each time point [kg]

get_amount_of_elements()

Returns the total amount of each element in the simulation at each time point.

Returns:

The total amount of the elements at each time point [kg]

get_amount_of_phase_groups(zone)

Returns the amount of each phase group (e.g., for example all liquid slag) in a zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The amount of the phase groups at each time point [kg]

get_amount_of_phases(zone)

Returns the amount of each phase in a zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The amount of the phases at each time point [kg]

get_components()

Returns all components defined in the simulation.

Returns:

The components

get_composition(zone, composition_unit)

Returns the composition of a zone per element at each time point.

Parameters:
  • zone – The zone object or the zone name

  • composition_unit – The composition unit, default: mass percent

Returns:

The composition at each time point

get_composition_of_phase(zone, phase, composition_unit, composition_type)

Returns the composition of a phase in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point

get_composition_of_phase_group(zone, phase_group, composition_unit, composition_type)

Returns the composition of a phase group (e.g., all liquid slag) in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point

get_elements()

Returns all elements present in the simulation.

Returns:

The elements

get_enthalpy()

Returns the total enthalpy of the process at each time point.

Returns:

The enthalpy at each time point [J]

get_exhaust_gas()

Returns the result for the exhaust gas zone.

This result object can be used to evaluate the exhaust gas zone at each time point.

Returns:

The exhaust gas zone result object.

get_formula_for_activity_of_slag(zone, component, reference)

Returns the Thermo-Calc Console syntax formula used for calculating the activity of a component in the slag (e.g. AC(AL2O3, IONIC_LIQ) in a zone at each time point. The actual activity can be obtained using get_activity_of_slag().

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point

get_formula_for_slag_property(zone, slag_property, slag_type)

Returns the Thermo-Calc Console syntax formula used for calculating a property of the slag (e.g. B(CAO)/B(SIO2) in a zone at each time point. The actual slag property can be obtained using get_slag_property().

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point

get_fraction_of_phase_groups(zone, unit)

Returns the fractions of the phase groups (e.g., all liquid slag) in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • unit – The unit of the fraction

Returns:

The phase fractions at each time point

get_fraction_of_phases(zone, unit)

Returns the fractions of all stable phases in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • unit – The unit of the fraction

Returns:

The phase fractions at each time point

get_gas_components()

Returns all components of the gas phase defined for the elements present in the simulation.

Returns:

The components of the gas phase

get_num_of_performed_steps()

Returns the accumulated number of performed time steps at each time point.

Note

The number of performed time steps can differ from the index of the time step in the result list because time steps might have been repeated with smaller step size during a process simulation.

Returns:

The accumulated number of performed time steps

get_oxygen_partial_pressure(zone)

Returns the partial pressure of oxygen in the zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The partial pressure [Pa]

get_pressure(zone)

Returns the pressure in a zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The pressure at each time point [Pa]

get_slag_property(zone, slag_property, slag_type)

Returns a property of the slag in a zone at each time point. These properties are mostly used to describe the property of a slag to pick up sulfur.

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point [unit depending on the property]

get_stable_phases(zone)

Returns the stable phases in a zone.

Parameters:

zone – The zone object or the zone name

Returns:

The stable phases

get_stable_phases_in_phase_group(zone, phase_group)

Returns the stable phases of a phase group (e.g., all solid slag) in a zone.

Parameters:
  • zone – The zone object or the zone name

  • phase_group – The phase group

Returns:

The stable phases of the phase group

get_temperature(zone)

Returns the temperature of a zone at each time point.

Parameters:

zone – The zone object or the zone name

Returns:

The temperature at each time point [K]

get_time_points()

Returns the time points of the process simulation. All result quantities are returned for exactly these time points.

Returns:

The time points [s]

get_value_of(zone, classic_expression)

Returns a value for a thermodynamic quantity in a zone at each time point.

Warning

It should normally not be required to use this method, use the appropriate method available in the API instead.

Parameters:
  • zone – The zone object or the zone name

  • 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 at each time point

get_viscosity_dynamic_of_phase(zone, phase)

Returns the dynamic viscosity of a phase in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • phase – The phase name

Returns:

The dynamic viscosity at each time point [Pa*s]

get_viscosity_kinematic_of_phase(zone, phase)

Returns the kinematic viscosity of a phase in a zone at each time point.

Parameters:
  • zone – The zone object or the zone name

  • phase – The phase name

Returns:

The kinematic viscosity at each time point [m**2/s]

invalidate()

Invalidates the object and frees the disk space used by it. This is only required if the disk space occupied by the object needs to be released during the calculation. No data can be retrieved from the object afterwards.

class tc_toolbox.process_metallurgy.process.ReactionZone

A reaction zone in a process simulation, this is representing the interface layer between two bulk zones that are in contact and can react with each other, for example the steel melt and the top slag. The size of the reaction zone is dynamic and determined by the mass transfer coefficient. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Constructor Summary
ReactionZone(area, left_zone, mass_transfer_coefficient_left, right_zone, mass_transfer_coefficient_right)

A reaction zone in a process simulation, this is representing the interface layer between two bulk zones that are in contact and can react with each other, for example the steel melt and the top slag. The size of the reaction zone is dynamic and determined by the mass transfer coefficient. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Parameters:
  • area – The contact area between the bulk zones in contact [m**2]

  • left_zone – The left bulk zone

  • mass_transfer_coefficient_left – The mass transfer coefficient between the left bulk zone and the reaction zone, can be a constant value or time-dependent [m/s]

  • right_zone – The right bulk zone

  • mass_transfer_coefficient_right – The mass transfer coefficient between the right bulk zone and the reaction zone, can be a constant value or time-dependent [m/s]

Property Summary
Method Summary
add_addition(addition, time)

Adds a single-time addition at the specified time point to the zone. The addition will be dissolved immediately.

Parameters:
  • addition – A SingleTimeAddition or SingleTimeGasAddition

  • time – The time point [s]

Returns:

This ReactionZone object

add_continuous_addition(addition, from_time, to_time)

Adds a constant addition continuously during the specified time period to the zone. All added material will be dissolved immediately.

Parameters:
  • addition – A ContinuousAddition or ContinuousGasAddition

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This ReactionZone object

add_heat_transfer(heat_transfer_coefficient)

Adds heat transfer through the reaction zone, i.e., between the two attached bulk zones.

Parameters:

heat_transfer_coefficient – The heat transfer coefficient [W/(K*m**2)]

Returns:

This ReactionZone object

add_power(power, from_time, to_time)

Adds a constant power during a specified time period to the zone (for example heating or cooling).

Parameters:
  • power – The power [W]

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This ReactionZone object

add_transfer_of_phase_group(transfer_of_phase_group)

Adds transfer of a certain phase group through the reaction zone during each time step, i.e. from one of the attached bulk zones to the other. This is for example used to model inclusion flotation from the steel melt to the slag.

Parameters:

transfer_of_phase_group – The transfer of phase group configuration, can be time-dependent.

Returns:

This ReactionZone object

disable_degassing()

Disables degassing for this zone, i.e. all gas formed at any time step will be staying in this zone.

Returns:

This ReactionZone object

enable_degassing()

Enables degassing for this zone, i.e. any gas formed at any time step will be removed after that time step. This gas will be transferred into the exhaust gas zone. This is the default.

Returns:

This ReactionZone object

get_elements()

Returns the elements present in the zone. The elements are determined by the additions.

Returns:

The elements

get_id()

Returns the unique id of the zone. :return: The zone id

is_degassing_enabled()

Returns if degassing is enabled in the zone.

Returns:

If degassing is enabled

class tc_toolbox.process_metallurgy.process.SingleTimeAddition

An addition in a process simulation that is added at a distinct time point.

It is assumed that the addition is dissolved instantaneously.

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

Constructor Summary
SingleTimeAddition(composition, amount, temperature, composition_unit, do_scale)

An addition in a process simulation that is added at a distinct time point.

It is assumed that the addition is dissolved instantaneously.

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

Property Summary
Method Summary
get_amount()

Returns the amount of this addition.

Returns:

The amount [kg]

get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.SingleTimeGasAddition

A gas addition in a process simulation that is added at a distinct time point.

It is assumed that the addition is dissolved instantaneously.

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 scaling to 100% / 1. An example could be a gas addition which is provided like this: 90 vol–% Ar - 10 vol-% O2.

Parameters:
  • composition – The composition

  • amount – The amount

  • temperature – The initial addition temperature (default: 20 °C) [K]

  • amount_unit – The amount unit

  • composition_unit – The composition unit

  • do_scale – If the composition is scaled to 100% / fraction of 1

Constructor Summary
SingleTimeGasAddition(composition, amount, temperature, amount_unit, composition_unit, do_scale)

A gas addition in a process simulation that is added at a distinct time point.

It is assumed that the addition is dissolved instantaneously.

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 scaling to 100% / 1. An example could be a gas addition which is provided like this: 90 vol–% Ar - 10 vol-% O2.

Parameters:
  • composition – The composition

  • amount – The amount

  • temperature – The initial addition temperature (default: 20 °C) [K]

  • amount_unit – The amount unit

  • composition_unit – The composition unit

  • do_scale – If the composition is scaled to 100% / fraction of 1

Property Summary
Method Summary
get_amount()

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()

Returns the amount unit used in this addition.

Returns:

The amount unit

get_composition()

Returns the composition of the addition - without containing a dependent component.

Returns:

The composition [in the unit provided by getCompositionUnit()]

get_composition_unit()

Returns the composition unit used in this addition.

Returns:

The composition unit

get_dependent_component()

Returns the dependent component.

Returns:

The dependent component or an empty string if no dependent component is defined

get_elements()

Returns all elements of the addition.

Returns:

The elements

get_id()

Returns the unique ID of the addition.

Returns:

The unique ID of the addition

get_temperature()

Returns the temperature of the addition. This refers to the temperature before it is added to the process.

Returns:

The temperature [K]

is_do_scale()

Returns if the composition of the addition is being scaled to 100% / 1 or not.

Returns:

If the composition is scaled

is_empty()

Returns if the addition is “empty”, i.e., has zero amount.

Returns:

If the addition is empty

class tc_toolbox.process_metallurgy.process.SlagBulkZone

A slag bulk zone in a process simulation.

This is representing a large volume in the process, for example the top slag. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

The name of this zone is automatically defined and unique.

Constructor Summary
SlagBulkZone(density)

A slag bulk zone in a process simulation.

This is representing a large volume in the process, for example the top slag. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

The name of this zone is automatically defined and unique.

Parameters:

density – The density of the zone [kg/m**3]

Property Summary
Method Summary
add_addition(addition, time)

Adds a single-time addition at the specified time point to the zone. The addition will be dissolved immediately.

Parameters:
  • addition – A SingleTimeAddition or SingleTimeGasAddition

  • time – The time point [s]

Returns:

This SlagBulkZone object

add_continuous_addition(addition, from_time, to_time)

Adds a constant addition continuously during the specified time period to the zone. All added material will be dissolved immediately.

Parameters:
  • addition – A ContinuousAddition or ContinuousGasAddition

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This SlagBulkZone object

add_power(power, from_time, to_time)

Adds a constant power during a specified time period to the zone (for example heating or cooling).

Parameters:
  • power – The power [W]

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This SlagBulkZone object

disable_degassing()

Disables degassing for this zone, i.e. all gas formed at any time step will be staying in this zone.

Returns:

This SlagBulkZone object

enable_degassing()

Enables degassing for this zone, i.e. any gas formed at any time step will be removed after that time step. This gas will be transferred into the exhaust gas zone. This is the default.

Returns:

This SlagBulkZone object

get_density()

Returns the density of the zone

Returns:

The density [kg/m**3]

get_elements()

Returns the elements present in the zone. The elements are determined by the additions.

Returns:

The elements

get_id()

Returns the unique id of the zone. :return: The zone id

get_phase_group_to_transfer()

Returns the phase group that is transferred from the attached reaction zones back to this zone after each time step.

Returns:

The phase group

is_degassing_enabled()

Returns if degassing is enabled in the zone.

Returns:

If degassing is enabled

class tc_toolbox.process_metallurgy.process.TransferOfPhaseGroup

The transfer of a percentage of a certain phase group (.e.g., solid slag) between zones during each time step. This is for example used to model inclusion flotation from the steel melt to the slag.

Constructor Summary
TransferOfPhaseGroup(phase_group_to_transfer, source_zone)

The transfer of a percentage of a certain phase group (.e.g., solid slag) between zones during each time step. This is for example used to model inclusion flotation from the steel melt to the slag.

Parameters:
  • phase_group_to_transfer – The phase group to be transferred

  • source_zone – The source zone of the transfer

Property Summary
Method Summary
add(transfer_rate, time)

Adds the transfer rate valid beginning at a time point.

This value is valid until another value is defined for a later time point.

Parameters:
  • transfer_rate – The transfer rate [% of phase group amount/s]

  • time – The time point where the transfer of a phase group begins to be valid [s]

Returns:

This TransferOfPhaseGroup object

get_phase_group_to_transfer()

Returns the phase group to be transferred

Returns:

The phase group

get_transfer_source_zone_id()

The id of the source zone of the transfer

Returns:

This source zone id

class tc_toolbox.process_metallurgy.process.Zone

The base class of a zone in a process simulation. A zone is a volume in a process that has identical temperature and composition. It has well-defined boundaries to other zones.

Method Summary
add_addition(addition, time)

Adds a single-time addition at the specified time point to the zone. The addition will be dissolved immediately.

Parameters:
  • addition – A SingleTimeAddition or SingleTimeGasAddition

  • time – The time point [s]

Returns:

This Zone object

add_continuous_addition(addition, from_time, to_time)

Adds a constant addition continuously during the specified time period to the zone. All added material will be dissolved immediately.

Parameters:
  • addition – A ContinuousAddition or ContinuousGasAddition

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This Zone object

add_power(power, from_time, to_time)

Adds a constant power during a specified time period to the zone (for example heating or cooling).

Parameters:
  • power – The power [W]

  • from_time – The start time point [s]

  • to_time – The end time point [s]

Returns:

This Zone object

disable_degassing()

Disables degassing for this zone, i.e. all gas formed at any time step will be staying in this zone.

Returns:

This Zone object

enable_degassing()

Enables degassing for this zone, i.e. any gas formed at any time step will be removed after that time step. This gas will be transferred into the exhaust gas zone. This is the default.

Returns:

This Zone object

get_elements()

Returns the elements present in the zone. The elements are determined by the additions.

Returns:

The elements

get_id()

Returns the unique id of the zone. :return: The zone id

is_degassing_enabled()

Returns if degassing is enabled in the zone.

Returns:

If degassing is enabled