Making Thermal Contact Conductance a Parameter in ANSYS Mechanical 18.0 and Earlier with an APDL Command Object

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.

 

 

 

ANSYS 18 – Mechanical Ease of Use Webinar

We here at PADT are proud to present the ease of use and productivity enhancements that have been added to ANSYS Mechanical in release 18.

With this new release, ANSYS Mechanical focuses on the introduction of a variety of improvements that help save the users time, such as smarter data organization and new hotkeys, along with additions that can help you to better visualize specific intricacies in your models.

Join PADT’s Simulation Support & Application Engineer Doug Oatis for an overview of the current user friendly interfaces within ANSYS Mechanical, along with the numerous additions in this new release that help to improve efficiency tenfold, such as:

  • Hotkey Additions
  • Box Geometry Creation Within Mechanical
  • Free Standing Remote Points
  • Improved Status Bar Information
  • Pretension Beam Connection
  • Solver Scratch Directory Specification
  • Improved Probe Annotations

Register today to find out how you can use these enhancements to improve your throughput and stay ahead of the curve!

We look forward to seeing you there.

Making Solids Water Tight in ANSYS Spaceclaim for ANSYS Workbench Meshing

Occasionally when solid geometry is imported from CAD into ANSYS SpaceClaim the geometry will come in as solids, but when a mesh is generated on the solids the mesh will appear to “leak” into the surrounding space. Below is an assembly that was imported from CAD into SpaceClaim. In the SpaceClaim Structure Window all of the parts can be seen to be solid components.

When the mesh is generated in ANSYS Mechanical it appears like the assembly has been successfully meshed.

However, when you look at the mesh a little closer, the mesh can be missing from some of the surfaces and not displayed correctly on others.

Additionally, if you create a cross-section through the mesh, the mesh on some of the parts will “leak” outside of the part boundaries and will look like the image below.

Based on the mesh color, the mesh of the part in the center of the assembly has grown outside of the surfaces of the part.
To repair the part you need to go back to SpaceClaim and rebuild it. First you need to hide the rest of the parts.

Next, create a sketch plane that passes through the problem part.

In the sketch mode create a rectangle that surrounds the part. When you return to 3D mode in SpaceClaim, that rectangle will become a surface that passes through the part.

Now use the Pull tool in SpaceClaim to turn that surface into a part that completely surrounds the part to be repaired, making sure to turn on the “No Merge” option for the pull before you begin.

After you have pulled the surface into a solid, it should like the image below where the original part is completely buried inside the new part.

Now you will use the Combine tool to divide the box with the original part. Select Combine from the Tool Bar, then select the box that you created in the previous step. The cutter will be activated and you will move the cursor around until the original part is highlighted inside the box. Select it with the left mouse button. The Combine tool will then give you the option to select the part of the box that you want to remove. Select the part that surrounds the original part. After it is finished, close the combine tool and the Structure Tree and 3D window will now look like the following:

Now move the new solid that was created with the Combine tool into the location of the original part and turn off the original one and re-activate the other parts of the assembly. The assembly and Structure Tree should now look like the pictures below.

Now save the project, re-open the meshing tool, and re-generate the mesh. The mesh should now be correct and not “leaking” beyond the part boundaries.

Using External Data in ANSYS Mechanical to Tabular Loads with Multiple Variables

ANSYS Mechanical is great at applying tabular loads that vary with an independent variable. Say time or Z.  What if you want a tabular load that varies in multiple directions and time. You can use the External Data tool to do just that. You can also create a table with a single variable and modify it in the Command Editor.

In the Presentation below, I show how to do all of this in a step-by-step description.

PADT-ANSYS-Tabular-Loading-ANSYS-18

You can also download the presentation here.

Connection Groups and Your Sanity in ANSYS Mechanical

You kids don’t know how good you have it with automatic contact creation in Mechanical.  Back in my day, I’d have to use the contact wizard in MAPDL or show off my mastery of the ESURF command to define contacts between parts.  Sure, there were some macros somewhere on the interwebs that would go through and loop for surfaces within a particular offset, but for the sake of this stereotypical “old-tyme” rant, I didn’t use them (I actually didn’t, I was just TOO good at using ESURF to need anyone else’s help).

Image result for old tyme

Hey, it gets me from point A to B

In Mechanical contact is automatically generated based on a set of rules contained in the ‘Connection Group’ object:

image

It might look a little over-whelming, but really the only thing you’ll need to play around with is the ‘Tolerance Type’.  This can either ‘Slider’ or ‘Value’ (or use sheet thickness if you’re working with shells).  What this controls is the face offset value for which Mechanical will automatically build contact.  So in the picture shown above faces that are 5.9939E-3in apart will automatically have contact created.  You can play around with the slider value to change what the tolerance

image image image

As you can see, the smaller the tolerance slider the larger the ‘acceptable’ gap becomes.  If you change the Tolerance Type to be ‘Value’ then you can just directly type in a number.

