Scripting a model in OnScale offers a wide range of advantages over a more graphical approach:
- Parameterisation of model inputs to allow rapid design modifications
- Greater control of simulation conditions
- Batch processing
For creating transient simulations, scripting affords users much greater control and flexibility with not only parameters and model set-up, but also with the chronology of the simulation. For example, both static and dynamic models can be ran in a single simulation. All that is required is for the user to issue two commands to turn on/off static simulation conditions.
The symb language is an interpretive language that was developed specifically to handle I/O communication with the Flex family of codes. It is a high level language that is based on FORTRAN and allows users to:
- Define variables
- Issue Flex specific commands
- Data I/OPerform mathematical operations
- Perform logic (if, else, goto, procedures)
- Facilities the creation of Input Files (*.flxinp)
Behaviours of SYMB
- Only the first 200 columns of an input line are read.
- Command lines whose parameter list would exceed 200 characters may be continued on subsequent lines by placing an “&” character at the end of each line which is to be continued. There is no limit to the number of continuation lines which can be used to form a single command input line.
- Up to 300 input parameters may be placed on a single command line.
- All input parameters on a command line must be separated by one or more blank spaces
- Input parameters must appear on the command line in the order specified by the command's definition.
- An * (asterisk) character as an input parameter's value denotes a default value.
- All input parameters left blank at the end of a command line are automatically assigned default values.
- Blank lines are ignored.
- A floating point input parameter begins with a +(plus), -(minus), .(decimal point), or numeric character (0-9). An integer input parameter begins with a +(plus), -(minus), or numeric character. A character string must either begin with an alphabetic character (A-Z) or be enclosed in single quotes (').
- Character data inputs are a maximum of 20 characters long unless otherwise noted. No embedded blanks are allowed.