Root Package

class tc_toolbox.TCToolbox

TCToolbox Starting point for all calculations. This class exposes methods that have no precondition, it is used for choosing databases and elements.

Constructor Summary
TCToolbox()

TCToolbox Construct an instance of this class

Method Summary
delete()

TCToolbox Clears all resources used by the session Shuts down the API server and deletes all temporary files. The disk usage of temporary files might be significant.

disable_caching()

A previously set cache folder is no longer used.

Note

Within the session, caching is activated and used through the default temporary directory.

Returns:

This SetUp object

get_database_info(database_short_name)

Obtains the short information available for the specified database.

Parameters:

database_short_name – The name of the database (i.e. “FEDEMO”, …)

Returns:

The short information about the database

get_database_path_on_disk(database_short_name)

Obtains the path to the database file on disk. TCPATH is a placeholder for the root path of the used Thermo-Calc installation.

Note

Encrypted databases (*.TDC) cannot be edited.

Parameters:

database_short_name – The name of the database (i.e. “FEDEMO”, …)

Returns:

The path to the database on disk

get_databases()

Obtains the short names of all databases available in the used Thermo-Calc installation.

Note

Only databases with a valid license are listed.

Returns:

List of the available databases

get_property_models(path_to_models)

Lists the names of all Property Models in the specified directory.

If the directory is not specified, the Property Model folder used by the normal Thermo-Calc application is used.

Parameters:

path_to_models – The path where the Property Models are installed. If no value is entered, the Property Model folder used by the normal Thermo-Calc application is used.

Returns:

Set containing all Property Model names

load_result_from_disk()

Loads a previously calculated result from disk.

Note

This only works for results created by calling one of the save_result() methods on a Result class created from a calculation.

Returns:

A new ResultLoader object

select_database_and_elements(database_name, list_of_elements)

Selects a first thermodynamic or kinetic database and selects the elements in it.

Parameters:
  • database_name – The name of the database, for example “FEDEMO”

  • list_of_elements – The list of the selected elements in that database, for example [“Fe”, “C”]

Returns:

A new SystemBuilder object

select_thermodynamic_and_kinetic_databases_with_elements(thermodynamic_db_name, kinetic_db_name, list_of_elements)

Selects the thermodynamic and kinetic database at once, guarantees that the databases are added in the correct order. Further rejection or selection of phases applies to both databases.

Parameters:
  • thermodynamic_db_name – The thermodynamic database name, for example “FEDEMO”

  • kinetic_db_name – The kinetic database name, for example “MFEDEMO”

  • list_of_elements – The list of the selected elements in that database, for example [“Fe”, “C”]

Returns:

A new MultiDatabaseSystemBuilder object

select_user_database_and_elements(path_to_user_database, list_of_elements)

Selects a user-defined database and selects the elements in it.

Note

By using a r-literal, it is possible to use slashes on all platforms, also on Windows: select_user_database_and_elements(r”my path/user_db.tdb”, [“Fe”, “Cr”]])

Note

On Linux and Mac the path is case-sensitive, also the file ending.

Parameters:
  • path_to_user_database – The path to the database file (“database”.TDB), defaults to the current working directory. Only filename is required if the database is located in the same folder as the script.

  • list_of_elements – The list of the selected elements in that database, for example [“Fe”, “C”]

Returns:

A new SystemBuilder object

set_cache_folder(path, precision_for_floats)

Sets a folder where results from calculations and state of systems are saved. If at any time a calculation is run which has the exact same setting as a previous, the calculation is not re-run. The result is instead loaded from this folder.

Note

The same folder can be used in several scripts, and it can even be shared between different users. It can be a network folder.

Parameters:
  • path – path to the folder where results should be stored. It can be relative or absolute.

  • precision_for_floats – The number of significant figures used when comparing if the calculation has the same setting as a previous.

Returns:

This SetUp object

set_ges_version(version)

Setting the version of the Gibbs Energy System (GES).

Parameters:

version – The GES-version (currently version 5 or 6)

Returns:

This SetUp object

set_log_level_to_debug()

Sets log level to DEBUG

Returns:

This SetUp object

set_log_level_to_info()

Sets log level to INFO

Returns:

This SetUp object

with_metallurgy()

Provides access to the calculation objects for all Process Metallurgy calculations.

These are specialised calculations for working with metallurgical processes. Both equilibrium calculations and kinetic process simulations (Effective Equilibrium Reaction Zone model) are available.

class tc_toolbox.Constants
Property Summary
ALL_COMPONENTS
ALL_PHASES
CURRENT_TEMPERATURE
MATERIAL_B_FRACTION
SER
class tc_toolbox.ResultLoader

Contains methods for loading results from previously done calculations.

Constructor Summary
ResultLoader(back)

Constructs an instance of ResultLoader.

Property Summary
Method Summary
diffusion(path)

Loads a DiffusionCalculationResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new DiffusionCalculationResult object which later can be used to get specific values from the calculated result

