Friday Flownex Tech Tips #8

How to Setup an External Shared Database in Flownex

Hi Folks! Another short and simple tech tip this week; How to set up an external shared database in Flownex. When working as part of a team it makes sense to share resources. Once one person builds a custom component or defines a complex fluid we want to share that with everyone in our organization. Today I will show you how to create and maintain a shared database. For todays example we are working in Flownex version 8.12.7.4334

Creating the Database

Start by opening up Flownex – it can be a new project or any existing project. On the right side of the GUI we’ll want to navigate to the Components pane. At the top of the pane you’ll see a variety of buttons. Depending on your installation the buttons you see may be different than the ones in the visual below. To create a new database we’ll want to click the Create Database icon.

Then we’ll want to navigate to a shared network location and pick an appropriate folder that will be accessible to others in our organization. I would encourage keeping the directory name as short as possible (I.E. a top level location) so that there is no concern for a deep database hitting windows character limit.

Once we have chosen a location and clicked OK we will see our shared database in both the Components pane and in the Charts and Lookup Tables pane. We’ll need to right-click on the newly created shared database and create a New Library in which we will place our shared components. Creating multiple libraries can be useful when grouping similar components or to discretize between different groups in the organization which are using Flownex.

Adding components to an External Database

To add custom components to our external database we simply drag and drop them from our project database. If you want to learn how to create a custom compound component please reference our previous blog post on this topic here. Choosing “Copy” will create a copy of the component in the shared database, choosing “Move” will move the component to the shared database and any references to that component in the project will now reference the component from the external database.

Adding a fluid to an External Database

To add a custom fluid to our external database the process is very similar to the procedure for the custom compound component. The only difference is that we want to do this drag and drop action within the Charts and Lookup Tables pane instead of the Components pane. If you need a refresher on creating or importing custom fluids here is a blog post on that topic!

Connecting to an External Database

Once a user has created a shared database it is now possible for other users to connect to that database. the process of connecting to an external database is quite simple. On the Components pane we will again look at the buttons near the top. We will want to click the Connect Database icon and then navigate to the shared location of the external database. Once there we will find the database configuration file, .dbcfg. We should select this file and click OK. You are now connected to the shared database!

Bonus Tips!

  • To lock an external database to avoid unintentional editing you can right-click on the database in Flownex and select “Lock Database”.
  • If you need to migrate the database to another location on your server you can copy the entirety of the folder and move it. Users will simply need to follow the same procedure of connecting to an external database the next time they open Flownex.
  • Special Note: If sending a network to someone external to your organization it is important to note that components or references from external databases will not be included by default. These components or charts will need to be copied to the project database and then the shared database will need to be disconnected before archiving the project for transfer. A second option would be to share the database itself.

Friday Flownex Tech Tips #7

Using Views to bridge networks across multiple pages

When building our networks it may be necessary to utilize multiple pages for a single network. This could be simply because our network is large and complex, or because it simply makes sense to keep certain branches or processes separate. In this tech tip we will show how to use “views” to continue networks across multiple pages. For this example we are using Flownex version 8.12.7.4334.

Views

In Flownex the way that we continue networks across pages or even just jumping across portions of the same page is through the use of “views”. To create a view we right-click on the component we’d like to use as our bridge and select copy. Then navigate to where we’d like to continue our network and right-click, “paste view”.

Note that this is not really a “copy” of the previous node; it is another instance of the exact same node. I personally recommend using nodes for views over flow components so that they are less likely to be mistaken as separate components.

Regarding views

A couple of things to note regarding view components. First, you’ll notice the floating “V” to the left of the component. This indicates that the component is a view. It’s a good idea to leave this layer on – if for some reason you cannot see the “V” it can be turned on under the view ribbon:

Secondly, to find out where the views are located in your network the simplest way to jump between them is to right-click on an existing view and select the “views” option. Here you can navigate to any other views by simply clicking on them. Note that you are not limited to only two instances of a node (two views). There could be many instances across many pages.

Common uses of views could be to connect networks built by different engineers, connecting different subsystems that make up a larger network, or even capturing 3D network layouts by building a portion of the network in the x-y plane and using a view to connect to part of the network built in the z-y plane.

Setting up and Solving a PCB and Enclosure for Thermal Simulation in Ansys Icepak Electronic Desktop

The thought of setting up and running a complex PCB and Enclosure thermal model was something that used to strike fear in the heart of engineers. That is no longer true. In this video, we step through the process of importing, setting up, and solving a PCB thermal simulation.

If you have any questions or would like to learn more, please contact us at info@padtinc.com or www.padtinc.com.

Friday Flownex Tech Tips #6

Creating Custom Fluids

Occasionally glossed over, adding custom fluids is a fairly standard operation in Flownex that we don’t think about until it’s necessary. There are a couple of ways to do this which we’ll go over in today’s post. I am working in Flownex 8.12.7.4334.

Creating a mixed fluid

To create a mixed fluid we first need to create a folder for this fluid in our project database. This can be done in the charts and lookup tables pane by right clicking on “mixed fluids” and selecting “add category”. We can create our new fluid by right-clicking on the new folder and selecting “Add a new mixed fluid”. Note we can right-click and rename both the fluid itself and the containing folder.

