New Enhancements to Flownex 2015: Even Better Fluid-Thermal Simulation

987786-flownex_simulation_environment-11_12_13The developers of Flownex have been hard at work again and have put out a fantastic update to Flownex 2015.  These additions go far beyond what most simulation programs include in an update, so we thought it was worth a bit of a blog article to share it with everyone.  You can also download the full release notes here: FlownexSE 2015 Update 1 – Enhancements and Fixes

What is Flownex?

Some of you may not be familiar with Flownex. It is a simulation tool that models Fluid-Thermal networks.  It is a 1-D tool that is very easy to use, powerful, and comprehensive. The technology advancements delivered by Flownex offer a fast, reliable and accurate total system and subsystem approach to simulation that complements component level simulation in tools like ANSYS Fluent, ANSYS CFX, and ANSYS Mechanical.  We use it to model everything from turbine engine combustors to water treatment plants. Learn more here

Major Enhancements

A lot went in to this update, much hidden behind the scenes in the forms of code improvements and fixes.  There are also a slew of major new or enhanced features worth mentioning.

Shared Company Database

One of the great things about Flownex is that you can create modeling objects that you drag and drop into your system model. Now you can share those components, fluids, charts, compounds, and default settings across your company, department, or group.    There is no limit on the number of databases that are shared and access can be controlled. This will allow users to reuse information across your company.

Shared Database
Shared Database

Static Pressure Boundary Conditions

In the past Flownex always used a total pressure boundary condition. Based on user requests, this update includes a new boundary condition object that allows the user to specify the static pressure as a boundary condition. This is useful because many tests of real hardware only provide static pressure. It is also a common boundary condition in typical rotational flow fields in turbo machinery secondary flow.

Subdivided Cavities

Another turbo machinery request was the ability to break cavities up into several radial zones, giving a more accurate pressure distribution in secondary flow applications for Rotor-Rotor and Rotor-Stator cavities.  These subdivisions can be automatically created in the radial direction by Flownex.

flownex_rotor-stator-stator-cavities
Subdivided Cavity Input Dialog

Excel Input Sheets and Parameter Tables

The connection between Microsoft Excel and Flownex has always been strong and useful, and it just get even better.  So many people were connecting cells to their Flownex model parameters that the developers decided to directly connect the two programs so the user no longer has to establish data connection links.  Now an properties in Flownex can be hooked to a cell in Excel.

The next thing users wanted was the ability to work with tables of parameters, so that was added as well.  The user can hook a table of values in Excel to Flownex parameters and then have Flownex solve for the whole table, even returning resulting parameters.  This makes parametric studies driven from Excel simple and powerful.

flownex_Parametric-Tables
Excel Parameter Tables

Component Enhancements

Users can now create component defaults and save them in a library. This saves time because in the past the user had to specify the parameters for a given component. Now thy just drag and job the existing defaults into their model.

Compound components have also been enhanced by the development team so you no loner have to restart Flownex when you move, export, or import a compound component.

Find Based on Property Values

Users can now search through properties on all the objects in their model based on the value assigned to those properties.  As an example, you can type > 27.35 to get a list of all properties with an assigned value that is larger than 27.35.  This saves time because the user no longer has to look through properties or remember what properties were assigned.

Network Creation through Programming

Users can now write programs through the API or scripting tool to build their network models. This will allow companies to create vertical applications or automate the creation of complex networks based on user input. Of all the enhancements in this update, this improvement has the potential to deliver the greatest productivity improvements.

Automatic Elevations Importing in GIS

Users who are specifying flow networks over real terrain can now pull elevation data from the internet, rather than requiring that the data be defined when the network is specified. This enhancement will greatly speed up the modeling of large fluid-thermal systems, especially when part of the simulation process is moving components of the system over terrain.

Multiple Fluid Interface Component

A very common requirement in fluid-thermal systems is the ability to model different fluids or fluid types and how they interact. With this update users can now model two separate fluid networks and define a coupling between the two. The mass balance and resulting pressure at the interface is maintained.