phase_diagram(path)

Loads a PhaseDiagramResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new PhaseDiagramResult object which later can be used to get specific values from the calculated result

precipitation_TTT_or_CCT(path)

Loads a PrecipitationCalculationTTTorCCTResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new PrecipitationCalculationTTTorCCTResult object which later can be used to get specific values from the calculated result

precipitation_single(path)

Loads a PrecipitationCalculationSingleResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new PrecipitationCalculationSingleResult object which later can be used to get specific values from the calculated result

property_diagram(path)

Loads a PropertyDiagramResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new PropertyDiagramResult object which later can be used to get specific values from the calculated result

property_model(path)

Loads a PropertyModelResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new PropertyModelResult object which later can be used to get specific values from the calculated result

scheil(path)

Loads a ScheilCalculationResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new ScheilCalculationResult object which later can be used to get specific values from the calculated result

single_equilibrium(path)

Loads a SingleEquilibriumResult from disc.

Parameters:

path – path to the folder where result was previously saved.

Returns:

A new SingleEquilibriumResult object which later can be used to get specific values from the calculated result

class tc_toolbox.MetallurgyCalculations

Provides access to the calculation objects for all Process Metallurgy calculations.

These are specialised calculations for working with metallurgical processes. Both equilibrium calculations and kinetic process simulations (Effective Equilibrium Reaction Zone model) are available.

Constructor Summary
MetallurgyCalculations(back)

Constructs an instance of MetallurgyCalculations.

Property Summary
Method Summary
with_adiabatic_equilibrium_calculation(database)

Creates an adiabatic equilibrium calculation for Process Metallurgy.

Parameters:

database – The thermodynamic database used in the calculation

Returns:

A new AdiabaticEquilibriumCalculation object

with_adiabatic_process_calculation(database)

Creates an adiabatic kinetic process simulation (EERZ, i.e. Effective Equilibrium Reaction Zone model).

Parameters:

database – The thermodynamic database used in the calculation

Returns:

A new ProcessSimulationCalculation object

with_isothermal_equilibrium_calculation(database)

Creates an isothermal equilibrium calculation for Process Metallurgy.

Parameters:

database – The thermodynamic database used in the calculation

Returns:

A new IsoThermalEquilibriumCalculation object

class tc_toolbox.CompositionType

The type of composition.

class tc_toolbox.CompositionUnit

The composition unit.

class tc_toolbox.ConversionUnit

The composition unit used in a conversion.

class tc_toolbox.GasAmountUnit

The amount of a gas.

class tc_toolbox.GasCompositionUnit

The composition unit for a gas.

class tc_toolbox.GasRateUnit

The rate of a gas flow.

class tc_toolbox.InterfacePosition

The position of an interface relative to its region. Only used for diffusion simulations.

class tc_toolbox.PhaseUnit

The units available for a phase fraction.

class tc_toolbox.ResultValueGroup

A x-y-dataset representing a line data calculation result (i.e. a Thermo-Calc quantity 1 vs. quantity 2).

Warning

Depending on the calculator, the dataset might contain NaN-values to separate the data between different subsets.

Returns:

list of floats representing the second quantity (“y-axis”)

Constructor Summary
ResultValueGroup(back)

Constructs an instance of ResultValueGroup.

Property Summary
Method Summary
get_label()

Accessor for the line label :return the line label

get_x()

Accessor for the x-values :return the x values

get_y()

Accessor for the y-values :return the y values

class tc_toolbox.TemperatureProfile

Represents a time-temperature profile used by non-isothermal calculations.

Note

The total simulation time can differ from the defined temperature profile. Constant temperature is assumed for any timepoint after the end of the defined profile.

Constructor Summary
TemperatureProfile()

Constructor. Constructs an instance of TemperatureProfile.

Property Summary
Method Summary
add_time_temperature(time, temperature)

Adds a time-temperature point to the non-isothermal temperature profile.

Parameters:
  • time – The time [s]

  • temperature – The temperature [K]

Returns:

This TemperatureProfile object

class tc_toolbox.AbstractCalculation

Abstract base class for calculations.

Constructor Summary
AbstractCalculation(back)

Constructs an instance of AbstractCalculation.

Property Summary
Method Summary
get_configuration_as_string()

Returns detailed information about the current state of the calculation object.

Warning

The structure of the calculator objects is an implementation detail and might change between releases without notice. Therefore do not rely on the internal object structure.

get_system_data()

Returns the content of the database for the currently loaded system. This can be used to modify the parameters and functions and to change the current system by using with_system_modifications().

Note

Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.

Returns:

The system data

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.

with_system_modifications(system_modifications)

Updates the system of this calculator with the supplied system modification (containing new phase parameters and system functions).

Note

This is only possible if the system has been read from unencrypted (i.e. user) databases loaded as a *.tdb-file.

Parameters:

system_modifications – The system modification to be performed

class tc_toolbox.AbstractResult

