Configure SimSolid for Batch Processing on Linux Clusters

This guide provides IT administrators with the necessary steps to configure your Linux cluster environment to run Altair SimSolid analyses in batch mode. This allows users to submit jobs without interacting with the SimSolid graphical user interface, streamlining the workflow for multiple or large analyses.

Core Components

To run a SimSolid batch job, you need three main components:

  1. SimSolid Executable: The SimSolid application for Linux must be installed on the cluster. The executable can be downloaded from the Altair Marketplace.
  2. JavaScript (.js) Command File: A script that contains the sequence of commands SimSolid will execute during the batch job.
  3. SimSolid Project File (.ssp): The model file that the user wants to analyze.

The Command Line Syntax

The fundamental command to launch a SimSolid batch job is structured as follows. This command should be integrated into your cluster's job submission system.

<installation_folder>/simsolid -s <path_to_js_file> -p <path_to_ssp_file> -l <path_to_log_file>

Argument Breakdown

  • <installation_folder>/simsolid: This is the full path to the SimSolid executable. For example: C:\"Program Files"\Altair\2024\SimSolid2024\Simsolid.exe.
  • -s: This flag specifies the path to the JavaScript command file.
  • -p: This flag specifies the path to the user's input SimSolid project (.ssp) file.
  • -l: This flag specifies the path and filename for the output log file, which will capture the job's progress and any errors.

Example Command

<installation folder>/altair/2026/SimSolid2026/simsolid -s <Path to .js file>/Linux.js -p <path to SSP file>/<SSP filename> -l <path to log file>/log.txt

The JavaScript Command File

The .js file is the core of the batch process, containing the commands that SimSolid will execute on the input file. You can deploy a standardized script for users or build a system that generates custom scripts based on user selections.

Below is a sample .js file syntax.


            // open project 
            // The '%1%' placeholder is intended to be replaced by the actual 
            // project name by the batch submission system before execution.
           Project.open({ file: '%1%.ssp'}); 
           //Set number of logical cores to use for the solution 
           Project.setOptions({ numOfCoresToUse: 24 }); 
           // Initialize solutions for all analyses 
           Project.initializeSolutions(); 
           // Solve all analyses 
           Project.solveAllAnalyses(); 
           // Save the solved project with a new name 
           Project.save({ file: '%1%_solved.ssp'}); 
            

In the script above, %1% is used as a placeholder for the base filename of the input .ssp file. It is not native JavaScript syntax. Your job submission system or a wrapper script is responsible for replacing this placeholder with the actual filename before passing the script to SimSolid.

For example, if the user submits a job with the file Variant-ASM.ssp, your system should dynamically create a temporary script where %1% is replaced with Variant-ASM so the lines executed by SimSolid become Project.open({ file: 'Variant-ASM.ssp'}); and Project.save({ file: 'Variant-ASM_solved.ssp'});

Customization and Parametrization

This script can be easily parametrized. Your job submission portal can modify this script template before execution based on user inputs.

  • Number of Cores: The value in Project.setOptions({ numOfCoresToUse: 24 }); can be dynamically changed based on the user's request.
  • Optional Steps: You can build logic into your submission system to comment out or remove lines such as Project.initializeSolutions(); if a user chooses to skip that step.
Note: The above given .js file is just an example. All commands in batchmode are supported. For more information, see SimSolid JavaScript Reference.