Corrupt ANSYS Mechanical Database? You Might Be Able to Recover

Most of the time ANSYS Mechanical does a great job of keeping track of all our input and output files needed for a particular simulation. Every once in a while though, a glitch can happen which could lead to a corrupt database that gives you errors, say, if you try to reopen the ANSYS Mechanical editor. If you suspect that somehow your project database for a Mechanical model (or any other model that uses the same interface as ANSYS Mechanical) has been corrupted, you just might be able to recover it using these steps:

1. Copy any .mechdb files from the project directory to a different location. Rename them to a .mechdat extension. These will be named SYS.mechdb, SYS-1.mechdb, etc. The easiest way to find these files is to click on View > Files from the Workbench window, then scroll through the list until you find the .mechdb file or files. Then right click on each one and select “Open Containing Folder.” This will open Windows Explorer in the directory in which the file resides. You can then copy the files to a new location and rename them to .mechdat extensions.

image

image

2. Copy any .agdb (DesignModeler) files or other geometry files from the project directory to a different location. These will be named SYS.agdb , SYS-1.agdb, etc. (for DesignModeler) and can be found using View > Files as I described above. No need to rename these.

image

3. Start a new Workbench session.

4. Click File > Import. Set the type of file to import to “Importable Mechanical File”. Browse to the two .mechdat files created in step 1 (by renaming the copied .mechdb files) and import each.

image

5. If needed for geometry files, in the resulting Project Schematic in the Workbench window, right click on the first block’s geometry cell and select Replace Geometry > Browse. Browse to the copied SYS.agdb file or other geometry file from step 2. Repeat any additional analysis block in similar fashion.

image

6. Then save the project with a new name and directory. 

This should allow you to recreate a Workbench project that allows you to continue working. We hope this suggestion is helpful if the need ever arises to use it.

image

(Artwork by Eric… Ted does much nicer smiley faces)

Linearized Stress – Using Nodal Locations for Path Results in Workbench Mechanical 14.5

Postprocessing results along a path has been part of the Workbench Mechanical capability for several rev’s now. We need to define a path as construction geometry on which to map the results unless we happen to have an edge in the model exactly where we want the path to be or can use an X axis intersection with our model. You have the option to ‘snap’ the path results to nodal locations, but what if you want to use nodal locations to define the path in the first place? We’ll see how to do this below.

For more information on “picking your nodes”, see the Focus blog entry written by Jeff Strain last year: http://www.padtinc.com/blog/the-focus/node-interaction-in-mechanical-part-1-picking-your-nodes

The top level process for postprocessing result along a path is:

  • Define a Path as construction geometry
  • Insert a Linearized Stress result
  • Calculate the desired results along the path using the Linearized Stress item

The key here is to define the path using existing nodes. Why do that? Sometimes it’s easier to figure out where the path should start and stop using nodal locations rather than figure out the coordinates some other way. So, let’s see how we might do that.

  • First, turn on the mesh via the “Show Mesh” button so that it’s visible for the path creation

image

  • From the Model branch in Mechanical, insert Construction Geometry
  • From the new Construction Geometry branch, insert a Path

image

  • Note that the Path must be totally contained by the finite element model, unlike in MAPDL.
  • If you know the starting and ending points of the path, enter them in the Start and End fields in the Details view for the Path.
  • Otherwise, click on the “Hit Point Coordinate” button:

image

  • Pick the node location for the start point, click apply

image

  • Pick the node location for the end point, click apply

image

  • In the Solution branch, insert Linearized Stress (Normal Stress in this case); set the details:
  • Scoping method=Path
  • Select the Path just created
  • Set the Orientation and Coordinate System values as needed
  • Define Time value for results if needed

image

Results are displayed graphically along the path…

image

…as well is in an X-Y plot and a table

image

Besides normal stresses, membrane and bending, etc. results can be accessed using these techniques. So, the next time you need to list or plot results along a path, remember that it can be done in Mechanical, and you can use nodal locations to define the starting and ending points of the path.

Duh! Three ANSYS Mechanical Features I Should Know But Didn’t

Selection Information, Manage Views, and Changing Settings on Multiple Load Steps

There is no way to hide the embarrassing reality. I am supposed to be an expert. I am introduced to people as such. People all over the world read stuff I write about how to use ANSYS products more effectively.  But last week and this week, humility has struck a devastating blow on my ego.  I found three very useful things in ANSYS Mechanical that I either didn’t know, or forgot about. I even mentioned one of them (Manage Views) in an update presentation as “cool and very important feature” then promptly forgot it was there.

As payment for my sins, I will share a brief description of each with all of you, in the hopes that I will: 1) make you feel better about yourself because you already knew this stuff, or 2) give you the knowledge you need to avoid the embarrassment, and lost productivity, that my ignorance has brought me. 

Selection Information

