PanLink SDK Documentation

The definitive guide to integrating CompuTherm's PanLink materials data engine.

Getting Started

Welcome to the PanLink SDK! This guide will help you set up your development environment and run your first simulation using the PanLink library.

Prerequisites

Before you begin, ensure you have the following:

  • C++ Compiler: A modern C++ compiler (C++11 or later) such as MSVC, GCC, or Clang.
  • PanLink SDK: The distribution package containing the library files (.lib for Windows or .so for Linux) and the header files (.h).
  • Database Files: Valid thermodynamic (.tdb) and kinetic (.kdb) databases provided by CompuTherm.
  • License File: A valid license file to authorize the usage of the SDK.

Integration Overview

Integrating PanLink into your FEM or custom solver involves linking against the PanLink library and making calls to the API functions to update material properties at each time step or iteration.

Basic Usage Flow

The typical workflow for using PanLink in a simulation loop is as follows:

  1. Initialize the Engine

    Use pl_set_db_folder to specify the location of your resource folder containing batchfile and databases. Note that the batchfile name should be "panlink_simulation_template_.pbfx". This initializes the core Pandat engine.

  2. Configure Simulation

    Set up your simulation parameters, such as the initial composition, temperature, and time step. Configure which properties you need to calculate (e.g., phase fraction, hardness).

  3. Execute Updates

    Inside your time-stepping loop, call module-specific update functions like pl_update_material_property. This function takes the current state (T, P, composition) and returns the updated microstructural properties.

  4. Retrieve Results

    Access the calculated properties from the output structures provided by the API. Use these values to update your FEM mesh or solver state.

  5. Cleanup

    Once the simulation is complete, call pl_free_PanLink to release all allocated resources and close the engine cleanly.

You can look into the example files to understand better about the workflow.