Module “propertymodel_sdk”

class tc_python.propertymodel_sdk.CCTResult(quantity_id: str, description: str)

Bases: ResultQuantity

Represents a Continuous Cooling (CCT) result.

Parameters:
  • quantity_id – The id of this result

  • description – The description of this result

add_time_temperature(time_temperature_id: str, description: str)

Adds a time-temperature pair to the result.

Parameters:
  • time_temperature_id – The id of the time-temperature pair

  • description – The description of the time-temperature pair

temperature_suffix = ' (T)'

The temperature suffix of a CCTResult

time_suffix = ' (t)'

The time suffix of a CCTResult

class tc_python.propertymodel_sdk.CCTResultValues(cooling_rate: float = -1.0, cooling_rate_start_temperature: float = -1.0, cooling_rate_end_temperature: float = -1.0)

Bases: object

Represents Continuous Cooling (CCT) result values.

Parameters:
  • cooling_rate – The cooling rate [K/s]

  • cooling_rate_start_temperature – The start temperature of cooling [K]

  • cooling_rate_end_temperature – The end temperature of cooling [K]

set_result_time_temperature(time_temperature_id: str, time: float, temperature: float)

Sets a time-temperature pair of the result.

Parameters:
  • time_temperature_id – The id of the time-temperature pair

  • time – The time [s]

  • temperature – The temperature [K]

class tc_python.propertymodel_sdk.CalculationContext(system: System, model_utils=None)

Bases: object

Represents the interface of the Property Model with the Thermo-Calc application and the rest of the TC-Python functionality.

Parameters:
  • system – The system object of this calculation

  • model_utils – The model utils object

get_argument_ids() Set[str]

Returns a list with the arguments of the models. Including arguments created from dynamic parameters.

get_dependent_component() str

Obtains the dependent component from the UI

Note

The dependent component is that which has no composition specified explicitly, typically this is the major element of the material (such as Fe, Al, Ni, …)

Returns:

The dependent component

get_mass_fractions() Dict[str, float]

Obtains the current composition from the UI as mass-fraction.

Note

In case of stepping over one or multiple axis, the returned data will represent the composition at the current step.

Returns:

The composition (key: component, value: content) [mass-fraction]

get_mass_percents() Dict[str, float]

Obtains the current composition from the UI in mass-percent.

Note

In case of stepping over one or multiple axis, the returned data will represent the composition at the current step.

Returns:

The composition (key: component, value: content) [mass-percent]

get_mole_fractions() Dict[str, float]

Obtains the current composition from the UI as mole-fraction.

Note

In case of stepping over one or multiple axis, the returned data will represent the composition at the current step.

Returns:

The composition (key: component, value: content) [mole-fraction]

get_mole_percents() Dict[str, float]

Obtains the current composition from the UI in mole-percent.

Note

In case of stepping over one or multiple axis, the returned data will represent the composition at the current step.

Returns:

The composition (key: component, value: content) [mole-percent]

get_temperature() float

Obtains the current temperature from the UI.

Returns:

The temperature [K]

get_ui_boolean_value(component_id: str) bool

Obtains the value from the specified checkbox UI component.

Parameters:

component_id – Id of the checkbox

Returns:

The setting of the checkbox

get_ui_condition_list(component_id: str) ConditionListEntry

Used to get the selected condition from components of type UIConditionListComponent :param component_id: Id of the list UI component :return: The selected condition

get_ui_float_value(component_id: str) float

Obtains the value from the specified UI component.

Parameters:

component_id – Id of the UI component

Returns:

The value

get_ui_list_value(component_id: str) str

Obtains the selected entry from a UI component list. If a special element (such as ANY, NONE, …) is selected, the corresponding locale-independent placeholder is provided.

Parameters:

component_id – Id of the list UI component

Returns:

The selected entry

get_ui_string_value(component_id: str) str

Obtains the selected entry from a UI component text field.

Parameters:

component_id – Id of the string UI component

Returns:

The selected entry

get_ui_temperature_value(component_id: str) float

Obtains the temperature from the specified temperature UI component.

Parameters:

component_id – Id of the temperature UI component

Returns:

The temperature [K], note that input unit of the UI is specified in the model panel. If required, the temperature is automatically converted to K.

set_result_cct_values(quantity_id: str, r: CCTResultValues)

Sets the value of a previously defined result quantity (of type CCTResultValues) for further usage in the Thermo-Calc application for plotting, etc.