I mention this one first because it was pointed out to me by no less than the ANSYS Mechanical product manager at ANSYS, Inc. Yikes.  I believe he actually did a face palm when I asked him “What is Selection Information? There is an Icon with an i on the toolbar? Really?”

image

There it is, right next to the Worksheet icon, an icon I use all the time.  What it does is give you information about geometry, CAD and nodes, in your model.  There are three ways to get it, not just the icon on the toolbar:

  1. Click the Icon
  2. In the menu go to View>Windows>Selection Information
  3. Double-click on the Selection details at the bottom of the ANSYS Mechanical Window

image

However you use it, you will get a new window, embedded with the existing windows, that shows you information about the geometry entity of entities that you select. Normal selection options apply. You can pick vertices, edges, surfaces, or bodies. I like to drag it out as it’s own window so I can see it all.  (Notice how I talk like I do this all the time… yea, whatever.  I just figured out that it is a lot better if I drag it out and look at it by itself.) 

My sample model is just a cylinder, so If I pick the end and the cylinder I get:

image

See how it lists the two faces, and a summary. There is some internal info in there as well like ID’s that ANSYS mechanical uses to do stuff. The toolbar across the top lets you select a coordinate system to do the calculations in, set options (the green checkbox) or  control if you want individual info, summary info, or both. 

The options are useful because by default, everything is on. Turning some stuff off can reduce the clutter.

image

For nodes, I can get location, node number, and body information:

image

When you are in the window there are some useful things you can do with the list. The first is sort by clicking on the column headers.  What node is at your max X position in your cylindrical coordinate system?  Just set the Coordinate System and click on X(in) twice to sort from max o min:

image

If you select any of the cells, you can right mouse click and get a context menu that lets you reselect the entities being listed, export to a text or Excel file, Refresh, or copy to the clipboard:

image

Give it a shot next time your in a model and want to know some stuff.

Manage Views

One of the more useful capabilities in ANSYS Mechanical APDL is the ability to define views in a macro and call them back up again, getting the same standard views every time. Well you have been able to do that in Workbench when the introduced the “Scary Eye” icon at I think 14.5 (maybe 14):

image

Although it looks like a secret Masonic symbol, the icon actually represents a handy tool for saving views not only in your model but to files.  It is also available in View->Windows->Manage Views.

Not only that, it lets you save the view commands to an external file that you can use with other models or even go in and edit to create a very specific view.

When you start it up, it brings up its own little window as well, that has eye themed icons to control your view saving/recall experience.

image

  • “Spooky Eye Box with a Plus Sign” creates a view from the current view you are seeing
  • “X” deletes the currently selected view or views
  • “Guy with 80’s hair looking at a box” applies the currently selected view. Double-clicking on the view does the same thing.
  • “A-bar-B” is used to rename the selected view
  • “Spooky Eye Box with Green Blob” redefines the currently selected view with whatever the current view settings are in the graphics window. Think of it as an overwrite.
  • “Disk with arrow out” reads in a saved view file from disk.
  • “Disk with arrow in” saves the currently selected view to disk.

So, get your model positioned the way you want it using the mouse to control the view, then click the first icon to save it.  The program puts the window into “rename” mode so you can give it a descriptive name here. Just keep doing that till you have all your views defined.

If at some point you want to change view, no need to delete and recreate it. Simply Click on the view you want to redefine and then click on “Spooky Eye Box with Green Blob.”

Note: You can only select more than one view and delete it.  None of the other commands work for more than one view. But the save views command saves all the views, regardless of how many you have selected.

Here are some views I created:

image

image

image

image

Now it gets cool.  Click on a view and then click on the “Save” (last) icon.  It will save the views as an XML file.  Pop that into your handy-dandy XML editor and you can check out the view definitions:

image

This is where I get excited. Now you can go into this file and create your own view, or modify a view to be very specific.  I didn’t have enough time to figure out what all the options did, but if you get a view that is close to what you want, you should be able to modify it from there.

The last thing to talk about is what happens if you right mouse click on a view?  You get:

image

Yes, copy as MAPDL!  Not only is this useful for us old guys that just like to look at MAPDL, it lets you use the same view for any plots you may make with a code snippet as you used for the plots in ANSYS Mechanical.  So your views are consistent for all your plots!

image

Modifying Multiple Load Steps

This was one of those “there has to be a way to do this” moments. We were talking about different ways to speed up the solution of a transient thermal model and I suggested that instead of using automatic time step controls they put in some values. But for the life of me I couldn’t figure out how to change a bunch of load step settings at the same time, so I was changing them one at a time. For every step, change the step number, then change the value:

image

Yawn!  This started off a “well in ANSYS classic, I could write a script that would… blah… blah… blah…”

There has got to be a better way.  There is.  In the Graph window the load steps are shown on the X-axis. Simply multi-select the steps you want to change there:

image

In the example above I CTRL-Clicked steps 3, 5, and 7. Now my Analysis Settings details view looks like:

image

