4.3. Scripting

The main use of the solver as a standalone application is the ability to write programs that automatically launch simulations and analyze the results. This is especially useful when a large number of simulations needs to be done, for example when performing design optimizations or exploring the influence of certain model parameters on the simulation results.

Scripts that interoperate with VirtualBow have to be able to call the solver via the command line interface (see [_command_line_interface]) as well as read and write the model and result files that constitute the input and output of the solver. For a detailed description of those files, see [_file_formats] and the specifications in [_file_specifications].

As a consequence of the model and result file formats, any programming language that supports JSON and MessagePack can be used. Since both are fairl common formats, most languages either have built-in support or external libraries available. Basic examples for Python, Malab and Julia can be found in [_example_scripts].