Tutorial: Model a desktop fan with Valispace¶
Tell Me and I Will Forget; Show Me and I May Remember; Involve Me and I Will Understand.
In this tutorial we go through a 20-step example of how to use Valispace's main functionalities to build a simple product yourself: a deskop fan.
We recommend that before starting with this tutorial you have already completed the initial tour inside your Valispace account.
Vali - Parameters of components or analyses which can be used in calculations and documentation. A Vali has a numerical value and also contains additional information such as type, unit, formula, description and min/max requirements.
ValiType - A type of a Vali which is used to perform automatic calculations such as "sum of children". A type can be for example mass, power or flight time.
Component - Model of physical parts of your product that are represented with hierarchical relationships in a component tree.
Analysis - Dynamic document which is used to store reports, engineering budgets and charts.
(1) Configure the ValiTypes¶
ValiTypes will ensure that every new component you create already contains Valis of a certain type with a default formula (e.g. Mass, Power Consumption, etc.)
Ensure that the correct Valitypes exist¶
- In the top navigation bar, go to
Configure Vali types
- Check that the following Valitypes exist already:
mass(Unit: "g", "Add by default to new components": True, "default formula": "soc()")
power_consumption, Unit: "W", "Add by default to new components": True, "default formula": "soc()" [=sum of children]
- In case they do not exist, add them, so that your configuration looks at least like this:
sum of children and ensures that by default this vali adds up valis which are of the same type in components (1 level) below in the tree
(2) Add a new Project¶
Projects allow you to keep multiple projects in one single Valispace deployment.
Create a new project¶
- In the top navigation bar, click on
- Enter a not yet existing project name (e.g.
TomsFan) and click
- Go to the
Componentstab in the top navigation bar and you should see your new project alongside the existing projects:
PowerUserTip: Although most of the time you will be working on one single project, you are also able to show multiple projects in the same time and make cross-references between them. Just click the project folder in the top navigation bar (if you have more than one project).
To access a Vali from a different project in a formula or analysis, just type:
(3) Add Components to your Project¶
Let's start building your fan! Every product can be broken down into its sub-components like a tree. The hierarchical component tree is one of the core features of Valispace.
Create the fan¶
- In the sidebar, right click on your new project and select
create. Name the new component
Fanand hit Enter.
- Right click the new
Fancomponent and select create. Name the new component
- Repeat to create the components
Structureas sub components of
- Your tree should now look like this:
PowerUserTip: You can drag and drop components in the tree, also between projects.
(4) Change the values¶
In Valispace, Valis are parameters of components which contain your engineering values. Valis have properties such as formulas, values, history and much more. Your newly created components should already contain two Valis,
power_consumption. So go let's go ahead and put in some values into your Valis!
Change the mass and the powerconsumption value¶
- For each component “Propeller”, “Motor”, “Speed_controller”, “Structure” you can change the value of mass and power consumption by clicking on the
0.000value beside the name:
- Enter new values for the following components
mass = 30,
power_consumption = 0
mass = 110,
power_consumption = 1
mass = 15,
power_consumption = 0.1
mass = 80,
power_consumption = 0
- See now that Valispace has automatically calculated the fan mass to be 235g and its power_consumption to be 1.1W
(5) Add a new vali¶
You can always add additional valis you want to track in any component with a formula/value and a unit. You can access Valis in formulas by using the
Add the propeller efficiency and delivered power¶
- Go to the Propeller component
- In the top field select
add vali, type
efficiencyas name and
- Leave the unit field empty and click
- Repeat for another Vali with name
$Motor.power_consumption*$Propeller.efficiency(a drop down will appear where you can choose the desired Vali after you start typing the
$-sign). Leave the unit field empty to be calculated automatically from the formula or specify the unit
W, then click
save. The Valis of Propeller should now look like this:
(6) Detail your design and re-use components¶
After having made a rough design you can always model your product in more detail. If you have components which are (almost) equal, "connected copies" help you maintain them in sync: if you change a property in one connected component, all others will also be updated.
Create three connected rotor blades¶
- Right click on the Propeller component and click
Createto create a sub-component named
- After this component has been created, right-click on it and select
Copy & connect. A new connected component
Blade2appears on the same level.
- Repeat the previous step to also generate
- In any of the three blades, change the
0. You can now verify in any of the other blades, that all connected blades now have the same mass and powerconsumption.
PowerUserTip: You can disconnect Valis or entire components by clicking on the connection symbol next to its name. More details can be found in the connected copies documentation.
(7) Make use of margins¶
At an early development stage you are usually not sure about the exact value of any property. This is why you put a margin on top of the value. Valispace takes care of propagating this uncertainty throughout all your calculations.
Add an uncertainty margin to the propeller mass¶
- In the Propeller component, in the
massrow, add a positive margin to the vali, by clicking the plus symbol in the margin column. Enter a value of 10 (meaning a 10% margin).
- You can now observe how the worst case value is changed to 33g. You can also see the the Fan component's
massnow has a total margin of 1.3% and a worst case of 238g.
(8) Add Modes¶
Some values are not static, but depend on the state of the product you are building. This is what modes are for: they track different configurations and their relationships of your product.
Define the modes of your system: differnet speeds, power modes and ON/OFF-states¶
- The motor can run at certain discrete speeds, so in the Motor component, select
add modes(instead of
add vali) in the top field, enter the name
#field, to add 3 modes.
- When the mode has been added to Modes and reference frames of the component, rename the speed_settings field names to
HIGH, by clicking and changing the default names
cIn the top field, select
add matrix. Write
rotational_speedsin the name field,
Motor.speed_settingsin the mode/reference frame field and
rpmin the unit field. Then click save.
- Now change the values to the following:
- Repeat adding a mode for Speed_controller with name
- Repeat again for Fan with name
(9) Make Valis mode-dependent¶
Now that you have defined the modes of your system, you can make Valis dependent on them. So a Vali might not always have the same value, but actually a value dependent on a certain mode
Make your power consumptions mode dependent¶
- Go to the Vali power_consumption in component Fan. Open the Vali info (arrow to the left) and click the button
Make mode dependent. Select mode
- Repeat the same procedure with the power consumption Valis in Motor and Speed_controller with the respective mode created in the previous step for each of the components and click OK.
- Change the values of the power consumption of Motor and Speed_controller in the different modes to the following:
(10) Link the Modes¶
States of a system can depend on each other. This is why in Valispace you can link modes which belong together
Create a connection between Fan-states and the modes of Motor and the Speed_controller¶
- Go to the Fan component
Modes and reference framesof the component, expand the mode info of
Fan.state(arrow to the left)
Mode links, select
- Repeat for Motor.speed_settings
- Now choose the links between the states as follows:
After Valispace has finished its calculations (all on-going calculations can be seen in the
Background tasks status in the lower left corner), you can observe that the Fan power_consumption has the following values:
Change Linked Valis to mode-dependent¶
Valis that are linked to other mode-dependent Valis need to be made mode-dependent as well. Valispace highlights such valis by displaying a warning. Since
Propeller.power_delivered is linked to a mode-dependent Vali (
Motor.power_consumption), the warning icon can be seen next to the Vali name. Hover over the warning icon to see the warning.
Propeller.power_delivered mode-dependent from the Vali info. Select the mode on which the formula depends, i.e.
Motor.speed_settings and change the values to the following formulas:
(11) Add an Analysis¶
As an engineer you will have to create Analysis to leverage your engineering data and to document soft properties of your design.
Add a descriptive Analysis¶
- Go to the
Analysistab in the top navigation bar
- Select your workspace and project from the drop down menu at the top of the panel on the left and then click on the Create new analysis button at the bottom right corner of the window.
- Name the analysis Power_analysis and select the empty template.
- The analysis comprises of blocks of text, images, videos, charts or tables. Click inside the topmost block and type in ‘Introduction’ for the heading.
- Write an introduction (any plain text) inside the next block:
The Analysis content is automatically saved while you type.
(12) Save text as a Vali for re-use¶
There is nothing worse than a copy-paste text which you have introduced into many Analysis. Once any information changes in that text, you usually now would have to do updates in many places. However in Valispace you can save text, so you can easily re-use it and only have to modify it once.
Save the introduction text as a TextVali¶
- Type $ into the text block and click create new in the popup.
- Select Textvali and enter Intro for the name of the TextVali. Enter the introduction text into the text field and click Create & Insert.
- The text box will now contain
#Power_analysis.Intro, which can now be used in other analysis as well.
- The TextVali will be converted back to its text content, when you click outside the block.
PowerUserTip: To access a Vali in any Analysis, just start typing
$ and a dropdown field will appear to auto-complete your selection.
(13) Add a new Vali to the Analysis¶
You will encounter the fact that not all your data necessarily belongs to a component you are modelling and therefore is better suited to be created directly in an analysis.
Store the room temperature inside your analysis¶
- Type $ into the text block and click create new in the popup.
- Select Vali and enter room_temperature for the name with unit
degCand the value
25for the formula. Click Create & Insert.
(14) Access Valis in Analysis¶
One of the main promises of Valispace is that you will not have to do copy-pasting and update of documentation anymore, if the values of your design change. So, let's use some Valis from your design in the Analysis:
Write some text using Valispace placeholders¶
- Add a new block by clicking on the faded box at the bottom of the window.
- Select Text and then Normal text from the drop down menu.
- Add the following sentence in the editor (if you type it instead of copy-pasting it, you will be able to see the auto-complete feature for Valis in action):
When the room temperature reaches $Power_analysis.room_temperature, the fan is turned on at MAX power. The power consumption of the fan is then $Fan.power_consumption.MAX.
- Upon clicking outside the block, you will see that the values of
Fan.power_consumption.MAXare shown. Valispace will always keep them up-to-date for you.
(15) Add a Pie Chart¶
Valispace does not only keep track of single data entries, but also allows for visualisations that are kept up to date.
Insert a mass break-down chart of your fan¶
- Click on add new block, select Charts and choose Budget from the drop down menu.
- In the menu to the right, select Pie Chart from Chart Type.
- Start typing
Fanin the + Add to vali field and use the auto-complete to select
Fan.massas the Vali.
- Add the caption ‘Mass breakdown of the fan’ and click inside the empty space on analysis page to exit the block properties panel.
PowerUserTip: These graphs will still show the correct distributions, even if you add or delete sub-components in the tree. You can go ahead and try it by adding another subcomponent to the fan, which also has a mass.
(16) Create an engineering budget¶
Engineering budgets are at the heart of every hardware development: Clearly tracking apportionments of design values for key requirements, such as mass, powerconsumption, etc. is now easy and always up to date.
Insert a power budget for your fan¶
- Click on add new block, select Tables and choose Budget from the drop down menu.
- In the menu to the right, type
Fan.power_consumptionin the Vali field and select it from the dropdown
- Check the
show worst casecheckboxes.
- Add the caption ‘Power budget for the fan.’
- Click on the arrow next to ‘Propeller’ to expand the component tree.
- Click inside the empty space on analysis page to exit the block properties panel.
- To copy a table, click the copy button on the bottom right corner of the table and paste it into e.g. Excel, Powerpoint or Word.
PowerUserTip: If the values in a budget table row are in italic it means that the values is the same for all modes, so this is not a mode dependent Vali.
(17) Tags for your custom needs¶
Tags are a multi-purpose tool for your specific team needs. You can use it to mark Valis, Components or Analysis. Use them to indicate the reliability of a value (assumption / calculated / measured), actions for team members (review:Tom / approval:Christine) or any other marking or grouping.
Tag your room temperature as a measured value¶
- Scroll down to the Valis of the analysis
- In the row of
room_temperature, click on the grey text that indicates
add tag, type
measurementand hit Enter:
- You can now search and filter for this tag, using the search box in the top navigation bar
PowerUserTip: by clicking on the configuration symbol in the top navigation bar, you can reach the tags configuration. Here you can re-name tags and assign colours to them.
(18) Vali Subscriptions¶
One of the most difficult tasks in an engineering project is to keep track of all the technical changes in the system which affect your discipline. Valispace makes that easy, by allowing you to subscribe to Valis: Whenever a value you subscribed to or an input to this value changes, you get a short notification.
Subscribe and get notifications¶
- In the row of the Vali
room_temperature, click the
subscribebutton on the right
- Change the value of
- Verify that you got a notification in the top navigation bar telling you that the Vali has changed
PowerUserTip: Clicking on the checkmark beside the notification will mark the change as seen and will show a graph of changes made over time, so you can easily see the trend for Valis you subscribed to.
(19) Track your Valis against requirements¶
Most technical developments are designed against strict requirements, e.g. on mass, powerconsumption, budget, etc. Valispace maintains the complete overview of whether your design is currently fulfilling all of these requirements.
- Open the detailed info of the
- In the requirements row, add a max value of
- A warning sign appears next to your Vali indicating the requirement violation
- Click the Valispace logo in the top left corner to go to your dashboard
- In the dashboard an overview of all current requirement violations is given:
PowerUserTip: Requirement tracking takes the defined margins into account. So if your value including margins violates the requirements, the tool will let you know.
(20) Export Valis¶
Sometimes you might have to interface with other software to carry out more complex simulations. Valispace offers several Addons and Interfaces. However if you have a special software which needs to access data, you can always export Valis as a .csv file.
Export the motor powerconsumption for further analysis¶
- Go to the export tab in the top navigation bar
- At the top of the sidebar to the left, select your project and write
export1. Click Enter to create the export.
- In the field
Add $Vali to exportenter
$Motor.power_consumption.HIGHand click the plus sign
- Repeat for
- Click the
Export .csvbutton in the top right corner
- A .csv file with the Vali information will be downloaded to your computer which you can then import to any other program that you are working with
PowerUserTip: If your external simulation program creates outputs, which you would like to track with to track in Valispace, you can use the same format to import values back by using the
Import .csv, .xls or .xlsxbutton.
Add more detail¶
Congratulations, you now know your way around Valispace! Now, it's up to your imagination. Play around with the Valispace software and add more detail to the model.
- Add a solar panel component to make the fan portable. You can make the maximum rotational speed dependent on the sun angle of the solar panel.
- Write some marketing material in Word, using the Valispace Word Plugin to include technical values which are automatically kept up to date with your design.
- Or how about creating a simulation to calculate the resulting room temperature depending on the fan modes? You can directly access all Valis from Matlab, using the Valispace Matlab Toolbox.
You want to build something big and awesome? How about giving our Saturn V Tutorial a try?