Anda di halaman 1dari 13

Submodeling: Simple Solutions for

Large-Scale Problems
Posted on November 22, 2016 by Mark Swenson
If youre an engineer who has dealt with large simulation models, you know theres often a trade-
off between accuracy and solution time. Submodeling is a technique you can use to reduce
solution time without sacrificing accuracy of results.

A common strategy you can use to look at the overall behavior of an assembly or complex part of a
large model is to simplify the model during preparation by removing small details, like fillets and
holes. Simplifying models in this way can have a significant impact on run times. This
simplification, while not excessively affecting overall model stiffness, may result in lower
resolution of localized stresses. What you need, then, is a mechanism that allows you to zoom in
on these details to examine behavior around specific areas.

Submodeling is such a technique it enables you to solve a locally refined model with all of the
geometric details required to solve accurate stresses. The ANSYS submodeling method not only
provides accuracy, it solves these regions in a fraction of the time it would take to solve the entire
model.
With ANSYS 17.0, we added an enhancement for SpaceClaim Direct Modeler that makes it easy to
extract a submodel from solid or surface geometry. The technique is highly automated while still
enabling you to enter guidance and input. You can use Direct Modeler to extract the model with
only a few mouse button clicks. The technique leverages a useful SpaceClaim viewing method
called Clip with Volume; you simply designate a spherical region and Direct Modeler
automatically extracts the appropriate solid geometry. Not only does it rapidly create the
submodel but the cut planes (named selections) are automatically created as part of this process!

The example below shows stress concentration results for a full model gearbox. The geometry has
a sharp corner singularity.

Sharp corners resulting in high stress concentrations often lead to misleading or inaccurate results.

The stress results would be inaccurate stresses are over 50 KSI.


High stresses along sharp corners.

In SpaceClaim, with a few mouse button clicks, you can extract the submodel using Clip with
Volume and use the Pull tool to add a fillet radius.

Submodel extraction and rapid geometry modification in SpaceClaim.

This automatically creates a Named Selection at the cut boundaries of the submodel. The next step
is to transfer the model into ANSYS Mechanical and apply a fine mesh to specific areas.
Meshing a submodel with a fine resolution.

The Named Selections created from SpaceClaim are used to import displacements from the full
model.

Transferring displacements using the SpaceClaim generated Named Selections

This gear box submodel is solved with 3 easy steps as shown below and with very accurate
stresses of only 20 KSI, as compared to the 50 KSI stress concentration.
Realistic and accurate stress concentrations now that geometries have been altered and meshes refined.

To solve the full model with all the detail will require a significant increase in the solve time to get
the accuracy of the submodel.

Submodeling in ANSYS Mechanical: Easy, Efficient, and


Accurate
Posted on August 14, 2013 by Eric Miller

Back in the day when we rode horses into work as Finite Element Analysis Engineers, we had somewhat limited
compute capacity. 70,000 elements was a hard and fast limit. But we still needed accurate results with local refinement
in areas of concern. The way we accomplished that was with a process called submodeling where you make a refined
local model just of the area you care about, and a coarse mesh that modeled the whole part but still fit on the
computer. The displacement field from the coarse model was then applied as a boundary condition on the refined
model.

We called the refined model a zoom model or a submodel. It worked very well for many years. Then computers got
bigger and we just started meshing the heck out of those areas of interest in the full part model. And in many cases that
is still the best solution for an accurate localized stress: localized refinement.

Submodeling is one of those tricks in stress analysis that used to be used all the time. But until recently it was a bit of a
pain to do in ANSYS Mechanical so it fell out of use. Now, the process of doing submodeling is easy, efficient, and
accurate. The purpose of this posting is to introduce the concept to newer users who have not used it before, and show
experienced (old) users how much easier it is to do in ANSYS Mechanical vs. Mechanical APDL.

What is Submodeling?

The best description of submodeling is the illustration that has been in the ANSYS help system, in one form or another,
for over 25 years:
The basic idea is that you have a coarse model of your whole part or assembly. You ignore small features in the mesh
that dont have an impact on the overall response of the system the local stiffness does not have influence on the strain
beyond that local region. You then make a very refined model, the submodel, of the region of interest. You use the
displacement field (and temperature if you have a temperature gradient) from the coarse model and apply it to the
submodel as a boundary condition to get the accurate highly-refined response in the area of interest.

The process is based on St. Venants principle: the difference between the effects of two different but statically
equivalent loads becomes very small at sufficiently large distances from load.

Anyhow, what he showed was that if you are looking at the stresses in a part far away from where loads are applied, how
those loads are applied does not matter. So we can replace the forces/pressures/etc from our course model as an
equivalent static deflection load and the stress field will be the same.

The way this is done in a Finite Element model is you determine what faces in your submodel are inside your course
model. These are called the cut boundary faces and the nodes on those faces are the cut boundary nodes. and you
apply the displacement field from the coarse model onto the nodes

The most common use is to add mesh refinement in an area without having to solve the whole model. Another common
usage is to actually mesh small features like fillets, holes, and groves that were left out of or under-meshed in the full
model. It can also be used to capture material non-linearities if that behavior is highly localized.