Parameters:
  • quantity_id – unique id of the result quantity

  • r – the CCTResultValues to be set

set_result_quantity_value(quantity_id: str, value: float, parameter: str = '')

Sets the value of a previously defined result quantity for further usage in the Thermo-Calc application for plotting, etc.

Note

Any result quantity that remains unset is automatically set to NaN.

Parameters:
  • quantity_id – Unique id of the result quantity

  • parameter – Use if result is parameterized. f.i. “per phase”

  • value – The value to be set

set_single_equilibrium_result(quantity_id: str, r: SingleEquilibriumResult)
class tc_python.propertymodel_sdk.ConditionListEntry

Bases: object

Used in combination with components of type UIConditionListComponent.

Contains the element, if the selected condition is a composition Contains the Console Mode syntax of the selected condition. Contains the unit of the selected condition

class tc_python.propertymodel_sdk.PropertyModel(_locale: str = 'en-US')

Bases: object

The abstract base class for all property models.

Note

Every Property Model needs to implement most of the abstract methods of this class. However, some abstract methods are optional and should only be implemented if required.

Note

If overwriting the constructor in a Property Model, the constructor of the implemented class must have the identical signature and should pass the parameters to this base class constructor.

Tip

It is possible to switch off internal INFO-log messages coming from the calculation engine by changing the log-level on the TC-Python log object like this: logging.getLogger(“tc_python”).setLevel(logging.ERROR).

Parameters:

_locale – The locale to be used, this is an internal parameter and is of no meaning to the end-user

Variables:

logger – logger object that is connected to the Thermo-Calc UI (INFO- and WARNING-level will be printed as INFO, ERROR-level as ERROR), it can be accessed like this: self.logger.info(“Some message”)

abstract add_button_callback(component_id: str, ui_components: Dict[UIComponent, int]) List[UIComponent]

Implement this method if you have one or more UI components on which you called UIComponent.enable_add_button(), which adds a + button next to the component.

This method will be executed when you press any such + button.

This method is typically used to add more UI components dynamically and the method must return a list of the UI components to be added.

This method can optionally be implemented by a Property Model.

Parameters:
  • component_id – The id of the UI component next to the pressed + button

  • ui_components – dict with the components and the index of the current ui components of the model. Including arguments created in previous calls to add_button_callback.

Returns:

A list of UIComponent objects to be added

abstract after_evaluations()

Called by the Thermo-Calc application immediately after the last model evaluation (using the method PropertyModel.evaluate_model()). Use this method for any required cleanup.

This method can optionally be implemented by a Property Model.

abstract before_evaluations(context: CalculationContext)

Called by the Thermo-Calc application immediately before the first model evaluation (using the method PropertyModel.evaluate_model()). Use this method for any required preparations.

This method can optionally be implemented by a Property Model.

Parameters:

context – The calculation context

abstract evaluate_model(context: CalculationContext)

Called by the Thermo-Calc application when the model should be actually calculated. This is the main-method of the Property Model that contains the actual calculation code.

This method needs to be implemented by all property models.

Parameters:

context – The calculation context, this provides access to the Thermo-Calc application and all other TC-Python modules

abstract get_license_key() str

Provides the license key of the model.

This method can optionally be implemented by a Property Model.

abstract provide_calculation_result_quantities() List[ResultQuantity]

Called by the Thermo-Calc application when the model should provide its result quantity objects.

This method needs to be implemented by all property models.

Returns:

Result quantity objects of the model (to be filled later with results in the method PropertyModel.evaluate_model())

abstract provide_model_category() List[str]

Called by the Thermo-Calc application when the model should provide its category (shown in the Thermo-Calc model tree).

This method needs to be implemented by all property models.

Returns:

Category of the model, it may be present in several categories

abstract provide_model_description() str

Called by the Thermo-Calc application when the model should provide its detailed description.

This method needs to be implemented by all property models.

Returns:

Description text for the model

abstract provide_model_name() str

Called by the Thermo-Calc application when the model should provide its name (shown in the Thermo-Calc model tree).

This method needs to be implemented by all property models.

Returns:

Name of the model

abstract provide_model_parameters() Dict[str, float]

Called by the Thermo-Calc application when the model should provide all model parameters and their current values.

This method can optionally be implemented by a Property Model.

Note

These are internal variables of the Property Model that are intended to be modified from the outside. Typically this is used to adjust their values in a optimizer during the development of the model.