To define our new mixed fluid we double-click on the new mixed fluid to open the editor. Here we can add the components of our mixed fluids.

Creating a new fluid from scratch

To create a fluid from scratch we repeat the same process of creating a folder and creating a new fluid as above with the exception being that we’d complete these steps under the “Pure Fluids” category. Once this is done we’ll need to double-click or right-click > edit our from scratch fluid and enter in the fluid properties. Note for many properties we can define the relationship with pressure and temperature as constant (non-dependent), table, equation, or script.

Importing a fluid

To import a fluid we will follow the same steps of creating the folder under pure fluids. Now instead of right-clicking and adding new we will right-click and select “import”. Then we simply navigate to our desired fluid file and click “Ok”.

Bonus Tips!

  • In the window where you define your fluid you’ll notice the “Test” button. This feature can be utilized to test created fluids to confirm properties against known properties for given pressures and temperatures.
  • We can also copy and paste fluids from the master database into the project database to give us a good starting point for creating similar fluids (or extending properties to higher/lower temps/pressures).

Friday Flownex Tech Tips #5

Custom Result Layers!

The result layers in Flownex have evolved quite a bit over the last few iterations of the code. Although we might typically associate color-gradient results more with 3D CFD, it does have a place in 1D system modeling. Taking advantage of results layers in Flownex can give a very quick understanding of what is going on with our system, and, with a little customization, can be incredibly powerful as an addition to our design and analysis toolbelt. In this post I am using Flownex version 8.12.7.4334.

How to create a result layer

To create a custom result layer we must navigate to the results ribbon and select result layer setup.

First we want to right-click in the Result Layers window and add a new result layer.

There are two options to add the schema for our result layer. The first is to right-click on the Selected Result Layer Schemas and add either a specific or generic schema. The second, and my PREFERRED, method is to simply drag and drop results from components on the canvas into this window:

Note that I want to multi-select any component types which will be included in this result layer. This could be any flow components which share a common result such as “quality”. I also convert to generic because I want the result layer to apply to all pipes, not just the pipe I initially drag and drop the property from.

Defining the custom result layer

In this example I have a two-phase water network with a cold external temperature. I want to create a result layer to quickly see if the water is in the gas phase, liquid phase, or somewhere in-between. The problem I have been tasked with solving is ensuring that the water never condenses. I will need to determine where we may need to add additional heat flux to the network.

We can use the Quality result property to determine the phase of our fluid. Quality < 0 indicates fully liquid, quality between 0 and 1 indicates liquid/gas mixture, greater than 1 indicates fully vapor.

To make this work as intended I can set up a gradient with three increments going from -1 to 2. The idea being the lowest increment would encompass -1 to 0, middle increment would be 0 to 1, and the top increment would be 1 to 2. For the gradient mode I made sure to pick <-[MinValue, MaxValue]-> so that the max and min increments would extend past the specified range.

As we apply this to our network we can easily see that we do, in fact, have a phase change from gas at the inlet, to mixture in the second two component, to fully liquid near the outlet.

I may decide to add a heater to our outlet pipe and perhaps a thicker insulative layer to all three to attempt to keep the water in gas phase throughout the system.

Bonus Tip!

  • Result layers can also be super handy when troubleshooting to quickly identify large pressure differentials, choking points, or other outlying fluid properties.

Flownex Friday Tech Tips #4

How to make a great compound component!

Compound components make it easy and efficient to reuse the same collection of components over and over throughout your models. In this post I’ll be going over the basics of making a user-friendly and aesthetically pleasing compound component. In this example I am working in Flownex Version 8.12.7.4334

How to create a compound component

To create a compound component we must first create a local library in the project database. This can be done by right-clicking on the project database in the components pane and select “New Library”.

We can name our new library and choose a picture if desired:

To create our compound component we just need to right-click on the new library and select “New Compound Item”

To build our compound component we’ll use the “edit” function on the compound component. In this example I am building a Lohm resistor component. It’s a good idea to test my component on a separate page to make sure scripts interact as expected and validate results against some given test cases.

Let’s make it functional!

To define the inputs and results we’d like to expose to the user we right-click on the new compound component in the library and select “component setup”.

To add inputs and results we need to navigate to the Compound Setup ribbon and then simply drag and drop inputs and results into the Selected Properties window. Note that we can even grab whole categories of inputs or results to save time!

Now those inputs and results will appear to the user when they add this compound component to their canvas!

Let’s make it pretty!

To make our component more aesthetically appealing let’s replace the boring default icon with one more representative of our Lohm Resistor. To do this we right-click on our compound component again and this time stay in the “Display Setup” tab. We can click the “Choose Picture” button to upload our own icon. To refresh on the image selector check out the blog post on adding a background image.

To correct the aspect ratio so that it shows up looking less squished on our canvas we want to change the settings back in the Compound Setup tab. I’ll change it to 133×34 so that it appears similar in scale to the standard flow components but correct in the aspect ratio.

Now when we place our compound component onto our canvas it should look great!

Bonus Tips!

  • In the compound component setup there is a third ribbon called “Tooltips Setup”. This is where we can define what properties show up when we hover our mouse over the component.
  • Don’t forget we can save compound components in a “database” on a server so that they can be accessed by every Flownex user in your organization.

Friday Flownex Tech Tips #3

