Tutorials, Definitions

Parts (Definition, Types, Equations, etc.)

- Parts are crucial to ThermoFlo. There are a few base types (flowbar, endpoint, capacitance node, resistance) that can be derived from to create more complex and customized parts
- Flowbars are the main type that you can use to make pipes, pumps, fans, and many other types of components that model fluid transfer of some sort
- There are “regular parts” which are some derivation of one of our base types and then there are “complex parts” which are essentially a collection of parts that are connected and have certain properties and “user properties” that the user can view and change when they double click the part.
- Regular parts have “user properties” and “solver properties”. The “user properties” are the values that the user sees when they double click the part. The “solver properties” are the values that will be used when solving the analysis.
- Complex parts also have “user properties” that can be accessed by double clicking the part. They also have a “Detailed Model” that can be viewed by right clicking the part and clicking “Open Detailed Model”.

Viewing the equations and tables of a part – Regular Part

- If you have a regular part that you would like to know what equations are being used to calculate the base properties of the part, you can click “Open Type Definition”. If the part has an option for “Open Detailed Model” then it is a complex part. Please refer to the section for Complex parts for that.
- This new tab will show you how the solver properties are calculated, what tables are used, the user properties, and other data that defines the part.
- By looking at the solver properties, you can see each property that will be used to calculate the effects of this part and you can see what “user properties”, tables, and constants they use to decide the value. (use the calculator button to view more complex equations)

Viewing the equations and tables of a part – Complex Part

- If you have a regular part that you would like to know what equations are being used to calculate the base properties of the part, you can click “Open Detailed Model”. If the part does not have an option for “Open Detailed Model” then it is a regular part. Please refer to the section for Regular parts for that.
- This new tab will show you the sub model, what tables are used, the user properties, and other data that defines the part.
- You can view the parts in the sub model as you would in a normal model. Some of these parts may refer to “user properties” in the complex part that will pull from values that the user enters on the top level form of the complex part.

Part Types

- There are regular (non-complex) parts and complex parts
- Regular parts can either be Flowbars, Inlet/Outlet (Endpoint, Boundary Condition), Resistances, Capacitance nodes, Flow Ports, or Thermal Ports
- Complex parts are composed of multiple regular/complex parts.
- Flow Port Parts and Thermal Port Parts are used for complex parts to have a way to connect to another part in the model. These will be displayed as ports on the complex part when it is used in a full model (or another complex part).

Create a model

- Click “Create Model” on Start Page or “New Model” on File menu
- Navigate to where you would like this model to be saved and type in a name for the model and click “Save”
- Drag components from the “Library Components” window onto the “Full Model” drawing window.
- Connect the ports by clicking and dragging from one port to another.
- Set properties of parts by double clicking a part and entering data in the text boxes and clicking “Apply”
- Click the “Run” button on the tool strip or click Run on Menu which will open up the Run form, then click the “Run” button.
- This will bring up the Solver Manager window. You can switch between the sensor data that is displayed during the run.
- Once the run is completed, you will be prompted to view the results. Clicking “Yes” will display the results on the model and allow you to see specific results for the model. Go back to your “Full Model” window to see the results. You can switch what result is displayed on the tool strip.
- The results are contained in the model, so if you save the model you will see the results when you open the model again.

Create customized regular part

- Select the type of part you would like to create (ie. Flowbar, Inlet/Outlet, Capacitance, Resistance)
- Click to “Create Part” (Note: if opens in Wizard mode, follow wizard steps)
- Navigate to the desired directory for the part. The parts in the “Library Components” window will be pulled from the directory and sub-directories of what is set as the “Parts Folder” (This can be changed in Tools->Preferences)
- Type the name for the component and click “Save”
- Modify any necessary properties in the windows.
- Save the part
- In order for the part to appear in the “Library Components” you may need to use “Tools -> Reload Parts Tree”

Custom regular part – Solver/User Props

