(1) Overview
Introduction
Nuclear energy remains a key component of low-carbon energy strategies, motivating the continued development of advanced reactor concepts with improved safety, fuel utilization, and operational flexibility [1]. Among these, molten salt reactors (MSRs) employ liquid fluoride [2] or chloride salts [3, 4] as coolants and/or fuel solvents, offering advantages such as high operating temperatures, low vapor pressure, and potential for online fuel processing [5]. However, these same features introduce significant challenges in predicting chemical behavior under reactor conditions, as the thermophysical and thermochemical properties of multicomponent molten salts govern system performance, corrosion, and fission-product evolution [6].
Molten salt coolants and fuel solvent properties underpin key functions in proposed MSR concepts, including corrosion control, phase stability, fuel dissolution, and fission-product behavior [7, 8, 9, 10, 11]. Predictive assessment of these phenomena requires reliable thermodynamic descriptions of multicomponent ionic mixtures, typically formulated as Gibbs free energy models within the Calculation of Phase Diagrams (CALPHAD) framework [8, 12, 13]. However, the underlying evidence base remains fragmented: data are dispersed across legacy reports and publications, locked in scanned PDFs, and are heterogeneous in units, composition bases, and reporting conventions. Conversions between non-SI and SI units, mass-% and mole-fraction bases, or per-gram and per-mole quantities introduce potential error, impeding validation and reuse.
These obstacles now constrain progress more than optimization capability itself. Modern chemical-equilibrium software packages include thermodynamic optimizer algorithms, which can determine Gibbs free energy functions from disparate datasets and readily handle higher-order systems and automated searches for optimal sets of thermodynamic parameters (e.g., the FactSage suite of capabilities [14]), yet reproducible, system-level assessments still depend on curated, machine-readable datasets with clear provenance. In practice, datasets used during thermodynamic optimization are rarely preserved in structured form, forcing researchers to reconstruct inputs from primary literature and slowing iterative improvement amid an expanding global data stream [15].
MOLTSA (a portmanteau of molten salt) addresses this gap by providing an R-Shiny [16] platform, which (i) harmonizes legacy and contemporary measurements to SI units and a mole-fraction basis with persistent identifiers/DOIs, (ii) supports FAIR-aligned contribution, discovery, and reuse of thermochemical datasets [17], and (iii) integrates analysis tools that shorten the path from experiment to CALPHAD inputs and validated thermochemical models. Specifically, MOLTSA enables interactive comparison of literature data with CALPHAD-modeled phase equilibria and enthalpies of mixing (Δmix H), enabling rapid qualitative verification of thermodynamic assessments from the Molten Salt Database – Thermochemical (formerly the Molten Salt Thermal Properties Database – Thermochemical, MSTDB–TC [8]). Further tools include (a) 3D visualization of ternary and pseudo-ternary phase equilibria (including FactSage .fig outputs), (b) direct access to optimizer input files compatible with the FactSage Optimizer, (c) computation of the ionic-size difference parameter, δ12, for estimating Δmix H in salt systems, (d) fitting of Maier–Kelley heat-capacity functions for use in Gibbs free energy minimization codes, and (e) processing of raw differential scanning calorimetry (DSC) data, including temperature calibration, uncertainty estimation, and application of the International Union of Pure and Applied Chemistry (IUPAC) zero-rate method [18] when multiple ramp rates are available.
By coupling a FAIR [17] data layer with task-focused analysis modules, MOLTSA can reduce data-wrangling efforts and enable more transparent, reproducible, and efficient thermochemical analyses for molten salt research.
Comparison to existing tools
Gibbs free energy minimization environments and CALPHAD optimizers (e.g., commercial suites [14, 19, 20] and open solvers [21, 22]) remain essential for parameter fitting, equilibrium calculations, and database construction. MOLTSA is complementary rather than a substitute: it targets the workflow layer around those engines, including data curation, visualization, validation, and export of optimizer-ready inputs, filling gaps not addressed by optimizers themselves.
Scope of functionality:
Minimizers/optimizers: Fit parameters, compute equilibrium, manage and write thermochemical database files.
MOLTSA: Access to curated experimental data with harmonized SI units, overlay model predictions with measurements, export optimizer inputs, rapid visual model assessments to support QC/QA, process raw DSC data.
MOLTSA complements optimizers by focusing on data preparation, comparison, and validations, which precede and follow parameter fitting.
Figure 1 illustrates a representative CALPHAD workflow and highlights the intervention points at which MOLTSA supports individual stages of the process. At the data acquisition and screening stage, MOLTSA provides interactive access to curated phase equilibria and ΔmixH datasets (intervention points 1–3), enabling down-selection of reliable experimental data prior to model development. New experimental measurements may be processed using the calibration and uncertainty-analysis tool [11] (intervention points 4–5), producing calibrated, uncertainty-quantified inputs with appropriate CALPHAD weightings.

Figure 1
Intervention points of MOLTSA within the CALPHAD workflow.
During model construction and evaluation, MOLTSA facilitates direct visual comparison between experimental datasets and thermodynamic model predictions (intervention point 6), allowing discrepancies to be identified before and after optimization. For higher-order systems, three-dimensional visualization of experimental and computed phase equilibria (intervention point 7) supports qualitative inspection of liquidus topology, invariant features, and miscibility behavior that are difficult to assess from two-dimensional projections alone.
In this role, MOLTSA does not replace Gibbs free energy minimization or CALPHAD optimizer software, but functions as an intermediary layer that consolidates data preparation, visualization, and verification steps. By targeting high-friction stages in the CALPHAD workflow, the platform reduces the need for manual data handling and improves transparency and reproducibility across iterative model-development cycles.
Illustrative examples
Each MOLTSA module targets a specific stage of the CALPHAD workflow. The following sections describe the purpose of each module, its core functionality, implementation approach, and, where appropriate, an illustrative example.
Phase diagrams and enthalpy of mixing modules
The phase diagrams and enthalpy of mixing modules render interactive diagrams for pseudo-binary molten salt systems by querying pre-curated experimental and modeled datasets stored in the MOLTSA backend. For a selected salt pair, the application retrieves experimental literature data and dynamically overlays a CALPHAD-modeled result (e.g., from MSD–TC [8, 12]) within a single plot. Diagram generation is performed reactively upon system selection. Temperature units are toggled directly in the user interface, and interactive zooming and panning are handled at the visualization layer without re-computation of the underlying data. In parallel with plot rendering, the module exposes the underlying data in a tidy tabular format [23], including compositions, temperatures, excess enthalpies, phase identifiers, and bibliographic metadata. These tables are generated directly from the same data objects used to construct the plot, ensuring consistency between visualization and export. Source information is linked to persistent identifiers (DOIs) where available, and datasets can be downloaded for direct use in thermochemical and CALPHAD optimization software.
This design enables rapid qualitative verification of thermodynamic assessments by allowing users to interactively compare modeled phase behavior against experimental values. An illustrative example is seen in Figure 2, where experimental phase equilibria values are overlaid on a phase diagram computed from the MSD–TC (v3.1) models. The select species panel enables searching and filtering of pseudo-binary salt systems and provides source information via the author table. The phase diagram plot window renders the interactive diagram, while the phase equilibria data panel shows the corresponding curated datasets available for download or direct copying.

Figure 2
Example page for the phase diagrams module of MOLTSA.
Contribute data module
The Contribute data module provides a standardized submission process for community-contributed datasets using a validation and curation framework. Contributors prepare data using pre-defined CSV templates that encode required columns, units, and bibliographic metadata to ensure consistency and machine readability. Upon upload, submissions undergo automated validation checks, including verification of required fields, header conformity, and data types. Submitter identity is recorded for attribution purposes and receipt confirmation, and validated datasets are queued for manual review prior to integration into the curated database. MOLTSA includes a dedicated privacy policy governing user-submitted datasets and associated contributor metadata. The full privacy policy is hosted on a static webpage at moltsa.com/privacy-policy.html.
Ternary .fig viewer module
The 3D ternary viewer module provides interactive visualization of ternary and pseudo-ternary phase equilibria. Modeled phase equilibria are imported from FactSage .fig files, which are parsed to extract composition–temperature coordinates and phase boundaries. Optional experimental datasets may be supplied as CSV files. Within the module, compositions are internally transformed from ternary coordinates to Cartesian space with the triangular compositional base defining the horizontal plane and temperature mapped to the vertical axis. This coordinate transformation is applied consistently to both model-derived and experimental datasets, enabling direct display without modifying the original data. Phase boundary surfaces and experimental points are rendered together, and endmember species are labeled to preserve interpretability across systems.
Interactive rotation and zooming are handled at the visualization layer without re-computation of the imported data. A default FLiNaK example is provided to illustrate expected file formats and typical usage as displayed in Figure 3. The Upload ternary phase equilibria panel accepts a FactSage .fig file for modeled surfaces, and a .csv file for experimental datasets to be overlaid. The Instructions panel provides required formatting guidelines, and the main plot display renders the interactive 3D phase equilibria plot.

Figure 3
Example page of the 3D ternary fig viewer module of MOLTSA.
Optimizer files
The optimizer files module provides structured access to experimental datasets formatted in a standardized .exp (JSON-style) schema compatible with software such as the FactSage Optimizer [14]. User-defined filters (i.e., constituent elements) are applied, and selected records can be downloaded as curated, optimizer-ready inputs. While the module does not perform parameter optimization internally, it centralizes validated input files to streamline re-optimizations and support reproducible updates to thermodynamic models.
Parametric descriptors
The parametric module computes empirical quantities used in molten salt property correlations. For a user-specified salt pair (e.g., LiF–LaF3), the module parses chemical formulae to identify constituent ions and stoichiometries, assigns oxidation states, and enforces charge-balance checks prior to calculation. The geometric size-mismatch parameter δ12 [24, 25] is then evaluated using Shannon ionic radii [26] assuming octahedral coordination. The computation is performed analytically without fitting or regression, and the resulting descriptor values are returned alongside the ionic species to ensure interpretability and reproducibility. The module currently supports δ12 calculations, which have been shown to correlate with enthalpy of mixing in fluoride [27, 28, 29] and chloride [30, 31] systems, and is architected to accommodate additional descriptors (e.g., ionic potentials [32], electronegativity differences) within the same parsing and validation framework for use in regression or machine-learning workflows.
Cp solver
The Cp (heat capacity) solver module converts experimental Cp(T) measurements into CALPHAD-compatible functional forms using a fitting routine. Users can provide temperature–heat-capacity data directly through the interface and may optionally specify up to two temperature breakpoints to define piecewise fitting. For each temperature interval, the module fits a Maier–Kelley [33] expression of the form Cp(T) = a + bT + cT–2 + dT2 using a constrained nonlinear least-squares optimization implemented via the optim routine in the base R stats package. Breakpoints are enforced explicitly and each segment is fitted to obtain CALPHAD-software-compatible function coefficients. Fitted functions are rendered reactively and displayed with the input data to allow visual assessment of fit quality, with the coefficients and corresponding temperature ranges reported in tabular form for input into computational equilibrium codes. An illustrative example of the use of the Cp Solver is shown in Figure 4 for the compound ZrCl4(s), where the results of fitting Cp data and the calculation of parameters are demonstrated. The heat capacity solver panel allows users to enter raw data and define breakpoints for a piecewise fit. The instructions panel summarizes usage requirements. The Cp plot panel displays the raw data and the reactively updated fitted function, while the parameter table reports the fitted Maier–Kelley coefficients used to construct the piecewise function.

Figure 4
Example page for the Cp solver module of MOLTSA.
DSC calibration module
The DSC calibration module implements a reproducible, end-to-end processing pipeline for converting raw DSC transition temperatures into CALPHAD inputs, following the methodology described in Wilson et al. [11], which applies the IUPAC zero-rate method [18] with uncertainty quantification. The module operates through a fixed sequence of calibration, extrapolation, and uncertainty analysis steps applied to user-supplied datasets. Raw onset temperatures are first corrected using instrument-specific temperature calibration measurements derived from certified calibrant standards (user-supplied). Calibration models are then applied to convert measured transition temperatures to calibrated ‘true’ transition temperatures. When multiple heating or cooling rates are provided for a given transition, the module performs zero-rate extrapolation in accordance with IUPAC recommendations [18] by fitting a linear model of onset temperature versus scan rate and evaluating the intercept at zero rate, representing thermodynamic equilibrium. Uncertainty analysis is performed by propagating independent error contributions associated with the transition fitting, calibrant literature values, and calibration-model fitting. From these uncertainties, CALPHAD weighting factors proportional to the inverse of the variance are computed for direct use in thermochemical optimizations. All processing steps are executed reactively upon dataset upload. Interactive plots display calibrated transition temperatures with associated error bars, while downloadable tidy data [23] tables are generated directly from the processed data objects and include raw measurements, calibration corrections, extrapolated values, individual uncertainty contributions, total standard errors, and suggested CALPHAD weightings.
In terms of an illustrative example, Figure 5 shows the DSC calibration module. The download templates panel provides pre-formatted input templates, while the upload dataset panel accepts raw DSC data and calibration files. The measured transitions plot panel shows calibrated transition temperatures versus composition, and the calibration plot panel displays the model used for temperature correction. The instructions panel outlines usage requirements. The temperature calibration and error analysis panel reports curated tidy datasets, including individual error contributions, total standard error, calibrated temperatures, and CALPHAD weightings.

