Ten years is a long time in the life of a software product. While ANSYS itself has been around since the early 1970’s and what is now known as ANSYS Mechanical is approaching 20 years old, the user interface for ANSYS Mechanical maintained the same look and feel from version 12.0 in 2009 through version 2019 R1 in 2019. That’s 10 years. Certainly, there were many, many enhancements over that 10 year period, but the look and feel of the Mechanical window remained the same.
With the release of version 2019 R2, the Mechanical user
interface has changed to a more modern ‘ribbon’ window, as shown in the red
After having used the new interface for a while, here are 5
takeaways that are hopefully useful:
It’s easy to use. Sure, it’s different but the overall process is the same with a simulation tree on the left, details to enter and adjust at lower left, graphics in the middle, message, and graphs at the bottom, and the main menus across the top.
ANSYS, Inc. has helped by providing a 12-slide (some animated) usage tips guide which pops up automatically when you launch ANSYS Mechanical 2019 R2.
As in the old menu, the ‘Context’ menu changes
based on what you have clicked on in the tree.
For example, if you have clicked on the Mesh branch, the Context menu
will display meshing controls across the top of the window.
As intuitive as the new ribbon interface is,
there are some functionalities that you may have trouble finding. Not to worry, though, as there is a new
Search field at upper right that will likely take you to the right place. Here I am interested in making a section
plane for plotting purposes. My first
thought was that it would appear in the Display menu. When I didn’t find it there, I simply typed
in ‘section’ in the search field and the first hit was the right one.
After clicking “Take me there”:
And the resulting section plot:
Some capabilities show up in the File menu other
than the expected Save and Save As functionality. For example, Solve Process Settings is now in
the File menu. However, the main
functionality is in the Solution context menu, such as using Distributed
solutions and specifying the number of cores.
In short, the 2019 R2 improvements to ANSYS Mechanical allow
for easier and faster setup of our simulations.
If you haven’t given it a try, we encourage you to do so.
One of the great new features in ANSYS Mechanical 19.2 is
the ability to perform a lattice optimization.
Accomplished as an option within Topology Optimization, lattice
optimization allows us to generate a lattice structure within our region of
interest. It includes varying thickness
of the lattice members as part of the optimization.
Lattice structures can be very beneficial because weight can
be substantially reduced compared to solid parts made using traditional
manufacturing methods. Further, recent
advances in additive manufacturing enable the creation of lattice structures in
ways that weren’t possible with traditional manufacturing.
Here I’ll explain how to perform a lattice optimization in
ANSYS 19.2 step by step.
For the lattice optimization, I’m starting with a part I
created that acts as a corner brace:
At this early point in the simulation, the Project Schematic
looks like this:
I used the Multizone mesh method to get a hex mesh on the
Simple loads and constraints are recommended especially if
you’ll be doing a downstream validation study.
That is because the downstream simulation on the resulting lattice
geometry will most likely need to operate on the FE entities rather than
geometric entities for load and constraint application. The boundary conditions
in this simple model consisted of a fixed support on one side of the brace and
a force load on the other side:
After solving, I reviewed the displacement as well as the
Satisfied with the results, the next step is to add a
Topology Optimization block in the Project Schematic. The easiest way to do
this is to right click on the Solution cell, then select Transfer Data to New
> Topology Optimization:
You may need to re-solve the static structural simulation at
this point. You’ll know if you have
yellow thunderbolts in the Project Schematic instead of green checkmarks for
the Static Structural analysis.
At this point, the Project Schematic now looks like this:
The Mechanical window now has the Topology Optimization
The change to make to enable a lattice optimization is
accomplished in the details view of the Optimization Region branch:
We then need to specify some settings for the lattice. The first of these is the Lattice Type. The various types are documented in the ANSYS
19.2 Help. In my example I selected the
The other properties to define are:
Minimum Density (to avoid lattice structures that are toothin. Allowed bounds are 0 and 1)
Maximum Density (elements are considered full/solid fordensities higher than this value, allowed bounds are 0 and 1)
Lattice Cell Size (used in downstream geometry steps andadditive manufacturing)
Values I used in my example are shown here:
Assuming no other options need to be set, we solve the
lattice optimization and review the results.
The results are displayed as a contour plot with values between zero and
one, with values corresponding to the density settings as specified above.
Note that at this stage we don’t actually visualize the
lattice structure – just a contour plot of where the lattice can be in the
structure. Where density values are
higher than the maximum density specified, the geometry will end up being
solid. The lattice structure can exist
where the results are between the minimum and maximum density values specified,
with a varying thickness of lattice members corresponding to higher and lower
The next step is to bring the lattice density information
into SpaceClaim and generate actual lattice geometry. This is done by adding a free standing
Geometry block in the Workbench Project Schematic.
The next step is to drag and drop the Results cell from the
Topology Optimization block onto the Geometry cell of the new free standing
The Project Schematic will now look like this:
Notice the Results cell in the Topology Optimization branch
now has a yellow lightning bolt. The
next step is to right click on that Results cell and Update. The Project Schematic will now look like
Before we can open SpaceClaim, we next need to right click
on the Geometry cell in the downstream Geometry block and Update that as well:
After both Updates, the Project Schematic will now look like
The next step is to double click or right click on the
now-updated Geometry cell to open SpaceClaim.
Note that both the original geometry and a faceted version of the
geometry will exist in SpaceClaim:
It may seem counter intuitive, but we actually suppress the
faceted geometry and only work with the original, solid geometry for the
faceted process. The faceted geometry
should be automatically suppressed, as shown by the null symbol, ø, in the SpaceClaim tree. At this point it will be helpful to hide the
faceted geometry by unchecking its box in the tree:
Next we’ll utilize some capability in the Facets menu in
SpaceClaim to create the lattice geometry, using the lattice distribution calculated
by the lattice optimization. Click on
the Facets tab, then click on the Shell button:
Set the Infill option to be Basic:
At this point there should be a check box for “Use Density
Attributes” below the word Shape. This
check box doesn’t always appear. If it’s
not there, first try clicking on the actual geometry object in the tree:
In one instance I had to go to %appdata%\Ansys and rename
the v192 folder to v192.old to reset Workbench preferences and launch Workbench
again. That may have been ‘pilot error’
on my part as I was learning the process.
The next step is to check the Use density attributes
box. The Shape dropdown should be set to
Lattices. Once the Use density
attributes box is checked, we can then one of the predefined lattice shapes,
which will be used for downstream simulation and 3D printing. The shape picked needs to match the lattice
shape previously picked in the topology optimization.
In my case I selected the Cube Lattice with Side Diagonal
Supports, which corresponds to the Crossed selection I made in the upsteam
lattice optimization. Note that a planar
preview of this is displayed inside the geometry:
The next step is to click the green checkmark to have
SpaceClaim create the lattice geometry based on the lattice distribution
calculated by the lattice optimization:
When SpaceClaim is done with the lattice geometry
generation, you should be able to see a ghosted image showing the lattice
structure in the part’s interior:
Note that if you change views, etc., in SpaceClaim, you may
then see the exterior surfaces of the part, but rest assured the lattice
structure remains in the interior.
Your next step may need to be a validation. To do this, we create a standalone Static
Structural analysis block on the Project Schematic:
Next we drag and drop the Geometry cell from the faceted
geometry block we just created onto the Geometry cell of the newly created
Static Structural block:
We can now open Mechanical for the new Static Structural
analysis. Note that the geometry that
comes into Mechanical in this manner will have a single face for the exterior,
and a single face for the exterior. To verify that the lattice structure is
actually in the geometry, I recommend creating a section plane so we can view
the interior of the geometry:
To mesh the lattice structure, I’ve found that inserting a
Mesh Method and setting it to the Tetrahedrons/Patch Independent option has
worked for getting a reasonable mesh.
Care must be taken with element sizes or a very large mesh will be
created. My example mesh has about 500,000
nodes. This is a section view, showing
the mesh of the interior lattice structure (relatively coarse for the example).
For boundary condition application, I used Direct FE
loads. I used a lasso pick after aligned
the view properly to select the nodes needed for the displacement and then the
force loads, and created Named Selections for each of those nodal selections
for easy load application.
Here are a couple of results plots showing a section view
with the lattice in the interior (deflection followed by max principal stress):
Here is a variant on the lattice specifications, in which
the variance in the thickness of the lattice members (a result of the
optimization) is more evident:
Clearly, a lot more could be done with the geometry in
SpaceClaim before a validation step or 3D printing. However, hopefully this step by step guide is
helpful with the basic process for performing a lattice optimization in ANSYS
Mechanical and SpaceClaim 19.2.
Taking advantage of HPC can dramatically speed up solutions for electronics simulations. Depending on whether you have ANSYS HPC licenses or ANSYS HPC Pack licenses, a different setting needs to be made in the HPC options, as shown here.
In Electronics Desktop, we click Tools > Options > HPC and Analysis Options:
For ANSYS HPC licenses, we set the option to “Pool”.
For ANSYS HPC Pack licenses, we set the option to “Pack”.
With ANSYS HPC licenses, each license task enables an additional core for solving. At release 19, 4 cores are enabled with standard licensing, so adding 8 ANSYS HPC tasks enables solving on 12 cores. With HPC Pack licenses, the first task enables an additional 8 cores, while a second task enables 8×4 or an additional 32 cores, etc. For more information, see the ANSYS documentation on HPC licensing.
ANSYS Mechanical version 19.0 has been available since late January 2018, while version 19.1 was released in May. If you haven’t had a chance to check them out, we thought it would be helpful to list what we see as 10 of the top newest features. We’ll start with five new features from version 19.0 and will then round it out with five from version 19.1.
ANSYS Mechanical 19.0
1. 4 Cores HPC Solving with No Additional Licensing
Previously, you were limited to solving on 2 cores at a maximum without having additional ANSYS HPC or HPC Pack licenses. That limit has been raised to 4 cores at 19.0.
To utilize the cores while solving, from the Solution branch in Mechanical click on the Tools menu, then Solve Process Settings. Click the Advanced button. Set the Max number of utilized cores to 4 and click OK.
2. Topology Optimization Includes Inertial Loads
Topology optimization became a native option in ANSYS Mechanical in version 18.0. Topology optimization allows us to perform studies in which we preserve stiffness while reducing weight, for example. Since inertia loads are now supported in a topology optimization, one type of problem we can now solve is starting with geometry that has a mix of an inertial load (gravity in the downward direction) along with additional loading such as forces or pressures.
Solving the topology optimization and moving to the verification step we can see the optimization results (shape and contour results plot) for the combined loading.
The ability to include inertia loads adds quite a few more problems that can be considered for topology optimization.
3. Small Sliding Contact
The idea here is that if we have confidence that the contact and target elements within a contact region will not slide very much, we can turn on the small sliding assumption. This speeds up the computations because less checking is needed for the contact elements during the solution. It’s activated in the Details view for one or more contact regions. We’ve seen some marginal improvements in solution times for a couple of test models. It’s clearly worth trying this if it applies to your simulations.
4. Element Birth and Death
We now no longer have to use APDL command objects to incorporate element birth and death. If you’re not familiar with what this is, it’s the ability to selectively deactivate and/or activate portions of the finite element model to simulate forming operations, assembly, etc. Further, the implementation is fantastic in that unlike with the old MAPDL implementation, we no longer have to manually keep track of which elements have been ‘killed’ or made ‘alive’. The postprocessing in Mechanical 19.0 automatically displays only elements that are alive for a given results set.
Here is how it is implemented in the Mechanical tree, under the analysis type branch:
The entities to be killed or made alive can be selected by geometry or Named Selections. There is a handy table that shows the alive or dead status for each Element Birth and Death object once they are setup:
This animation shows a temperature results plot and demonstrates how the killed elements are made alive and automatically displayed when postprocessing:
5. Clipboard Tool
This new menu pick gives us an improved method for tasks such as selecting multiple faces. Rather than having to carefully pick all of them at once or use a combination of named selections, we can now simply select the faces that are easy to pick, add them to the clipboard, rotate the model, select more faces now that they are in view, etc.
Once all the desired faces are in the Clipboard, we simply use the Select Items in Clipboard dropdown and we can now assign a load or mesh control, etc. to the desired faces.
Note there are convenient hot keys for Adding to, Removing from, and Clearing the clipboard, shown in the screen captures of the menu dropdowns above.
ANSYS Mechanical 19.1
6. Granta Design Sample Materials
Version 19.1 adds a whole new set of sample materials from Granta. To access them, open up Engineering Data, click on the Engineering Data Sources button, and then click on the Granta Design Sample Materials button. This adds a lot more sample materials than have been available in Engineering Data previously.
7. Materials folder in Mechanical
You’ll see a new branch in the tree in Mechanical 19.1: Materials. All materials that are part of your Engineering Data set will show up in this branch. For each material defined, we can click on the Material Assignment button or right click as shown here:
One the new Assignment branch is created for a material, we can then select the bodies for which that material should be assigned. Each material has its own color which can be changed in Engineering Data if so desired.
Important note for Mechanical APDL command users: Assigning material properties using the Materials branch results in all parts with the same material property having the same MAPDL material number. This is different from prior behavior in Mechanical in which each part in the geometry tree had its own material number identified with the ‘magic’ parameter name matid. Parameter matid now no longer is unique for each part if materials area assigned using the Materials branch. There is a new ‘magic’ parameter named typeids which identifies the element type number for each part in the tree. This new parameter is actually a 1x1x1 array parameter rather than a scalar parameter, so to make use of it in a command snippet we need to add the dimension (1) to the parameter name, like this:
8. Result Tracking During Solution
A new, useful capability is to be able to view a result item on a body, while the solution is running. You can now insert certain results items under Solution Information and view the status of the results while the solution is progressing. If birth and death is employed it will even display just the elements that are alive as the solution progresses. Here is an example of a temperature plot on a body while a transient solution is in progress:
9. Save Animations to .wmv and .mp4 Formats
We now have two new options besides the old .avi format for exporting animation files. The .mp4 and .wmv formats both tend to produce smaller files than .avi format. When you click on the Export Video File button the new options are available in the dropdown:
10. Solution Statistics Page
Finally, there is a new Solution Statistics page, available under Solution Information when a solution has completed. This is a quick and easy way to view performance information from your solution and helps determine if more cores or more RAM could be beneficial in future solutions of the same model. Here is an example:
These are just a few of the enhancements that have been implemented in versions 19.0 and 19.1. These should help you be more productive with your solutions in ANSYS Mechanical as well as increase your capacity for simulating reality, and creating new geometry when it comes to topology optimization.
I’m sure most people don’t know the name George M. Low. He was an early employee at NASA, serving as Chief of Manned Space Flight and later as a leader in NASA’a Apollo moon program in the late 1960’s. In fact, he was named Manager of the Apollo Spacecraft Program after the deadly Apollo 1 fire in 1967, and helped the program move forward to the successful moon landings starting in 1969.
As most alumni of Rensselaer Polytechnic Institute know, he returned to Rensselaer, his alma mater, serving as president from 1976 until his death in the 1980’s. I still recall the rousing speech he gave to us incoming freshman at the Troy Music Hall on a hot September afternoon. On our class rings is his quote, “Without risk there can be no progress.”
I’ve pondered that quote many times in the years since. It’s easy to coast along in many facets of life and accept and even embrace the status quo. Over the years, though, I have observed that George Low was right, and the truth is that risk is required to move forward and improve. The hard part is determining the level of risk that is appropriate, but it’s a sure bet that by not taking any risk, we will lag behind.
How is that realization applicable to our world of engineering simulation? Surely those already doing simulation have moved from the old process of design > test > break > redesign > test > produce to embrace the faster and more efficient simulate > test > product, right? Perhaps, but even if they have, that doesn’t mean there can’t be progress with some additional risk.
Let’s look at a couple of examples in the simulation world where some risk taking can have significant payoffs.
First, transitioning from ANSYS Mechanical APDL to ANSYS Mechanical (Workbench). Most have already made the switch. I’ll allow there are still some applications that can be completely scripted within the old Mechanical Ansys Parametric Design Language in an incredibly efficient manner. However, if you are dealing with geometry that’s even remotely complex, I’ll wager that your simulation preparation time will be much faster using the improved CAD import and geometry manipulation capabilities within the ANSYS Workbench Mechanical workflow. Let alone meshing. Meshing is lights out faster, more robust, and better quality in modern versions of Mechanical than anything we can do in the older Mechanical APDL mesher.
Second, using ANSYS SpaceClaim to clean up, modify, create, and otherwise manipulate geometry. It doesn’t matter what the source of the geometry is, SpaceClaim is an incredible tool for quickly making it useable for simulation as well as lots of other purposes. I recently used the SpaceClaim tools within ANSYS Discovery live to combine assemblies from Inventor and SolidWorks into one model, seamlessly, and was able to move, rotate, orient, and modify the geometry to what I needed in a matter of minutes (see the Discovery Live image at the bottom). The cleanup tools are amazing as well.
Third, looking into ANSYS Discovery Live. Most of us can benefit from quick feedback on design ideas and changes. The new Discovery Live tool makes that a reality. Currently, in a technology demonstration mode, it’s free to download and try it from ANSYS, Inc. through early 2018. I’m utterly amazed by how fast it can read in a complex assembly and start generating results for basic structural, CFD, and thermal simulations. What used to take weeks or months can now be done in a few minutes.
Credits: Motorcycle geometry downloaded from GrabCAD, model by Shashikant Soren. Human figure geometry downloaded from GrabCAD, model by Jari Ikonen. Models combined and manipulated within ANSYS Discovery Live. George M. Low image from www.nasa.gov.
I encourage you to take some risks for the sake of progress.
By now you’ve probably heard that ANSYS versions 18.0, 18.1, and 18.2 have all been released in 2017. While 18.0 was the ‘point’ release in January, it should be noted that 18.1 and 18.2 are not ‘patches’ or service packs, but are full releases each with significant enhancements to the code. We’ll present some significant and useful enhancements for each.
Number 1: First and foremost – info on the new features is more readily accessible with the Mechanical Highlights list. The first time you launch Mechanical, you’ll see a hyperlinked list of new release highlights.
One you actually do something in Mechanical, though, that list goes away. There is a simple way to get it back: Click on the Project branch in the Mechanical tree, then click on the Worksheet button in the menu near the top of the window.
Clicking on the hyperlinks in the list or simply scrolling down gives us more information on each of the listed enhancements. Keep in mind the list is only highlights and by no means has all of the new features listed. A more detailed list can be found in the ANSYS Help, in the Release Notes.
Number 2: A major new feature that became available in 18.0 is Topology Optimization. We’ve written more about Topology Optimization here
Number 3: Another really useful enhancement in 18.0 is the ability to define a beam connection as a pretensioned bolt. This means we no longer need to have a geometry representation of a bolt if we want a simpler model. We can simply insert a beam connection between the two sides of the bolted geometry, and define the pretension on that resulting beam.
Beam connections are inserted in the Connections branch in Mechanical. Once the beam is fully defined, it can have a bolt pretension load applied to it, just like as if the beam geometry was defined as a solid or beam in your geometry tool. Here you can see a beam connection used for bolt pretension on the left, with a traditional geometric representation of a pretensioned bolt on the right:
Number 4: A very nice capability added in version 18.1 is drag and drop contact regions for contact sizing in the Mesh branch. Contact elements work best when the element sizes on both sizes of the interface are similar, especially for nonlinear contact. ANSYS Mechanical has had Contact Sizing available as a mesh control for a long time. Contact Sizing allows us to specify an element size or relevance level once, for both sides of one or more contact regions.
What’s new in 18.1 is the ability to drag and drop selected contacts from the Connections branch into the Mesh branch. Just select the desired contact regions with the mouse, then drag that selection into the Mesh branch. Then specify the desired mesh sizing controls for contact.
This is what the dragging and dropping looks like:
After dropping into the Mesh branch, we can specify the element size for the contact regions:
This shows the effect of the contact sizing specification on the mesh:
Number 5: An awesome new feature in 18.2 is element face selection, and what you can do with it. There is a new selection filter just for element face selection, shown here in the red box:
Once the element face select button is clicked, element faces can be individually selected, box selected, or paint selected simply by holding down the left mouse button and dragging. The green element faces on the near side have been selected this way:
The selected faces can then be converted to a Named Selection, or items such as results plots can be scoped to the face selection:
Number 6: Finally, to finish up, some new hotkeys were added in 18.2. Two really handy ones are:
Z = zoom fit or zoom to the current selection of entities
<Ctrl> K = activate element face selection
F11 = make the graphics window full screen!
Click F11 again to toggle back to normal size
Please realize that this list is just a tiny subset of the new features in ANSYS 18. We encourage you to try them out on your own, and investigate others that may be of benefit to you. Keep the Mechanical Highlights list from Number 1 in mind as a good source for info on new capabilities.
Here in the Phoenix area, we weren’t treated to the full total eclipse that others in the USA got to see. Our maximum coverage of the sun was a bit over 60%. Still, there was an eclipse buzz in the PADT headquarters and although we had some rare clouds for a few minutes, the skies did part and we did get to view the partial eclipse from the parking lot.
So, how did ANSYS help us view the eclipse? It was in an indirect way – via a pinhole camera I made from an old ANSYS installation software box. The software box, a hobby knife to cut out a viewing port, a couple of post-it notes to allow for a small hole and a clear projection area, and a thumb tack were all that was needed, along with a couple of minutes to modify the box.
Here we can see the viewing port cut into the software box. On the opposite side is a pin hole to allow the sun’s light to enter the box.
After heading out to the eclipsing grounds (the parking lot), we quickly lined up the pin hole and the projection screen and got our views of the partially obscured sun:
Here is a close up of the sun’s image projected inside the box:
Others viewing the eclipse here at PADT HQ had a range of filters, eclipse glasses, etc. With the projection method as shown above, though, we don’t have to worry about eye damage. So, in a way, ANSYS did help us view the eclipse safely, by providing a box that was easy to convert to a pinhole camera.
While we enjoyed the partial eclipse here in Arizona, we did have a couple of PADT colleagues in the path of totality. Here is a picture from one of my coworkers who viewed the eclipse in South Carolina:
We hope you enjoyed the eclipse as well, either in person or via images on the web. We’re looking forward to the next one!
Finally, In case you missed an earlier astronomical rarity back in 2012, here is a photo of the planet Venus transiting in front of the sun’s disk (black dot on the left side). The next one of these won’t be until December, 2117.
We’ve discussed topological optimization in this space before, notably here:
If you’re not familiar with topological or topology optimization, a simple description is that we are using the physics of the problem combined with the finite element computational method to decide what the optimal shape is for a given design space and set of loads and constraints. Typically our goal is to maximize stiffness while reducing weight. We may also be trying to keep maximum stress below a certain value. Frequencies can come into play as well by linking a modal analysis to a topology optimization.
Why is topology optimization important? First, it produces shapes which may be more optimal than we could determine by engineering intuition coupled with trial and error. Second, with the rise of additive manufacturing, it is now much easier and more practical to produce the often complex and organic looking shapes which come out of a topological optimization.
ANSYS, Inc. has really upped the game when it comes to utilizing topology optimization. Starting with version 18.0, topo opt is built in functionality within ANSYS. If you already know ANSYS Mechanical, you already know the tool that’s used. The ANSYS capability uses the proven ANSYS solvers, including HPC capability for efficient solves. Another huge plus is the fact that SpaceClaim is linked right in to the process, allowing us to much more easily make the optimized mesh shape produced by a topological optimization into a more CAD representation set for use in validation simulations, 3D printing, or traditional manufacturing.
The intent of this blog is to show the current process in ANSYS version 18.1 using a simple example of an idealized motorcycle front fork bracket optimization. We don’t claim to be experts on motorcycle design, but we do want to showcase what the technology can do with a simple example. We start with a ‘blob’ or envelope for the geometry of our design space, then perform an optimization based on an assumed set of loads the system will experience. Next we convert the optimized mesh information into solid geometry using ANSYS SpaceClaim, and then perform a validation study on the optimized geometry.
Here we show our starting point – an idealized motorcycle fork with a fairly large blob of geometry. The intent is to let ANSYS come up with an optimal shape for the bracket connecting the two sides of the fork.
The first step of the simulation in this case is a traditional Static Structural simulation within ANSYS Workbench. The starting point for the geometry was ANSYS SpaceClaim, but the initial geometry could have come from any geometry source that ANSYS can read in, meaning most CAD systems as well as Parasolid, SAT, and STEP neutral file formats.
A single set of loads can be used, or multiple load cases can be defined. That’s what we did here, to simulate various sets of loads that the fork assembly might experience during optimization. All or a portion of the load cases can be utilized in the topological optimization, and weighting factors can be used on each set of loads if needed.
Here we see the workflow in the ANSYS Workbench Project Schematic:
Block A is the standard static structural analysis on the original, starting geometry. This includes all load cases needed to describe the operating environment. Block B is the actual topological optimization. Block C is a validation study, performed on the optimized geometry. This step is needed to ensure that the optimized shape still meets our design intent.
Within the topology optimization, we set our objective. He we choose minimizing compliance, which is a standard terminology in topology optimization and we can think of it as the inverse which is maximizing stiffness.
In the static structural analysis, 7 load cases were used to describe different loading situations on the motorcycle fork, and here all have been used in the optimization.
Further, we defined a response constraint, which in this example is to reduce mass (actually retain 15% of the mass):
Another quantity that’s often useful to specify is a minimum member constraint. That will keep the topology optimization from making regions that are too small to 3D print or otherwise manufacture. Here we have specified a minimum member size of 0.3 inches:
Since the topological optimization solution uses the same ANSYS solvers for the finite element solution as a normal solution, we can leverage high performance computing (distributed solvers, typically) to speed up the solution process. Multiple iterations are needed to converge on the topology optimization, so realize that the topo opt process is going to be more computationally expensive than a normal solution.
Once the optimization is complete, we can view the shape the topo opt method has obtained:
Notice that only a portion of the original model has been affected. ANSYS allows us to specify which regions of the model are to be considered for optimization, and which are to be excluded.
Now that we have a shape that looks promising, we still need to perform a validation step, in which we rerun our static simulation with the loads and constraints we expect the fork assembly to experience. To do that, we really want a ‘CAD’ model of the optimized shape. The images shown above show the mesh information that results from the topo opt solution. What we need to do next is leverage the ANSYS SpaceClaim geometry tool to create a solid model from the optimized shape.
A simple beauty in the ANSYS process is that with just a couple of clicks we proceed from Block B to Block C in the Workbench project schematic, and can then work with the optimized shape in SpaceClaim.
As you can see in the above image, SpaceClaim automatically has the original geometry as well as the new, optimized shape. We can do as much or as little to the optimized shape as we need, from smoothing and simplification to adding manufacturing features such as holes, bosses, etc. In this case we simply shrink wrapped it as-is.
Continuing with the validation step, the geometry from SpaceClaim automatically opens in the Mechanical window and we can then re-apply the needed loads and constraints and then solve to determine if the optimized shape truly meets our design objectives. If not, we can make some tweaks and run again.
The above image shows a result plot from the validation step. The geometry efficiently comes through SpaceClaim from the optimization step to the validation step. The needed tools are all nicely contained within ANSYS.
Hopefully this has given you an idea of what can be done with topology optimization in ANSYS as well as how it’s done. Again, if you already know ANSYS Mechanical, you already know the bulk of how to do this. If not, then perhaps what you have seen here will spark a craving to learn. We can’t wait to see what you create.
Sometimes you want to take two parts and and prepare them for meshing so that they either share a surface between them, or have identical but distinct surfaces on each part where they touch. In this simple How-To, we share the steps for creating both of these situations so you can get a continuous mesh or create a matching contact surface in ANSYS Mechanical.
By using the power of ANSYS SpaceClaim to quickly modify geometry, you can set up your surface models in ANSYS Mechanical to easily be connected. Take a look in this How-To slide deck to see how easy it is to extend geometry and intersect surfaces.
A support request from one of our customers recently was for the ability to make Thermal Contact Conductance, which is sort of a reciprocal of thermal resistance at the contact interface, a parameter so it can be varied in a parametric study. Unfortunately, this property of contact regions is not exposed as a parameter in the ANSYS Mechanical window like many other quantities are.
Fortunately, with ANSYS there is almost always a way……in this case we use the capability of an APDL (ANSYS Parametric Design Language) command object within ANSYS Mechanical. This allows us to access additional functionality that isn’t exposed in the Mechanical menus. This is a rare occurrence in the recent versions of ANSYS, but I thought this was a good example to explain how it is done including verifying that it works.
A key capability is that user-defined parameters within a command object have a ‘magic’ set of parameter names. These names are ARG1, ARG2, ARG3, etc. Eric Miller of PADT explained their use in a good PADT Focus blog posting back in 2013
In this application, we want to be able to vary the value of thermal contact conductance. A low value means less heat will flow across the boundary between parts, while a high value means more heat will flow. The default value is a calculated high value of conductance, meaning there is little to no resistance to heat flow across the contact boundary.
In order to make this work, we need to know how the thermal contact conductance is applied. In fact, it is a property of the contact elements. A quick look at the ANSYS Help for the CONTA174 or similar contact elements shows that the 14th field in the Real Constants is the defined value of TCC, the thermal contact conductance. Real Constants are properties of elements that may need to be defined or may be optional values that can be defined. Knowing that TCC is the 14th field in the real constant set, we can now build our APDL command object.
This is what the command object looks like, including some explanatory comments. Everything after a “!” is a comment:
! Command object to parameterize thermal contact conductance
! by Ted Harris, PADT, Inc., 3/31/2017
! Note: This is just an example. It is up to the user to create and verify
! the concept for their own application.
! From the ANSYS help, we can see that real constant TCC is the 14th real constant for
! the 17X contact elements. Therefore, we can define an APDL parameter with the desired
! TCC value and then assign that parameter to the 14th real constant value.
! We use ARG1 in the Details view for this command snippet to define and enable the
! parameter to be used for TCC.
r,cid ! tells ANSYS we are defining real constants for this contact pair
! any values left blank will not be overwritten from defaults or those
! assigned by Mechanical. R command is used for values 1-6 of the real constants
rmore,,,,,, ! values 7-12 for this real constant set
rmore,,arg1 ! This assigned value of arg1 to 14th field of real constant
! Now repeat for target side to cover symmetric contact case
r,tid ! tells ANSYS we are defining real constants for this contact pair
! any values left blank will not be overwritten from defaults or those
! assigned by Mechanical. R command is used for values 1-6 of the real constants
rmore,,,,,, ! values 7-12 for this real constant set
rmore,,arg1 ! This assigned value of arg1 to 14th field of real constant
You may have noticed the ‘cid’ and ‘tid’ labels in the command object. These identify the integer ‘pointers’ for the contact and target element types, respectively. They also identify the contact and target real constant set number and material property number. So how do we know what values of integers are used by ‘cid’ and ‘tid’ for a given contact region? That’s part of the beauty of the command object: you don’t know the values of the cid and tid variables, but you alsp don’t need to know them. ANSYS automatically plugs in the correct integer values for each contact pair simply by us putting the magic ‘cid’ and ‘tid’ labels in the command snippet. The top of a command object within the contact branch will automatically contain these comments at the top, which explain it:
! Commands inserted into this file will be executed just after the contact region definition.
! The type number for the contact type is equal to the parameter “cid”.
! The type number for the target type is equal to the parameter “tid”.
! The real and mat number for the asymmetric contact pair is equal to the parameter “cid”.
! The real and mat number for the symmetric contact pair(if it exists)
! is equal to the parameter “tid”.
Next, we need to know how to implement this in ANSYS Mechanical. We start with a model of a ball valve assembly, using some simple geometry from one of our training classes. The idea is that hot water passes through the valve represented by a constant temperature of 125 F. There is a heat sink represented at the OD of the ends of the valve at a constant 74 degrees. There is also some convection on most of the outer surfaces carrying some heat away.
The ball valve and the valve housing are separate parts and contact is used to allow heat to flow from the hotter ball valve into the cooler valve assembly:
Here is the command snippet associated with that contact region. The ‘magic’ is the ARG1 parameter which is given an initial value in the Details view, BEFORE the P box is checked to make it a parameter. Wherever we need to define the value of TCC in the command object, we use the ARG1 parameter name, as shown here:
Next, we verify that it actually works as expected. Here I have setup a table of design points, with increasing values of TCC (ARG1). The output parameter that is tracked is the minimum temperature on the inner surface of the valve housing, where it makes contact with the ball. If conductance is low, little heat should flow so the housing remains cool. If the conductance is high, more heat should flow into the housing making it hotter. After solving all the design points in the Workbench window, we see that indeed that’s what happens:
And here is a log scale plot showing temperature rise with increasing TCC:
So, excluding the comments our command object is 6 lines long. With those six lines of text as well as knowledge of how to use the ARG1 parameter, we now have thermal contact conductance which varies as a parameter. This is a simple case and you will certainly want to test and verify for your own use. Hopefully this helps with explaining the process and how it is done, including verification.
How do you make sure that your customers have a great experience? In “Five simple strategies for promoting customer satisfaction” PADT’s manager of ANSYS Technical Support and Training, Ted Harris, outlines the tools he and his team use to keep PADT’s customer satisfaction rates outstanding.
If you are an ANSYS RSM (Remote Solve Manager) user, you’ll find some changes in version 18.0. Most of the changes, which are improvements to the installation and configuration process, are under the hood from a user standpoint. One key change for users, though, is how you monitor a running job. This short entry shows how to do it in version 18.0.
Rather than bring up the RSM monitor window from the Start menu as was done in prior version, in 18.0 we launch the RSM job monitor directly from the Workbench window, by clicking on Jobs > Open Job Monitor… as shown here:
When a solution has been submitted to RSM for solution on a remote cluster or workstation, it will show up in the resulting Job Monitor window, like this:
Hopefully this saves some effort in trying to figure out where to monitor jobs you have submitted to RSM. Happy solving!
What is Topological Optimization? If you’re not familiar with the concept, in finite element terms it means performing a shape optimization utilizing mesh information to achieve a goal such as minimizing volume subject to certain loads and constraints. Unlike parameter optimization such as with ANSYS DesignXplorer, we are not varying geometry parameters. Rather, we’re letting the program decide on an optimal shape based on the removal of material, accomplished by deactivating mesh elements. If the mesh is fine enough, we are left with an ‘organic’ sculpted shape elements. Ideally we can then create CAD geometry from this organic looking mesh shape. ANSYS SpaceClaim has tools available to facilitate doing this.
Topological optimization has seen a return to prominence in the last couple of years due to advances in additive manufacturing. With additive manufacturing, it has become much easier to make parts with the organic shapes resulting from topological optimization. ANSYS has had topological optimization capability both in Mechanical APDL and Workbench in the past, but the capabilities as well as the applications at the time were limited, so those tools eventually died off. New to the fold are ANSYS ACT Extensions for Topological Optimization in ANSYS Mechanical for versions 17.0, 17.1, and 17.2. These are free to customers with current maintenance and are available on the ANSYS Customer Portal.
In deciding to write this piece, I decided an interesting example would be the brace that is part of all curved saxophones. This brace connects the bell to the rest of the saxophone body, and provides stiffness and strength to the instrument. Various designs of this brace have been used by different manufacturers over the years. Since saxophone manufacturers like those in other industries are often looking for product differentiation, the use of an optimized organic shape in this structural component could be a nice marketing advantage.
This article is not intended to be a technical discourse on the principles behind topological optimization, nor is it intended to show expertise in saxophone design. Rather, the intent is to show an example of the kind of work that can be done using topological optimization and will hopefully get the creative juices flowing for lots of ANSYS users who now have access to this capability.
That being said, here are some images of example bell to body braces in vintage and modern saxophones. Like anything collectible, saxophones have fans of various manufacturers over the years, and horns going back to production as early as the 1920’s are still being used by some players. The older designs tend to have a simple thin brace connecting two pads soldered to the bell and body on each end. Newer designs can include rings with pivot connections between the brace and soldered pads.
Hopefully those examples show there can be variation in the design of this brace, while not largely tampering with the musical performance of the saxophone in general. The intent was to pick a saxophone part that could undergo topological optimization which would not significantly alter the musical characteristics of the instrument.
The first step was to obtain a CAD model of a saxophone body. Since I was not able to easily find one freely available on the internet that looked accurate enough to be useful, I created my own in ANSYS SpaceClaim using some basic measurements of an example instrument. I then modeled a ‘blob’ of material at the brace location. The idea is that the topological optimization process will remove non-needed material from this blob, leaving an optimized shape after a certain level of volume reduction.
In ANSYS Mechanical, the applied boundary conditions consisted of frictionless support constraints at the thumb rest locations and a vertical displacement constraint at the attachment point for the neck strap. Acceleration due to gravity was applied as well. Other loads, such as sideways inertial acceleration, could have been considered as well but were ignored for the sake of simplicity for this article. The material property used was brass, with values taken from Shigley and Mitchell’s Mechanical Engineering Design text, 1983 edition.
This plot shows the resulting displacement distribution due to the gravity load:
Now that things are looking as I expect, the next step is performing the topological optimization.
Once the topological optimization ACT Extension has been downloaded from the ANSYS Customer Portal and installed, ANSYS Mechanical will automatically include a Topological Optimization menu:
I set the Design Region to be the blog of material that I want to end up as the optimized brace. I did a few trials with varying mesh refinement. Obviously, the finer the mesh, the smoother the surface of the optimized shape as elements that are determined to be unnecessary are removed from consideration. The optimization Objective was set to minimize compliance (maximize stiffness). The optimization Constraint was set to volume at 30%, meaning reduce the volume to 30% of the current value of the ‘blob’.
After running the solution and plotting Averaged Node Values, we can see the ANSYS-determined optimized shape:
What is apparent when looking at these shapes is that the ‘solder patch’ where the brace attaches to the bell on one end and the body on the other end was allowed to be reduced. For example, in the left image we can see that a hole has been ‘drilled’ through the patch that would connect the brace to the body. On the other end, the patch has been split through the middle, making it look something like an alligator clip.
Another optimization run was performed in which the solder pads were held as surfaces that were not to be changed by the optimization. The resulting optimized shape is shown here:
Noticing that my optimized shape seemed on the thick side when compared to production braces, I then changed the ‘blob’ in ANSYS SpaceClaim so that it was thinner to start with. With ANSYS it’s very easy to propagate geometry changes as all of the simulation and topological optimizations settings stay tied to the geometry as long as the topology of those items stays the same.
Here is the thinner chunk after making a simple change in ANSYS SpacClaim:
And here is the result of the topological optimization using the thinner blob as the starting point:
Using the ANSYS SpaceClaim Direct Modeler, the faceted STL file that results from the ANSYS topological optimization can be converted into a geometry file. This can be done in a variety of ways, including a ‘shrink wrap’ onto the faceted geometry as well as surfaces fit onto the facets. Another option is to fit geometry in a more general way in an around the faceted result. These methods can also be combined. SpaceClaim is really a great tool for this. Using SpaceClaim and the topological optimization (faceted) result, I came up with three different ‘looks’ of the optimized part.
Using ANSYS Workbench, it’s very easy to plug the new geometry component into the simulation model that I already had setup and run in ANSYS Mechanical using the ‘blob’ as the brace in the original model. I then checked the displacement and stress results to see how they compared.
First, we have an organic looking shape that is mostly faithful to the results from the topological optimization run. This image is from ANSYS SpaceClaim, after a few minutes of ‘digital filing and sanding’ work on the STL faceted geometry output from ANSYS Mechanical.
This shows the resulting deflection from this first, ‘organic’ candidate:
The next candidate is one where more traditional looking solid geometry was created in SpaceClaim, using the topological optimization result as a guide. This is what it looks like:
This is the same configuration, but showing it in place within the saxophone bell and body model in ANSYS SpaceClaim:
Next, here is the deformation result for our simple loading condition using this second geometry configuration:
The third and final design candidate uses the second set of geometry as a starting point, and then adds a bit of style while still maintaining the topological optimization shape as an overall guide. Here is this third candidate in ANSYS SpaceClaim:
Here are is the resulting displacement distribution using this design:
This shows the maximum principal stress distribution within the brace for this candidate:
Again, I want to emphasize that this was a simple example and there are other considerations that could have been included, such as loading conditions other than acceleration due to gravity. Also, while it’s simple to include modal analysis results, in the interest of brevity I have not included them here. The main point is that topological optimization is a tool available within ANSYS Mechanical using the ACT extension that’s available for download on the customer portal. This is yet another tool available to us within our ANSYS simulation suite. It is my hope that you will also explore what can be done with this tool.
Regarding this effort, clearly a next step would be to 3D print one or more of these designs and test it out for real. Time permitting, we’ll give that a try at some point in the future.
When running on a machine with a Linux operating system, it is not uncommon for users to want to run from the command line or with a shell script. To do this you need to know where the actual executable files are located. Based on a request from a customer, we have tried to coalesce the major ANSYS product executables that can be run via command line on Linux into a single list: