Mode management in Valispace
Every system has its different operating modes. For example, a mobile phone has gaming mode, power saver mode, etc. On each of these modes, the subcomponents of the mobile phone (Processor, GPU, Screen, etc.) have their own operating modes.
Modelists are used when a particular property is not a single value but depends on the operation mode of a certain product, equipment, or unit. Power consumption is a good example of this as it often depends on the operating mode.
Modelists are essentially schemas for arrays (Matrix Valis in our case) which can be used to harness the power of Valitypes and Valispace’s automatic calculation propagation features by linking varying multiple modelists (schemas) down a component tree.
For instance, the system’s overall power consumption depends on the mode that the system is in. In the mode “ON” all components and subcomponents of the system will be switched on, in “STANDBY” some of the system's components will be running whilst others may not be. In “OFF” all components will be switched off.
The total power consumption of an E-VTOL will depend on the mode in which the system is operating [OFF, STANDBY, TAKEOFF, CRUISE, LANDING: the parent mode] and within each mode how do different sub-components behave (subsystem mode).
Let’s understand this with an example.
Parent mode: in Figure Valicopter Modelists, for the Valicopter, “Passengers” (number of passengers) and the “Flight mode” are the parent mode that dictates the power consumption. As such we click on the component (1), navigate to its “Modelists” tab and add a Modelist which will serve as a schema for our mode dependent Valis.
Similarly in Figure Propulsion Modelists for the Propulsion sub-system (1), there are four parent modes (2): OFF, MANOEUVER, CRUISE, STANDBY (3).
Subsystem mode: subsystem modes are the modes that are assigned to the sub-components of the main component. Let’s take the example of Propulsion.
The parent modes as defined above for Propulsion are OFF, MANOEUVER, CRUISE, and STANDBY.
In Figure Sub-Component Modelists, the subsystem modes (2) of its subcomponent “Back_Left” (1) are OFF, ON, POWER, and HOLD (3).
Assigning values to the modes of the sub-components
Once we have set up the modes for the individual components we can then create (1) a matrix (2) of Valitype “PowerConsumption” that is mode dependent as specified in the “Mode Reference” field (3) as in Figure Creating a Mode Dependent Matrix ,
or convert a standard Vali into a mode dependent Vali (Figure Converting a Vali into Modelist Dependency) by clicking “Mode dependent” (1) in the Vali’s “info” panel and selecting the applicable Modelist (2).
Here we can specify the value of the power that is consumed in that particular mode.
In Figure Mode-Dependent Vali, we can see the defined power consumption formulas and calculated values (2) of the back left engine (1) in each of the previously specified modes.
Now that we have defined the modes and power consumption values of the sub-components we can now define the top-level system modes for example Flight Modes [OFF, STANDBY, TAKEOFF, CRUISE, LANDING], and then determine the overall power consumption of the system. This is achieved by linking the modes of the sub-components to the top-level Valicopter modes.
Linking Modes
The Video Linking Modelists shows the top-level system modes and the corresponding linked sub-component modes in the “Linked Modes” table.
To calculate the system's overall power consumption, as in Figure Mode Dependent Vali-Type we can create a top-level “Valicopter_5000” component “Power Consumption” matrix (1). Valispace will automatically calculate the overall power consumption for all the defined modes with the built-in “soc()” (Sum of Children) formula (2), which sums up all the power consumptions of the sub-components in the respective modelist links.
Linking from the top level to lower levels
In Valispace, we always link from a top-level component. In this case, we linked the Valicopter to a low-level component, e.g., cabin, seats, power, battery, etc. The link works in one direction from sub-systems to top-level components.
In Figure Component Based System Architecture, if you link from “Valicopter_5000” (1) -> “Propulsion” (2) and then “Propulsion” (2) -> “Back_Left” (3), the values will propagate up and sum in the top-level Valicopter.
Skipping a level when linking
When we link modes we can also link directly from a top-level (parent) to a low-level (grandchild) and skip intermediate levels. This can be done when the intermediate level does not have a “PowerConsumption” Vali.
For example, referring to Figure Component Based System Architecture, we can define the power consumption of one of the four engines (“Back_Left” (3) which can be considered as the grandchild) in the propulsion system of the “Valicopter_5000” (Parent) (1) and link the modes here to the overall Valicopter system modes, without defining and linking the power consumption and modes in the Propulsion system (Child) (2).
Using the same matrix from the top level
We can also sum up Valis within matrices by linking matrices in components and sub-components to the same mode in the top level.
For instance, the overall power consumption can be summed up from the current of all the sub-components by the flight modes.
We can do this by first creating the “Flight_Modes” within the top-level system in Valicopter as in Figure “FlightModes” Modelist.
We then create the matrices “PowerConsumption” within the individual sub-components i.e “Cabin” (1), link them to the “Flight_modes” matrices within the Valicopter Enter the corresponding values of current within the “PowerConsumption” (2) matrix, as in Figure Inputing Cabin PowerConsumption Values.
Then, we can create the “PowerConsumption” matrix at the top-level “Valicopter_5000” Component (1) with the “soc()” function as the value for each of its modes (2). This will sum up all the values from the now mapped sub-component modes within the matrix, as in Figure Adding Linked Modes.
Summing up a standard Vali with a Mode-dependent Vali
If you have a component within your system that has a Vali Type that is not mode dependent, you can add top-level Component’s mode(s) by explicitely adding it to the .
For example, in Figure Standard Vali Type the Sub-Component “Screen” in the “Valicopter_5000” sub-tree (1) has a non-mode dependent “PowerConsumption” Vali (2).
This normal non-mode dependent Vali can be added to any of the modes (“[OFF, STANDBY, TAKEOFF, CRUISE, LANDING]”) in the mode dependant “PowerConsumption” matrix in the top-level “Valicopter_5000” component by explicitly referencing it in their respective formulas, as seen in Figure Explicit Mode Calculation and Video Mode Vali Dependency.