- For non-complex parts (flowbars, resistances, etc.) there is a set of “solver properties” that are what will be used to solve the model.
- These solver properties can either have hard-coded values (ie. 4.5 Watts) or can pull values from one or more user properties and/or tables.
- The user properties are values that are accessible to the end user through the component form (double clicking a component in the model).
- The user properties can either be represented by a text box with or without a unit box, a list box of a few options, or a check box.
- User properties can be created with the “Add” button on the “User Props” tab or deleted with the “Remove” button.
- In order to access the user properties from the solver properties tab, select a solver property and use the calculator button that will bring up a calculator with many options.

Part – Graphical Representation

- The way the part will be represented in a model is determined by the properties in the “General” tab in the “Graphical Representation” section.
- The part can either be a rectangular icon, a flow line (2 flow endpoints and a midpoint), or a resistance line (2 thermal endpoints and a midpoint).
- The appearance/location of the ports can also be changed in this section.

Part – User Props

- The user properties (or props) are the properties that can be accessed for the part by the end user.
- The user props have a “Name” which is used for other properties to access the value.
- The “Label Text” is used on the form to display what the user property is
- “Description” is displayed on the form when the user hovers over the label
- “File Name” is any file that will be opened when the user clicks “Details…” on the form. This will only appear by the user property if it is not blank.

Part – Form Layout

- This lets you set the order of properties on the form.
- Use frames to group together properties
- Use dependency of frame to hide certain properties under certain conditions


- The calculator can be accessed from many places using the button with a calculator icon.
- The calculator will load the value of the respective property into the calculator and allow you to modify the expression using buttons and list boxes (to help avoid typos and syntax errors).
- There is a section for numbers, operators, trig functions, etc.
- There are list boxes for functions, tables, solver variables (Temperature, Velocity, Pressure, Time, etc.), and user properties. Some may not always be applicable
- Once the expression at the top is as you would like, clicking “Apply” will paste the expression back into the respective property that you had clicked the calculator button from.
- Clicking cancel will ignore the changes you have made.
- Note that once you click “Apply” on the calculator, there may still be changes to the object that you have not applied yet.

Create complex part

- Creating a complex part shares many traits of creating a model and creating a regular part.
- As it is a component, it has most of the same properties that regular has, but does not have solver properties. Also, the ports are defined by using flow port parts and thermal port parts in the complex model.
- The complex part has user properties and tables that the sub-parts of the complex part can access.
- Similar to the regular parts, they should be created in the parts folder in order to be displayed in the Library Components window.


- Have default IV Expression – This expression tells what the independent variable value is compared to.
- When referring to the table, any IV Expression can be used as the independent variable. Eg..
— Table_1[TIME$+4]

Replace a Part

- Dragging a component from the Library Components window onto the drawing window on top of an existing part will give the option to replace the part. Make sure the top left corner of the new part is within the part you are trying to replace.
- When replacing, the common user property values will be conserved. (ie if Temperature was set to 35 F, even if the new part has a default temperature user property set to 20 Celsius, it will be 35 F).
- Port connections will be conserved in trivial cases, but if the ports of the old and new part do not match, there may be disconnected ports or ports incorrectly connected.

Selecting Parts and Ports/Connections

- Right click on the icon/flow line to bring up option menu for parts.
- Be careful not to click on a port of the part, because this will bring up different options for the port rather than part. For example, right clicking a port and selecting “Delete” will delete any connections to this port, whereas right clicking a part and selecting “Delete” will delete the part (which will also delete connections to that part).

Creating Connections

- Click and Drag from one port to another port to create a connection. Make sure it is of the same type (thermal, 1-phase flow, etc.)
- Flow ports can only have one connection, so dragging onto an already connected port will not do anything.
- Thermal ports of parts take any number of thermal connections. However the thermal port of a resistance can only be connected to one thermal port.
- Ports will be filled with solid color if they are connected to something. If not, they will just be the outline of the port shape (rectangle by default).
- Flow connections will use the default flow connector to connect the ports. “Ideal” will create a connection without any loss coefficient or other properties.
- Thermal connections will use the default thermal resistance to connect the ports. Note that you need at least one resistance part in your library to create thermal connections.

Delete Connections

- In order to delete the “Ideal” connections, right click on any port that is being connected by this Ideal connection and select “Delete”. Note that the warning will say whether you are deleting a “part” or a “connection”.

Modifying the Properties Displayed for a Part