Typically the default values do a pretty good job automatically defining contact.  However, what happens if you have a large assembly with a lot of thin parts?  Then what you run into is non-sensical contact between parts that don’t actually touch (full disclosure, I actually had to modify the contact settings to have the auto-generated contact do something like this…but I have seen this in other assemblies with very thin/slender parts stacked on top of each other):

image

In the image above, we see that contact has been defined between the bolt head and a plate when there is clearly a washer present.  So we can fix this by going in and specifying a value of 0, meaning that only surfaces that are touching will have contact defined.  But now let’s say that some parts of your assembly aren’t touching (maybe it’s bad CAD, maybe it’s a welded assembly, maybe you suppressed parts that weren’t important).

image

The brute force way to handle this would be to set the auto-detection value to be 0 and then go back and manually define the missing contacts using the options shown in the image above.  Or, what we could do is modify the auto-contact to be broken up into groups and apply appropriate rules as necessary.  The other benefit to this is if you’re working in large assemblies, you can retain your sanity by having contact generated region by region.   In the words of the original FE-guru, Honest Abe, it’s easier to manage things when they’re logically broken up into chunks.

image

Said No One Ever

Sorry…that was bad.  I figured in the new alt-fact world with falsely-attributed quotes to historical leaders, I might as well make something up for the oft-overlooked FE-crowd.

So, how do you go about implementing this?  Easy, first just delete the default connection group (right-mouse-click on it and select delete).  Next, just select a group of bodies and click the ‘Connection Group’ button:

image image image

In the image series above, I selected all the bolts and washers, clicked the connection group, and now I have created a connection group that will only automatically generate contact between the bolts and washers.  I don’t have to worry about contact being generated between the bolt and plate.  Rinse, lather, and repeat the process until you’ve created all the groups you want:

image

ALL the Connection Groups!

Now that you have all these connection groups, you can fine-tune the auto-detection rules to meet the ‘needs’ of those individual body groups.  Just zooming in on one of the groups:

image

By default, when I generate contact for this group I’ll get two contact pairs:

image image

While this may work, let’s say I don’t want a single contact pair for the two dome-like structures, but 2.  That way I can just change the behavior on the outer ‘ring’ to be frictionless and force the top to be bonded:

image

I modified the auto-detection tolerance to be a user-defined distance (note that when you type in a number and move your mouse over into the graphics window you will see a bulls-eye that indicates the search radius you just defined).  Next, I told the auto-detection not to group any auto-detected contacts together.  The result is I now get 3 contact pairs defined:

image image image

Now I can just modify the auto-generated contacts to have the middle-picture shown in the series above to be frictionless.  I could certainly just manually define the contact regions, but if you have an assembly of dozens/hundreds of parts it’s significantly easier to have Mechanical build up all the contact regions and then you just have to modify individual contact pairs to have the type/behavior/etc you want (bonded, frictionless, symmetric, asymmetric, custom pinball radius, etc).  This is also useful if you have bodies that need to be connected via face-to-edge or edge-to-edge contact (then you can set the appropriate priority as to which, if any of those types should be preserved over others).

So the plus side to doing all of this is that after any kind of geometry update you shouldn’t have much, if any, contact ‘repair’ to do.  All the bodies/rules have already been fine tuned to automatically build what you want/need.  You also know where to look to modify contacts (although using the ‘go to’ functionality makes that pretty easy as well).  That way you can define all these connection groups, leave everything as bonded and do a preliminary solve to ensure things look ‘okay’.  Then go back and start introducing some more reality into the simulation by allowing certain regions to move relative to each other.

The downside to doing your contacts this way is you risk missing an interface because you’re now defining the load path.  To deal with that you can just insert a dummy-modal environment into your project, solve, and check that you don’t have any 0-Hz modes.

How-To: ANSYS 18 RSM CLIENT SETUP on Windows 2012 R2 HPC

We put this simple how-to together for users to speed up the process on getting your Remote Solve Manager client up and running on Microsoft Windows 2012 R2 HPC.

Download the step-by-step slides here:

padt-ansys-18-RSM-client-setup-win2012r2HPC.pdf

You might also be interested in a short article on the setup and use of monitoring for ANSYS R18 RSM.

Monitoring Jobs Using ANSYS RSM 18.0

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!

Modeling 3D Printed Cellular Structures: Approaches

How can the mechanical behavior of cellular structures (honeycombs, foams and lattices) be modeled?

This is the second in a two-part post on the modeling aspects of 3D printed cellular structures. If you haven’t already, please read the first part here, where I detail the challenges associated with modeling 3D printed cellular structures.