Abstract base class for results. This can be used to query for specific values .

Constructor Summary
AbstractResult(back)

Constructs an instance of AbstractResult.

Property Summary
Method Summary
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.PhaseParameter

Database phase parameter expression used by SystemModifications.set().

Parameters:

parameter_name – The phase parameter name

Constructor Summary
PhaseParameter(parameter_name)

Constructs an instance of PhaseParameter.

Property Summary
Method Summary
get_intervals()

Returns the list of all defined intervals.

Returns:

The defined temperature intervals

get_lower_temperature_limit()

Returns the lower temperature limit.

Returns:

The lower temperature limit in K

get_name()

Returns the name of the phase parameter.

Returns:

The name of the phase parameter.

remove_all_intervals()

Removes all previously defined temperature intervals.

Returns:

This PhaseParameter object

remove_interval_with_upper_limit(upper_temperature_limit)

Removes a previously defined temperature interval with matching upper temperature limit.

If no such interval exists, an exception is thrown.

Returns:

This PhaseParameter object

set_expression_with_upper_limit(parameter_expression, upper_temperature_limit)

Adds/overwrites a parameter expression for a temperature interval.

Default value of the upper limit of the interval: 6000 K

Note

The lower temperature limit is either defined by the lower temperature limit given with PhaseParameter.set_lower_temperature_limit() or by the upper temperature limit of the adjacent interval.

Note

If there is an existing interval with exactly the same upper_temperature_limit, that interval is overwritten, otherwise the interval is added.

Parameters:
  • parameter_expression – The parameter expression, example: +V34*T*LN(T)+V35*T**2+V36*T**(-1)+V37*T**3”)

  • upper_temperature_limit – The upper temperature limit for which the expression should be used

Returns:

This PhaseParameter object

set_interval(interval)

Adds/overwrites a temperature interval.

Note

The lower temperature limit is either defined by the lower temperature limit given with PhaseParameter.set_lower_temperature_limit() or by the upper temperature limit of the adjacent interval.

Note

If there is an existing interval with exactly the same upper_temperature_limit, that interval is overwritten, otherwise the interval is added.

Returns:

This PhaseParameter object

set_lower_temperature_limit(lower_temperature_limit)

Sets the lower temperature limit of the phase parameter.

Default: 298.15 K

Parameters:

lower_temperature_limit – The lower temperature limit in K

Returns:

This PhaseParameter object

class tc_toolbox.SystemData

Provides information about the parameters and functions of a user database. The obtained objects can be used to modify the database using with_system_modifications() of all calculators.

Note

Parameters can only be read from unencrypted (i.e. user) databases loaded as *.tdb-file.

Constructor Summary
SystemData(back)

Constructs an instance of SystemData.

Property Summary
Method Summary
get_phase_parameter(parameter)

Returns a phase parameter.

Example:

system_data.get_phase_parameter(‘G(HCP_A3,FE:VA;0)’)

Note

Parameters can only be read from unencrypted (i.e. user) databases loaded as a *.tdb-file.

Note

For details about the syntax search the Thermo-Calc help for GES (the name for the Gibbs Energy System module in Console Mode).

Parameters:

parameter – The name of the phase parameter (for example: “G(LIQUID,FE;0)”)

Returns:

The phase parameter

get_phase_parameter_names()

Returns all phase parameters present in the current system.

Returns:

The list of phase parameters

get_system_function(f)

Returns a system function.

Example:

system_data.get_system_function(‘GHSERCR’)

Note

The parameter ‘f’ was previously called ‘function’ but was renamed.

Note

Functions can only be read from unencrypted (i.e. user) databases loaded as a *.tdb-file.

Note

For details about the syntax search the Thermo-Calc help for GES (the name for the Gibbs Energy System module in Console Mode).

Parameters:

f – The name of the system function (for example: “GHSERCR”)

Returns:

The system function

get_system_function_names()

Returns all system functions present in the current system.

Returns:

The list of system functions

class tc_toolbox.SystemFunction

Database function expression used by SystemModifications.set().

Parameters:

function_name – The function name

Constructor Summary
SystemFunction(function_name)

Constructs an instance of SystemFunction.

Property Summary
Method Summary
get_intervals()

Returns the list of all defined intervals.

Returns:

The defined temperature intervals

get_lower_temperature_limit()

Returns the lower temperature limit.

Returns:

The lower temperature limit in K

get_name()

Returns the name of the system function.

Returns:

The name of the system function

remove_all_intervals()

Removes all previously defined temperature intervals.

Returns:

This SystemFunction object

remove_interval_with_upper_limit(upper_temperature_limit)

Removes a previously defined temperature interval with matching upper temperature limit.

If no such interval exists, an exception is thrown.

Returns:

This SystemFunction object

set_expression_with_upper_limit(function_expression, upper_temperature_limit)

Adds/overwrites a function expression for a temperature interval.

Default value of the upper limit of the interval: 6000 K