Static Condition Calculation Improvements

Many simulation require an accurate calculation of static pressures. To do this, the upstream and downstream areas and equivalent pipe diameters are needed to obtain the proper values.  Many components now allow upstream and downstream areas to be defined, including restrictors and nozzles.

flownex_upstream-downstream-area
Dialog for upstream and downstream area specification

Scaled Drawing

The ability to create a scale 2-Dimensional drawing was added to Flownex. The user can easily add components onto an existing scaled drawing that is used as a background image in Flownex. These components will automatically detect and input lengths based on the drawing scale and distance between nodes. This results in much less time and effort spent setting up larger models where actual geometric sizes are important.

Scaled Drawing Tools
Scaled Drawing Tools

How do I Try this Out?

As you can see by the breadth and depth of enhancements, Flownex is a very capable tool that delivers on user needs.  Written and maintained by a consulting company that uses the tool every day, it has that rare mix of detailed theory and practical application that most simulation engineers crave.  If you model fluid-thermal systems, or feel you should be simulating your systems, contact Brian Duncan at 480.813.4884 or brain.duncan@padtinc.com. We can do a quick demo over the internet and learn more about what your simulation needs are.  Even if you are using a different tool, you should look at Flownex, it is an great tool.

Some Stuff ANSYS Users Should Know about Excel

imageWhat is the software tool that us numerical simulation types use almost as much as ANSYS products, maybe even more?  Most of you will answer Microsoft Excel.  We all use it almost every day for a variety of things. Every time I see someone doing something sophisticated with Excel, I learn something new, a tool I can use to be more efficient. 

For this week’s The Focus posting I will be sharing some stuff in Excel, tips and tricks, that ANSYS users should find useful.  I am using Microsoft Excel 2010 and the assumption is that the reader is a good user of Excel, maybe not an expert, but good.  I have tried to pick things that have a direct impact on user efficiency.  You may already know some or even most of these things, but hopefully you will find some of it useful.  If you have something to share, please add it to the comments.

Take the Time to Setup Tables

I love tables.  I’m always getting made fun of because I always convert what I’m working on into tables.  Why are they so great? 

    • They auto-format
    • They have filtering built in
    • You can refer to the table, columns, rows, and cells in equations with names rather than ranges
    • When you add a formula in a column, it automatically copies it to the whole table (my favorite)
    • It does automatic totals, averages, etc…

Making a table is easy:

    1. Select the columns you want in your table
      1. It is a good idea to have the headers defined
    2. Go to the Insert Tab
    3. Click on Table

image

That give you:

image

Click on the downward facing triangle icons to filter.  Use the options in the Table Tools > Design tab to set the name, remove duplicates, turn on the total row, and change the basic formatting (color).  Once you have played with these for a while, you will find you can not live without them and people will ask you why you use tables so often.

Concatenation

One of the ways that we use Excel is to convert some sort of text data in row/column form into a command, mostly MAPDL commands.  A key to this is the ability to concatenate text strings and the values of cells.  I’ve even seen someone write a NASTRAN to ANSYS translator in Excel.

To do so you create a formula (start with =) and string together the text you want with ampersands: &

As an example, if we want to add a column to the table we used above to create N commands we simply click on any of the cells in the empty column next to our table and enter:

=”n, “&[@N]&”, “&[@X]&”, “&[@[Y ]]&”, “&[@Z]

Because we are using a table, the command uses the column reference [@name] from the tables rather than cells.  In a non table the command would look like:

=”n, “&$A6&”, “&$B6&”, “&$C6&”, “&$D6

Either way you are stringing the values in your cells together with text to make a command:

image

That column can be pasted into a text file, an ANSYS Mechanical code snippet window, or saved to a file.

Text to Columns

After tables, the next most useful feature in Excel for the analyst is the ability to convert the text in a column into multiple columns. This is a lot like the text import window that opens up when you open a text file, but it can be used at any time on any column in your spreadsheet.  To use it, simply select the column you want to convert:

image

Then go to the Data tab and click on “Text to Columns”

image

This will bring up the wizard that steps you through the process:

image

If you are working with a NASTRAN type input file, formatted with fixed columns, you can chose “Fixed Width” here. If not, choose delimited.  Click next.

For fixed, you get a ruler that you can drag the column lines back and forth on till you get what you want. Pretty simple.

For delimited, you get the delimiter screen.  Specify your delimiter here.  In the example, we will use a comma. But it can be spaces, tabs, or any other character. When you specify the delimiter, it shows you how Excel will break it up. 

image

I usually click finish here because the next screen is formatting and I usually play with that once I have the data in Excel.

That is it. Very simple.

image

One thing to note, it converts to columns by overwriting columns to the right. So if you have data in those columns, you should insert enough blank columns before you use this command, so you don’t overwrite anything.

Names

Usually you refer to a cell or a range of cells with the old LetterNumber syntax: A3, B7:NN2145, etc…  That can be a real pain to deal with and it really doesn’t tell you what the data in that range is.  A better way to deal with chunks of information, or critical cells, is to use names. 

Creating names is very easy.  The simplest is to click on the cell or cells you want to name and then type in the name you want in the input box in the upper left corner:

image

Now, if you want to know the max value of those numbers, you can use the formula =max(MyData)

image

If I have a lot of constants I want to define, I can use the “Create from Selection” tool in the Formulas tab:

image

This command brings up a dialog box and you can tell Excel where to grab your names from. Three or Four clicks and you have named parameters instead of cell locations.  This is very useful if you have a group of key parameters you want to use in your calculations.  Now when you look at your formulas, the descriptive name of the parameters are there rather than a reference.

image

Use the Name Manager in the same Formulas tab to view, edit, and delete your names.

Dynamic Range

A related trick for Excel is creating dynamic ranges. What do you do when you name a range and then the amount of data in that range changes? You have to redefine your range.  Nope, you don’t. You can define the range using a formula that changes as the length of the column, or row, changes. 

The name can be defined for a column as: =OFFSET(startCell,0,0,COUNTA(column)-1)

Or for a row: =OFFSET(startCell,0,0,0,COUNTA(row)-1)

This may be the most time saving trick I know in Excel.

You put the formula into the “Define Name” dialog box found on the Formulas tab:

image

Now, no matter how long the column of data is, MyVals will always contain it.  A big time saver.

Relative Reference on Record Macro

How many times have you gotten data in Excel, or imported data into Excel, where you want to make a small change to every line. But you have several thousand lines. If you do a “Record Macro” that doesn’t work because you have to click down to the next line, then run the macro and repeat that over and over again. Wouldn’t it be great if you could simply record a macro with some sort of relative reference. 

For years (maybe decades) I didn’t know you could do that. There is an option under the Developer Tab called “Relative Reference.”  Click that before you record your macro and you are good to go.

image

As an example, take a look at this data. Nodal coordinates on one line, rotations on the second. 

image

I want to grab the rotations, paste them on the same line as the coordinates, delete the rotation line, then move to the next node.

Here is a video that shows the process:

That is all fine and dandy if you have a few dozen lines, but your fingers will get tired CTRL-e’ing that many times.  I quick fix is to go into the macro and add a simple loop.  First we use CountA() to see how many nodes we have, then we loop on that with a for statement:

Sub Macro3()

'

' Macro3 Macro

'

' Keyboard Shortcut: Ctrl+e

'

    cnt = Application.CountA(Range("a:a"))

    For i = 1 To cnt

    ActiveCell.Offset(1, 1).Range("A1:C1").Select

    Selection.Cut

    ActiveCell.Offset(-1, 3).Range("A1").Select

    ActiveSheet.Paste

    ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select

    Selection.Delete Shift:=xlUp

    ActiveCell.Select

    Next i

End Sub

Of course you could have done this with *VREAD’s in MAPDL, or python. But sometimes Excel is just faster.