But probably the most beneficial use today is to study the parametric variation of small features like the size of a fillet or a
hole. If changing the size of such features does not change the overall response of the system, then you only need to do
a parametric study on the submodel as the guy with the great beard proved, if the static load does not change with your
geometric variations, you dont have to look at the whole structure.

And dont forget the new crack growth capabilities. You will probably want to do that on a submodel around your crack
and not on your whole geometry.

Here is a more modern version of the original example geometry:


The red highlight shows the cut boundaries. this is where you need to apply the displacement field.

This is the nasty coarse mesh. Now if you were modeling a single part, you would just mesh the fillets and be done with
it. But assume this is in a large assembly.

The Submodel. Nice elements in the key area.

You can even set up the radius as a parameter and do a study, where only the Submodel is modified and updated.
The Process

The process is fairly simple:

1. Make and solve your full model


2. Make a geometry model of the area you want a submodel in
3. Attach the submodel to the engineering data and solution of the full model
4. Set up and solve the submodel
Before we get started, here is a ANSYS 14.5 archived project for both models we will discuss in this posting: PADT-
Focus-Submodeling-2013_08_14.wbpz
For the sample geometry we showed above, the system looks like this:

When you go into ANSYS Mechanical for the sample model, you have a new model branch:
When you first get in there, the branch is empty, you have to insert Body Temperature and/or Displacement:

The Details for the Displacement object are as follows:


There are a lot of options here. It is basically using the external load mapper to map the displacements. Consult the help
and just play around with the options to understand them better. In most cases, all you need to do is specify the faces
that you want the displacement field applied to for the Scope section.

A cool feature is that once you have specified the faces, you can Import Load and then view them by clicking on the
object. Graphics Control >Data = All shows vectors. Total/X/Y/Z shows the applied displacement field as a contour:
Now you just need to make sure your Submodel is set up correctly, you have the mesh you want, and any other loads
that are applied directly to the Submodel are the same as the loads in the full model (see next section). Run and you get
your refined results.

Here is that same process with a more realistic model of a beam with a tube welded on it. The welds are not modeled in
the full model and the fillets in the beam are very coarse.

So here is the geometry. Imagine that these two parts are actually part of a very large assembly so we really cant refine
them the way we want.

This is what the systems look like. Note that the geometry comes from one source. I made the submodel in the same
solid model in DesignModeler and just suppress the parts I dont want in each Mechanical model.

The loading is simple. I fix one end and put a force on the top of the tube.
And here is my coarse mesh. I could probably mesh the tube with a lot more elements, especially along the axis.

The results. Not too useful from a stress standpoint. Deflections are good, but the fillet is missing and beam is too
coarse.

So here is the submodel. All the fillets are in there and it is just the area around the connection.

I used advanced meshing to get a really nice refined mesh. It only solves in about 20 seconds so I can really refine it.
Here are the cut boundaries. The bottom of the beam ribs are also selected.

And here is the result. A really accurate look at the stresses in the fillet. I could even put a probe in there and do some
nice fatigue or crack growth.

The other thing that showed up were some stress problems on the bottom of the beam. Those could be an issue under
a high load. The fillet stress on top my yield out but these stresses under the beam could be a fatigue problem.
Tips and Hints

In most cases, doing a sub model is pretty simple. But there is a lot more to it than what we covered here. Because I
need to get back to some very pressing HR tasks, Ill just list them here so you know that you are aware of them:

1. Label your systems in the project page with some sort of full and sub terminology Things get really confusing fast
if you dont.
2. You can do submodeling with a transient or multiple substep model. In your Imported Displacement/Body
Temperature, specify what load step to grab the loads from.
3. Dont forget temperature. One of the most common problems is when a user applies temperature and therefore gets
thermal stress. They then forget to apply that to their submodel and everything is wrong.
4. Make sure you dont change material properties. Remember, these models are statically identical, you are just
looking at a chunk with greater refinement.
5. Remember that loads need to be away from the area you are zooming in on. Dont cut where a load is applied, or
even near where one is applied. The exception is temperature. (Sometimes you can get away with pressure loads
too, but you have to be very careful to get the same load over the area)
6. Your cant have geometry in the submodel sticking too far out of the coarse mesh. The displacement is interpolated
onto the fine mesh and if a node on the fine mesh is outside the coarse mesh, the program extrapolates and that
can sometimes induce errors. If you see spotty or high stresses on your cut boundaries, that is why. There are tools
in the Submodeling details to help diagnose and fix that.
7. If you are going to do a parametric study on geometry changes in the submodel, use a separate geometry file to
create that model (I just duplicate the original and suppress the full geometry in DM). Why? Because if you change
a parameter in your geometry model, both models will need to resolve since they both use the same geometry file,
even if the geometry change occurs on a part that is suppressed in the full model.
8. You can do submodels of submodels as many levels down as you want.
9. You can have multiple submodels in one system
10. Read the help, it is fairly detailed
That is about all for now. As always: crawl, walk, run. Start with a very simple sub model with obvious cut boundaries
and get experienced.

Anda mungkin juga menyukai