Note

The lower temperature limit is either defined by the lower temperature limit given with SystemFunction.set_lower_temperature_limit() or by the upper temperature limit of the adjacent interval.

Note

If there is an existing interval with exactly the same upper_temperature_limit, that interval is overwritten, otherwise the interval is added.

Parameters:
  • function_expression – The function expression, example: +V34*T*LN(T)+V35*T**2+V36*T**(-1)+V37*T**3”)

  • upper_temperature_limit – The upper temperature limit for which the expression should be used

Returns:

This SystemFunction object

set_interval(interval)

Adds/overwrites a temperature interval.

Note

The lower temperature limit is either defined by the lower temperature limit given with SystemFunction.set_lower_temperature_limit() or by the upper temperature limit of the adjacent interval.

Note

If there is an existing interval with exactly the same upper_temperature_limit, that interval is overwritten, otherwise the interval is added.

Returns:

This SystemFunction object

set_lower_temperature_limit(lower_temperature_limit)

Sets the lower temperature limit of the system function.

Default: 298.15 K

Parameters:

lower_temperature_limit – The lower limit in K

Returns:

This SystemFunction object

class tc_toolbox.SystemModifications

Functionality to modify a user database during a calculation by changing phase parameters and system functions.

The actual changes are only applied by using tc_toolbox.abstract_base.AbstractCalculation.with_system_modifications() on a calculator object.

Constructor Summary
SystemModifications()

Constructs an instance of SystemModifications.

Property Summary
Method Summary
run_ges_command(ges_command)

Sends a GES-command. This is actually applied when running `with_system_modifications` on a calculator object.

Example: run_ges_command(“AM-PH-DE FCC_A1 C_S 2 Fe:C”) for adding a second composition set to the FCC_A1 phase with Fe as major constituent on first sublattice and C as major constituent on second sublattice.

Note

For details about the syntax search the Thermo-Calc help for GES (the name for the Gibbs Energy System module in Console Mode).

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 GES-commands directly in the engine, it may hang the program in case of spelling mistakes (e.g. forgotten parenthesis, …).

Parameters:

ges_command – The GES-command (for example: “AM-PH-DE FCC_A1 C_S 2 Fe:C”)

Returns:

This SystemModifications object

set(parameter_or_function)

Overwrites or creates a phase parameter or system function.

Example: system_modifications.set(PhaseParameter(‘G(LIQUID,FE;0)’).set_expression_with_upper_limit(‘+1.2*GFELIQ’))

Example: system_modifications.set(SystemFunction(“DGDEF”).set_expression_with_upper_limit(‘+10.0-R*T’, 1000).set_expression_with_upper_limit(‘+20.0-R*T’, 3000))

Note

The old parameter/function is overwritten and any temperature intervals not defined are lost.

Note

Please consult the Thermo-Calc GES-system documentation for details about the syntax.

Returns:

This SystemModifications object

class tc_toolbox.TemperatureInterval

Temperature interval expression used by the classes SystemFunction and PhaseParameter.

Parameters:
  • expression – The temperature function expressed in Thermo-Calc database syntax.

  • upper_temperature_limit – The upper temperature limit in K

Constructor Summary
TemperatureInterval(expression, upper_temperature_limit)

Constructs an instance of TemperatureInterval.

Property Summary
Method Summary
get_expression()

Returns the function expression of this temperature interval.

Returns:

The temperature function expression

get_upper_temperature_limit()

Returns the upper limit of this temperature interval.

Returns:

The upper temperature limit in K

set_expression(expression)

Sets the function expression of this temperature interval.

Parameters:

expression – The temperature function expression

set_upper_temperature_limit(upper_temperature_limit)

Sets the upper limit of this temperature interval.

Parameters:

upper_temperature_limit – The upper temperature limit in K

class tc_toolbox.DiffusionQuantity

Factory class providing quantities used for defining diffusion simulations and their results.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “NPM(*)”).

Method Summary
static activity_of_component(component, use_ser)

Creates a quantity representing the activity of a component.

Parameters:
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is be used if this setting is set to False.

Returns:

A new ActivityOfComponent object.

static chemical_diffusion_coefficient(phase, diffusing_element, gradient_element, reference_element)

Creates a quantity representing the chemical diffusion coefficient of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns:

A new ChemicalDiffusionCoefficient object.

static chemical_potential_of_component(component, use_ser)

Creates a quantity representing the chemical potential of a component [J].

Parameters:
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns:

A new ChemicalPotentialOfComponent object.

static distance(region)

Creates a quantity representing the distance [m].

Parameters:

region – The name of the region or All to choose global.

static intrinsic_diffusion_coefficient(phase, diffusing_element, gradient_element, reference_element)

Creates a quantity representing the intrinsic diffusion coefficient of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns:

A new IntrinsicDiffusionCoefficient object.

static l_bis(phase, diffusing_element, gradient_element, reference_element)

