13.12.2024 • C3D Modeler

C3D Modeler for CAE Applications

Oleg Butin, senior math software engineer, APM R&D Center, talks about using the C3D Modeler geometric kernel for building CAE models. APM is a leading Russian vendor of CAE solutions and an ASCON partner in the RazvITie consortium.

For more than 30 years, APM R&D Center has developed CAE systems for construction, mechanical engineering, instrumentation, and other industries. The Center also offers comprehensive FEM analysis services. The APM product range includes APM WinMachine (a CAE system for mechanical engineering), APM FEM (a CAE plug-in for KOMPAS-3D), and APM Civil Engineering (modeling, analysis, and results visualization for the construction industry).

C3D Modeler for CAE Applications, photo 1
Fig. 1

The examples presented below are from APM Studio, a part of the APM WinMachine package.

C3D Modeler for CAE Applications, photo 2
Fig. 2

It simulates physical processes and supports design and structural analysis of mechanical parts and assemblies. The product includes a 3D editor to create models from scratch. The editor uses the C3D functionality to create 2D and 3D objects. The C3D kernel tools create curves and surfaces, extrude, rotate, copy objects, perform Boolean operations, etc.

So, a model is built in the editor or imported. Do you think it would be enough just to click the Create CAE Model or Build a FEM Mesh button? No!

C3D Modeler for CAE Applications, photo 3
Fig. 3

Such a simple approach may bring rather disastrous consequences. We got a weird mesh with some strange artifacts (see the image above). If we take a closer look, it becomes obvious that the model has somehow grown a short rib that is to blame for the disappointing outcome. This is exactly where we unleash the power of C3D Modeler, specifically its EdgeModifiedSolid function. Since the model topology is simple, the function succeeds. The image on the right shows that the artifact has disappeared, and the mesh has become more uniform.

C3D Modeler for CAE Applications, photo 4
Fig. 4

Similarly, we can demonstrate how to apply the FaceModifiedSolid function to surfaces. The left image shows a part with many small holes in it. If we build a mesh directly on this model, the mesh will include a multitude of small finite elements around the holes. If we do not need these elements for the analysis, we can remove them using the FaceModifiedSolid function. The mesh will become more uniform and contain significantly fewer elements to boost the performance.

C3D Modeler for CAE Applications, photo 5
Fig. 5

We apply the FaceModifiedSoliud function to remove chamfers, and fillets which are irrelevant for the subsequent analysis. In the left image, the model has some chamfers and even chains of adjacent chamfers which tend to be more challenging to analyze. The result of a successful chamfer removal operation can be seen in the right image. It is a way to optimize models for CAE processes.

C3D Modeler for CAE Applications, photo 6
Fig. 6

Other small features are removed similarly. An example is the engraving that the design engineer has added to the part. This feature is irrelevant for structural analysis. FaceModifiedSolid did an excellent job of removing such small features given the complexity of the topology.

C3D Modeler for CAE Applications, photo 7
Fig. 7

The next example of the kernel functionality we use is converting solids to surface models. Design engineers usually build solid models that accurately represent the product's appearance and may also reflect the part’s manufacturing sequence. However, such information is often redundant and even harmful for CAE analysis. The reason is simple: if we construct a FEM mesh directly on a solid model, the mesh will have an unnecessarily large number of finite elements. The analysis would become challenging and may not be accurate due to the performance limits of the solver. To overcome this, there is the MedianShell kernel function. As shown, it can efficiently reduce the number of facets even in a complicated model. These facets will then be represented as plate FE elements.

C3D Modeler for CAE Applications, photo 8
Fig. 8

We all know that converting a solid into a faceted model may result in gaps between the facets. This breaks apart contacts and invalidates boundary conditions. The ExtensionShell kernel function comes to the rescue. It extends the faces till they intersect with other geometry creating a contact to be used in subsequent analysis.

C3D Modeler for CAE Applications, photo 9
Fig. 9

Detection of contact surfaces is no less important. The image above shows an example of surface-to-surface contact detection using the FindTouchedFaces function. It finds faces that are in contact with a given tolerance. Faces of different solids are also supported. In this case, the purple and orange faces are found. When a contact is identified, for analysis we can generate a joint mesh for the parts, despite them being two different bodies. This option is highly convenient and users appreciate it.

We use the functions that estimate feature-to-feature distances (e.g., curve-to-surface) to detect edge-to-surface or edge-to-edge contacts.

C3D Modeler for CAE Applications, photo 10
Fig. 10