Input Sheet Hacks!

Building on last week’s global parameters example I’d like to show some tricks within the input sheet environment. These are really more so excel tricks – but the methodology within Flownex is slightly different. In this example I am working in Flownex Version 8.12.7.4334

Refresher on using Input Sheets

To create a new Input Sheet we will navigate to the project tab, then select “Excel Reports/Pages”, right-click on the Input Sheets folder, and select “New Input Sheet”

To add inputs to the sheet it’s as simple as dragging and dropping the inputs from the component into the desired cell in the Input Sheet.

Formatting our Input Sheet

I like to use color, shading, and border to specify which cells contain inputs so that if I pass the project off to a client or colleague it is immediately clear what variables they should be editing and which cells they shouldn’t change.

To modify the formatting we need to enter “workbook designer”. This is done by right-clicking on the input sheet and selecting “workbook designer”

All of the standard Excel-type formatting is available here, including adding graphs, images, etc. Typical operations are found in the format menu on the top ribbon.

Drop Downs

A more advanced Excel operation I like to integrate into these types of input sheets is a drop-down where multiple inputs may be tied to a given condition. In the example below I set up a scenario for given ambient temperature for cold day, hot day, and nominal day.

In the workbook designer we will click “insert” > “worksheet” and build our list of environmental conditions. On the right we will set the associated temperatures.

Back on Sheet1 we will need to set up the data validation cell reference to this table. Select the cell where we want to add the dropdown and go to data > validation. We will choose list, and reference cells B2:B4 of Sheet2.

We will need to use VLOOKUP to associate the temp to another cell based on this dropdown. Where this becomes valuable is when we have many input variables tied to each of the dropdown selections.

In this example, since we’ve put the applicable temps a single column to the right the syntax for VLOOKUP will be “=VLOOKUP(B5,Sheet2!B2:C4,2,FALSE)”. After this is added it should behave as follows:

As I mentioned before, this trick becomes very powerful when you have many different environmental or operational inputs tied to a single “scenario” that you want to model in an individual run rather than in a parameter study.

Bonus Tip!

  • All of these tricks can be applied to any of the excel-type sheets within Flownex. Remember to be careful with parameter tables as the inputs and results are tied to the columns instead of individual cells.

Using the ACT Console for Automation in Ansys Mechanical

Editor’s Note: The other day we got a tech support question. A user was creating lots of STL’s from his Ansys Mechanical results and was tired of clicking so much. They were wondering if we could give them a few hints to get going. Alex Grishen, Matt Sutton, and Joe Woodward all pitched in on the email thread. Then, seeing how useful it was Alex converted it into a PowerPoint that we could share with other users.

A big change in Ansys Mechanical scripting with ACT is the introduction of a recording button. This allows you to record your actions as a starting point for your script. The tutorial also includes links to other resources.

If you find yourself clicking away and thinking, “there has got to be a way to automate this,” then you need to try automation out.

PADT-ANSYS-ACT_Automation

A Comparison of ANSYS Fluent Meshing and Ansys Meshing for CFD

If you have ventured into Computational Fluid Dynamics (CFD), you know that the meshing process can be laborious, but critical to the solve-time and solution accuracy. You may have also noticed that there are a lot of meshing tools to choose from, and while it is tempting to think of them as a commodity, they certainly are not. The types of meshes and the workflows available in the tool can make or break your simulation (and your mood). 

Ansys Meshing and Ansys Fluent Meshing are the two most used Ansys meshing tools for CFD. It is thus useful to learn about the commonality and difference between the two. Common questions new (and existing users) have are:

  • How do the two tools fit into the Ansys CFD workflow?
  • How are the two tools different?
  • When is one tool preferred over the other?

Let us start with how these two fit into the Ansys CFD workflow. In particular, let us cover how both integrate with Ansys Workbench.

Ansys Meshing Workbench Integration

Ansys meshing is a staple of the workbench environment. Its physics-aware mesh settings allow you to tailor meshes for Electromagnetics, Structural FEA, CFD, etc. One can drag a mesh component system onto the project or bring it in as part of an analysis system. Figure 1 shows Ansys meshing component in Workbench as well as the CFD analysis systems with Ansys meshing. It is seamless.

Figure 1: Ansys Meshing Workbench Integration

Fluent Meshing Workbench Integration

Many users use Fluent Meshing in standalone mode instead of Workbench as part of the “New Fluent Experience Workflow.” However, Fluent meshing is available in Workbench as well. You can import Fluent Meshes to Polyflow and CFX, not only Fluent. Note that to do so, one must enable the beta feature in the workbench options as shown in Figure 2 to allow connections between Fluent Meshing and Polyflow or CFX.

Figure 2: Fluent Meshing Workbench Integration

Meshing Topologies

Fundamental to meshing is cell topology. It is important to first note that Fluent meshing is a strictly 3D mesher, while Ansys meshing can generate 2D and 3D meshes. In 3D, both tools can generate meshes with tet, hex, prism/wedge, and pyramid elements. Fluent’s Mosaic Meshing technology sets itself apart by leveraging conformal polyhedron elements. Polys offer advantages over tets in that they greatly reduce cell count, offer good gradient calculations because of the additional faces, while still being easy to use for complex geometries.