Creates a quantity representing L’’ of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns:

A new Lbis object.

static mass_fraction_of_a_component(component)

Creates a quantity representing the mass fraction of a component.

Parameters:

component – The name of the component or ALL_COMPONENTS to choose all components

Returns:

A new MassFractionOfAComponent object.

static mass_fraction_of_a_phase(phase)

Creates a quantity representing the mass fraction of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases.

Returns:

A new MassFractionOfAPhase object.

static mobility_of_component_in_phase(phase, component)

Creates a quantity representing the mobility of a component in a phase [m^2/Js].

Parameters:
  • phase – The name of the phase

  • component – The name of the component

Returns:

A new MobilityOfComponentInPhase object.

static mole_fraction_of_a_component(component)

Creates a quantity representing the mole fraction of a component.

Parameters:

component – The name of the component or ALL_COMPONENTS to choose all components

Returns:

A new MoleFractionOfAComponent object.

static mole_fraction_of_a_phase(phase)

Creates a quantity representing the mole fraction of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new MoleFractionOfAPhase object.

static position_of_lower_boundary_of_region(region)

Creates a quantity representing the position of lower boundary of a region [m].

Parameters:

region – The name of the region

Returns:

A new PositionOfLowerBoundaryOfRegion object.

static position_of_upper_boundary_of_region(region)

Creates a quantity representing the position of upper boundary of a region [m].

Parameters:

region – The name of the region

Returns:

A new PositionOfUpperBoundaryOfRegion object.

static temperature()

Creates a quantity representing the temperature [K].

Returns:

A new Temperature object.

static thermodynamic_factor(phase, diffusing_element, gradient_element, reference_element)

Creates a quantity representing thermodynamic factor of a phase.

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns:

A new ThermoDynamicFactor object.

static time()

Creates a quantity representing the time [s].

static total_mass_fraction_of_component(component)

Creates a quantity representing the total mass fraction of a component.

Parameters:

component – The name of the component

Returns:

A new TotalMassFractionOfComponent object.

static total_mass_fraction_of_component_in_phase(phase, component)

Creates a quantity representing the total mass fraction of a component in a phase.

Parameters:
  • phase – The name of the phase

  • component – The name of the component

Returns:

A new TotalMassFractionOfComponentInPhase object.

static total_mass_fraction_of_phase(phase)

Creates a quantity representing the total mass fraction of a phase.

Parameters:

phase – The name of the phase.

Returns:

A new TotalMassFractionOfPhase object.

static total_mole_fraction_of_component(component)

Creates a quantity representing the total mole fraction of a component.

Parameters:

component – The name of the component

Returns:

A new TotalMoleFractionOfComponent object.

static total_mole_fraction_of_component_in_phase(phase, component)

Creates a quantity representing the total mole fraction of a component in a phase.

Parameters:
  • phase – The name of the phase

  • component – The name of the component

Returns:

A new TotalMoleFractionOfComponentInPhase object.

static total_volume_fraction_of_phase(phase)

Creates a quantity representing the total volume fraction of a phase.

Parameters:

phase – The name of the phase.

Returns:

A new TotalVolumeFractionOfPhase object.

static tracer_diffusion_coefficient(phase, diffusing_element)

Creates a quantity representing tracer diffusion coefficient of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

Returns:

A new TracerDiffusionCoefficient object.

static u_fraction_of_a_component(component)

Creates a quantity representing the u-fraction of a component.

Parameters:

component – The name of the component

Returns:

A new UFractionOfAComponent object.

static user_defined_function(expression)

Creates a quantity representing a user-defined function.

Parameters:

expression – The function expression

Returns:

A new Function object

static velocity_of_lower_boundary_of_region(region)

Creates a quantity representing the velocity of lower boundary of a region [m/s].

Parameters:

region – The name of the region

Returns:

A new VelocityOfLowerBoundaryOfRegion object.

static velocity_of_upper_boundary_of_region(region)

Creates a quantity representing the velocity of upper boundary of a region [m/s].

Parameters:

region – The name of the region

Returns:

A new VelocityOfUpperBoundaryOfRegion object.

static width_of_region(region)

Creates a quantity representing the width of a region [m].

Parameters:

region – The name of the region

Returns:

A new WidthOfRegion object.

class tc_toolbox.IndependentVariable

Factory class providing quantities used for defining the independent variable in general diffusion result querying.

Method Summary
static distance(region)

Creates an independent variable representing the distance [m].

Returns:

A new Distance object

static time()

Creates an independent variable representing the time [s].

Returns:

A new Time object

class tc_toolbox.PlotCondition

Factory class providing quantities used for defining the plot condition in general diffusion result querying.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “time last”).

Method Summary
static distance(distancepoint, region)

Creates a plot condition representing the distance [m].

Change in version 2019b: Mandatory parameter distancepoint added

Parameters:
  • distancepoint – The distance from the lower interface of the region

  • region – The name of the region or All to choose global.

