Global-local modeling allows you to reanalyze a local portion of a large model more accurately without repeating the overall analysis (e.g. Fig. 9). This is also referred to as breakout modeling because a local region of the model is broken out of the global model, and the solution to the global model is used as boundary conditions for the local model. It has been available in codes like Nastran and Ansys for some time and is also available in Solidworks Simulation (which refers to it as “submodeling”).
If we assume that the global solution has accurately predicted displacements and load flow through the overall model, then refinement of a localized region will not affect the overall solution. As long as the boundary of the localized region is chosen so the stress gradients are fairly low at its boundary, the stress calculation will be accurate in the local model.
This is similar to the familiar concept of a free body diagram for analyzing load equilibrium. For the cantilever beam shown below, the stresses in the center portion of the beam can be obtained by analyzing that portion with the forces and moments applied on the dashed boundaries. Alternatively, the displacements from the overall model may be applied on the boundary of the local region. Using displacements for this purpose is useful in finite element analysis because displacements are typically analyzed very accurately using the default meshes produced by most FEA automeshers.
This is advantageous for very large models. The solution time for finite element models is proportional to N3 where N is the number of elements. But the breakout model itself is much smaller so its solution time is considerably less (a 1000 element breakout model can be used to accurately analyze stress in a local region of a million element global model). Another benefit is for models with multiple element types. For a large Nastran model with a mixture of solids, shells, mpcs, rbar, beams, etc., you may be interested in obtaining more accurate stress in a bulkhead modeled with solid elements. With breakout analysis, this solid region, or a portion of it, can be analyzed in a local model.
Automatic Breakout Modeling
Breakout Modeling with conventional codes involves
- Identify the local region of interest
- Refine the mesh in the local region
- Copy the displacement results from the outer or global model to the boundary with the local region. Since the local region’s mesh is no longer compatible with the mesh of the global model, this requires interpolation.
- Solve the local problem
This can require considerable user intervention. The easiest implementation I have seen from a user’s standpoint is submodeling in Solidworks Simulation. This is only available for assemblies, for which identifying the local regions simply consists of selecting one or more parts from the model tree. Step 3 is automated. It is up to the user to manually refine the mesh in step 2, but that is easier than doing so for the entire model.
I have put considerable effort into completely automating this procedure in stressRefine. I also want to be able to extract local regions from large part models, as well as assembly models. Since I am using a p-adaptive code that is compatible with conventional meshes, the procedure above is simplified. Step 2 is not needed, and step 3 just involves copying the displacements wherever the local region’s mesh touches the global mesh. The user specifies the location of interest as the point of maximum stress in the model, or a selected point.
The specified location is the center of the local region. To achieve accurate results, the boundary of this region needs to be chosen so that the solution is fairly smooth, which is done by assuring that the stress error at the boundary is small compared to the stress at the center of the region. By noticing element faces that are part of the boundary of the global model, or a part of surfaces with connections (“bsurfs” in Nastran), individual parts can be automatically identified as local regions. Experience has shown that it also helps to retain a minimum of a few thousand elements in the mesh for the local region.
So for the multiple column model shown in the figure above, a local region such as this is chosen for the breakout model:
This is for a single part model. An example of an assembly is shown here:
Once the local region has been identified, the displacement results from the global model are copied to the interface where it touches the global model. If there are any loads or constraints on the free surfaces of the local model, they also have to be applied, such as the pressure in the figure above. For the assembly model with fillets shown, the Nastran result for the maximum von Mises stress was 33 Mpa. In less than 5 seconds, stressRefine extracted the local region and solved it with p-adaptivity, obtaining the more accurate result of 38.7 Mpa, which is in error less than 1% compared with a highly refined version of the global model.
Multiple results like these are shown in the validation manual for stressRefine, here. The accuracy of the initial FEA solution varies compared to the severity of the local stress concentration. The worst I saw so far was 35% error for the tube joint model shown:
I am preparing examples with much larger models that I will show here in the near future.