Another valuable function is MassInertiaProperties. In many cases, the behavior of a particular fragment of the model is irrelevant to the analysis. This fragment should not make it to the CAE model or meshed. It is sufficient to represent it as a perfectly solid body or even a material point. For this, we tell the kernel to estimate the mass and inertia properties of the part, after that we just use these properties in the analysis. We do not generate a mesh for such a fragment but only represent it as some boundary conditions. It is also handy.

C3D Modeler for CAE Applications, photo 11
Fig. 11

Recently, we have been mastering the body splitting functionality, in particular, for FE mesh generation. The reason is that the simpler the topology, the more specific mesh construction methods can be used. It results in a better mesh quality. The image shows a body with a complicated shape and topology. We need to mesh this bolt, but it is not clear where to begin.

C3D Modeler for CAE Applications, photo 12
Fig. 12

The SolidCutting function can cut a solid by a plane that is the base of the bolt head, or by an extension of the bolt’s cylindrical surface.

C3D Modeler for CAE Applications, photo 13
Fig. 13

Let us see what we would get. In the first case, we get a cylinder and a disk. In the second case, we get a cylinder and a sleeve. Both are fine: the model is “fundamentally simplified” now. It is represented as two parts, which can be handled independently.

C3D Modeler for CAE Applications, photo 14
Fig. 14

We followed the analysis workflow: we built the model, removed artifacts, and “simplified” it. Now it is time to generate the mesh. For this, we approximate the curves by polylines, then we build surfaces and generate a 3D mesh. We use if not all but most of the kernel’s functions that handle curves and surfaces. For example, we need the functions to retrieve curve/surface properties.

C3D Modeler for CAE Applications, photo 15
Fig. 15

As to surfaces, we represent model faces and their surfaces as polynomial meshes. We extensively apply the surface handling function to retrieve surface properties.

C3D Modeler for CAE Applications, photo 16
Fig. 16

C3D Modeler for CAE Applications, photo 17
Fig. 17

C3D Modeler for CAE Applications, photo 18
Fig. 18

Artifacts are a common issue. They usually occur in models imported from other CAD systems with artifacts and some geometry defects such as self-intersecting edges, gaps between edges, and partially or fully degenerated edge chains. As a result, a face may contain sliver-like artifacts: while most of the face is suitable for meshing, some of its regions degenerate into lines. Sometimes the entire face degenerates into a line.

C3D Modeler for CAE Applications, photo 19
Fig. 19

C3D Modeler for CAE Applications, photo 20
Fig. 20

Another common issue is contour intersections, both smooth and angled.

C3D Modeler for CAE Applications, photo 21
Fig. 21

There may be multiple intersections along a contour. Therefore, we need the functionality that can identify, highlight, and heal such artifacts. The kernel or file converter can perform such healing, but these processes are not accessible for analysts building a CAE model. We are looking forward to a new kernel functionality of this kind.

C3D Modeler for CAE Applications, photo 22
Fig. 22

The situation with facets is similar. Even if the model topology is correct, and all the surfaces are error-free, there are still occasional discrepancies with the original designer’s model that need to be addressed. This functionality is highly demanded by users and will be needed even more in the future. We are very much interested in improving the healing process.

C3D Modeler for CAE Applications, photo 23
Fig. 23

Now let us take a look at the image. Some artifacts are small extra faces at the edges. Such a geometry is correct, but in most cases, the face cannot be removed with the available kernel functions. We will look for other ways to apply the existing functions or expect the functions to be optimized.

C3D Modeler for CAE Applications, photo 24
Fig. 24

The image shows sharp angles we would also like to heal by replacing multiple faces with one.

C3D Modeler for CAE Applications, photo 25
Fig. 25

Another special case is the tangential convergence of faces at angles tending to zero. It would be nice if the kernel functionality removes such discrepancies without too much effort. This kernel improvement is already in the making.

We would like to thank the kernel development team for its flexibility and a wide range of model editing and simplification functions. Still, we have some suggestions for further improvement.

The simplification domain should be extended to provide:

  • merging of smoothly blended faces
  • auto-detection and patching of such artifacts
  • auto model simplification and removal of small features in one click. For now, we have to remove small features individually, fragment by fragment.

Auto conversion of thin-shell parts means that if not auto, then at least semi-auto detection is required. This option is also in demand when a part of the model should be represented as a body, and the other part, as plates. When a body is slit, the resulting bodies should maintain the topological relationship with the initial body. Now we rely on the MbName tool, but there are situations when we cannot trace parent and child parts. The C3D Labs team is working on this. We thank them for being so responsive to our requests and making the kernel better and better.

Oleg Butin, Senior math software engineer, APM R&D Center
Oleg Butin,
Senior math software engineer,
APM R&D Center
Share
Up