Enumerations
PanLink_Module_Type
Defines the type of simulation module to initialize.
typedef enum {
PL_MODULE_TYPE_PanPhaseEquilibrium = 0, // Phase equilibrium calculation
PL_MODULE_TYPE_PanEvolution = 1, // PanEvolution simulation
PL_MODULE_TYPE_PanSoldification = 2, // PanSolidification simulation
PL_MODULE_TYPE__MAX = 3
} PanLink_Module_Type;
PanLink_Property_Type
Categorizes the type of a property.
typedef enum {
PROP_TYPE_THERMODYNAMIC = 0,
PROP_TYPE_THERMOPHYSICAL = 1,
PROP_TYPE_KINETIC = 2,
PROP_TYPE_SOLIDIFICATION = 3,
PROP_TYPE_MECHANICAL = 4,
PROP_TYPE_OTHER = 5,
PROP_TYPE_MAX = 6
} PanLink_Property_Type;
PanLink_Predefined_Property_ID
Identifiers for standard system properties, allowing for easy access and configuration.
Partial list shown. See
PanLink_C_Properties.h for full list.| ID | Description |
|---|---|
PROP_ID_G | Gibbs Free Energy |
PROP_ID_H | Enthalpy |
PROP_ID_S | Entropy |
PROP_ID_Cp | Specific Heat |
PROP_ID_fs | Fraction Solid |
PROP_ID_Grain_Size | Average Grain Size |
PROP_ID_sigma_y | Yield Strength |
PROP_ID_Density | Density |
Structures
PanLink_State_Variable
Represents the input state for a calculation point (node/element).
struct PanLink_State_Variable {
double m_position[3]; // Spatial coordinates (x, y, z)
double m_n[Max_Num_Components]; // Composition (mole fraction/amount)
int m_num_n; // Number of components defined
double m_time; // Current time
double m_dt; // Time step
double m_T; // Temperature (K)
double m_cooling_rate; // Cooling rate (K/s)
double m_thermal_gradient; // Thermal gradient (K/m)
double m_strain; // Plastic strain
double m_strainRate; // Strain rate
double m_more_vars[16]; // Reserved for additional variables
PanLink_Unit m_units[Max_Num_Units]; // Units definition
// ... constructors and methods
};
PanLink_Property
The main container for all calculated properties of the system.
struct PanLink_Property {
PanLink_Phase_Property* m_phase_properties; // Array of per-phase properties
int m_num_phase_properties; // Count of phases
// System-level property groups
PanLink_Thermodynamic_Properties* m_thermodynamic;
PanLink_Kinetic_Properties* m_kinetic;
PanLink_Solidification_Properties* m_solidification;
PanLink_ThermoPhysical_Properties* m_thermo_physical;
PanLink_Mechanical_Properties* m_mechanical;
PanLink_Generic_Property* m_properties; // Array of generic properties
int m_num_properties; // Count of generic properties
// ... constructors and methods
};
PanLink_Phase_Property
Container for properties specific to a single phase.
struct PanLink_Phase_Property {
char m_phaseName[Max_Property_Name_Length]; // Name of the phase
// Phase-specific property groups
PanLink_Thermodynamic_Properties* m_thermodynamic;
PanLink_Kinetic_Properties* m_kinetic;
PanLink_Solidification_Properties* m_solidification;
PanLink_ThermoPhysical_Properties* m_thermo_physical;
PanLink_Mechanical_Properties* m_mechanical;
PanLink_Generic_Property* m_properties;
int m_num_properties;
// ... constructors and methods
};
Property Group Structures
Specific groups of properties organized by physical domain.
PanLink_Thermodynamic_Properties
m_G, m_H, m_S: Gibbs Energy, Enthalpy, Entropym_Cp: Specific Heatm_mu[]: Chemical Potentials
PanLink_Kinetic_Properties
m_fv: Volume Fractionm_average_Size: Average particle/grain sizem_nd: Number densitym_dislocation_Density: Dislocation density
PanLink_Solidification_Properties
m_fl, m_fs: Liquid and Solid fractionsm_H_Latent: Latent Heatm_arm_space: Dendrite arm spacing
PanLink_Mechanical_Properties
m_sigma_y: Total Yield Strengthm_sigma_p: Precipitation hardening contributionm_sigma_ss: Solid solution strengthening contribution
Material_System_Info
Contains metadata about the loaded system.
struct Material_System_Info {
Database databases[Max_Num_Components]; // Loaded databases
Component components[Max_Num_Components]; // System components
int num_components;
int num_databases;
// ...
};