Solidworks Simulation Benchmarks (for Real Studies) – 2022 Edition

It’s been a while since we ran new benchmarks on simulation problems. It also took Intel a well-documented long time to get a new architecture and process on the market. After many hours checking new processor release dates and rumored specs, while waiting on studies to run, we finally got a new desktop system. We were holding out for a “4th Generation Xeon Scalable” rig, but settled on a “12th Generation Core” system at an attractive price.

High level specs on this new box include an Intel Core i7-12700k processor, 2 TB NVMe main drive, nVidia RTX 3080 graphics, and 128 GB of DDR5 memory. After setup and a quick stress test benchmarks were the first order of business. Again standard Passmark tests were run and then the same sim models we ran in Solidworks 2018 were run in Solidworks 2020.

The old benchmark article, from December 2018, can be found here.

Subject systems still available to bang on are the 6th generation 6700K, a 9th generation 9800X, and of course the new 12700K. The basic specs and synthetic benchmark results are tabulated below.

The 12th generation chip, finally made on a true 10 nm process, shows a great leap in raw performance. Gritty details can be found all over the internet about the details of the new chip. We noted that they took advantage of the smaller process to pack larger local caches into the die. High level Intel documents talk about added cleverness in ordering and streamlining operations. Busses to memory and storage are faster and wider. Then there’s the whole P-core and E-core hybrid design added to the system.

But the real test of all that brute power and cleverness is in performance on real problems. So we return to the same problems as before.

This large solid block with lots of internal detail is used to check mesh speed and solve time with an iterative solver.

This artificial test problem is used to test run time with contacts in a direct solver.

This reach-lift assembly, with an overly fine mesh, gives us the longest run times, with lots of contact and connectors.

The Solidworks Simulation 2020 results are first compared to the available results from 2018.

We note that Solidworks 2020 uses a bit more RAM for each operation, we assume in a trade-off for calculation speed. This is reasonable with memory prices dropping logarithmically through recent years (though at this writing DDR5 is still a bit precious).

The processor models aren’t labeled on that table, but one can readily guess that the bottom line is the 12700K. We are very impressed with the results. Solve times are basically halved, using an inexpensive mainstream processor. To visualize this here are more traditional benchmark charts.

Run times are getting faster, and this is a problem! Our production analyses are getting down to where there isn’t even time to go get a cup of coffee or catch up on important forum posts.

In all seriousness, we’re used to having time to look over new results and integrate them into a running report, possibly discussing updates with a client, before the next iteration runs. We’ll have to work on a new scheme of time management, and throw a bone to the dog who used to get played with more while the computer cranked.

[Notably absent here are results for AMD systems and newer version of Solidworks. We’re still an Intel shop, as other testers have found the AMD architectures poor for Solidworks mechanical sim, though those tests are dated. Solidworks 2021 posed new challenges, with badly documented changes in the interface and some apparent bugs that Dassault has not resolved with us, and we just haven’t tried 2022 yet. If anyone wants to try it, the smaller direct solve study is available here. We’d be happy to see new results.]

Mesh Density Challenge 1 of 2

The claim comes up often when a FEA result is presented, “You need to have multiple elements across that wall!” Well, do you? It may be important to good simulation results. We’ll look here at when it matters and how modern tools can put us at ease.

The “when it matters” is a questions of both application and point in history. Some readers will remember the ‘dark ages’ of manually generating finite element meshes in Hypermesh on a 16 megabyte workstation, setting up command line batch runs that ran overnight and took all day to visualize. In those days computer memory and compute cycles were precious. Nodes and elements, usually linear, had to be placed efficiently or human and machine resources were overtaxed or tied up for overly long. Today computer resources are vastly cheaper while human time is ever more precious.

The “when it matters” of application depends on the geometry and loading. The purpose of a dense mesh is to capture important gradients in a solution. In structural problems we’re looking primarily at stress gradients and total displacements. In “boring” areas of nearly constant stress, coarse meshes are adequate. Good displacement results may require finer meshes even over smooth stress fields.

Here we will look at bending problems, starting with a simple solid bar. It is fixed on the left and loaded vertically on the right, a textbook cantilever.

This bar is split two or four times to force mesh refinement across the bending thickness. For reference an extremely fine mesh is also put on the body.

Deformed stress results are shown for meshes with linear elements. Total deflection clearly increases with mesh density, as the stress field becomes smooth.

The same setups are run with Solidworks’ default “high quality” elements. Even with no refinement deflection is near as expected and the stress pattern is reasonable [stress color scales are all auto-scaled].

We can quickly discuss the issues here. With one element across the thickness, each tetrahedral element has one three-node face in tension or compression, and the opposite single-node vertex loaded the opposite direction.

Adjacent elements are loaded in opposite orientations. While the solver author has options in difference calculations (node centered vs. volume centered, etc), linear elements simply cannot resolve the stress gradients here. And if the base of one element is swelling next to the peak of another that is shrinking, that is another conundrum for the solver. It should be clear why tetrahedral elements especially are known for being “too stiff”. Rectangular brick elements would be better, but still cannot truly bend in one layer across the thickness of a beam.

The results are summarized below. “ref vm” is the probed stress; “max dy” is deflection at the cantilever tip. The last stress plots show the typical stress probe location, and illustrate ‘lumpiness’ in the stress result with linear versus second-order elements.

Taking the extremely fine result as reference, the coarse linear mesh badly under predicts stress and deflection. Switching to second-order elements immediately improves the result. Doubling and quadrupling the mesh size barely affects the stress results and just nudges the total deflection. But if we stick with the linear elements progress toward a smooth and flexible solution is painfully slow.

If bending is the primary load, an engineer will consider a shape like an I-beam. Here we have a simple beam with the flanges solid or split. We will repeat the meshing exercise, linear and second-order elements generated at different densities across the flanges.


Right away we should realize a difference from the coarse mesh solid bar. Even with the coarsest mesh, the elements loaded in tension are separate from those loaded in compression.

Now the linear element meshes all perform in a realistic way.

Response of the higher quality meshes can be differentiated in the numbers.

In compound or unknown loading, a closed section is the best choice. For comparison we will stick with a bending load and split the top and bottom faces.

Again the stretched and compressed faces are separated so linear elements give reasonable looking results.

With high quality elements the body is a little more flexible.

The stress results are pretty good even for the coarse draft mesh. The high quality mesh gives good displacement results even from the coarsest version.

What does this mean for the modern user? A mainstream workstation can solve multi-million element structural problems in main memory, and we often use direct solvers in Solidworks to breeze through 800,000 element setups in minutes. User time is much more valuable than computer time. We generally encourage people to stick with solid meshes and let the element count run up.

The challenge remains when long or thin portions of components are included. On high aspect ratio parts the element count can get extreme and Solidworks still does not give us tools to handle these sections efficiently. But we demonstrated here that coarse solid meshes on these “boring” connector sections can give usable results. Solidworks developers did us a huge favor by settling on the second order tetrahedral element, maximizing flexibility while retaining ease of fast automatic meshing. The user should focus mesh refinement on areas of detail and structural interest, like weld joints and contact interfaces.

In these studies we looked only at bending problems. There’s reason to wonder it torsion of long members might work differently. So we look at that in part two.
https://www.stonelakeanalytics.com/2020/11/09/mesh-density-challenge-2-of-2/