Skip to main content

SDKs

Easily link Thermo-Calc to other software programs or your own software code with one of three available Software Development Kits (SDKs).

Software Development Kits

For users who wish to use the power and flexibility of Thermo-Calc in their own application programs, we offer three Software Development Kits (SDKs). Software Development Kits are add-on features that allow users to call Thermo-Calc functions and access the thermodynamic and mobility databases directly from within your own software codes or other software programs.

Each SDK incorporates an application programming interface (API), a programmer’s guide, and a collection of examples to help users get started.

Three SDKs Available

Easy to Use

SDKs make coupling with Thermo-Calc easy, allowing for a dynamic and flexible interaction between Thermo-Calc and a user’s own code or other software programs. The basic idea behind these SDKs is that application programmers should be able to retrieve data from our tools, such as multicomponent thermodynamic data, kinetic data, properties data, and phase equilibrium results, without having to implement various sophisticated models and to perform equilibrium calculations on their own. The user is simply able to access the calculation core of Thermo-Calc with all its possibilities through the API. Documentation on each function and its syntax is provided, along with example codes.

Extract Most Quantities and Properties

Most of the quantities that are possible to evaluate in Thermo-Calc can be readily extracted using the SDKs. These quantities can be extracted under equilibrium conditions, but also for metastable or non-equilibrium states, by simply changing the status of the phases under consideration. The table below shows which calculation types can be performed with each API.

Calculation Type TC-Python TC-Toolbox
for MATLAB®
TQ-Interface
Single Point Equilibrium Yes Yes Yes
Property diagrams (step), phase diagrams (map),
and Scheil solidification simulations
Yes Yes No
Property Model Calculations* Yes Yes No
Diffusion Module (DICTRA) Simulations** Yes Yes No
Precipitation Module (TC-PRISMA) Simulations** Yes Yes No
Process Metallurgy Module Calculations** Yes Yes No
Additive Manufacturing Module Simulations** Yes No No

*Includes the Steel Model Library and/or Nickel Model Library and/or Titanium Model Library for users who have the relevant license(s). 

**Requires a license for the Add-on Module.

Examples of Quantities and Properties that Can Be Extracted through any of the APIs:

  • Amount and composition of phases
  • Phase transformation temperatures, such as liquidus and solidus temperatures
  • Thermochemical properties, such as enthalpy, heat capacity, heat of formation, and more
  • Thermophysical properties, such as thermal conductivity, density, linear thermal expansion, viscosity of liquid, and more
  • Driving force
  • Diffusion coefficients
  • Derivatives of state functions
  • Partition coefficients
  • Invariant temperatures, liquidus-/solidus- temperatures, and composition-dependence
  • T0-temperature, A1/A3/A4-temperatures, adiabatic temperature, chill factors, composition derivatives of temperature, and more
  • Thermodynamic limits for partitionless transformations and for transformations under para-equilibrium and quasi-paracondition
  • and many more…

Additional Simulations and Calculations that Can Be Made with TC-Python and TC-Toolbox for MATLAB®:

  • Phase diagrams
  • Isothermal and non-isothermal diffusion simulations
  • Isothermal and non-isothermal precipitation simulations
  • Surface tension of liquid
  • CCT and TTT diagrams (precipitation simulations and Steel Model Library)
  • Property Model calculations, such as calculation of coarsening rate, yield strength, Ms, and more
  • Process Metallurgy Module calculations for steelmaking and steel refining processes
  • Additive Manufacturing Module simulations for modeling the Powder Bed Fusion process
    (Currently only available in TC-Python)
  • and many more…

TC-Python

TC-Python is a powerful Python™ language-based SDK available with Thermo-Calc that allows users to openly couple Thermo-Calc calculations with other software. The SDK is built in the popular language Python™ to give Thermo-Calc users access to many other programs, such as numerical packages like NumPy, SciPy, and TensorFlow, which can be used in combination with our calculations. It can also be used from within Jupyter notebooks or comparable interactive Python™ consoles. It is truly a tool for all aspects of Integrated Computational Materials Engineering (ICME). For more information, visit the TC-Python page.

TC-Toolbox for MATLAB®

TC-Toolbox for MATLAB® provides an interface to the commonly-used MATLAB® software for scientific and engineering computing. This kit is ideal for fast realization of ideas and visualization of results during research and development activities. The API offers the same functionality as TC-Python, but is well suited for users who already have a license for MATLAB®, want to connect to other programs offered by MATLAB®, or are familiar with the MATLAB® programming language.

TC-Toolbox for MATLAB® is currently only available on Windows platforms.

TQ-Interface

TQ-Interface, short for Thermodynamic Calculation Interface, is designed for time-critical, computationally intensive application software that is most likely but not necessarily written in Fortran. It constitutes a collection of Fortran subroutines and functions supplied in the form of a DLL (Dynamically Linked Library). There are also C functions matching all the Fortran subroutines in order to facilitate users who wish to program in languages other than Fortran.

TQ-Interface is successfully used in the MICRESS™ software package (developed by ACCESS e.V., in Aachen, Germany), for simulation of microstructural evolution in multicomponent alloys using a phase-field approach.

TQ-Interface is only available on Windows and Linux platforms.

Consistently Maintained and Updated

TC-Python and TC-Toolbox for MATLAB® are directly linked to the underlying Thermo-Calc code, so they are updated as Thermo-Calc is updated. Thermo-Calc, and thus these two SDKs, are on a two-times-per-year release cycle and customers with a valid maintenance and support subscription for the SDKs receive these updates for free. TQ-Interface is maintained as needed.

Availability

All SDKs are available as add-ons to a Thermo-Calc license. In order to run a user-written application program using any of the SDKs, it is necessary to have Thermo-Calc and relevant databases installed. Additionally, TC-Toolbox for MATLAB® requires a license for MATLAB® software. If you do not already have a Thermo-Calc license or you are interested in expanding your license, please contact us to discuss which license is right for you.

Learn More About the SDKs

Overview of the SDKs

Let Us Help You

Is Thermo-Calc Right for You?

Talk to one of our experts to learn whether our tools fit your needs.