Figure 3: 3D Element Types, Polyhedrons are Only Available in Fluent Meshing

Conformal vs Nonconformal Meshes

Keep in mind that not all CFD tools are compatible with non-conformal meshes. Reminder, conformal meshes match every node to a node in the adjacent cells. Ansys CFD tools can handle non-conformal mesh mapping at interfaces i.e. a coarse solid mesh interface with a fine fluid mesh. However, CFX and Polyflow are not compatible with non-conformal cell structures like standard Fluent meshing hex-core meshes with 1/8 octree transitions. Do not worry though, Fluent meshing users can now easily fill in these transitions with pyramids via the advanced setting “Avoid 1/8 octree transition” and thus achieve a conformal cell structure.  

Figure 4: Fluent Meshing Conformal Hex-Core is Compatible with Ansys CFX and Polyflow

Volume Mesh Methods

The volume mesh methods available in these two tools have some commonality but also significant differences. Often the decision as to which tool should depend on which mesh method is most appropriate for your geometry and your real-world constraints like computing power, project deadlines, accuracy requirements, etc. For example, if your manager comes by your desk and tells you he wants a rough estimate for pressure drop through a manifold by the end of the day, you probably do not have time to block off a structured mesh with perfect boundary layer resolution. Figures 5 and 6 provide a high-level comparison of the methods available in both tools and you should use them to guide you as you plan your CFD model.

Figure 5: Ansys Meshing Volume CFD Mesh Methods

Figure 6: Fluent Meshing Volume Mesh Methods

Meshing Workflows

So how do you use these tools? Let us review that next because while the general steps are similar, the workflow from cad to finished mesh differs significantly.

Ansys Meshing Workflow

I would sum up the Ansys meshing workflow as flexible, parametric, and iterative. It is flexible in that you can mix/match mesh methods for different bodies and sequence them as you wish. Your control of the mesh can be as simple as accepting the physics-aware global mesh control defaults or you can take a fine comb and specify edge, node, face, body sizing, etc. in any sequence to achieve mesh refinement exactly where you want it. It is parametric in that you can have all controls be driven by user-defined name selections. These name selections can be automated based on size/ location/ associativity via the worksheet tool allowing you to update your geometry and have mesh settings propagate through. Lastly, it is iterative because you can generate the mesh for sections of the model, check quality metrics, and iterate until the mesh is ready for analysis.

Figure 7: Ansys meshing Workflow

Fluent Meshing Task-Based Workflows

Two task-based workflows are available in Fluent meshing and they cover most use cases: Watertight and Fault-Tolerant. These workflows guide users step by step through the meshing process beginning with geometry and import and ending in volume mesh generation. These workflows are customizable and can be saved to be re-used in future analyses.

Figure 8 compares the two workflows at a high level. As the names suggest, the watertight workflow is used for fluid and/or solid geometry that is relatively clean and watertight. Most users opt for this workflow when they are fortunate enough to have clean geometry or after using the capable geometry clean-up tools in Ansys Spaceclaim.

However, sometimes CAD is very dirty and/or composed of many parts that make it a laborious undertaking to clean up. The fault-tolerant meshing (FTM) workflow excels here. FTM can be used with all major CAD formats like STL, JT, etc. The best way to visualize FTM for external flow applications is to picture shrink wrapping a car. For internal flow, picture blowing up a balloon inside the part. The “wrapping” process covers up small leakages and errors in the CAD. You use the wrap to build a surface mesh and then a volume mesh.

Figure 8: Fluent Meshing Task-Based Meshing Workflows

Usability Features

Figure 9 lists some notable usability features in both tools to consider when deciding which tool is best for the project. The list is of course not exhaustive, but those listed are notable when it comes to having an efficient meshing experience. 

Figure 9: Comparison of Usability Features in Ansys Meshing and Fluent Meshing

Summary

To summarize, both Ansys Meshing and Fluent Meshing generate high quality meshes and they provide convenient usability features for efficient and accurate CFD analysis.

Notable differences between the two include:

  • Cell types/ Methods:
    • Fluent Meshing’s Mosaic-Enabled Parallel Poly-Hexcore Meshing combines high geometry fidelity, cell quality and fast solve time.
    • Ansys Meshing Sweep and Multi zone meshing enable users to create structured (primarily) hex meshes with intuitive control and flexibility.
  • Workflows
    • Fluent Meshing’s task-based workflows are easy to use and tailored to the most common CFD applications.
    • Ansys Meshing provides a flexible environment allowing users to leverage smart physics-based global controls while also providing detailed local mesh control.
  • Usability Features
    • Fluent meshing offers the ability to create custom workflows that can include journal files, local sizing and automatic mesh improvement tasks.
    • Ansys meshing worksheets enable mesh operation recording and name selection definition based on size, location, or topology for mesh control

Some readers are likely still interested in the answer to the blunt question: Which tool should I use?

Well, it depends:

  • When using Fluent to solve, the Poly-Hexcore mesh topology offers a clear advantage making Fluent Meshing the likely choice.
  • When using CFX or Polyflow, you can still leverage conformal hex-core meshing or tetrahedral meshes in Fluent Meshing, but the robust integration of Ansys meshing with CFX/ Polyflow makes it the preferred tool.
  • If a structured hex mesh is needed or preferred to minimize mesh size or to align the mesh with the flow direction everywhere, then Ansys meshing offers a more user-friendly environment for this topology via sweep or multizone meshing.