The literature on the 3D printing of cellular structures is vast, and growing. While the majority of the focus in this field is on the design and process aspects, there is a significant body of work on characterizing behavior for the purposes of developing analytical material models. I have found that these approaches fall into 3 different categories depending on the level of discretization at which the property is modeled: at the level of each material point, or at the level of the connecting member or finally, at the level of the cell. At the end of this article I have compiled some of the best references I could find for each of the 3 broad approaches.

1. Continuum Modeling

The most straightforward approach is to use bulk material properties to represent what is happening to the material at the cellular level [1-4]. This approach does away with the need for any cellular level characterization and in so doing, we do not have to worry about size or contact effects described in the previous post that are artifacts of having to characterize behavior at the cellular level. However, the assumption that the connecting struts/walls in a cellular structure behave the same way the bulk material does can particularly be erroneous for AM processes that can introduce significant size specific behavior and large anisotropy. It is important to keep in mind that factors that may not be significant at a bulk level (such as surface roughness, local microstructure or dimensional tolerances) can be very significant when the connecting member is under 1 mm thick, as is often the case.

The level of error introduced by a continuum assumption is likely to vary by process: processes like Fused Deposition Modeling (FDM) are already strongly anisotropic with highly geometry-specific meso-structures and an assumption like this will generate large errors as shown in Figure 1. On the other hand, it is possible that better results may be had for powder based fusion processes used for metal alloys, especially when the connecting members are large enough and the key property being solved for is mechanical stiffness (as opposed to fracture toughness or fatigue life).

Fig 1. Load-displacement curves for ULTEM-9085 Honeycomb structures made with different FDM toolpath strategies

2. Cell Level Homogenization

The most common approach in the literature is the use of homogenization – representing the effective property of the cellular structure without regard to the cellular geometry itself. This approach has significantly lower computational expense associated with its implementation. Additionally, it is relatively straightforward to develop a model by fitting a power law to experimental data [5-8] as shown in the equation below, relating the effective modulus E* to the bulk material property Es and their respective densities (ρ and ρs), by solving for the constants C and n.

homogenizationeqn

While a homogenization approach is useful in generating comparative, qualitative data, it has some difficulties in being used as a reliable material model in analysis & simulation. This is first and foremost since the majority of the experiments do not consider size and contact effects. Secondly, even if these were considered, the homogenization of the cells only works for the specific cell in question (e.g. octet truss or hexagonal honeycomb) – so every new cell type needs to be re-characterized. Finally, the homogenization of these cells can lose insight into how structures behave in the transition region between different volume fractions, even if each cell type is calibrated at a range of volume fractions – this is likely to be exacerbated for failure modeling.

3. Member Modeling

The third approach involves describing behavior not at each material point or at the level of the cell, but at a level in-between: the connecting member (also referred to as strut or beam). This approach has been used by researchers [9-11] including us at PADT [12] by invoking beam theory to first describe what is happening at the level of the member and then use that information to build up to the level of the cells.

membermodeling
Fig 2. Member modeling approach: represent cellular structure as a collection of members, use beam theory for example, to describe the member’s behavior through analytical equations. Note: the homogenization equations essentially derive from this approach.

This approach, while promising, is beset with some challenges as well: it requires experimental characterization at the cellular level, which brings in the previously mentioned challenges. Additionally, from a computational standpoint, the validation of these models typically requires a modeling of the full cellular geometry, which can be prohibitively expensive. Finally, the theory involved in representing member level detail is more complex, makes assumptions of its own (e.g. modeling the “fixed” ends) and it is not proven adequately at this point if this is justified by a significant improvement in the model’s predictability compared to the above two approaches. This approach does have one significant promise: if we are able to accurately describe behavior at the level of a member, it is a first step towards a truly shape and size independent model that can bridge with ease between say, an octet truss and an auxetic structure, or different sizes of cells, as well as the transitions between them – thus enabling true freedom to the designer and analyst. It is for this reason that we are focusing on this approach.

Conclusion

Continuum models are easy to implement and for relatively isotropic processes and materials such as metal fusion, may be a good approximation of stiffness and deformation behavior. We know through our own experience that these models perform very poorly when the process is anisotropic (such as FDM), even when the bulk constitutive model incorporates the anisotropy.

Homogenization at the level of the cell is an intuitive improvement and the experimental insights gained are invaluable – comparison between cell type performances, or dependencies on member thickness & cell size etc. are worthy data points. However, caution needs to be exercised when developing models from them for use in analysis (simulation), though the relative ease of their computational implementation is a very powerful argument for pursuing this line of work.

Finally, the member level approach, while beset with challenges of its own, is a promising direction forward since it attempts to address behavior at a level that incorporates process and geometric detail. The approach we have taken at PADT is in line with this approach, but specifically seeks to bridge the continuum and cell level models by using cellular structure response to extract a point-wise material property. Our preliminary work has shown promise for cells of similar sizes and ongoing work, funded by America Makes, is looking to expand this into a larger, non-empirical model that can span cell types. If this is an area of interest to you, please connect with me on LinkedIn for updates. If you have questions or comments, please email us at info@padtinc.com or drop me a message on LinkedIn.