Returns:

A new DistanceCondition object

static integral()

Creates an integral plot condition.

Returns:

A new IntegralCondition object

static interface(region, interface_position)

Creates a plot condition representing an interface between two regions.

Parameters:
  • region – The name of the region used for defining the interface

  • interface_position – The position of the interface relative to that region (lower or upper)

Returns:

A new InterfaceCondition object

static time(timepoint)

Creates a plot condition representing the time [s].

Change in version 2019b: Lists of timepoints are no longer supported

Parameters:

timepoint – The timepoint. Optionally “Last” can be used for the end of the simulation

Returns:

A new TimeCondition object

class tc_toolbox.ScheilQuantity

Factory class providing quantities used for defining a Scheil calculation result (tc_toolbox.scheil.ScheilCalculationResult).

Method Summary
static apparent_heat_capacity_per_gram()

Creates a quantity representing the apparent heat capacity [J/g/K].

Returns:

A new ApparentHeatCapacityPerGram object.

static apparent_heat_capacity_per_mole()

Creates a quantity representing the apparent heat capacity [J/mol/K].

Returns:

A new ApparentHeatCapacityPerMole object.

static apparent_volumetric_thermal_expansion_coefficient()

Creates a quantity representing the apparent volumetric thermal expansion coefficient of the system [1/K].

Returns:

A new ApparentVolumetricThermalExpansionCoefficient object.

static average_composition_of_solid_phases_as_mass_fraction(component)

Creates a quantity representing the average composition of solid phases [mass fraction] at the current Scheil step.

Parameters:

component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new AverageCompositionOFSolidPhasesAsMassFraction object.

static average_composition_of_solid_phases_as_mole_fraction(component)

Creates a quantity representing the average composition of solid phases [mole fraction] at the current Scheil step.

Parameters:

component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new AverageCompositionOFSolidPhasesAsMoleFraction object.

static composition_of_phase_as_mole_fraction(phase, component)

Creates a quantity representing the composition of a phase [mole-fraction].

Parameters:
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new CompositionOfPhaseAsMoleFraction object.

static composition_of_phase_as_weight_fraction(phase, component)

Creates a quantity representing the composition of a phase [weight-fraction].

Parameters:
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new CompositionOfPhaseAsWeightFraction object.

static density_of_phase(phase)

Creates a quantity representing the average density of a phase [g/cm^3].

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new DensityOfPhase object.

static density_of_system()

Creates a quantity representing the average density of the system [g/cm^3].

Returns:

A new DensityOfSystem object.

static distribution_of_component_of_phase(phase, component)

Creates a quantity representing the (molar) fraction of the specified component being present in the specified phase compared to the overall system [-]. This corresponds to the degree of segregation to that phase.

Parameters:
  • phase – The name of the phase

  • component – The name of the component

Returns:

A new DistributionOfComponentOfPhase object.

static driving_force_for_evaporation()

Creates a quantity representing the driving force for evaporation

Returns:

A new DrivingForceForEvaporation object.

static dynamic_viscosity(phase)

Creates a quantity representing the dynamic viscosity of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new DynamicViscosity object.

static electric_conductivity()

Creates a quantity representing electric conductivity.

Returns:

A new ElectricConductivity object.

static electric_conductivity_of_phase(phase)

Creates a quantity representing the electric conductivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ElectricConductivityOfPhase object.

static electric_resistivity()

Creates a quantity representing electric resistivity.

Returns:

A new ElectricResistivity object.

static electric_resistivity_of_phase(phase)

Creates a quantity representing the electric resistivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ElectricResistivityOfPhase object.

static evaporation_enthalpy()

Creates a quantity representing the evaporation enthalpy.

Returns:

A new EvaporationEnthalpy object.

static heat_per_gram()

Creates a quantity representing the total heat release from the liquidus temperature down to the current temperature [J/g].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns:

A new HeatPerGram object.

static heat_per_mole()

Creates a quantity representing the total heat release from the liquidus temperature down to the current temperature [J/mol].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns:

A new HeatPerMole object.

static kinematic_viscosity(phase)

Creates a quantity representing the kinematic viscosity of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new KinematicViscosity object.

static latent_heat_per_gram()

Creates a quantity representing the cumulated latent heat release from the liquidus temperature down to the current temperature [J/g].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns:

A new LatentHeatPerGram object.

static latent_heat_per_mole()

Creates a quantity representing the cumulated latent heat release from the liquidus temperature down to the current temperature [J/mol].

Note

The total or apparent heat release during the solidification process consists of two parts: one is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation (latent_heat_per_mole() and latent_heat_per_gram()), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole() and heat_per_gram()).

Returns:

A new LatentHeatPerMole object.

static mass_fraction_of_a_solid_phase(phase)

Creates a quantity representing the mass fraction of a solid phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all solid phases

Returns:

A new MassFractionOfASolidPhase object.

static mass_fraction_of_all_liquid()

