The Simulations Module is an octave engine (opensource MatLab tool) that allows you to perform complex calculations within Valispace that are quite complicated to perform within the Components Module. You can reference the Valis needed for the calculations as input Valis and the result as output Valis.
Simulation methodology in Valispace
The typical workflow of using a Simulation Module within Valispace is shown below. Each step is explained in each sub-sections.
Creating a New Simulation
To create a new simulation in your project (1), hover over to the simulations module and select “+ Simulation” (2). Upon clicking, a popup window opens, enter the name and click “Create” (3).
Inputs and Outputs
The user can add the input and output Valis. When the user references the Vali within the inputs or output, the user can provide a short name to the Vali which will be used in your octave calculation code.
If you are using a Vali ‘hydrazine.specificHeatRatio’ from your components, you can simply assign an easy name (“g” in the example shown in the image below). Once the Vali is referenced in the inputs, Valispace automatically adds the values along with the units.
The user also can change the simulation unit e.g. the hydrazine combustion temperature is in Kelvin but you can add the simulation unit (in this case degC). Valispace uses the degC for the calculations.
You can use any Vali defined on the Components Module to generate but it is not possible to add the same Vali both as an input and output on the same simulation. The visual representation of the inputs and outputs makes your code easily readable and understandable by anyone on your team.
As mentioned earlier, Valispace’s simulation module uses an octave engine that allows you to use Octave syntax, which is a high-level language especially developed for numerical computations to develop your Simulations. It is extremely similar and has incredible compatibility with Matlab which means you won’t have to familiarize yourself with a new framework to be able to develop useful simulations inside Valispace.
Here is an example of a small simulation example in the Satellite_valisat Project which can be found in your training workspace:
If you need further information you can read the GNU Octave Documentation Page.
Once you script your simulation code, click on “Run Simulations” which can be found in the top right corner or bottom left corner as shown in the image below.
Once the simulation is completed, Valispace automatically updates the output values. As a result, the output Valis in the component modules get automatically updated by Valispace. If the output Valis are being used as constants in the formulas for computing other Valis, Valispace does automatic recalculation of every Valis associated with the output Valis.
Things to Know
In case any of the input values are being changed in the Components Module, the user has to rerun the simulation to calculate the output values.
The Valis referenced in the Simulation Module have a small tag such as “SIM_IN” or “SIM_OUT” attached next to the name in the Components Module as shown in the image below.