References (by Approach)

Bulk Property Models

[1] C. Neff, N. Hopkinson, N.B. Crane, “Selective Laser Sintering of Diamond Lattice Structures: Experimental Results and FEA Model Comparison,” 2015 Solid Freeform Fabrication Symposium

[2] M. Jamshidinia, L. Wang, W. Tong, and R. Kovacevic. “The bio-compatible dental implant designed by using non-stochastic porosity produced by Electron Beam Melting®(EBM),” Journal of Materials Processing Technology214, no. 8 (2014): 1728-1739

[3] S. Park, D.W. Rosen, C.E. Duty, “Comparing Mechanical and Geometrical Properties of Lattice Structure Fabricated using Electron Beam Melting“, 2014 Solid Freeform Fabrication Symposium

[4] D.M. Correa, T. Klatt, S. Cortes, M. Haberman, D. Kovar, C. Seepersad, “Negative stiffness honeycombs for recoverable shock isolation,” Rapid Prototyping Journal, 2015, 21(2), pp.193-200.

Cell Homogenization Models

[5] C. Yan, L. Hao, A. Hussein, P. Young, and D. Raymont. “Advanced lightweight 316L stainless steel cellular lattice structures fabricated via selective laser melting,” Materials & Design 55 (2014): 533-541.

[6] S. Didam, B. Eidel, A. Ohrndorf, H.‐J. Christ. “Mechanical Analysis of Metallic SLM‐Lattices on Small Scales: Finite Element Simulations versus Experiments,” PAMM 15.1 (2015): 189-190.

[7] P. Zhang, J. Toman, Y. Yu, E. Biyikli, M. Kirca, M. Chmielus, and A.C. To. “Efficient design-optimization of variable-density hexagonal cellular structure by additive manufacturing: theory and validation,” Journal of Manufacturing Science and Engineering 137, no. 2 (2015): 021004.

[8] M. Mazur, M. Leary, S. Sun, M. Vcelka, D. Shidid, M. Brandt. “Deformation and failure behaviour of Ti-6Al-4V lattice structures manufactured by selective laser melting (SLM),” The International Journal of Advanced Manufacturing Technology 84.5 (2016): 1391-1411.

Beam Theory Models

[9] R. Gümrük, R.A.W. Mines, “Compressive behaviour of stainless steel micro-lattice structures,” International Journal of Mechanical Sciences 68 (2013): 125-139

[10] S. Ahmadi, G. Campoli, S. Amin Yavari, B. Sajadi, R. Wauthle, J. Schrooten, H. Weinans, A. Zadpoor, A. (2014), “Mechanical behavior of regular open-cell porous biomaterials made of diamond lattice unit cells,” Journal of the Mechanical Behavior of Biomedical Materials, 34, 106-115.

[11] S. Zhang, S. Dilip, L. Yang, H. Miyanji, B. Stucker, “Property Evaluation of Metal Cellular Strut Structures via Powder Bed Fusion AM,” 2015 Solid Freeform Fabrication Symposium

[12] D. Bhate, J. Van Soest, J. Reeher, D. Patel, D. Gibson, J. Gerbasi, and M. Finfrock, “A Validated Methodology for Predicting the Mechanical Behavior of ULTEM-9085 Honeycomb Structures Manufactured by Fused Deposition Modeling,” Proceedings of the 26th Annual International Solid Freeform Fabrication, 2016, pp. 2095-2106

SFF Symposium 2016 Paper: Predicting the Mechanical Behavior of ULTEM-9085 Honeycomb Structures

Our work on  3D printed honeycomb modeling that started as a Capstone project with students from ASU in September 2015 (described in a previous blog post), was published in a peer-reviewed paper released last week in the proceedings of the SFF Symposium 2016. The full title of the paper is “A Validated Methodology for Predicting the Mechanical Behavior of ULTEM-9085 Honeycomb Structures Manufactured by Fused Deposition Modeling“. This was the precursor work that led to a us winning an 18-month award to pursue this work further with America Makes.

Download the whole paper at the link below:
http://sffsymposium.engr.utexas.edu/sites/default/files/2016/168-Bhate.pdf

Abstract
ULTEM-9085 has established itself as the Additive Manufacturing (AM) polymer of choice for end-use applications such as ducts, housings, brackets and shrouds. The design freedom enabled by AM processes has allowed us to build structures with complex internal lattice structures to enhance part performance. While solutions exist for designing and manufacturing cellular structures, there are no reliable ways to predict their behavior that account for both the geometric and process complexity of these structures. In this work, we first show how the use of published values of elastic modulus for ULTEM-9085 honeycomb structures in FE simulation results in 40- 60% error in the predicted elastic response. We then develop a methodology that combines experimental, analytical and numerical techniques to predict elastic response within a 5% error. We believe our methodology is extendable to other processes, materials and geometries and discuss future work in this regard.