Ansys Mechanical Selection Information: Even More Useful Than We Thought

I have always known that the Selection Information window is extremely useful, giving us properties like Surface Area, Edge length, and the distance between two selected nodes.

But it will also do a few things that I had not known about, until recently. 

Normally you can Export the Nodal Locations with a solution result plot, but for that you have to solve the model first. If you have not yet solved the model, you can still get the nodal locations using the Selection Information window, though it is a little finicky.

  1. Open the Selection information window from the Home tab.
  1. Select all the nodes by selecting one node and hitting CTRL-A.
  1. In the Selection Information window, click the ‘Node ID’ header to sort by Node ID number.
  1. Select the first cell of the data you want.
  1. Scroll all the way to the bottom of the Window, and while holding down the Shift key, select the last row of the adjacent columns that you want to select.
  1. Once selected, right-click on it and hit “Export Text File”, or “Copy” and then Paste the data into Excel.

The trick is that the “Export Text File” and “Copy” do not show up if you pick the headers to select the entire columns like you do in Excel.

You can do the same thing to thing to get the mass properties of an assembly.

Selecting bodies will give you the mass, centroid, and principal moments of inertia. You can get this in the Worksheet view when the Geometry branch is highlighted.  Unlike the Worksheet, however, we can change the options to show the Moments of inertia about a given coordinate system.

We can now export out the six moments of inertia about any given coordinate system.  Next, I will attempt the find the ACT calls to do the same thing.   Stay tuned…

Simulation Workflow from Ansys Electronic Desktop Circuit to Ansys HFSS

ANSYS Electronics Desktop (AEDT) is a collection of powerful tools for simulation. AEDT Circuit provides time domain as well as frequency domain analyses. AEDT Circuit has high execution speed and robust ability to handle circuits of active and passive elements. Analysis types range from DC, Linear Networks (frequency domain), Transient, Oscillator, TV Noise, Envelope, Harmonic Balance, VerifEye (Statistical Eye Diagram), AMI Analysis, and more, with integrated support for additional co-simulation with tools like HSPICE or Matlab.

AEDT Circuit also provides an easy way to create and simulate planar structures such as microstrip, stripline, coupled lines, co-planar strips, co-planar waveguides, and other Printed Circuit Board (PCB) elements which can then be converted into a physical layout of the PCB. In this blog a simple workflow is explained to generate and model a planar structure in Circuit, then export the circuit model to HFSS 3D layout and HFSS for further analysis.

Define your substrate:

After inserting a Circuit Design, right-click on Data under project tree, choose Add Substrate Definition. This brings you to Substrate Defintion window that gives you many optios of substate types. You can choose the type of substarte you need and enter the dielectric and trace metalization information as shown in Figure 1. This substrate is used in calucalation of line impedances.

(a)

(b)

Figure 1. (a) Substrate Definition options of substrate types, (b) the definition of strapline used in this blog.

Define your stackup:

The stackup in Circuit is very similar to the stackup in HFSS 3D Layout. Please note that the definition of substrate is not automatically transferred to the stackup. The stackup needs to be defined by the user. Select the Schematic tab and from the top banner choose Stackup. Then define each layer. This stackup will be used in creating the layout and transferring it to HFSS 3D Layout.  Figure 2 shows the stackup used for the FR4 substrate that was defined in Figure 1(b).

Figure 2. Stackup definition that will be used to transfer the layout to HFSS 3D Layout.

Create the circuit:

Circuit provides a large selection of component libraries. To see the Component Libraries, click on View and check Component Libraries. In the Component Libraries window look for Distributed and expand it. Under this category you see different types of PCB structures. We will use Stripline library. Expanding Stripline library there are various categories, including Transmission Lines. We need Transmission Line Physical Length component, as we would like to use pieces of transmission line to create an ideal branch line coupler. You notice by hovering the cursor on the name of the component a small information windows shows the symbol and information about the component, alternatively you can right-click on the name of the component and choose “View Component Help” to get to the complete help page about the component. Once a component is selected and placed in the circuit it will also appear under the Project Components list at the bottom of the Component Libraries list. This provides a quick way to reuse them (Figure 3).

Figure 3. (a) Component Libraries, (b) Project Components and information window.

Let’s choose a physical length transmission line and place it on the schematic window. By double clicking on the symbol the Properties window opens and can be modified. Explicit values or parameters can be used to define the line properties.

Are you starting to calculate the line impedance to figure out the dimensions? Wait, there is a tool here that helps you do that. Click on TRL to open the line calculator. The line can be synthesized based on its impedance and electrical size by choosing the correct frequency and clicking on Synthesize (Figure 4). Using physical length transmission lines (50 and 35 ohms) and Tee lines and 4 ports I created an ideal branch line coupler (Figure 5). I ran a frequency analysis to make sure the circuit is working properly.

Before moving on to export the layout to HFSS 3D layout we can do one more step. To keep the substrate definition and reuse it layer, click on File->Save As Technology File. This would save the definition of stripline substrate in the personal library. Next step is to export the layout to HFSS 3D layout.

Figure 4. Properties and TRL windows.

