Just like any other marketplace, there are a lot of options in simulation software. There are custom niche-codes for casting simulations to completely general purpose linear algebra solvers that allow you to write your own shape functions. Just like with most things in life, you truly get what you pay for.
For basic structural and thermal simulations pretty much any FE-package should suffice. The difference there will be in how easy it is to pre/post process the work and the support you receive from the vendor. How complicated is the geometry to mesh, how long does it take to solve, if you can utilize multiple cores how well does it scale, how easy is it to get reactions at interfaces/constraints…and so on. I could make this an article about all the productivity enhancements available within ANSYS, but instead I’ll talk about some of the more advanced functionalities that differentiate ANSYS from other software out there.
You can typically ignore radiation if there isn’t a big temperature gradient between surfaces (or ambient) and just model your system as conduction/convection cooled. Once that delta is large enough to require radiation to be modeled there are several degrees of numerical difficulty that need to be handled by the solver.
First, radiating to ambient is fairly basic but the heat transfer is now a function of T^4. The solver can also be sensitive to initial conditions since large DT results in a large heat transfer, which can then result in a large change in temperature from iteration to iteration. It’s helpful to be able to run the model transiently or as a quasi-static to allow the solver to allow some flexibility.
Next, once you introduce surface to surface radiation you now have to calculate view factors prior to starting the thermal solution. If you have multiple enclosures (surfaces that can’t see each other, or enclosed regions) hopefully there are some processes to simplify the view factor calculations (not wasting time calculating a ‘0’ for elements that can’t radiate to each other). The view factors can sometimes be sensitive to the mesh density, so being able to scale/modify those view factors can be extremely beneficial.
Lastly you run into the emissivity side of things. Is the emissivity factor a function of temperature? A function of wavelength? Do you need to account for absorption in the radiation domain?
Luckily ANSYS does all of this. ANSYS Mechanical allows you to easily define radiation to ambient or surface-to-surface. If you’re using symmetry in your model the full radiating surface will be captured automatically. You can define as many enclosures as possible, each with different emissivity factors (or emissivity vs Temperature). There are more advanced features that can help with calculating view factors (simplify the radiating surface representation, use more ray traces, etc) and there is functionality to save the calculated view factors for later simulations. ANSYS fluid products (CFX and Fluent) can also account for radiation and have the ability to capture frequency-based emissivity and participating media.
Automatic expansion of radiating surfaces across symmetry planes
Different enclosures to simplify view factor calculations
Long story short…you don’t have to know what the Stefan-Boltzman constant is if you want to include radiation in your model (bonus points if you do). You don’t have to mess with a lot of settings to get your model to run. Just insert radiation, select the surface, and run. Additional options and technical support is there if necessary.
I’d expect that any structural/thermal/fluids/magnetics code should be able to solve the basic fundamental equations for the environment it simulates. However, what happens when you need to combine physics, like a MEMs device. Or maybe you want to take some guess-work/assumptions out of how one physics loads another, like what the actual pressure load is from a CFD simulation on a structural model. Or maybe you want to capture the acoustic behavior of an electric motor, accounting for structural prestress/loads such as Joule heating and magnetic forces.
ANSYS allows you to couple multiple physics together, either using a single model or through data mapping between different meshes. Many of the data mapping routines allow for bi-directional data passing so the results can converge. So you can run an magnetic simulation on the holding force between a magnet and a plate, then capture the deflected shape due to an external load, and pass that deformed shape back to the magnetic simulation to capture the updated force (and repeat until converged).
If you have vendor-supplied data, or are using another tool to calculate some other results you can read in point cloud data and apply it to your model with minimal effort.
To make another long story short…you can remove assumptions and uncertainty by using ANSYS functionality.
Any simulation tool should be able to handle simple linear material models. But there are many different flavors of ‘nonlinear’ simulation. Does the stiffness change due to deflection/motion (like a fishing rod)? Are you working with ductile metals that experience plastic deformation? Does the stiffness change due to parts coming into/out-of contact? Are surfaces connected through some adhesive property that debonds under high loads? Are you working with elastomers that utilize some polynomial form hyper-elasic formulation? Are you working with shape memory alloys? Are you trying to simulate porous media through some geomechanical model? Are you trying to simulate a stochastic material variation failure in an impact/explosive simulation?
Large deflection stiffness calculations, plasticity, and contact status changes are easy in ANSYS. Debonding has been available since ANSYS 11 (reminder, we’re at release 18.0 now). ANSYS recently integrated some more advanced geomechanical models for dam/reservoir/etc simulations. The explicit solver allows you to introduce stochastic variation in material strengths for impact/explosive simulations.
ANSYS also has all the major flavors of hyper-elastic material models. You can choose from basic Neo-Hookean, Arruda-Boyce, Gent, all the way through multiple variations of Mooney-Rivlin, Yeoh, Ogden, and more. In addition to having these material models available (and the curve fitting routines to properly extract the constants from test data) ANSYS also has the ability to dynamically remesh a model. Most of the time when you’re analyzing the behavior of a hyperelastic part there is a lot of deformation, and what starts out as a well-shaped mesh can quickly turn into a bad mesh. Using adaptive meshing, you can have the solve automatically pause the solution, remesh the deformed shape, map the previous stress state onto the new nodes/elements, and continue with the solution. I should note that this nonlinear adaptive remesh is NOT just limited to hyperelastic simulations…it is just extremely helpful in these instances.
The ending of this story is pretty much the same as others. If you have a complicated material response that you’re trying to capture you can model it in ANSYS. If you already know how to characterize your material, just find the material model and enter the constants. We’ve worked with several customers in getting their material tested and properly characterized. So while most structural codes can do basic linear-elastic, and maybe some plastic…very few can capture all the material responses that ANSYS can.
I know I’ve already discussed multiple physics and advanced materials, but once you start making parts smaller you start to get coupling between physics that may not work well for vector-based coupling (passing load vectors/deformations from one mesh to another). Luckily ANSYS has a range of multi-physics elements that can solve use either weak or strong coupling to solve a host of piezo or MEM-related problems (static, transient, modal, harmonic). Some codes allow for this kind of coupling but either require you to write your own governing equations or pay for a bunch of modules to access.
If you have the ANSYS Enterprise-level license you can download a free extension that exposes all of these properties in the Mechanical GUI. No scripting, no compiling, just straight-up menu clicks.
Using this extension you can define the full complex piezoelectric matrix, couple it with an anisotropic elasticity matrix, and use frequency dependent losses to capture the actual response of your structure. Or if you want you can use simplified material definitions to get the best approximation possible (especially if you’re lacking a full material definition from your supplier).
Long story short…there are a lot of simulation products out there. Pretty much any of them should be able to handle the basics (single part, structural/thermal, etc). What differentiates the tools is in how easy it helps you implement more real-world conditions/physics into your analysis. Software can be expensive, and it’s important that you don’t paint yourself into a corner by using a single point-solution or low-end tool.