Figure
Fig 1. Honeycomb tensile test behavior varying as a function of manufacturing parameters
The ASU Capstone team (left to right): Drew Gibson, Jacob Gerbasi, John Reeher, Matthew Finfrock, Deep Patel and Joseph Van Soest.
Fig 2. The ASU Capstone team (left to right): Drew Gibson, Jacob Gerbasi, John Reeher, Matthew Finfrock, Deep Patel and Joseph Van Soest.

ANSYS R17 Topological Optimization Application Example – Saxophone Brace

topo-opt-sax-a2What 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.

topo-opt-sax-a1Topological 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.

topo-opt-sax-01
Half Ring Brace

 

Solid connection to bell, screw joint to body
Solid connection to bell, screw joint to body
Older thin but solid brace rigidly connected to soldered pads
Older thin but solid brace rigidly connected to soldered pads
topo-opt-sax-04
Modern ring design
Modern Dual Degree of Freedom with Revolute Joint Type Connections
Modern Dual Degree of Freedom with Revolute Joint Type Connections

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.

Representative Solid Model Geometry Created in ANSYS SpaceClaim. Note ‘Blob’ of Material at Brace Location.
Representative Solid Model Geometry Created in ANSYS SpaceClaim. Note ‘Blob’ of Material at Brace Location.

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.

topo-opt-sax-07
Applied Boundary Conditions Were Various Constraints at A, B, and C, as well as Acceleration Due to Gravity.

This plot shows the resulting displacement distribution due to the gravity load:

topo-opt-sax-08

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:

topo-opt-sax-09

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:

topo-opt-sax-10
Two views of the 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:

topo-opt-sax-11

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:

topo-opt-sax-12

And here is the result of the topological optimization using the thinner blob as the starting point:

topo-opt-sax-13

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.

topo-opt-sax-14

This shows the resulting deflection from this first, ‘organic’ candidate:

topo-opt-sax-15

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:

topo-opt-sax-16

This is the same configuration, but showing it in place within the saxophone bell and body model in ANSYS SpaceClaim:

topo-opt-sax-17

Next, here is the deformation result for our simple loading condition using this second geometry configuration:

topo-opt-sax-18

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:

topo-opt-sax-19

Here are is the resulting displacement distribution using this design:

topo-opt-sax-20

This shows the maximum principal stress distribution within the brace for this candidate:

topo-opt-sax-21

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.

ANSYS 17.1 FEA Benchmarks using v17-sp5

The CUBE machines that I used in this ANSYS Test Case represent a fine balance based on price, performance and ANSYS HPC licenses used.

Click Here for more information on the engineering simulation workstations and clusters designed in-house at PADT, Inc.. PADT, Inc. is happy to be a premier re-seller and dealer of Supermicro hardware.

  • ANSYS Benchmark Test Case Information.
  • ANSYS HPC Licensing Packs required for this benchmark
    • I used (2) HPC Packs to unlock all 32 cores.
  • Please contact your local ANSYS Software Sales Representative for more information on purchasing ANSYS HPC Packs. You too may be able to speed up your solve times by unlocking additional compute power!
  • What is a CUBE? For more information regarding our Numerical Simulation workstations and clusters please contact our CUBE Hardware Sales Representative at SALES@PADTINC.COM Designed, tested and configured within your budget. We are happy to help and to  listen to your specific needs.

Figure 1 – ANSYS benchmark data from three excellent machines.

CUBE
CUBE by PADT, Inc. ANSYS Release 17.1 FEA Benchmark

BGA (V17sp-5)

BGA (V17sp-5)
Analysis Type Static Nonlinear Structural
Number of Degrees of Freedom 6,000,000
Equation Solver Sparse
Matrix Symmetric

Click Here for more information on the ANSYS Mechanical test cases. The ANSYS website has great information pertaining to the benchmarks that I am looking into today.

Pro Tip –> Lastly, please check out this article by Greg Corke one of my friends at ANSYS, Inc. I am using the ANSYS benchmark data fromthe Lenovo Thinkstation P910 as a baseline for my benchmark data.  Enjoy Greg’s article here!

  • The CPU Information

The benchmark data is derived off of the running through the BGA (sp-5) ANSYS test case. CPU’s and how they perform with one of the very latest ANSYS releases, ANSYS Release 17.1.

  1.  Intel® Xeon® e5-2680 V4
  2.  Intel® Xeon® e5-2667 V4
  3.  Intel® Xeon® e5-2697a V4
  • It Is All About The Data
    • Only one workstation was used for the data in this ANSYS Test Case
    • No GPU Accelerator cards are used for the data
    • Solution solve times are in seconds
