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¶
- 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”)
- 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
andPhaseParameter
.- 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.
- 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()
andlatent_heat_per_gram()
), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole()
andheat_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()
andlatent_heat_per_gram()
), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole()
andheat_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()
andlatent_heat_per_gram()
), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole()
andheat_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()
andlatent_heat_per_gram()
), and the other is the heat related to the specific heat of liquid and solid phases (heat_per_mole()
andheat_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 usingtc_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.