STRUREL supports the following five external engines: Matlab, Python, Maple, Mathematica and Ruby. In previous posts, we discussed exemplarily for Matlab and Python how in-line code and external scripts can be evaluated with STRUREL. In case computational performance matters, external scripts should be preferred over in-line code, as in-line code needs to be re-processed each time a limit-state function is evaluated.
Nevertheless, for testing purposes you might prefer to simply work with in-line code in STRUREL. For multi-line code, you can split-up your code as is shown in the following Python-based example:
FLIM(1) = pythonf("%import math")
Note that the individual
pythonf-calls are connected by a ‘+’. However, except for the actual limit-state function call
R-S+A, all code-lines start with a ‘%’. This character is interpreted by STRUREL and not forwarded to the external engine (Python in the example above). The ‘%’ at the beginning of a code line tells STRUREL that the associated line of code does NOT return a value. In the example above, both R and S are random variables defined through STRUREL.