ANSYS 17.1 Benchmark BGA v17sp-5
Lenovo ThinkStation P910 2680 V4 CUBE w16i 2667 V4 CUBE w32i 2697A V4
Cores Customer X  – 28 Core @2.4GHz/ea CUBE w16i CUBE w132i tS
2 1016 380.9 989.6 1.03
4 626 229.6 551.1 1.14
8 461 168.7 386.6 1.19
12 323 160.7 250.5 1.29
16 265 161.7 203.3 1.30
20 261 0 176.9 1.48
24 246 0 158.1 1.56
28 327 0 151.8 2.15
31 0 0 145.2 2.25
32 0 0 161.7 2.02
15-Nov-16 PADT, Inc. – Tempe, AZ –
  • Cube w16i Workstation – Windows 10 Professional
    1 x 4U CUBE APPLIANCE
    2 x 8c @3.2GHz/ea
    Dual Socket motherboard
    256GB DDR4-2400 MHz LRDIMM
    6 x 600GB SAS3 15k RPM
    NVIDIA QUADRO K6000
  • CUBE w32i Workstation – Windows 10 Professional
    1 x 4U CUBE APPLIANCE
    2 x 16c @2.6GHz/ea
    Dual Socket motherboard
    256GB DDR4-2400 MHz LRDIMM
    2 x 600GB SAS3 15k RPM
    NVIDIA QUADRO M4000
  • Lenovo Thinkstation P910 Workstation – Windows 10 Professional
    Lenovo P910 Workstation
    2 x 14c @2.4GHz/ea
    Dual Socket motherboard
    128GB DDR4-2400 MHz
    512GB NVMe SSD / 2 x 4TB SATA HDD / 512GB SATA SSD
    NVIDIA QUADRO M2000

As you will may have noticed above, the CUBE workstation with the Intel Xeon e5-2697A V4 had the fastest solution solve time for one workstation.

  • *** Using 31 cores the CUBE w32i finished the sp-5 test case in 145.2 seconds.

See 32 Cores of Power! CUBE by PADT, Inc.

cube-w32i-coresCUBE w32i

CUBE w32i

CUBE by PADT, Inc. of ANSYS 17.1 Benchmark Data for sp-5
CUBE by PADT, Inc. of ANSYS 17.1 Benchmark Data for sp-5

Thank you!

http://www.cube-hvpc.com/

ANSYS 17.2 Executable Paths on Linux


ansys-linux-penguin-1When 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:

ANSYS Workbench (Includes ANSYS Mechanical, Fluent, CFX, Polyflow, Icepak, Autodyn, Composite PrepPost, DesignXplorer, DesignModeler, etc.):

/ansys_inc/v172/Framework/bin/Linux64/runwb2

ANSYS Mechanical APDL, a.k.a. ANSYS ‘classic’:

/ansys_inc/v172/ansys/bin/launcher172 (brings up the MAPDL launcher menu)
/ansys_inc/v172/ansys/bin/mapdl (launches ANSYS MAPDL)

CFX Standalone:

/ansys_inc/v172/CFX/bin/cfx5

Autodyn Standalone:

/ansys_inc/v172/autodyn/bin/autodyn172

Note: A required argument for Autodyn is –I {ident-name}

Fluent Standalone (Fluent Launcher):

/ansys_inc/v172/fluent/bin/fluent

Icepak Standalone:

/ansys_inc/v172/Icepak/bin/icepak

Polyflow Standalone:

/ansys_inc/v172/polyflow/bin/polyflow/polyflow < my.dat

Chemkin:

/ansys_inc/v172/reaction/chemkinpro.linuxx8664/bin/chemkinpro_setup.ksh

Forte:

/ansys_inc/v172/reaction/forte.linuxx8664/bin/forte.sh

TGRID:

/ansys_inc/v172/tgrid/bin/tgrid

ANSYS Electronics Desktop (for Ansoft tools, e.g. Maxwell, HFSS)

/ansys_inc/v172/AnsysEM/AnsysEM17.2/Linux64/ansysedt

SIWave:

/ansys_inc/v172/AnsysEM/AnsysEM17.2/Linux64/siwave

Modeling 3D Printed Cellular Structures: Challenges

In this post, I discuss six challenges that make the modeling of 3D printed cellular structures (such as honeycombs and lattices) a non-trivial matter. In a following post, I will present how some of these problems have been addressed with different approaches.

At the outset, I need to clarify that by modeling I mean the analytical representation of material behavior, primarily for use in predictive analysis (simulation). Here are some reasons why this is a challenging endeavor for 3D printed cellular solids – some of these reasons are unique to 3D printing, others are a result of aspects that are specific to cellular solids, independent of how they are manufactured. I show examples with honeycombs since that is the majority of the work we have data for, but I expect that these ideas apply to foams and lattices as well, just with varying degrees of sensitivity.

1. Complex Geometry with Non-Uniform Local Conditions