Figure 5
Example page for the DSC Calibration module.
Implementation and architecture
MOLTSA is implemented in R [34] using Shiny [16] and organized with golem [35] to enforce a scalable and modular structure. Figure 6 presents a high-level schematic of the MOLTSA software, abstracted into three conceptual layers: GUI (input), Processing (core functionality), and Data (outputs). The GUI layer provides structured interfaces for data upload, parameter specification, and interactive exploration. The Processing layer contains the core analytical functions. The Data layer provides the outputs in the format of exported figures, or downloadable machine-readable data, including curated thermochemical datasets, derived thermodynamic parameters, and optimizer-compatible files. Data handling is performed with data.table [36], dplyr [37], tidyr [38], and purrr [39]. Visualization is handled via ggplot2 [40, 41], plotly [42], and highcharter [43] for interactive plots, and rhandsontable [44] and DT [45] for spreadsheet-style tables. The UI/UX uses shinyWidgets [46], bs4Dash [47], shinythemes [48], and shinycssloaders [49] for responsive components and loading states. Communication is handled via the blastula [50] package. Deployment is via Ubuntu 24.04.1 LTS on AWS EC2 t2.medium (2 vCPUs, 4.0 GB RAM) as a baseline, with straightforward vertical scaling as usage grows. The web front end utilizes an Nginx [51] reverse proxy, which provides stable routing and caching for static assets.

Figure 6
Schematic overview of MOLTSA.
Quality control
MOLTSA is implemented as a modular R-Shiny application, allowing each functional component to be tested independently. The phase diagram module has been verified for topological consistency with the stated version of the MSD–TC and is confirmed to reproduce phase equilibria correctly. The enthalpy of mixing module has likewise been validated against the same database release. Data submission through the contribute data module has been tested and operates as intended. The 3D ternary phase equilibria viewer has been verified against MSD–TC/FactSage outputs, successfully reproducing ternary coordinate systems in Cartesian space. Download handlers in the optimizer files and DSC calibration modules are functional, and the DSC calibration workflow correctly reproduces analyses reported in the work of Wilson et al. [11].
(2) Availability
Operating system
MOLTSA can be run on any operating system that supports R. Additionally, it can be run via any web browser with an internet connection.
Programming language
R 4.3.0 or above.
Additional system requirements
None.
Dependencies
ternary (>=2.3.5)
blastula (>=0.3.6)
purrr (>=1.1.0)
highcharter (>=0.9.4)
lubridate (>=1.9.4)
shinycssloaders (>=1.1.0)
DT (>=0.34.0)
bs4Dash (>=2.3.5)
plotly (>=4.11.0)
ggplot2 (>=4.0.0)
data.table (>=1.17.8)
stringr (>=1.5.2)
glue (>=1.8.0)
dplyr (>=1.1.4)
rhandsontable (>=0.3.8)
janitor (>=2.2.1)
tidyr (>=1.3.1)
List of contributors
Wilson, Jack A. (University of South Carolina)
Wilson, Roy E. (Independent researcher)
Software location
Name: Github
Persistent identifier: https://github.com/JackAnthonyWilson/MOLTSA
Licence: GPL-3.0
Publisher: Jack A. Wilson
Version published: 1.0.2
Date published: 2025-12-14
Code repository
Name: Github
Identifier: https://github.com/JackAnthonyWilson/MOLTSA
Licence: GPL-3.0
Date published: 2025-12-14
Language
English
(3) Reuse Potential
MOLTSA is well suited to reuse in research domains where thermochemical modeling is inherently iterative. CALPHAD workflows are circular by nature, requiring continual reassessment of chemical systems as new experimental data become available or as improvements are made to thermodynamic formalisms and Gibbs free energy minimization software. MOLTSA is designed to support this cycle by enabling access to curated experimental datasets, comparison to thermodynamic models, and providing tools used to prepare inputs for thermodynamic optimization calculations.
Although developed for MSR research, MOLTSA is chemistry-agnostic and applicable to a wide range of thermochemical systems, including inorganic salts (e.g., halides and oxides), metallic and intermetallic alloys, ceramics, and refractory materials. Its modular R-Shiny architecture allows individual components, such as phase diagram visualization, enthalpy of mixing analysis, heat-capacity fitting, and DSC data processing, to be reused or extended independently and to accommodate new databases or property models without modification to the core framework.