Figure 5. Branch line coupler schematic.

Export to HFSS 3D Layout:

Under Schematic tab, click on Layout, or from the top menu choose Circuit->Layout Editor. Notice that this layout editor is very similar to the HFSS 3D Layout window. Click Ctrl+A, to select everything. Then choose Draw form the top banner and click on Align MW Ports (Figure 6), notice that other tools are also available under Draw, such as Sanitize Layout and Geometry Healing. You might need to do a bit more corrections and cleaning before exporting the layout. Before exporting the geometry, you can also check the HFSS Airbox using Layout->Draw HFSS Airbox.

Figure 6. Aligning ports.

You may change the orientation to Isometric for a better view of the box (Figure 7).

Figure 7. Layout editor in Isometric orientation, showing the HFSS airbox.

Make sure everything is still selected or select them with Ctrl+A, then under Edit, choose Copy to HFSS 3D Layout.  Now an HFSS 3D Layout design is created. Open the design. There might be a few things you like to change. Expand the ports, the name of the ports might have changed. You also note that the ports are of Gap type. You can select the port and in the Properties window, under HFSS click on Gap and choose the Wave port. Just note that the wave port cannot be internal to the design. You might need to adjust the air box size or create PEC port caps in HFSS later.

The second point to consider is about the parameters defined in Circuit. Remember that we defined W35 and W50 as the line widths in Circuit. The parameter are transferred but several local variables are also created based on them. For example click on the 50 ohm line. The width is now shown as a new parameter. You can see the complete list of parameters that are created by choosing HFSS 3D Layout->Design Parameters. Under the Parameters Default you still see W35 and W50, but moving to Local Variables tab you see the parameters created based on the Parameters Default.

Figure 8. Properties window.

Export to HFSS:

Any HFSS 3D Layout design can be exported to HFSS. Click on Analysis from the project three. Right-click and Add HFSS Solution Setup (Figure 9). There is no need to run this analysis. It just needs to be created. Right-click on the HFSS Setup that was just created, select Export->HFSS Model (Figure 10). Select the name and location for this file. Open this file and examine the model. Notice that the parameters are not transferred to HFSS model, this is because all parts of the model are imported (Figure 11). The default ports (Gap ports) appear as lumped port. If you changed the Gap ports to Wave ports in HFSS 3D Layout, it is now the time to add the PEC port caps or change the airbox to make sure ports are not internal to the model.

Figure 9. Adding HFSS solution setup.

Figure 10. Exporting the layout to an HFSS model.

Figure 11. HFSS model.

It is important to note that the type of analysis in Circuit is different than HFSS which will lead to slightly different result (Figure 12), which is expected and emphasizes the value of simulating structures in a full-wave field simulator like HFSS.

(a)

(b)

Figure 12. (a) Branch-line coupler S parameters from Circuit model, (b) the imported HFSS branch-line coupler S parameters.

Conclusion

This was a short blog showing the workflow for importing PCB and planar designs from AEDT Circuit to HFSS 3D Layout and HFSS. The workflow is a good method to quickly create the HFSS model of a planar structure.

If you would like more information related to this topic or have any questions, please reach out to us at info@padtinc.com.

Project Management for Non-Linear Dynamics Simulation with ANSYS LS-DYNA

We spend a lot of time writing articles about how to use the very capable tools that are available from Ansys, Inc., but tend to skip over the project management side of simulation. But, project management can be as important, especially for challenging simulations, as the technical aspects.  We recently completed a series of Non-Linear Dynamics simulations with ANSYS LS-DYNA and ended up learning a lesson or two about how to get such projects done on time and on budget.

What is Non-Linear Dynamics Simulation, and what makes it different?

When materials are deformed so fast that the rate of strain changes material properties, we refer to that as non-linear dynamics. In non-linear structural simulation, the material may be distorting in a non-linear way (usually plasticity), but the non-linear properties are dynamic. Because of this, time gets involved in the equation, as do non-linear material properties.  Think car crash, metal forming, drop, bird impact on windshields and jet engine blades, and bullets going through stuff. 

There are various software tools in the Ansys family that can do the non-linear dynamics, but our preferred program is Ansys LS-Dyna.  It is an explicit dynamics solver that solves structural, fluid, thermal, and other physics.  It is an amazing program that does many things. Still, for the class of problem we are talking about here, we only care about time-dependent material non-linearity for structural deformation.

Setting expectations

Before beginning a project of any type, it is important to establish goals.  Non-linear dynamics is no different. What is different is that you have to be realistic about what goals you can achieve.  The events you are modeling are, by their very nature are very, well, non-linear. The answers you calculate can change drastically with mesh, loads, material properties, and solver parameters.

If you need high accuracy, then you need to set the expectation that it will take longer to solve, and you have to be more careful with your model. If you don’t need accuracy and you may be looking for relative improvements, like seeing if one geometry option makes things better or worse in your design, then you can back off and be less detailed.  This difference can have a large impact on your schedule and overall cost.

So before you plan, before you start gathering information, decide what you expect to get out of your model.

Planning for the Job

Once you have set your expectations and goals, it’s time to map out the project. It is not that different from most structural or vibration jobs. You still have to get geometry, create a mesh, define loads and constraints, apply material models, run, and post processes.