I state the most well-appreciated challenge with cellular structures first: they are NOT fully-dense solid materials that have relatively predictable responses governed by straightforward analytical expressions. Consider a dogbone-shaped specimen of solid material under tension: it’s stress-strain response can be described fairly well using continuum expressions that do not account for geometrical features beyond the size of the dogbone (area and length for stress and strain computations respectively). However, as shown in Figure 1, such is not the case for cellular structures, where local stress and strain distributions are non-uniform. Further, they may have variable distributions of bending, stretching and shear in the connecting members that constitute the structure. So the first question becomes: how does one represent such complex geometry – both analytically and numerically?

non-uniform-strain
Fig 1. Honeycomb structure under compression showing non-uniform local elastic strains [Le & Bhate, under preparation]

2. Size Effects

A size effect is said to be significant when an observed behavior varies as a function of the size of the sample whose response is being characterized even after normalization (dividing force by area to get stress, for example). Here I limit myself to size effects that are purely a mathematical artifact of the cellular geometry itself, independent of the manufacturing process used to make them – in other words this effect would persist even if the material in the cellular structure was a mathematically precise, homogeneous and isotropic material.

It is common in the field of cellular structure modeling to extract an “effective” property – a property that represents a homogenized behavior without explicitly modeling the cellular detail. This is an elegant concept but introduces some practical challenges in implementation – inherent in the assumption is that this property, modulus for example, is equivalent to a continuum property valid at every material point. The reality is the extraction of this property is strongly dependent on the number of cells involved in the experimental characterization process. Consider experimental work done by us at PADT, and shown in Figure 2 below, where we varied both the number of axial and longitudinal cells (see inset for definition) when testing hexagonal honeycomb samples made of ULTEM-9085 with FDM. The predicted effective modulus increases with increasing number of cells in the axial direction, but reduces (at a lower rate) for increasing number of cells in the longitudinal direction.

This is a significant challenge and deserves a full form post to do justice (and is forthcoming), but the key to remember is that testing a particular cellular structure does not suffice in the extraction of effective properties. So the second question here becomes: what is the correct specimen design for characterizing cellular properties?

sizeeffect
Fig 2. Effective modulus under compression showing a strong dependence on the number of cells in the structure [Le & Bhate, under preparation]

3. Contact Effects

In the compression test shown in the inset in Figure 2, there is physical contact between the platen and the specimen that creates a local effect at the top and bottom that is different from the experience of the cells closer the center. This is tied to the size effect discussed above – if you have large enough cells in the axial direction, the contribution of this effect should reduce – but I have called it out as a separate effect here for two reasons: Firstly, it raises the question of how best to design the interface for the specimen: should the top and bottom cells terminate in a flat plate, or should the cells extend to the surface of contact (the latter is the case in the above image). Secondly, it raises the question of how best to model the interface, especially if one is seeking to match simulation results to experimentally observed behavior. Both these ideas are shown in Figure 3 below. This also has implications for product design – how do we characterize and model the lattice-skin interface? As such, independent of addressing size effects, there is a need to account for contact behavior in characterization, modeling and analysis.

contact
Fig 3. Two (of many possible) contact conditions for cellular structure compression – both in terms of specimen design as well as in terms of the nature of contact specified in the simulation (frictionless vs frictional, for example)

4. Macrostructure Effects

Another consideration related to specimen design is demonstrated in an exaggerated manner in the slowed down video below, showing a specimen flying off the platens under compression – the point being that for certain dimensions of the specimen being characterized (typically very tall aspect ratios), deformation in the macrostructure can influence what is perceived as cellular behavior. In the video below, there is some induced bending on a macro-level.

5. Dimensional Errors

While all manufacturing processes introduce some error in dimensional tolerances, the error can have a very significant effect for cellular structures – a typical industrial 3D printing process has tolerances within 75 microns (0.003″) – cellular structures (micro-lattices in particular) very often are 250-750 microns in thickness, meaning the tolerances on dimensional error can be in the 10% and higher error range for thickness of these members. This was our finding when working with Fused Deposition Modeling (FDM), where on a 0.006″ thick wall we saw about a 10% larger true measurement when we scanned the samples optically, as shown in Figure 4. Such large errors in thickness can yield a significant error in measured behavior such as elastic modulus, which often goes by some power to the thickness, amplifying the error. This drives the need for some independent measurement of the manufactured cellular structure – made challenging itself by the need to penetrate the structure for internal measurements. X-ray scanning is a popular, if expensive approach. But the modeler than has the challenge of devising an average thickness for analytical calculations and furthermore, the challenge of representation of geometry in simulation software for efficient analysis.

Fig 4. (Clockwise from top left): FDM ULTEM 9085 honeycomb sample, optical scan image, 12-sample data showing a mean of 0.064″ against a designed value of 0.060″ – a 7% error in thickness

6. Mesostructural Effects