- You may have a part where you know that a certain property will always be a constant value (ie. Length = 2.3 inches) or that it will always be related to another property (ie. Perimeter = Diameter * pi).
- In the case where you want it to always be a constant value, you can set the value of the solver property to “2.3” inches and the user will not have to worry about that for this part.
- In the case where you want it to use an equation, you can set the solver property to “Diameter * pi” Meters. The “Diameter” variable is a user property. Make sure that you reference the variable correctly (use the calculator to accomplish this). Now, instead of having the user enter a Perimeter and Diameter always, it will assume that Diameter equals the Diameter they specify and the Perimeter will not need to be specified as it will assume that it is “Diameter * pi”.
- This same logic can be used for very complicated formulas to calculate property values.
- You may also want to create multiple user properties that will be used to calculate one solver property. For example, if you wanted to set the Pressure_Change value, but the user is more likely to know in terms of Force and Area, you could create 2 user properties (Force and Area) and then for the Pressure solver property it would equal (Force / Area). Note: be very careful with units when mixing different unit types.

Updating to newer version

- Click the “Help” menu item, then click “Check for Updates”
- Note that this will close your instance of ThermoFlo (and re-open)
- This may take a few minutes depending on your internet connection and how much needs to be updated

Select multiple parts

- There are two main ways to select: drag select, clicking with “Shift” down
- drag select – left-click with your mouse on the drawing canvas somewhere that there is no object, hold down the click button and move your mouse to another point on the screen to create a rectangular box around the parts that you would like to select. let go of the mouse button when the rectangular region is correct.
- clicking with “Shift” button – left-click any part, and then while holding down the “Shift” key click the other parts that you would like. If you let go of shift and click another part, you will lose the selection of the other parts.

Modify multiple parts properties simultaneously

- First you need to select the parts using drag select or holding “Shift” down while clicking objects (see “Select multiple parts”)
- on the Tools menu, click on “Modify Selected Parts”
- The user properties that the parts share will be displayed in a form. Check the boxes of any properties you would like to change and then set the new value.
- Click “Apply”

Copying a part

- You can copy a part within the same model by holding down the control key and then dragging the component to the desired location.
- You can copy multiple parts simultaneously by selecting all the desired parts (using shift or drag select) and then holding down the control key and dragging from one of the selected parts. (note that currently the connections will not be remembered when copying)
- The only way currently to copy a part from one model to another is to create a part type from the part so that it will be in your component database, and then you can drag the part into your other model from the component toolbox. Create part type can be done by selecting the part and click on the Tools menu -> Create Part Type from Selected Part -> Leave As Is

Create Part Type fom part in model

- In order to save the properties of a part that is in your model, you can select the part then click on the Tools menu -> Create Part Type from Selected Part -> Leave As Is. If you would like all the user properties to be hidden select “User Props to Solver Props”. If you would like all User properties that are 0 to be hidden select “Zero-value User Props to Solver Props”.

Sensors (Points)

Sensors can be used to have a quick way to see the result at a certain point in the model. You can add a sensor point to a regular component (non-complex) by right clicking the part and clicking “Add Sensor”. This will bring up a form and you can select the sensor type (ie. Temperature), part type (flowbar/capacitance…), name, global part key (number displayed next to part name), node id (1 -> # nodes). You will then be able to see the results of the sensor point when viewing the sensor graphs during or after the model runs.

Sensor Functions

Sensor Functions are similar to Sensor Points, but instead of selecting a specific value at a certain node, you can create a complex expression that will be evaluated to provide a single result value. For example, you could calculate the temperature drop across a component by creating an expression that accesses the temperature of the first and last node of a component (eg. abs(TMPF$#ME$0.0$-TMPF$#ME$1.0$) would give the absolute value of temperature at the beginning of the specified part minus the temperature at the end of the specified part)

Downloading Library Components

- There is an online repository of extra components that do not come with the basic installation of ThermoFlo
- On the Start Page in the “Getting Started” section, click “Download Parts”.
- Click “Check Online for Parts”
- Check the box of any parts that you would like and then click “Download”
- Now the parts will appear in your parts folder if you click “Reload Parts Tree” from the “Tools” menu strip item. (Note that if the Component Library is not open yet, these new parts will be loaded when the library loads)