3D Finite Element Modeling: A comparison of common element types and patch test verification BY: RACHEL SORNA AND WILLIAM WEINLANDT Objectives Develop a sound understanding of 3D stress analysis through derivation, construction, and implementation of our own 3D FEM Matlab Code. Compare the accuracy of two different element types mentioned in class Linear Tetrahedral Tri-Linear Hexahedral Understand and utilize the patch test as a means of verifying our code and element modeling 3D FEM Code Attempt #1 – Conversion from 2DStressAnalysis Code Can you guess what loading scheme created the deformation on the right? Answer: Uniform traction of 1000N/m2 along the top boundary… 3D FEM Code Attempt #2 – From Scratch SUCCESS! Major Parts of Code Construction •Addition of third dimensional variable, zeta •Manual generation of meshes and defining elements and corresponding nodes •3D Elasticity matrix •3D Transformation matrix •Defining solid elements and corresponding boundary surface elements Shape Functions (N matrix) Shape Function Derivatives (B Matrix) Gauss points and weights •Determining which element face was on a given boundary Linear Tetrahedral Solid Volume Element Boundary Surface Element Tri-Linear Hexahedral Solid Volume Element Boundary Surface Element Patch Test: Code and Element Verification Two simple, yet effective tests were done: fixed displacement and fixed traction Test Subject: A simple Cube Material Properties: E: 200GPa ν: .3 Block Dimensions: Height: 5m Width: 5m Depth: 5m Hexahedral Meshing Tetrahedral Meshing Fixed Displacement Test 𝛿 𝜎= 𝐸 𝐿 Fixed displacement of .0001 was applied in the negative Z-direction. The following analytical solution gives a stress value of 4MPa throughout the cube: Table 1. Normalized L2 Norm Error values for tetrahedral and hexahedral elements for varying degrees of mesh fineness. Element Type Mesh Fineness Tetrahedral Hexahedral Coarse (48/64) Moderate (750/729) Fine (3000/3375) 3.6e-3 7.56e-4 1.06e-3 2.50e-5 3.06e-4 6.25e-6 Fixed Traction Test Fixed traction of 1000N/m2 was applied in the positive Z-direction. The following analytical solution gives a displacement value of 2.5e-8m on the top surface: 𝐹𝐿 𝛿= 𝐴𝐸 Table 2. Normalized L2 Norm Error values for tetrahedral and hexahedral elements for varying degrees of mesh fineness. Element Type Mesh Fineness Linear Tetrahedral Coarse (24/27 ) Moderate (750/729) Fine (3000/3375) 1.06e-2 Tri-Linear Hexahedral 3.69e-4 1.90e-3 4.62e-5 3.60e-5 1.60e-5 Application – A Complex Loading Scheme Counterclockwise oriented 1000N shearing surface tractions applied to the X and Y faces produced the following ‘twisty’ cube. Comparison to the same loading scheme in ANSYS revealed that our model was valid for complex loading schemes as well. Our Code ANSYS Convergence Plot The following plot shows the convergence of von-Mises stress for tetrahedral and hexahedral elements performed using our code as well as ANSYS for the ‘twisty’ cube loading condition. Mesh Convergences 18000 16000 Maximum Equivalent Stress 14000 12000 10000 8000 ANSYS Tetrahedral 6000 MATLAB Tetrahedral MATLAB Hexahedral 4000 ANSYS Hexahedral 2000 0 0 500 1000 1500 2000 2500 Number of Elements 3000 3500 4000 4500 Current Limitations of Our Code • Matlab can only handle so many elements and thus degrees of freedom before it becomes impossibly slow or runs out of memory • Limitations of the variation in orientation of tetrahedral elements • Limited possible geometries • Linear elements only, no quadratic elements Conclusions • Hexahedral elements appear to more accurately model simple linear deformation problems than tetrahedral elements – they also take far less time! • Tetrahedral elements can be useful for complex geometries and loading conditions (rounded surfaces, sharp corners, etc.) • For accurate meshing and modeling of complex multi-part geometries, mixed meshing, or using both tetrahedral and hexahedral, as well as other element types, is best! • Writing your own FEM Code is a long and arduous process, but once you are done, you have an unparalelled understanding of the fundamental concepts! Future Potential Applications Just Meshing Around!