The layerwise nature of Additive Manufacturing introduces a set of challenges that are somewhat unique to 3D Printed parts. Chief among these is the resulting sensitivity to orientation, as shown for the laser-based powder bed fusion process in Figure 5 with standard materials and parameter sets. Overhang surfaces (unsupported) tend to have down-facing surfaces with different morphology compared to up-facing ones. In the context of cellular structures, this is likely to result in different thickness effects depending on direction measured.

Fig 5. 3D Printed Stainless Steel Honeycomb structures showing orientation dependent morphology [PADT, 2016]
For the FDM process, in addition to orientation, the toolpaths that effectively determine the internal meso-structure of the part (discussed in a previous blog post in greater detail) have a very strong influence on observed stiffness behavior, as shown in Figure 6. Thus orientation and process parameters are variables that need to be comprehended in the modeling of cellular structures – or set as constants for the range of applicability of the model parameters that are derived from a certain set of process conditions.

Figure
Fig 6. Effects of different toolpath selections in Fused Deposition Modeling (FDM) for honeycomb structure tensile testing  [Bhate et al., RAPID 2016]

Summary

Modeling cellular structures has the above mentioned challenges – most have practical implications in determining what is the correct specimen design – it is our mission over the next 18 months to address some of these challenges to a satisfactory level through an America Makes grant we have been awarded. While these ideas have been explored in other manufacturing contexts,  much remains to be done for the AM community, where cellular structures have a singular potential in application.

In future posts, I will discuss some of these challenges in detail and also discuss different approaches to modeling 3D printed cellular structures – they do not always address all the challenges here satisfactorily but each has its pros and cons. Until then, feel free to send us an email at info@padtinc.com citing this blog post, or connect with me on LinkedIn so you get notified whenever I write a post on this, or similar subjects in Additive Manufacturing (1-2 times/month).

ANSYS How To: Result Legend Customization and Reuse

ansys-mechanical-custom-legend-0A user was asking how to modify the result legend in ANSYS Mechanical R17 so Ted Harris put together this little How To in PowerPoint:

padt_mechanical_custom_legend_r17.pdf

It shows how to modify the legend to get just what you want, how to save the settings to a file, and then how to use those seettings again on a different model.  Very simple and Powerful.

ansys-mechanical-custom-legend-1

 

 

ansys-mechanical-custom-legend-2

Jet Engines to Golf Clubs – Phoenix Area ANSYS Users Share their Stories

ansys-padt-skysong-conference-1There is nothing better than seeing the powerful and interesting way that other engineers are using the same tools you use.  That is why ANSYS, Inc. and PADT teamed up on Thursday to hold an “ANSYS Arizona Innovation Conference”  at ASU SkySong where users could come to share and learn.

The day kicked off with Andy Bauer from ANSYS welcoming everyone and giving them an update on the company and some general overarching direction for the technology.  Then Samir Rida from Honeywell Aerospace gave a fantastic keynote sharing how simulation drive the design of their turbine engines.  As a former turbine engine guy, I found it fascinating and exciting to see how accurate and detailed their modeling is.

img_1629b

Next up was my talk on the Past, Present, and Future of simulation for product development.  The point of the presentation was to take a step back and really think about what simulation is, what we have padt-ansys-innovation-az-2016-pptbeen doing, and what it needs to look at in the future.  We all sort of agreed that we wanted voice activation and artificial intelligence built in now.  If you are interested, you can find my presentation here: padt-ansys-innovation-az-2016.pdf.

After a short break ANSYS’s Sara Louie launched into a discussion on some of the new Antenna Systems modeling capabilities, simulating multiple physics and large domains with ANSYS products.  The ability to model the entire interaction of an antenna including large environments was fascinating.

Lunchtime discussions focused on the presentations in the morning as well as people sharing what they were working on.

img_1632The afternoon started with a review by Hoang Vinh of ANSYS of the ANSYS AIM product. This was followed by customer presentations. Both Galtronics and ON Semiconductor shared how they drive the design of their RF systems with ANSYS HFSS and related tools.  Then Nammo Talley shared how they incorporated simulation into their design process and then showed an example of a projectile redesign from a shoulder launched rocket that was driven by simulation in ANSYS CFX.  They had the added advantage of being able to show something that blows up, always a crowd pleaser.

ping-ansysAnother break was followed by a great look at how Ping used CFD to improve the design of one of their drivers.  They used simulation to understand the drag on the head through an entire swing and then add aerodynamic features that improved the performance of the club significantly. Much of the work is actually featured in an ANSYS Advantage article.

We wrapped things up with an in depth technical look at Shock and Vibration Analysis using ANSYS Mechanical and Multiphysics PCB Analysis with the full ANSYS product suite.

The best part of the event was seeing how all the different physics in ANSYS products were being used and applied in different industries.  WE hope to have similar events int he future so make sure you sign up for our mailings, the “ANSYS – Software Information & Seminars” list will keep you in the loop.

img_1628