Creates a quantity representing the total mass fraction of all the liquid phase.

Returns:

A new MassFractionOfAllLiquid object.

static mass_fraction_of_all_solid_phases()

Creates a quantity representing the total mass fraction of all solid phases.

Returns:

A new MassFractionOfAllSolidPhase object.

static molar_mass_of_gas()

Creates a quantity representing the molar mass of gas

Returns:

A new MolarMassOfGas object.

static molar_volume_of_phase(phase)

Creates a quantity representing the molar volume of a phase [m^3/mol].

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new MolarVolumeOfPhase object.

static molar_volume_of_system()

Creates a quantity representing the molar volume of the system [m^3/mol].

Returns:

A new MolarVolumeOfSystem object.

static mole_fraction_of_a_solid_phase(phase)

Creates a quantity representing the molar fraction of a solid phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all solid phases

Returns:

A new MoleFractionOfASolidPhase object.

static mole_fraction_of_all_liquid()

Creates a quantity representing the total molar fraction of all the liquid phase.

Returns:

A new MoleFractionOfAllLiquid object.

static mole_fraction_of_all_solid_phases()

Creates a quantity representing the total molar fraction of all solid phases.

Returns:

A new MoleFractionOfAllSolidPhases object.

static site_fraction_of_component_in_phase(phase, component, sub_lattice_ordinal_no)

Creates a quantity representing the site fractions [-].

Note

Detailed information about the sublattices can be obtained by getting the Phase object of a phase from the System object using tc_toolbox.system.System.get_phase_in_system. For each phase the sublattices are obtained by using tc_toolbox.system.Phase.get_sublattices. The order in the returned list is equivalent to the sublattice ordinal number expected, but note that the ordinal numbers start with 1.

Parameters:
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • sub_lattice_ordinal_no – The ordinal number (i.e. 1, 2, …) of the sublattice of interest, use None to choose all sublattices

Returns:

A new SiteFractionOfComponentInPhase object.

static surface_tension(phase)

Creates a quantity representing the surface tension of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new SurfaceTension object.

static temperature()

Creates a quantity representing the temperature [K].

Returns:

A new Temperature object.

static thermal_conductivity()

Creates a quantity representing thermal conductivity.

Returns:

A new ThermalConductivity object.

static thermal_conductivity_of_phase(phase)

Creates a quantity representing the thermal conductivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalConductivityOfPhase object.

static thermal_diffusivity()

Creates a quantity representing thermal diffusivity.

Returns:

A new ThermalDiffusivity object.

static thermal_diffusivity_of_phase(phase)

Creates a quantity representing the thermal diffusivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalDiffusivityOfPhase object.

static thermal_resistivity()

Creates a quantity representing thermal resistivity.

Returns:

A new ThermalResistivity object.

static thermal_resistivity_of_phase(phase)

Creates a quantity representing the thermal resistivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalResistivityOfPhase object.

static volume_fraction_of_a_solid_phase(phase)

Creates a quantity representing the volume fraction of a solid phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all solid phases

Returns:

A new VolumeFractionOfASolidPhase object.

static volume_fraction_of_all_liquid()

Creates a quantity representing the total volume fraction of all the liquid phase.

Returns:

A new VolumeFractionOfAllLiquid object.

static volume_fraction_of_all_solid_phases()

Creates a quantity representing the total volume fraction of all solid phases.

Returns:

A new VolumeFractionOfAllSolidPhases object.

class tc_toolbox.ThermodynamicQuantity

Factory class providing quantities used for defining equilibrium calculations (single equilibrium, property and phase diagrams, …) and their results.

Note

In this factory class only the most common quantities are defined, you can always use the Console Mode syntax strings in the respective methods as an alternative (for example: “NPM(*)”).

Method Summary
static activity_of_component(component, use_ser)

Creates a quantity representing the activity of a component [-].

Parameters:
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns:

A new ActivityOfComponent object.

static bulk_modulus(phase)

Creates a quantity representing the bulk modulus of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new BulkModulus object.

static chemical_diffusion_coefficient(phase, diffusing_element, gradient_element, reference_element)

Creates a quantity representing the chemical diffusion coefficient of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

  • gradient_element – The gradient element

  • reference_element – The reference element (for example “Fe” in a steel)

Returns:

A new ChemicalDiffusionCoefficient object.

static chemical_potential_of_component(component, use_ser)

Creates a quantity representing the chemical potential of a component [J].

Parameters:
  • component – The name of the component, use ALL_COMPONENTS to choose all components

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state is used if this setting is set to False.

Returns:

A new ChemicalPotentialOfComponent object.

static composition_of_phase_as_mole_fraction(phase, component)

Creates a quantity representing the composition of a phase [mole-fraction].

Parameters:
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new CompositionOfPhaseAsMoleFraction object.

static composition_of_phase_as_weight_fraction(phase, component)

Creates a quantity representing the composition of a phase [weight-fraction].