Returns:

The model parameter ids and their current values [unit according to the parameter meaning]

abstract provide_ui_panel_components() List[UIComponent]

Called by the Thermo-Calc application when the model should provide its UI components for the model panel to be plotted. This happens also whenever a model gets checked in the model tree.

This method needs to be implemented by all property models.

Returns:

Model UI panel components in the order to be presented in the model panel

abstract remove_button_callback(component_id: str, ui_components: Dict[UIComponent, int]) List[str]

Implement this method if you have one or more UI components on which you called UIComponent.enable_remove_button(), which adds a - button next to the component.

This method will be executed when you press any such - button.

This method is typically used to remove UI components dynamically and the method must return a list of the ids of the components that are going to be removed.

This method can optionally be implemented by a Property Model.

Parameters:
  • component_id – the id of the UI component next to the pressed - button

  • ui_components – list with the components and the index of the current ui components of the model. Including arguments created in previous calls to add_button_callback.

Returns:

a list of UI component ids that are required to be removed

abstract set_model_parameter(model_parameter_id: str, value: float)

Called by the Thermo-Calc application when a model parameter should be reset.

This method can optionally be implemented by a Property Model.

Note

These are internal variables of the Property Model that are intended to be modified from the outside. Typically this is used to adjust their values in a optimizer during the development of the model.

Parameters:
  • model_parameter_id – The parameter id

  • value – The value [unit according to the parameter meaning]

class tc_python.propertymodel_sdk.ResultQuantity(quantity_id: str, description: str, quantity_type: ResultQuantityType)

Bases: object

Defines a calculation result quantity of a Property Model that is identified by a unique id.

Parameters:
  • quantity_id – Unique id of the quantity

  • description – Description of the quantity (shown in the Thermo-Calc UI)

  • quantity_type – Type of the quantity (defines the unit)

get_description() str

Obtains the description of the quantity.

Returns:

Description of the quantity

get_id() str

Obtains the id of the quantity.

Returns:

Unique id of the quantity

get_type() ResultQuantityType

Obtains the type of quantity.

Returns:

Type of the quantity

class tc_python.propertymodel_sdk.ResultQuantityType(value)

Bases: Enum

Defining the type of a result quantity.

CCT_QUANTITY = 5

A cct quantity

ENERGY_QUANTITY = 2

An energy quantity

GENERAL_QUANTITY = 0

A general quantity

LENGTH_QUANTITY = 7

A length in quantity

SINGLE_EQUILIBRIUM_QUANTITY = 6

A cct quantity

STRENGTH_QUANTITY = 8

A strength quantity

SURFACE_ENERGY_QUANTITY = 3

A surface energy quantity

TEMPERATURE_QUANTITY = 1

A temperature quantity

TIME_QUANTITY = 4

A time quantity

class tc_python.propertymodel_sdk.SpecialListMarkers

Bases: object

Placeholders for special list elements that are locale-dependent. They will be provided by UI list components if a special marker has been selected.

ANY_LIST_MARKER = 'ANY'

Marker that represents “Any”

NONE_LIST_MARKER = 'NONE'

Marker that represents “None”

class tc_python.propertymodel_sdk.UIBooleanComponent(component_id: str, name: str, description: str, setting: bool)

Bases: UIComponent

Checkbox UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • setting – Initial setting of the checkbox

connect_component_enableability(dependent_component_id: str)

Connects the state enabled of any other UI component of the model panel to the value of this boolean component.

Parameters:

dependent_component_id – Id of the UI element to be dependent on this boolean component

connect_component_visibility(dependent_component_id: str)

Connects the visibility of any other UI component of the model panel to the value of this boolean component.

Parameters:

dependent_component_id – Id of the UI element to be dependent on this boolean component

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

This UI component

get_dependent_components() List[str]

Obtains a list containing all UI elements currently connected regarding their visibility.

Returns:

A list with the component id of all UI elements currently connected

get_setting() bool

Obtains the setting of the checkbox.

Returns:

The setting of the checkbox

remove_component_visibility(dependent_component_id: str)

Removes the visibility connection to a UI component that has been previously connected.

Parameters:

dependent_component_id – Id of the previously connection UI element

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UIComponent(component_id: str, name: str, description: str)

Bases: object

Abstract Base class for all UI components of the model panel.

Never make an instance of UIComponent, always use the sub-classes. For instance UIStringComponent.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

