PanPython SDK (Software Development Kit)
PanPython is a Python-based SDK, which is specially designed for convenient linkage of all Pandat modules with other software programs or external materials models. It is a powerful tool to integrate with ICME models for industrial applications and to generate massive materials data for data mining and machine learning. PanPython SDK allows users to have full access to the powerful Python numerical, statistical, optimization and data analysis packages. Customized functions and examples are included in PanPython SDK for users to easily get started for their own applications. Some key features are highlighted:
- Parallel High-Throughput-Calculation (HTC): The High-Throughput Calculation (HTC) is a build-in function of Pandat software which allows a user to explore materials properties by performing a batch of calculations under user-defined conditions. The HTC function is significantly enhanced through PanPython SDK, which allows a user to perform parallel HTC. The HTC results can be visualized and analyzed using interactive Jupyter notebook.
- Optimization of Kinetic Model Parameters: The precipitation database (.KDB) uses the XML format, which defines the kinetic model for each precipitate phase and its corresponding model parameters such as interfacial energy, molar volume, nucleation site parameter. The PanPython SDK provides a function to optimize the kinetic parameters in terms of the given experimental data.
- Fast Post-Processing of HTC Data: Materials design relies on property data generated by experimental measurements or/and computational simulations. While aggregating data sets from various sources is the first step which is crucial for further data visualization and analysis, it is always challenging to handle data sets of different types. PanPython SDK can provide solutions to this challenge.
- Interactive Analysis of Materials Properties: Data analysis and display plays an essential role in correctly understanding and using the data. Modern material design usually adopts multiple components to tailor material properties. Display of numerous material properties properly for a multi-component and multi-phase system is challenging. PanPython SDK can provide a solution to this challenge. It allows a user to visualize and analyze the multi-dimensional data sets. In addition, PanPython SDK is also conveniently connected with the state-of-art Python packages such as SciPy, pandas and Scikit-learn, which provides a rich variety of data analysis functions.
PanEngine API is a dynamic-linked library that can be integrated with user’s in-house code to create custom applications such as solidification, heat-treatment, casting, welding, corrosion and phase field simulation. PanEngine is currently built as a Dynamic Link Library (DLL) in Windows, which is a collection of functions for calculating thermodynamic, thermo-physical properties and phase equilibria for a multi-component, multi-phase system. It implements a set of numerical algorithms for solving nonlinear equations and unconstrained/constrained optimization problems involved in multi-phase phase equilibrium for a multi-component system. It should be emphasized that the specially designed global minimization algorithm enables PanEngine to find the most stable phase equilibrium in a more intelligent and reliable way. Moreover, it finds the correct, stable phase equilibria without requiring the user to input initial values. This feature is critically important especially when the thermodynamic calculation engine is integrated with processing simulation software since it is impossible for the user to provide initial values and verify the results for thousands of points during the simulation. On the other hand, for multi-component systems, it is almost impossible for the user to provide proper initial values for stable phase equilibria.
- Load database and select components: loads databases in tdb or pdb format
- Calculate global/local equilibrium: automatic calculates global equilibrium or local equilibrium as required
- Find liquidus surface: finds liquidus temperature for a given composition
- Calculate liquidus slope: calculates liquidus slope along specified direction
- Calculate partition coefficient: calculates partition coefficient for a component between two phases in equilibrium
- Calculate thermodynamic factor: calculates thermodynamic factors for selected components
- Solidification simulation: performs solidification simulation with selected model
With the PanPhaseField SDK, one can run PanPhaseField in batch mode on Windows and Linux operating sytems. In addition, researchers can also develop their own phase-field application plugins. Plugins can directly get the needed thermodynamic input from CALPHAD database and use Pandat GUI to visualize their simulation results.
- The state-of-art architecture: by using PanPhaseField SDK, developer can easily use Pandat’s graphic interface and workspace, and access mutli-component thermodynamic/kinetic data through high-performance data management system
- PanEngine/PanDataNet interface: an interface is provided for easy accessing thermodynmaic/kinetic properties and managing multi-componenet data.
- Plugin templates: C++ templates are provided for fast development of user-defined plugins.
- Cross platform: run on Windows/Linux PC, Clusters and Cloud machines with high performance.
In addition to the most common GUI (graphical user interface) mode, Pandat can also run in the batch (console) mode without opening GUI. This provides the most convenient and simplest way to integrate a third-party program with Pandat. Please refer to Pandat manual section 2.5 for details.