Parameters:
  • phase – The name of the phase, use ALL_PHASES to choose all stable phases

  • component – The name of the component, use ALL_COMPONENTS to choose all components

Returns:

A new CompositionOfPhaseAsWeightFraction object.

static dynamic_viscosity(phase)

Creates a quantity representing the dynamic viscosity of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new DynamicViscosity object.

static electric_conductivity()

Creates a quantity representing electric conductivity.

Returns:

A new ElectricConductivity object.

static electric_conductivity_of_phase(phase)

Creates a quantity representing the electric conductivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ElectricConductivityOfPhase object.

static electric_resistivity()

Creates a quantity representing electric resistivity.

Returns:

A new ElectricResistivity object.

static electric_resistivity_of_phase(phase)

Creates a quantity representing the electric resistivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ElectricResistivityOfPhase object.

static gibbs_energy_of_a_phase(phase, use_ser)

Creates a quantity representing the Gibbs energy of a phase [J].

Parameters:
  • phase – The name of the phase or ALL_PHASES to choose all phases

  • use_ser – Use Stable-Element-Reference(SER). The user-defined reference state will be used when this setting is set to False.

Returns:

A new GibbsEnergyOfAPhase object.

static kinematic_viscosity(phase)

Creates a quantity representing the kinematic viscosity of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new KinematicViscosity object.

static mass_fraction_of_a_component(component)

Creates a quantity representing the mass fraction of a component.

Parameters:

component – The name of the component or ALL_COMPONENTS to choose all components

Returns:

A new MassFractionOfAComponent object.

static mass_fraction_of_a_phase(phase)

Creates a quantity representing the mass fraction of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases.

Returns:

A new MassFractionOfAPhase object.

static molar_volume_of_phase(phase)

Creates a quantity representing the molar volume of a phase [m^3/mol].

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new MolarVolumeOfPhase object.

static molar_volume_of_system()

Creates a quantity representing the molar volume of the system [m^3/mol].

Returns:

A new MolarVolumeOfSystem object.

static mole_fraction_of_a_component(component)

Creates a quantity representing the mole fraction of a component.

Parameters:

component – The name of the component or ALL_COMPONENTS to choose all components

Returns:

A new MoleFractionOfAComponent object.

static mole_fraction_of_a_phase(phase)

Creates a quantity representing the mole fraction of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new MoleFractionOfAPhase object.

static normalized_driving_force_of_a_phase(phase)

Creates a quantity representing normalized driving force of a phase [-].

Warning

A driving force calculation requires that the respective phase has been set to the state DORMANT. The parameter All is only reasonable if all phases have been set to that state.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new DrivingForceOfAPhase object.

static pressure()

Creates a quantity representing the pressure [Pa].

Returns:

A new Pressure object.

static shear_modulus(phase)

Creates a quantity representing the shear modulus of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ShearModulus object.

static surface_tension(phase)

Creates a quantity representing the surface tension of a liquid phase.

Parameters:

phase – The name of the liquid phase

Returns:

A new SurfaceTension object.

static system_size()

Creates a quantity representing the system size [mol].

Returns:

A new SystemSize object.

static temperature()

Creates a quantity representing the temperature [K].

Returns:

A new Temperature object.

static thermal_conductivity()

Creates a quantity representing thermal conductivity.

Returns:

A new ThermalConductivity object.

static thermal_conductivity_of_phase(phase)

Creates a quantity representing the thermal conductivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalConductivityOfPhase object.

static thermal_diffusivity()

Creates a quantity representing thermal diffusivity.

Returns:

A new ThermalDiffusivity object.

static thermal_diffusivity_of_phase(phase)

Creates a quantity representing the thermal diffusivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalDiffusivityOfPhase object.

static thermal_resistivity()

Creates a quantity representing thermal resistivity.

Returns:

A new ThermalResistivity object.

static thermal_resistivity_of_phase(phase)

Creates a quantity representing the thermal resistivity of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new ThermalResistivityOfPhase object.

static tracer_diffusion_coefficient(phase, diffusing_element)

Creates a quantity representing tracer diffusion coefficient of a phase [m^2/s].

Parameters:
  • phase – The name of the phase

  • diffusing_element – The diffusing element

Returns:

A new TracerDiffusionCoefficient object.

static u_fraction_of_a_component(component)

Creates a quantity representing the u-fraction of a component.

Parameters:

component – The name of the component

Returns:

A new UFractionOfAComponent object.

static user_defined_function(expression)

Creates a quantity representing a user-defined function.

Parameters:

expression – The function expression

Returns:

A new Function object

static volume_fraction_of_a_phase(phase)

Creates a quantity representing the volume fraction of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new VolumeFractionOfAPhase object.

static youngs_modulus(phase)

Creates a quantity representing the Young’s modulus of a phase.

Parameters:

phase – The name of the phase or ALL_PHASES to choose all phases

Returns:

A new YoungsModulus object.