Software Development Kits

For users who wish to use the power and flexibility of Thermo-Calc in their own application programs, there are these separate software development kits (SDKs) to choose between:

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

The basic idea behind these kits is that application programmers should be able to retrieve multicomponent thermodynamic 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.

Most of the quantities that are possible to evaluate in Thermo-Calc can be readily extracted. 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. Additionally, precipitation and diffusion simulations, as well as Property model calculations are also possible with TC-Python. 

Examples of quantities and properties that can be extracted through any of the API’s:

  • Amount and composition of phases
  • Phase transformation temperatures, such as liquidus and solidus temperatures
  • Thermochemical properties, e.g. enthalpy, heat capacity, etc.
  • 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, etc.
  • 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: 

  • Isothermal and non-isothermal diffusion simulations
  • Isothermal and non-isothermal precipitation simulations
  • CCT and TTT diagrams (precipitation simulation)
  • Property model calculations
  • Information about phase structures, components, etc. 
  • and many more …

TC-Python

TC-Python is a 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 and SciPy, which can now 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 Integrated Computational Materials Engineering (ICME). For more information go to the TC-Python page.

TQ-Interface (Thermodynamic Calculation Interface)

TQ-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.

TC-API (Thermo-Calc Application Programming Interface)

TC-API consists of a library with C functions and was originally intended to facilitate for programmers who wished to use a programming language other than Fortran. It offers access to most of the commands in the TDB, POLY3 and POST-processor modules, as well as to some important commands in the GES5 module. Performance will be lower compared to TQ-Interface.

TC-Toolbox for MATLAB®

The TC-Toolbox for MATLAB® provides an interface to the commonly-used MATLAB® software for scientific and engineering computing. This kit is ideal for fast realisation of ideas and visualization of results during research and development activities. It does not, however, offer calculations that are as fast as the TQ-Interface. Through this toolbox, more than 50 Thermo-Calc commands are made available within MATLAB®, including a set of commands also used for communicating with the Diffusion module (DICTRA) software.

Availability of each SDK

Each SDK is available as an add-on to a Thermo-Calc license. In order to run a user-written application program using any of the APIs, it is necessary to have the Thermo-Calc software/database package installed. Additionally, the TC-Toolbox for MATLAB® requires a license for the MATLAB® software. 

System Requirements

Supported platforms are listed on the System Requirements page. 

Further requirements are as follows: 

Windows 64-bit

Software 64-bit
TC-Python* Requires a Python-installation with Python 3.5 or higher (we recommend Python 3.6) and a Python distribution (we recommend Anaconda).
TQ-Interface** Requires a Fortran compiler. We test the API with Visual Studio 2010 and ifort 16.0.4. 
TC-API** Requires a C-compiler. We test the API with Visual Studio 2010. 
TC-Toolbox for MATLAB® Requires a compatible version of MATLAB® installed, with a working license. See System Requirements for the version(s) we support. 

*The package py4j should install automatically. However, this might not work behind a company-proxy server. See the TC-Python documentation for solutions.

** Other compilers may work, but we do not provide support for them. 

See the System Requirements page for platform requirements. 

Linux 64-bit

Software 64-bit
TC-Python* Requires a Python-installation with Python 3.5 or higher (we recommend Python 3.6) and a Python distribution (we recommend Anaconda or the Python interpreter of the system).
TQ-Interface** Requires a Fortran compiler. We support two:

If you compile your code with ifort 16.0.4, link with libtq-linux-x86_64-ifort-*.so. The resulting binary might require a recent GCC installed to run on another Linux computer.

If you compile your code with gfortran 4.4, link with libtq-linux-x86_64-gfortran-*so. The resulting binary might require a recent GCC and libgfortran.so.3 installed to run on another computer. Note that libgfortran.so.3 is installed as a part of gfortran 4.4.
TC-API** Requires a C-compiler. We test the API with GCC 4.4.
TC-Toolbox for MATLAB®  Not available

*The package py4j should install automatically. However, this might not work behind a company-proxy server. See the TC-Python documentation for solutions.

** Other compilers may work, but we do not provide support for them. 

See the System Requirements page for platform requirements. 

Mac 64-bit

Software 64-bit
TC-Python* Requires a Python-installation with Python 3.5 or higher (we recommend Python 3.6) and a Python distribution (we recommend Anaconda or the Python interpreter of the system).
TQ-Interface Not available
TC-API Not available
TC-Toolbox for MATLAB® Not available

*The package py4j should install automatically. However, this might not work behind a company-proxy server. See the TC-Python documentation for solutions.

See the System Requirements page for platform requirements.