See how Current Step Number and Step End Time are “Multi Step”.  Any change I make to settings will now be applied to the selected steps.  A huge time savings.  And a big “Duh, I should have known that!”

Why do my ANSYS jobs take days and weeks to finish? Well it depends…

Real World Lessons on How to Minimize Run Time for ANSYS HPC

Recently I had a VP of Engineering start a phone conversation with me that went something like this. “Well Dave, you see this is how it is. We just spent a truckload of money on a 256 core cluster and our solve times are slower now than with our previous 128 core cluster. What the *&(( is going on here?!”

I imagine many of us have heard similar stories or even received the same questions from our co-workers, CEO’s & Directors. I immediately had my concerns and I truly thought carefully as to what I should say next. I recalled a conversation I had with one of my college professors. He had told me that when I find myself stepping into gray areas that a good start to the conversation is to say. “Well it depends…”

Guess what, that is exactly what I said. I said “Well it depends…” followed by going into explaining to him two fundamental pillars of computer science that have plagued most of us since computers were created: I said “Well you may be, CPU bound (compute bound) or I/O bound. He told me that they had paid a premium for the best CPU’s on the market and some other details about the HPC cluster. Garnering some of other details about the cluster my hunch was that his HPC cluster may actually be I/O bound.

I/O Bound

Basically this means that your cluster’s $2,000 worth of CPU’s are basically stalled out and sitting idle. The CPU’s are waiting for new data to process and move on. I also briefly explained that his HPC cluster may be compute bound. I quickly reassured him that the likelihood of his HPC cluster being compute bound was about 10% possible and very unlikely. I knew the specifications on the CPU’s in this HPC cluster and the likelihood that they were the issue of his ANSYS slow run times was low on my radar. These literally were the latest and greatest CPU’s ever to hit this planet (at that moment in time). So, let me step back a minute, to refresh our memories on what it means when a system is compute bound.

Compute Bound

Being compute bound means that the HPC cluster’s CPU’s were sitting at 99 or 100% for long periods of time. When this happens very bad things begin to happen to your HPC cluster. CPU requests to peripherals are delayed or infinitely lost to the ether. The HPC cluster may become unresponsive and even lock up.

All I could hear was silence on the other end. “Dave, I get it, I understand, please find the problem and fix our HPC cluster for us. ” I happily agreed to help out! I concluded our phone conversation asking that he send me the specific details, down to the nuts and bolts of the hardware! I also requested operating system and software that was installed and used on the 256 core HPC cluster.

What NOT to do when configuring an ANSYS Distributed HPC cluster.

Seeking that perfect balance!

After a quick NDA signing, a few dollars exchange and a sprinkle of some other legal things that lawyers get excited about. I set out to discover the cause. After reviewing the information provided to me I almost immediately saw three concerns:

To interconnect what?

Let Merriam-Webster describe it:

Definition of INTERCONNECT

transitive verb
: to connect with one another
intransitive verb
: to be or become mutually connected

— in·ter·con·nec·tion noun
— in·ter·con·nec·tiv·i·ty noun

1. The systems are interconnected with a series of wires.
2. The lessons are designed to show students how the two subjects interconnect
3.  A series of interconnecting stories

First Known Use of INTERCONNECT: 1865

Concern numeral Uno!!! Interconnect me

Though the company’s 256 core HPC cluster had a second dedicated GigE interconnect. Distributed ANSYS is highly bandwidth and latency bound often requiring more bandwidth than a dedicated NIC (Network Interface Card) may provide. Yes, the dedicated second GigE card interconnect was much better than trying to use a single NIC for all of the network traffic which would also include the CPU interconnect. I did have a few of the MAPDL output files from the customer that I could take a peek at. After reviewing the customer output files it became fairly clear that interconnect communication speeds between the 16 core x 16 server in the cluster was not adequate. The master Message Parsing Interface (MPI) process that Distributed ANSYS uses requires a high amount of bandwidth and low latency for proper distributed scaling to the other processes. Theoretically the data bandwidth between cores solving local to the machine will be higher than the bandwidth traveling across the various interconnect methods (see below). ANSYS, Inc. recommends Infiniband for CPU interconnect traffic. Here are a couple of reasons why they recommend this. See how the theoretical data limits increase going from Gigabit Ethernet up to FDR Infiniband.

Theoretical lane bandwidth limits for:

  • Gigabit Ethernet (GigE): ~128MB/s
  • Signal Data Rate (SDR): ~ 328 MB/s
  • Double Data Rate (DDR): ~640 MB/s
  • Quad Data Rate (QDR): ~1,280 MB/s
  • Fourteen Data Rate (FRD): ~1,800 MB/s

GEEK CRED: A few years ago companies such as MELLANOX started aggregating the Infiniband channels. The typical aggregate modifiers are 4X or even a 12X increase. So for example the 4X QDR Infiniband switch and cards I use at PADT and recommended to this customer, would have a (4X 10Gbit/s) or 5,120 MB/s of throughput! Here is a quick video that I made of a MELLANOX IS5023 18-port 4X QDR full bi-directional switch in action:

This is how you do it with a CUBE HVPC! MAPDL output file from our CUBE HVPC w16i-GPU workstation. This is running the ANSYS industry benchmark V14sp-5. I wanted to show the communication speeds between the master MPI process and the other solver processes to see just how fast the solvers can communicate. With a peak communication speed of 9593 MB/s this CUBE HVPC workstation rocks!

Chassis Profile 4u standard depth or rackmountable
CPU 1 x One Dual Socket
Chipset INTEL 602 Chipset
Processors 2 x INTEL e5-2690 @ 2.9GHz
Cores 2 x 8
Memory 128GB DDR3-1600 ECC Reg RAM
OS Drives 2 x 2.5″ SATA III 256GB SSD Drives RAID 0
DATA/HOME Hard Disk Drives 4 x 3.5″ SAS2 600GB 15kRPM drives RAID 0
SAS RAID (Onboard, Optional) RAID 0 (OS RAID)
SAS RAID (RAID card, Optional) LSI 2208 (DATA VOL RAID)
Networking (Onboard) Dual GigE (Intel i350)
Video (Onboard) NVIDIA QUADRO K5000
GPU (Optional) NVIDIA TESLA K2000
Operating System Windows 7 Professional 64-bit
Optional Installed Software ANSYS 14.5 Release

imageStats for CUBE HVPC Model Number : w16i-KGPU

Learn more about this and other CUBE HVPC systems here.

Concern #2: Using RAID 5 Array for Solving Disk Volume

The hard drives that are used for I/O during a solve, the solving volume, were configured in a RAID 5 hard disk array. Some sample data below showing the minimum write speed of a similar RAID 5 array. These are speeds that are better off seen in your long-term storage volume not on your solving/working directory.

LSI 2008 HITACHI ULTASTAR 15K600
Qty / Type / Size / RAID Qty 8 x 3.5″ SAS2 15k 600GB RAID 5
TEST # p1
min Read 204 MB/s
max Read 395  MB/s
Avg Read N/A
min Write 106 MB/s
max Write 243.5 MB/s
Avg Write N/A
Access Time N/A

Concern #3: Using RAID 1 for Operating System

The hard drive array for the OS was configured in a RAID 1 configuration. For a number cruncher server having RAID 1 is not necessary. If you absolutely have to have RAID 1. Please spend the extra money and go to a RAID 10 configuration.

I really don’t want to get into the seemingly infinite details of hard drives speeds, latency. Or even begin to explain to you if I should be using an onboard RAID Controller, dedicated RAID controller or a software RAID configuration completed within the OS. There is so much information available on the web that a person gets overloaded. When it comes to Distributed ANSYS, think fast hard drives and fast RAID controllers. Start researching your hard drives and RAID controllers using the list provided below. Again, only as a suggestion! I have listed the drives in order based on a very scientific and nerdy method. If I saw a pile of hard drives, what hard drive would I reach for first?

  1. I prefer using SEAGATE SAVVIO or HITACHI enterprise class drives. (Serial Attached SCSI) SAS2 6Gbit/s 3.5”15,000 RPM spindle drives (best bang for your dollar of space, more read & write heads over a 2.5” spindle hard drive).
  2. I prefer using Micron or INTEL SSD enterprise class SSD. SATA III Solid State Drive 6 Gbit/s (SSD sizes have increased however you will need more of these for an effective solving array and they still are not cheap).
  3. I prefer using the SEAGATE SAVVIO 2.5” enterprise class spindle drives. SAS2 6Gbit/s 2.5” 15,000 RPM spindle drives (if you need a small form factor, fast and additional storage. But the 2.5” drives do not have as many read & write heads as a 3.5” drive. In a situation where I need to slam 4 or 8 drives into a tight location.
    Right now, SEAGATE SAVVIO 2.5” are the way to go!  Here is a link to a data sheet.
    Another similar option is the HITACHI ULTRASTAR 15k600.  It’s spec sheet is here.
  4. SATA II 3Gbit/s 3.5” 7,200 RPM spindle drives are also a good option.  I prefer Western Digital RE4 1TB or 2TB drives. There spec sheet is here.

LSI 2108 RAID Controller and Hard Drive data/details:

image

How a CUBE HVPC System from PADT, Inc. balanced out this configuration and how much would it cost?

I quoted out the below items, installed and out the door (including my travel expenses, etc.) at: $30,601

The company ended up going with their own preferred hardware vendor. Understandable, one good thing is that we are now on the preferred purchasing supplier list. They were greatly appreciative of my consulting time and indicated that they will request a “must have” quote for a CUBE HVPC system the next refresh in a year. They want to go over 1,000 cores the next refresh.

I recommended that they install the following into the HPC cluster based: (note they already had blazing fast hard drives)

  • 16 – Supermicro AOC-S2208L-H8iR LSI 2208 RAID controller cards.
  • 32 – Supermicro CBL-0294L-01 cabling to connect the LSI RAID cards to the SAS2 hard drives.
  • 1 – MELLANOX IS5023 18-port 4X QDR Infiniband switch
  • 16 – Supermicro AOC-UIBQ-M2 Dual port 4X QDR Infiniband card
  • 16 – Supermicro QSFP Infiniband cables in a couple different lengths

A special thanks and shout out to Sheldon Imaoka of ANSYS, Inc. for inspiring me to write this blog article!

Video Tips: Automatic Cross-Sections in ANSYS DesignModeler

A quick video showing how to create a script that will automatically generate standard cross-sections in DesignModeler to be used for, as an example, line bodies.

ANSYS Help Link:  // DesignModeler User Guide // Scripting API // Script Features // Features within Script Features // Cross Section Feature

Ready to go for Turbo Expo 2013 in San Antonio

booth2The PADT and Flownex teams have our booth set up and ready to go for the next three days at Turbo Expo 2013.

This is always one of our favorite events because most of us came from this industry, and in fact all four of the founders were turbine-engine-engineers before we started PADT.  A special part of this years event is that we are introducing Flownex to the North American Turbo community as well as our CUBE HVPC computer systems.  So lots of new things to talk about along with our established offerings of ANSYS, Inc software consulting, customization, and training.

If you are there, please make sure you stop by our booth. We would love to see you and chat.

 

Here is our press release on the event:

p0

 

Trusted Partners for Turbomachinery Simulation

p1

The ASME Turbo Expo is the industry show where PADT feels at home the most.  Founded by experienced turbine engine simulation, design, and manufacturing engineers, the company has a true understanding of the real world needs of those who are focused on simulation for Turbomachinery.

Our primary focus for this year’s conference will be the full introduction of the Flownex Simulation Environment to North America.  This thermal-fluid system simulation tool started life as a solver for combustor analysis, and has grown up to be a full featured toolset that can model any fluid-thermal network in your engine or pump.  Flownex is ideal simulation software for the quick thermo-fluid analysis of gas turbine performance.

p2
It provides aircraft engine design and system engineers with the ability to simulate complicated air and gas flow patterns through fans, compressors and turbines; match compressor and turbine power and compile maps; calculate thrust, shaft power, combustion calculations with convection, conduction and radiation heat transfer; and determine fuel consumption.  If you are using an in-house tool or software written for other applications to model your flow networks, please come by to see how Flownex can reduce the amount of time you spend modeling your systems while increasing the fidelity of your models.s grown up to be a full featured toolset that can model any fluid-thermal network in your engine or pump.  Flownex is ideal simulation software for the quick thermo-fluid analysis of gas turbine performance.

p3

PADT’s reputation in the Turbomachinery industry is built on our expertise selling, using, supporting, and customizing the complete suite of ANSYS FEA and CFD.  Turbo companies come to us for training on ANSYS software, customization of analysis tools, FEA and CFD outsourcing, and HPC hardware because they know we know their business and how to maximize the return on their investment in simulation.  We can help anyone doing simulation on Turbomachinery in a variety of ways, stop on by to find out how.

p4

Another new area the PADT provides this type of help to turbo companies is by offering a complete line of High Value Performance Computer systems specifically designed for the simulation user.  From workstations to large clusters, PADT can custom design a system that hits the sweet spot between cost and performance, delivering faster turnaround of CFD and FEA runs for considerably less than systems offered by general purpose computer suppliers.

Stop by our booth to look at the hardware, software, training, and consulting that we offer to companies around the world to help them make their studies more efficient and effective.

Video Tips: Automatic Contact Generation in ANSYS Mechanical

A quick video showcasing the automatic contact generation feature in ANSYS Mechanical.  This feature automatically selects the faces that are in contact or are close to contact and assigns a contact definition.

Video Tips: Importing SolidWorks Geometry into ANSYS Mechanical

TheFocus-Video-Tips-2We are pleased to introduce a new feature in The Focus blog, video posts.  With this entry we are putting up our first “The Focus Video Tips, Examples, and Demonstrations”  Sometimes a video just works better, especially when showing how to do something in a Graphical User Interface.

So we have put some basic infrastructure in place and that lets us quickly record something on one of our computers, stick a title and end slide on it, and then upload to YouTube.

In this first entry, we show how easy it is to read in geometry from SolidWorks to ANSYS Mechanical.

CFX Expression Language–Part 5: Using CEL for Solution Monitoring

In four previous entries we introduced CFX Expression Language, CEL:

After a break to teach some ANSYS classes in beautiful northern Utah we’re back to conclude our series on CFX Expression Language.

image

In our fifth and final installment on CEL we will discuss the use of CEL in monitoring items of interest while the CFX solution is progressing. Back in the first installment in this series, we showed how to create expressions for results quantities in CFD Post. By creating expressions in similar fashion for results quantities in CFX Pre, we can use these expressions to monitor items during solution.

Here is an example. In CFX Pre we have defined three expressions which are really extracting and operating on results data.

forceX1 = resulting force on one face of the structure
forceX2 =resulting force on another face of the structure
fdiffx = the difference between these two values or the net force acting on the structure

This shows these three expressions in the CFX Pre outline tree:

image

Still within CFX Pre, click on Insert > Solver > Output Control. That will add an Output Control tab on the left side of the CFX Pre window. Click on the Monitor tab, expand Monitor Points and Expressions, and then click on the button near the right of the window below that to add a monitor point:

image

Set the Option to Expression and in the Expression Value box left click then right click to select from your list of defined expressions:

image

The CFX Pre tree will now have one or more Monitor Points listed under Output Control:

image

When we initiate the solution, these user-defined monitor points will be available for real time display in addition to the normal Momentum and Mass and Turbulent kinetic energy monitors. All we need to do is click on the User Points tab during solution to view our expressions as monitors. In the example shown below, Monitor 1 is forceX1, Monitor 2 is forceX2, and Monitor 3 is fdiffx, the difference between the first two quantities. These could have been renamed during their definition to make it easier to understand the monitor plot. Here is a snapshot of the quantities being monitored during the solution:

image

So, as we have seen in the last 5 CFX Expression Language blog entries, CEL exposes a lot of powerful capability to CFX users (and to Fluent users within CFD Post). In this case we have seen how to add additional items to monitor during the solution process. The advantages of this are to help us determine on the fly if the solution is progressing as expected and to give us an idea of the values of certain results quantities before the solution is fully completed.

We certainly hope you now have a better understanding for how CEL can be used to increase the capabilities and useful information available from CFX and CFD Post.

CFX Expression Language–Part 4: Applying Ramped and Stepped Boundary Conditions Using CEL

In three previous entries we introduced CFX Expression Language, CEL:

In this fourth installment we will demonstrate the use of CEL to apply ramped or stepped boundary conditions. In certain circumstances we might want to ramp a load rather than apply it all at once. For example, convergence difficulties can sometimes arise when a fast rotation rate is applied initially in rotating machinery simulations. Starting off with a smaller value of load and ramping it to the final value can aid in convergence in these circumstances.

Note that the rate of load application can be manually changed during the solution in the solver manager, but why not take advantage of CEL and do it automatically? As we will see, this is fairly easy to do.

The ability to ramp a load makes use of a built-in CEL variable labeled “aiturn”, which is the accumulated value of the iteration number. If we assign an expression for the number of iterations we want, we can then create a combined expression for the ramped load:

image

In the above list of expressions, Flow999 is our desired full amount of flow at the end of ramping. Iter is defined to have a value of 100. Both of those are names that we picked. We then defined expression flowapplied, which is the value of Flow999 times the built-in expression aitern (the current solver iteration number) divided by the total number of iterations desired for the ramping, Iter. Once aitern = 100, then the value of flowapplied will equal Flo999 or 9.99 ft/sec in this case.

Here is a plot of the expression flowapplied for values of aitern between 0 and 100. The plot is in m/s but the peak works out to be 9.99 ft/sec.

image

As we have seen in prior entries in this series, we plug in the expression name for the input in the appropriate field. In this case, the name of the expression flowapplied is entered in the Normal Speed field in the Inlet boundary details.

After solution, we can verify that at the end of the solution the applied inlet velocity had reached the full value of 9.99 ft/sec. in CFD Post:

image

The next step might be rerun the solution while maintaining a constant value of the applied load for an extended period of time. This can be accomplished by modifying the expression which defines the load so that it has some additional values:

image

In the above expression we have added a step() function, which can either be typed in or added by right clicking, Functions > CEL > step. This causes the ramped load to peak at the value of Flow999 when aitern reaches the previously defined value of Iter at 100, then drop to zero after that. This happens because if Iter-aitern is greater than one, step=1, but if Iter-aitern is less than one, step=0. Here is the resulting plot in CFX Pre:

image

That’s not quite what we want, but if we tweak the expression a bit more, we can get it to ramp to the full value then remain constant.

image

Now we have another term involving the step() function, but with the expression names inside the step function reversed. This means that once aitern exceeds the value of Iter, the first term becomes zero and the second term takes over with a constant value of the load equal to Flow999, as shown here:

image

By using similar expressions involving time, we can create a load history that turns off and on at desired time points.

Hopefully by now you’re starting to see the value of CEL. We are just scratching the surface here, but once you start using it you will find that CEL has a lot of potential powerful uses. In the next installment we’ll cover some additional capabilities available in CEL.

CFX Expression Language–Part 3: Applying Boundary Conditions Using CEL

In two previous entries we introduced CFX Expression Language, CEL:

Part 1: Accessing CFD Simulation Information in CFX (and FLUENT)

Part 2: Augmenting Material Property Assignments in ANSYS CFX

In this third installment we will see how to use CEL to apply boundary conditions as equations rather than constant values. For example, if a non-constant velocity profile can be defined as an equation, we can use CEL to define as well as apply the profile.

Let’s look at an example in which the velocity profile is a function of y coordinate:

u(y) = 6 * Umax * y / H * (1 – y/H) (m/s)

Using the procedure we learned in part 1 of this series, in CFX Pre we have defined expressions for H and Umax. We then defined the equation for the velocity profile as Uprofile:

clip_image002

Next we go to the Plot tab within the Expressions editor to verify that our velocity profile matches expectations:

clip_image004

To use our new expression in CFX Pre, we just enter the expression name in the appropriate field when defining the inlet velocity:

clip_image006

Finally, this velocity plot from CFD Post shows that indeed our desired velocity profile was applied at the inlet.

clip_image008

Hopefully this demonstrates how easy it can be to use CFX Expressions to define non-constant boundary conditions. In the next part of the series, we will look at using expressions to ramp or step apply loads.

2000 Core Milestone Passed for CUBE HVPC Systems

IMG_9548As we put the finishing touches on the latest 512 core CUBE HVPC cluster, PADT is happy to report that there are now 2,042 cores worth of High Value Performance Computing (HVPC) power out there in the form of PADT’s CUBE computer systems.  That is 2,042 Intel or AMD cores crunching away in workstations, compute servers, and mini-clusters chugging on CFD, Explicit Dynamics, and good old fashioned structural models – producing more accurate results in less time for less cost.

When PADT started selling CUBE HVPC systems it was for a very simple reason: our customers wanted to buy more compute horsepower but they could not afford it within their existing budgets. They saw the systems we were using and asked if we could build one for them.  We did. And now we have put together enough systems to get to 2,042 cores and over 9.5TB of RAM.

CUBE-HVPC-512-core-closeup3-1000h

Our Latest Cluster is Ready to Ship

We just finished testing ANSYS, FLUENT, and HFSS on our latest build, a 512 core AMD based cluster. IT is a nice system:

  • 512 2.5GHz AMD Opteron 6380 Processors: 16 cores per chip, 4 chips per node, 8 nodes
  • 2,048 GB RAM, 256GB per node, 8 nodes
  • 24 TB disk space – RAID0:  3TB per node, 8 nodes
  • 16 Port 40Gbps Infiniband Switch (so they can connect to their older cluster as well)
  • Linux

All for well under $180,000.

It was so pretty that we took some time to take some nice images of it (click to see the full size):

CUBE-HVPC-512-core-front1-1000h CUBE-HVPC-512-core-service1-1000h CUBE-HVPC-512-core-stairs-1000h

And it sounded so awesome, that we took this video so everyone can here it spooling up on an FLUENT benchmark:

If that made you smile, you are a simulation geek!

Next we are building two 64 core compute servers, for another repeat customer, with an Infiniband switch to hook up to their two existing CUBE systems. This will get them to a 256 core cluster.

We will let you know when we get to 5000 cores out there!

Are you ready to step out of the box, and step into a CUBE?  Contact us to get a quote for your next simulation workstation, compute server, or cluster.

CFX Expression Language – Part 2: Augmenting Material Property Assignments in ANSYS CFX

In a previous entry we introduced CFX Expression Language, CEL.  You can view that post here

Before we get started, there are some key things to remember:

  1. Expressions can be easily created by right-clicking in the Expressions tab after double clicking on Expressions in the CFX Pre object tree.
  2. Expressions and their contents are case sensitive.

In this next part of the series, we’ll show how to use CEL to augment your material property definitions in CFX. If material properties are constants then their input is straightforward. However, if the properties are defined as equations, we can use CEL to input those equations in CFX.

For example, if viscosity is defined as a function of shear strain rate, we need to define viscosity using an equation that captures that relationship, such as

m = K * gn-1

Below are shown two ways in which that equation can be captured using CFX Expression Language, visc1 and visc2. The second equation, visc2, is more flexible in that we have defined the constant terms as expressions themselves.

clip_image002

It’s always a good idea to verify the input. Most expressions can be easily plotted by clicking on the Plot tab in the Details view. Here is a plot of the viscosity vs. shear strain rates between 0 and 1, as calculated by expression visc2:

clip_image004

Similarly, the Evaluate tab can be used to evaluate the expression for desired values of the inputs.

So, we have defined an expression for a material property, viscosity in this case. How do we get CFX to use that expression? In the material property input, we click on the expression icon to the right of the particular material property we are defining, then enter the name of the expression, as shown here for expression visc2:

clip_image006

Summing it up, we can use CFX Expression Language to define material property equations for non-constant material values. In the next installment we will look at how to use CEL to define changing boundary conditions, such as a ramped load.

CFX Expression Language – Part 1: Accessing CFD Simulation Information in CFX (and FLUENT)

This week we are presenting an introduction to CFX Expression Language. If you’re not familiar with CFX, it is one of the two CFD tools available from ANSYS, Inc., the other being Fluent. CFX has been part of the ANSYS family of engineering tools since 2003. It is relatively easy to use and can be run stand-alone or tightly integrated with other ANSYS products within ANSYS Workbench. We have some general information on CFX available at this link.

CFX Expression Language, or CEL, is the scripting language that allows us to define inputs as variables, capture outputs as variables, and perform operations on those variables. Through the use of CEL we can be more efficient in our CFD runs and better capture results that we need. With CEL we can access and manipulate information without needing to recompile code or access separate routines besides the main CFX applications.

Also note that since CEL can be used in CFD Post, it is useful for postprocessing FLUENT solutions in addition to CFX, since CFD Post is common to both CFX and FLUENT. There are some things to be aware of regarding FLUENT In CFD Post. This link in to the ANSYS 14.5 Help system explains it:

// User’s Guide :: 0 // 7. CFD-Post File Menu // 7.15. File Types Used and Produced by CFD-Post // 7.15.10. Limitations with FLUENT Files

If you are a user of APDL, ANSYS Parametric Design Language, what I have written above about CEL should look familiar. One difference, though, is that while Mechanical APDL is dimensionless, CFX is not. Therefore, CEL definitions contain units where appropriate.

CEL is typically used in CFX-Pre and CFD-Post. A handy editor is available to assist in the definition of the expressions. Most of the activity is enabled by right clicking.

Virtually any quantity in CFX that requires a value input can make use of CEL, including boundary conditions and material properties. CEL can also be used to access and enhance results information. Expressions defined in CEL can be used in design point studies in ANSYS Workbench, either as input or output parameters.

So, what kind of things can you do in an expression? In addition to accessing simulation information and storing it as a variable, you can manipulate values using operators such as add, subtract, multiply, divide, and raise to a power. You can also use built-in functions such as sine, cosine, tangent and other trig functions, exponent, log, square root, absolute value, minimum, maximum, etc.

There are many predefined values, including some common CFD constants such as pi, the universal gas constant, and Avogadro’s number. The available options are different in CFX pre vs. CFD Post, with relevant choices for each.

In CFX Pre, expressions are accessed by double clicking on Expressions in the tree. That takes you to the expression editor, as shown here:

image

Notice how units are defined for each expression, but they can be mixed if desired.

Regarding CFD Post, the example below shows three expressions defined in CFD Post. The expressions within the box are user-defined. The other expressions listed are setup automatically.

The values for forceX1 and forceX2 are calculated by extracting X-direction forces on two different surfaces. The surface names were defined in ANSYS Meshing in this case, as Named Selections. The value fdiffx is calculated by subtracting forceX1 from forceX2. The resulting value, fdiffx, has been specified as an output parameter in Workbench; hence the P-> symbol next to the name.

clip_image004

New expressions are created by right-clicking in the Expressions tab. The new expression value is given a name, then the definition is input, typically by right clicking and selecting from the menus of available quantities, like this:

clip_image006

The location of application for an expression can also be selected by right clicking:

clip_image008

So we’ve got our variables defined using CEL. Now what? Here are some things we can do with CEL variables:

1. Use them as inputs such as material properties or boundary condition values in CFX. If we are running multiple cases, it is typically much easier to define quantities that we want to vary this way. The values can then be changes in the Expression Window, or if defined as a parameter in Workbench, in the parameters view as part of a parameter study.

2. Use them for reporting results quantities of interest, such as forces at a desired location.

3. Use them as input or output parameters in a design point study or design optimization.

Hopefully this brief introduction gives you a glimpse at the power of CEL. In a future article we will look at using CEL for more advanced functionality, such as applying ramped or time varying boundary conditions, using IF statements, and monitoring expression values during solution.

ANSYS Acquires EVEN, the Makers of the ANSYS Composite PrepPost Tool (ACP)

Good news out there in ANSYS land.  ANSYS, Inc.  just made the relationship with EVEN as close as possible – by acquiring them.  Here at PADT it was love at first sight when we first were introduced to the ANSYS Composite PrepPost (ACP) add-on.  The solver capabilities in ANSYS Mechanical APDL have been very strong for composite modeling for some time.  But the pain and suffering required to set up a complex composite geometry kept many users from accessing those fantastic elements.  ACP solved that problem by providing a tool that takes care of the bookeeping and geometry issues involved in building an accurate model of composite layups.

Here is the official press release.

145struct-3dcomposites-results-bg

With this acquisition ANSYS, Inc. has secured the future development of this tool and given all of us in the ANSYS world even better access to the consulting team at EVEN.  You can learn more about the ACP tool on our ACP page.  We also have an older blog posting on ACP when it came out.  We also did a seminar on the last release, here is the recording to that. [probably time to write an updated posting on newer capabilities…].

Learn more about EVEN on their web site.

This is great news, and we can not wait to see further improvements in the composite modeling capabilities for the ANSYS Product family.