Being relatively new in the CAD industry, the meshfree finite element approach to the structural analysis of engineering data is mainly performed on a central processor (CPU). AMC Bridge’s recent GPU-Accelerated Meshfree FEA technology demonstration explores the advantages of running such analysis on a graphics adapter (GPU) and showcases the significant speed improvement achieved through GPU acceleration.
The primary goal of the technology demonstration (TD) is to enhance the performance and improve the accuracy of meshfree finite element analysis (FEA) compared to the CPU approach by making the system resilient to input mesh imperfections and enabling users to control mesh resolution.
A team from the Training and Research department developed the TD. Here, experienced developers work alongside trainees on various technologies necessary for educational and marketing needs. Educational projects help trainees understand the technologies and gain practical experience. Marketing projects are essential for demonstrating AMC Bridge’s deep expertise to clients.
In this article, Anton Hudym, project Team Leader, shares his experience:
- How the technology demonstration (TD) works.
- What knowledge such a project requires.
- What challenges the team faced.
The demonstration addresses the mechanical deformation problem in structural analysis using the FEA method. Its main difference from most FEA applications is representing a mesh through voxel geometry but not in its initial form.
The TD proved a solution beneficial for anyone cracking engineering problems, ranging from construction to 3D printing. The solution can be integrated as a CAD system extension for structural analysis or a third-party library for custom software.
The operation workflow includes the following main stages:
- Import of the following:
- The initial geometry: a part for structural analysis
- Boundary conditions: loads and restraints.
- Surface and volume geometry voxelizations.
- Definition of loads and restraints on the voxel geometry.
- Compilation and solution of a system of linear equations using the MFEM library, which supports solving such systems on the GPU.
- The solution result is the displacements for the degrees of freedom of the voxel mesh.
- Calculation of the stress from the displacements using the von Mises yield criterion.
- Sampling: transferring the computation result from the voxel mesh to the initial geometry.
This method has advantages and disadvantages.
The advantages include a user’s ability to adjust the voxel mesh resolution, which affects computation time and accuracy. Additionally, voxelization makes it possible to compute a mesh with local defects, such as self-intersecting, non-watertight, or degenerated geometry.
The disadvantages include certain approximations of the calculation results because the voxel mesh approximates the input geometry. The implementation has additional complexity: voxelization steps and result sampling.
Using a GPU to compute a structural analysis problem gives a speed advantage over CPU computations. The GPU approach also scales better for larger problems—the performance gain in GPU calculations increases as the number of equations grows.
In such implementation, the TD performs voxelization of a triangular mesh. In principle, voxelization can be generalized to any other geometry.
A developer should be able to master new material quickly and possess debugging skills on such a project. The main list of the necessary specific knowledge and skills is as follows:
- Mathematics, including linear algebra.
- Some knowledge of mechanics.
- The OpenGL® API for rendering 2D and 3D graphics.
- The CUDA® parallel computing platform and API.
- The C++ programming language.
- The MFEM library of finite element methods.
As the implementation was within a research project, the team did not develop their own solvers, which would require significant effort and time. The main goal was to evaluate the results of the solution that uses the meshfree approach and the classical solution of systems of equations by the finite element method over the initial geometry. Another objective was to compare the GPU performance versus CPU when solving systems of equations for mechanical problems.
From my side, the biggest challenge was gathering all the ideas and materials to develop the project roadmap. The voxelizer took the most time. The team tried to create a new custom voxelization method using the graphical GPU pipeline and a rasterizer. The developers had to tackle OpenGL geometry shaders for surface voxelization and master CUDA to implement volumetric voxelization. After the initial implementation, the team also improved voxelization quality because some pieces of geometry did not have enough or had extra voxels.
This is a research project with much room for improvement. For example, moving from a voxel grid to an octree has advantages. You can adjust the resolution of the entire mesh at once or of some separate parts where such a level of detail is crucial. The octree can also reduce memory consumption and the amount of computations. However, switching to octree brings new challenges, for example, related to hanging degrees of freedom, which should be addressed separately in the finite element method.
Even though the threshold for entering such a project is far from the lowest, it was very exciting work for me and the trainees. During the development of such TDs in the Training and Research department, experts can share their experience with the trainees and deepen their own expertise that they will apply later in client projects.
All third-party trademarks belong to their respective owners. For more details, please refer to the Third-Party Trademarks list on the Privacy and legal notices page.
Return to blog page