get_description() str

Obtains the additional description of the component.

Returns:

Additional description of the component

get_id() str

Obtains the unique id of the component.

Returns:

Unique id of the component

get_name() str

Obtains the name of the component.

Returns:

Name of the component, will be presented in the model panel

set_enabled(enabled)

Sets whether the component should be enabled or not

Parameters:

enabled

Returns:

This UI component

set_visible(visible)

Sets the visibility of the component

Parameters:

visible

Returns:

This UI component

class tc_python.propertymodel_sdk.UIConditionListComponent(component_id: str, name: str, description: str)

Bases: UIComponent

System condition list UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

class tc_python.propertymodel_sdk.UIFloatComponent(component_id: str, name: str, description: str, value: float)

Bases: UIComponent

General real value text field UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • value – Initial setting of the text field

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

this UI component

get_value() float

Obtains the setting of the text field.

Returns:

The setting of the text field

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UIGeneralListComponent(component_id: str, name: str, description: str, content: List[Tuple[str, str]], selected_entry: str = '')

Bases: UIComponent

General list UI component of the model panel that can contain any strings.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • content – Entries of the list, they need to contain a locale-independent id and a localized content string, for example: [(“ENTRY_1_ID”, “entry 1”), (ENTRY_2_ID”, “entry 2”)]

  • selected_entry – Entry to be initially selected. If omitted, by default the first element is selected.

connect_component_visibility(dependent_component_id: str, selected_item_to_set_visible: str)

Connects the visibility of any other UI component of the model panel to the selection of a certain entry of the list.

Parameters:
  • dependent_component_id – Id of the UI element to be dependent on the chosen element

  • selected_item_to_set_visible – Entry (locale independent id) of the list to be chosen to set the dependent component visible

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

This UI component

get_content() List[Tuple[str, str]]

Obtains the entries of the list.

Returns:

Entries of the list, they need to contain a locale-independent id and a localized content string, for example: [(“ENTRY_1_ID”, “entry 1”), (ENTRY_2_ID”, “entry 2”)]

get_dependent_components() Dict[str, List[str]]

Obtains a dictionary containing all UI elements currently connected regarding their visibility.

Returns:

All UI elements currently connected (key: dependent component id, value: required list entries to set it visible)

get_selected_entry() str

Obtains the initially selected entry.

Returns:

Initially selected entry. If empty, the first element is selected.

remove_component_visibility(dependent_component_id: str)

Removes the visibility connection to a UI component that has been previously connected.

Parameters:

dependent_component_id – Id of the previously connection UI element

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UIPhaseListComponent(component_id: str, name: str, description: str, default_phase: str = '', any_marker_setting: bool = False)

Bases: UIComponent

Phase list UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • default_phase – Default phase, if omitted no default phase is chosen and only initially the first element of the list is selected. If an ANY-marker is added, this is chosen as the default element.

  • any_marker_setting – Defines if an entry “ANY PHASE” should be added to the phase list, if set to true this overrides any default phase setting

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

This UI component

get_any_marker_setting() bool

Obtains the setting if any entry “ANY PHASE” is added to the phase list.

Returns:

If an entry “ANY PHASE” is added to the phase list, if set to true this overrides any default phase setting

get_default_phase() str

Obtains the default phase.

Returns:

Default phase, if omitted no default phase is chosen and only initially the first element of the list is selected. If an ANY-marker is added, this is chosen as the default element.

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UISectionDividerComponent(component_id: str, name: str, description: str)

Bases: UIComponent

General text field UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • string – Initial setting of the text field

get_value() str

Obtains the setting of the text field.

Returns:

The setting of the text field

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UIStringComponent(component_id: str, name: str, description: str, string: str)

Bases: UIComponent

General text field UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • string – Initial setting of the text field

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

This UI component

get_value() str

Obtains the setting of the text field.

Returns:

The setting of the text field

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

class tc_python.propertymodel_sdk.UITemperatureComponent(component_id: str, name: str, description: str, temp: float)

Bases: UIComponent

Temperature value text field UI component of the model panel.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • temp – Initial temperature to be set in the text field (unit defined by the user in the Thermo-Calc system)

enable_add_button()

Adds a + button to the right of the UI component.

Returns:

This UI component

enable_remove_button()

Adds a - button to the right of the UI component.

Returns:

This UI component

get_temp() float

Obtains the temperature set in the text field.

Returns:

The temperature to be set in the text field (unit defined by the user in the Thermo-Calc system)

set_index(index: int = -1)

Sets the position in the graphical user interface.

Parameters:

index – The position

Returns:

This UI component

tc_python.propertymodel_sdk.create_boolean_ui_component(component_id: str, name: str, description: str, initial_setting: bool) UIBooleanComponent

Creates a UI checkbox component for a boolean value. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • initial_setting – Initial setting of the checkbox

Returns:

The created component

tc_python.propertymodel_sdk.create_condition_list_ui_component(component_id: str, name: str, description: str) UIConditionListComponent

Creates a UI list component for all conditions defined in the system. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

Returns:

The created component

tc_python.propertymodel_sdk.create_energy_quantity(quantity_id: str, description: str) ResultQuantity

Creates a UI energy result quantity (in J). When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_float_ui_component(component_id: str, name: str, description: str, value: float) UIFloatComponent

Creates a UI text field component for a real number. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • value – Initial setting of the text field

Returns:

The created component

tc_python.propertymodel_sdk.create_general_quantity(quantity_id: str, description: str) ResultQuantity

Creates a general result quantity that can contain any type of result (without a unit). When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_length_quantity(quantity_id: str, description: str) ResultQuantity

Creates a length result quantity. When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_list_ui_component(component_id: str, name: str, description: str, entry_list: List[Tuple[str, str]], selected_entry: str = '') UIGeneralListComponent

Creates a UI list component for string entries. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • entry_list – Entries of the list, they need to contain a locale-independent id and a localized content string, for example: [(“ENTRY_1_ID”, “entry 1”), (ENTRY_2_ID”, “entry 2”)]

  • selected_entry – Entry to be initially selected. If omitted, by default the first element is selected.

Returns:

The created component

tc_python.propertymodel_sdk.create_phase_list_ui_component(component_id: str, name: str, description: str, default_phase: str = '', any_marker: bool = False) UIPhaseListComponent

Creates a UI list component for all phases defined in the system. It is possible to select a default phase that is supposed to be the expected phase selection for that list. The value of that component can later be accessed during the model evaluation.

A default phase is the phase that is initially selected and re-selected as soon as a currently selected phase is removed. If the default phase is not available, a “NONE”-marker will be created and used instead of the default phase. A typical use case for the default phase setting is a phase list that expects to contain the LIQUID-phase of a system.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • default_phase – Default phase, if omitted no default phase is chosen and only initially the first element of the list is selected. If an ANY-marker is added, this is chosen as the default element.

  • any_marker – Defines if an entry “ANY PHASE” should be added to the phase list, if set to true this overrides any default phase setting

Returns:

The created component

tc_python.propertymodel_sdk.create_section_divider_ui_component(component_id: str, name: str, description: str) UISectionDividerComponent

Creates an empty UI component acting as a spacer. :param component_id: Unique id of the component :return: The created component

tc_python.propertymodel_sdk.create_strength_quantity(quantity_id: str, description: str) ResultQuantity

Creates a strength result quantity. When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_string_ui_component(component_id: str, name: str, description: str, string: str) UIStringComponent

Creates a UI text field component. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • string – Initial setting of the text field

Returns:

The created component

tc_python.propertymodel_sdk.create_surface_energy_quantity(quantity_id: str, description: str) ResultQuantity

Creates an energy result quantity (in J). When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_temperature_quantity(quantity_id: str, description: str) ResultQuantity

Creates a temperature result quantity (in K). When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity

tc_python.propertymodel_sdk.create_temperature_ui_component(component_id: str, name: str, description: str, initial_temp: float) UITemperatureComponent

Creates a UI text field component for a temperature value. The value of that component can later be accessed during the model evaluation.

Parameters:
  • component_id – Unique id of the component

  • name – Name of the component, will be presented in the model panel

  • description – Additional description of the component

  • initial_temp – Initial temperature to be set in the text field. (The unit of initial_temp is Kelvin. The value in the text field will be automatically converted using the unit chosen by the user.)

Returns:

The created component

tc_python.propertymodel_sdk.create_time_quantity(quantity_id: str, description: str) ResultQuantity

Creates a time result quantity (in s). When the model is evaluated, a value can be added to the quantity and it will be used to transfer the result to the Thermo-Calc plot engine.

Parameters:
  • quantity_id – Unique id of the result quantity

  • description – Additional description of the result quantity

Returns:

The created result quantity