However, each of those steps can be different for non-linear dynamics.  Here are some critical issues to be aware of when producing a schedule:

  • Geometry
    If you are working with thin, especially sheet metal, parts, you probably want to use shells. They are more efficient and can be more accurate in many situations. You need to not just have a CAD model, but also a model that has the mid-plane surface defined as well as thicknesses.

    You also want to look at removing tiny features that don’t impact the solution.  The run time in an explicit dynamic solver is driven by the smallest element size. If you have tiny features relative to your overall geometry, capturing them can drive up your run times.  So set aside time to remove or simplify them.
  • Meshing
    As mentioned above, small elements can drive up run time. Also, distorted elements or elements that become distorted can cause your solutions to diverge and fail. You may (probably) need to create a hexahedral (brick) mesh.  All of these things require more time to create the mesh, and from a project standpoint, you need to plan for that.
  • Contact
    Ansys LS-Dyan rocks at contact.  It is pretty much automatic in most cases. So here, you don’t have to set aside time to define and tweak your contacts to get convergence. But there are many options, including erosion and other fancy options. Understand your contact needs and track and manage them.
  • Loads
    Everything in LS-DYNA is time-dependent, and loads are no exception.  If you are lucky, your load or loads are constant over time. But if not, you need to set aside time to characterize those loads and get them specified in the right format.  In addition, loads can be calculated, say the results of an explosion or an airbag deployment. These use Equation of State models to calculate forces on the fly and are a major advantage of the tool.
  • Solving
    From a project management standpoint, it is very important to plan for relatively long solves, restarts, and if possible, solving several jobs at the same time.  Non-linear dynamics is computationally intense. Do some trade studies on computer resources vs. schedule time.  Is it worth investing in more cores to solve faster or just let it chug away on a smaller computer? Also, don’t assume a single run to get the answer you want. Often you need to run the model multiple times before you understand what is really going on.

  • Post-processing
    We are solving highly non-linear events, and understanding what the model is telling us is the whole point of the exercise.  Budget time for processing massive amounts of data over time and reducing it into something useful. Also, time is needed to create animations.  The analyst may also find themselves buried in the weeds at the post-processing stage, and project management should take on the role of reviewing the results from a big picture perspective and drive what tables, graphs, plots, and animations are created.

Keeping the project on the rails when things are literally blowing up and crashing

The dynamic nature of both the events being modeled and the process of creating and running the models make for a less predictable progression for the project.  A project manager needs to pay close attention to what is going on at all times and pull the engineers doing the work back up for air to find out where things are going. 

Here are some things to watch out for:

  • Building a model that is more complex than needed
  • Making sure that the situation being simulated in the model is what the customer needs simulated
  • Too much time being spent to fit the model on a limited computer. Get a bigger computer.
  • The simulation engineer is fixated on details that don’t impact the solution much
  • Oversimplification of components, connections, and loads.
  • Science project mode – spending time trying to learn basic information or trying to get something new to work, and not solving a specific problem.

One of, if not the most important roles for the project manager is communication.  Constantly interacting with the engineers (without nagging) and with the customer (the person who will consume the results) is critical.  This is not a throw-it-over-the-wall type of project.  And the more you accomplish, often the more you have new questions.  It may take two weeks or nine months. But either way, the PM needs to be constantly talking to everyone involved.

And yes, here at PADT, we have actually modeled a train car going off the rails. The project, though, stayed on track because we kept a close watch and stayed focus on the specifications. Things did surprise us, and we had to change some of the model when we got the first results, but we planned for that, communicated with the customer, and kept our changes to what was needed to answer the customer’s questions.

Our cars have incredible crash safety, very few planes fail because of bird ingestion, and we create amazing components out of formed sheet metal because of this type of non-linear dynamic simulation, and in most cases, Ansys LS-Dyna. Proper project management that recognizes the challenges and differences for this type of project can make a massive variety of products even better.

Running Ansys Fluent on Ansys Cloud using a Journal File and a UDF

Cloud computing is becoming more and more popular with the recent changes in the work environment, and Ansys Cloud solution is no exception. While running a Fluent simulation on the Ansys Cloud is now a more familiar task among CFD users since its introduction around a year ago, there are still some cases that might be challenging and need more attention. One of these cases is performing a Fluent simulation using a UDF.

The first thing users might notice when launching an Ansys Cloud Fluent job through the ACT extension is that the UDF files won’t be uploaded, which is why they might see their cases are failing if they don’t pay extra attention. In order to avoid this issue, users must follow one of the options below.

The first and most commonly used method to launch a Fluent job with a UDF is via the CLI (Command Line Interface). With this method, the .c and all other files in the working directory will be uploaded to the Cloud. Then UDF will then be compiled on the Cloud.

Since the Cloud computers already have compilers installed, one doesn’t need to anything special. The local directory should have .c file, case file with UDF plugged-in, and a journal file. As a side note, Ansys Fluent 19.3 and higher supports expressions that can be used to define boundary conditions instead of UDF. Starting with Ansys Fluent 2020R2, the C compiler is built-in with the software. Please refer to the product documentation.

We highly recommend that the user should have the required compiler installed locally to compile, hook, and test the routine before submitting it to the cloud.

If you have not used CLI to submit a Fluent job to the clouds, please read the article below:

https://cloudforum.ansys.com/t/80njy9/how-to-running-fluent-on-cloud-using-a-journal-file-and-udf

In short, you have to open a command prompt (cmd.exe) and navigate to your working folder. This folder should contain all the Fluent input files needed for the run: journal file, case file, etc. Once you login using ansyscloudcli command, you are ready to submit your job on the cloud.

Below is a common example for the commands to run Fluent on the cloud:

ansyscloudcli runfluent -j fluent_via_journal --jou tjunction.jou –q Flexible_eastus_Standard_HC44rs_2020r2 -n 1 -m 36 -v 2020r2

Here is some description of these commands:

> AnsysCloudCLI runFluent -j <job name> [--jou <journal>] -q <queue>  [-n <num nodes>] [-m <max cores>] -v <solver version>
-j: job name
-q: name of the queue 
    (run: ansyscloudcli getQueues, to get a list of all queues. Queue name is case sensitive)
-i: name of the input file for the solver
--jou: journal to execute (if set, -i is not used)
-n: number of nodes
-m: (optional) max number of cores. Useful if you want to make a run with 4 cores on a computer with 16 cores
-v: target solver version

The second method is to compile the UDF locally and upload all files to a virtual desktop infrastructure (VDI) session. Then the compiled UDF can be used with Fluent through the VDI session. Note that the UDF can’t be compiled on a VDI session with versions 2020R2 and earlier.

Lastly, with 2021R1 Fluent has a built in Clang compiler which will allow you to compile a UDF in a VDI session. However, the Clang compiler still won’t allow you to submit a Fluent job with a UDF through the ACT.

Ansys Cloud VDI solution running on a local desktop via RDP

Travel Trailer Analysis in ANSYS Discovery

ANSYS Discovery is a wonderful tool for fast and first look structural, fluid flow, and thermal simulations. Discovery gives us the ability to modify geometry very quickly within the interface and to add or remove features to view realtime simulation reactions. This allows us to quickly iterate, explore design changes, and better understand interaction between our design and the environment. Today we are going to be investigating the pressure profile on the exterior of a travel trailer being pulled behind a truck down the highway.

Truck and Trailer with velocity streamlines

In this analysis we are using a 2018 Chevy Silverado 2500 model pulled from GrabCAD with a generic 25 foot travel trailer. Based on described experience we’ve noticed that the roof and sidewalls of a moderately sized travel trailer seem to bow outwards at highway speeds near the front of the trailer.

The first thing to do is to put this model in an enclosure and prescribe a flow condition at the inlet and a pressure boundary at the outlet. Modeling the truck/trailer combo at a speed of ~55 mph (25 m/s) confirms that there is suction (negative pressure) present in these key areas:

Negative Pressure: Truck and Trailer in 25 m/s airflow, -500 Pa isosurface

While the actual roof and sidewall separating could be attributed to poor manufacturing processes we wonder if there could be a design change to minimize negative pressure/suction. One idea would be to incorporate some sort of turbulator to break up the laminar flow. I’ve seen turbulator tape in a zig-zag pattern used in aviation for this specific purpose so we’ll try recreating the travel trailer equivalent and see how it goes.

I started with a zig-zag pattern about 4″ tall on top of the trailer to see if I could “pop the bubble”

This did have the intended consequence and it was curious to see how much impact the turbulator on top of the trailer had on the negative pressure at the sidewall of the trailer:

The next thing I wanted to try was moving the turbulator forward or backward to see the effects. Moving the turbulator towards the aft of the vehicle has limited effects but moving it to different locations within the suction “bubble” seems to effect our -500 Pascal isosurface:

This would seem to indicate the presence of a “sweet spot” for turbulator location that merits further research in either the “Analyze” mode within Ansys Discovery or within Ansys Fluent.

Before I hang up my coat I’d like to investigate one alternate design that I’ve seen more often in automotive applications. I’m going to try adding vertical pillars and see how that goes:

We can easily change the height and position of the pillars to see the resultant effects on the pressure isosurface. The pillars also have a significant effect on the suction bubble but I notice that it has less effect on the suction on the sides of the trailer.

Using Discovery we can quickly and easily iterate on designs, get a first-view of the physics, and determine which change or design merits further investigation. In this analysis we can see that there is most definitely a suction profile at the front of a generic travel trailer. If the suction proves damaging we can see that there are several design changes which will help to mitigate this effect.

For more information on ANSYS Discovery please reach out to info@padtinc.com.

If you would like to play with the models themselves, you can download a zip file with all three models here.

Alternating Stresses in Ansys Mechanical – Part 2: von Mises Stress

Editor’s Note:
The following PowerPoint is from one of PADT’s inhouse experts on linear dynamics, Alex Grishin.

One of the most valuable results that can come from a harmonic response analysis is the predicted alternating stresses in the part. This feeds fatigue and other downstream calculations as well as predicting maximum possible values. Because of the math involved, calculating derived stresses, like Principal Stresses and von Mises Stress can be done in several ways. This post shows how Ansys Mechanical does it and offers an alternative that is considered more accurate for some cases for von Mises. Part 1 covers how to do the same for Principal Stresses.

Alternating_vonMises_Stress

Alex also made this zip file that contains updated macros, an example Mechanical database, and a spreadsheet: