Solidworks Simulation for Real Machines

Recently published by Stone Lake Analytics is this example-filled guide to modeling of multi-component machines.

The principles and techniques detailed are not restricted to Solidworks. Users of most contemporary FEA tools can gain insight from this work. Engineering managers will learn what can be accomplished in fundamental linear-static tools.

The book is an illustration of Stone Lake Analytics’ capabilities and expertise.

Case studies progress through a series of mechanical assemblies. Machine elements from simple pins to chains-over-sheaves to pairs of fluid cylinders are represented in different ways.

Human and computer costs are compared for different solutions against trade-offs in accuracy and presentation.

Color paperback and e-book available from Amazon and select retailers.

Models used in the book can be downloaded here,

Mesh Density Challenge 2 of 2

In the previous piece we looked at beam bending with solid and hollow sections, with different numbers of elements across the body or the wall thickness. Here we switch from bending to torsion. In torsion open shapes behave very different from closed sections.

By closed section we mean something like the cylinder below. The section is made “open” by cutting a lengthwise slot through the entire length [the classic example for this is to take a whole toilet paper tube then cutting it once and seeing the difference in twisting stiffness].

The cylinder is fixed on the left end. A pure torque is applied to the right end face. The second shape shows the slot cut and a split which cuts the shape into two bodies.

Again we mesh the body first with linear elements, then second order elements. The body is split to force multiple elements through the thickness at the same mesh settings. Since a closed cylinder is very efficient in torsion displacements are very small and we won’t plot displacement here.

Results on the cut cylinder follow. Even with coarse linear elements the result looks realistic.

But when we use high quality mesh the body is much more flexible. Stress predictions also change significantly. The extremely fine mesh result is our reference.

Tabulation of results shows again that the use of second-order elements goes a long way toward delivering ideal results.

The engineer knows that asymmetric open sections are very poor in torsion, but sometimes that loading has to be borne. A simple C-channel is modeled and split into two or four bodies.

The setup has the left end fully constrained again. The right end has a moment applied by opposing forces along the top and bottom edges.

Stress results follow a now familiar pattern. With a coarse linear mesh the stress pattern is ‘lumpy’ and the deflection is very low.

Viewed end-on the relative deflection is readily compared.

Twist of the high quality meshes is much greater at any density.

The tabulation shows the advantage of the “high-quality” mesh. In this case the mesh density needs more than two elements across the thickness to bring good results.

In conclusion we find that relatively coarse solid meshes with second-order elements usually provide good results in Solidworks Simulation. Relative importance of mesh density varies with local loading conditions. It is advisable to run mesh sensitivity studies, at least on any new class of problem. Our usual practice is to get what we think is a good result, then near then end of the project bump up the mesh density on one study to the maximum practical mesh size. After a long (maybe overnight) run, the results are compared to check that there is not a large divergence.

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.

Sample Report – Reach Boom

Most of our work is proprietary to Stone Lake clients. It’s rare that we get a chance to share examples of what we’re doing. So we put some time into designing a realistic machine, one which requires some of the best techniques in our tool box, to write a report for public access.

In this study a telescoping crane boom is loaded at extension in several orientations and configurations. The overlap between sections is varied and resultant hardware forces tabulated for each loading.

The published report is meant to be an example for potential clients to know what Stone Lake expects to create as a final deliverable. Go to the sample report page to get a complete copy.

The Pin is Dead – Long Live the Pin!

Previously we wrote about the use of the pin connector in Solidworks simulation. It’s a great aid in fast modeling of machines with connected parts, but we highlighted a shortcoming. The pin connector in Solidworks has always mapped surfaces onto sets of rigid cylinders for simulation. This allows the intended connection and articulation, but hurts accuracy of stress results immediately around the pin.

We also noted that there was a problem in Solidworks 2018; the pin formulation was improved to allow connection of more than two cylinders, but in many cases the connector no longer permitted free rotation where expected, like over a sheave. For Solidworks 2020 improvements to the connector were promised. A fix was delivered, and a whole lot more.

The previous post is at:

In the example model, this bushed joint was modeled in full no-penetration contact, and with the joint considered as one pin connector. When using a pin connector, the stress result did not show a serious concentration at the thin wall of the grease fitting hole.

We found that using full no penetration contact showed a much higher (and realistic, based on real experience with very similar geometry on a broken machine) stress, at a cost of a sixty-fold increase in run time [25 minutes vs 24 seconds].

The first thing we did with Solidworks 2020 was to verify that the pin connector now allows rotation when desired. But now we’ve explored the rest of the new functionality of the joint; the pin connector doesn’t have to be a rigid body any more. In the connector setup there is a new option – the “Distributed” connector type.

We can still pick multiple cylinders, but there’s a new formulation available for how those cylinders become related. A little more detail is available in the Solidworks help files. The real question is how does it affect our results?

Now we can see the distinct stress concentration expected in the thin wall. The surface of the pin bore in the arm is now free to stretch realistically away from the pin diameter.

The next question is how does it affect run times? Remember that running full contact on this model took dozens of times longer. Converting all the pins here to “distributed” increased run time by just 30% [25 seconds versus 19 seconds (fresh runs on a different computer)].

The new pin formulation is used for bolt connectors also. In an example for our forthcoming book we have a welded bracket bolted to a base with four through-bolts with nuts. In one study we modeled the bolts and nuts as solids.

The nut is fixed on the bolt with a pin connector, either with the old rigid pin or the new distributed connector. The pair is in no penetration contact with the bracket and base. This arrangement is the only way to get the most accurate picture of stresses near and through the bolt.

With the legacy pin connector there is no stress shown through most of the solid bolt. With the new formulation a classic stress field is seen through the shank.

Now instead of literal solids we try it with the bolt connector. This won’t show any internal stresses in the bolt, but does allow us to input bolt pre-load and correctly account for bolt stretch during loading. Results are shown with the classic bolt connector and with the new distributed style.

With the old style bolt stresses around the bolt holes are about constant. Using the new distributed bolt more of the expected variation can be seen. We’re going to keep working with this; look for more information in Solidworks Simulation for Real Machines, due out in early 2020.

We have what looks a great new tool for accurate simulation of bolted assemblies and machines. The user is encouraged to experiment within their applications to see what the new bit of kit can do for good and fast results. Stone Lake will continue to work toward quick turnaround of reports that show clients what’s really going on in their products.

Friction Clamping in Simulation

A question was recently posed in the Solidworks user forums about trouble solving a tough problem. A two-piece clamp-on bracket is bolted to itself on a length of pipe. Some live load is mounted to the bracket. The problem is trying to simulate the load on the bracket, which stays on the pipe only by friction.

I do a lot of contact analysis. I have found friction to be a tough thing for static solvers, but it does work. However, where I’ve wanted to use friction, I often realize that the objects staying together is an assumption of the problem in the first place. I’ll usually bond one contact pair, let the others slide, and go back to check resulting forces after getting a good solve.

This post got me thinking and I went ahead and made a couple models to tinker with.
The first question is – Can Solidworks Simulation solve a model with friction as the only restraint on loaded bodies?

Yes is the answer.

Here a bolted pipe clamp is loaded only by gravity. For stability one vertex is constrained in one plane. With a coarse mesh and global no-penetration contact it solves in a few minutes. (It’s better to split surfaces and assign contact manually in discrete pairs; that gives both more control and more information about what’s going on.)

But lets look at it another way – assume that the static friction is sufficient. If it’s not, the design has failed and the static solver cannot give an answer anyway. Remember that coefficient of friction is an input. You make it up, based on something external to the simulation.

So we bond one or more of the mating pairs.

It takes almost an hour to solve, with loads applied in addition to gravity.

The bolt preload may be too much for these shapes (half inch bolts ‘looked’ right, but here is where a series of quick simulations can readily improve a design!). But the stress pattern and deflection are totally reasonable.

Having manually assigned contact pairs, we can check the normal and supposed friction force at each.

There might not be enough friction on the back side (at 0.2 CF). Pre-load is reduced on the front, but friction is not called for there. A similar check on the bottom four contacts shows they probably hold. But all of this depends on how good we think the friction is.

There are other way to look at this. One could put a prescribed displacement at the load, based on a best guess. What displacement? Try a fully bonded solve with live forces then use that resultant displacement.

We don’t yet have a fully ‘loose’ solution, with nothing but pure no-penetration contact. But with an honest approach we can get a much easier solution that does validate the design, if it is actually valid.

Connector or Crutch?

Most FEA tools have a toolbox of handy features one can use to simulate mechanical elements. When not all the hardware in an assembly is modeled, or modeled badly, or modeled such that it makes interferences that must be resolved, these tools are as handy as a big hammer when the manual says “slip fit”.

We use a great many of the “pin” connector in Solidworks Simulation. Where holes (and/or shafts) are meant to be aligned or a body is supposed to have free rotation* it’s just a couple clicks to get the relationship established in Sim. Forces are transmitted cleanly and system response can be predicted well. But there is a catch – nodes on the hole or shaft walls are locked into relative position on the original theoretical cylinder. This has implications, locally at least.

[* in Solidworks 2018 the pin connector tool was improved to allow selection of more than two cylindrical surfaces, but free-rotation of the bodies was broken; a fix is promised for 2020.]

The following story is illustrated on a bespoke model, but inspired by a real story from a client who has some broken parts.

A small lift is modeled. A hydraulic cylinder raises and lowers an A-frame which has a shackle installed on the pointed end. The cylinder shell and the wide ends of the A-frame mount to a solid casting by pins through double-clevis joints. The assembly is about 18 inches tall with a 14 inch reach.

Most of the pin connections are plain bearings, and fairly loose. But it was decided that the rear joints of the A-frame should be tight, have brass bushings, and be greaseable. So the bore through the A-frame arms is larger, and there is a cross-drilled hole for a threaded grease fitting.

The customer wants to lift a two ton load, which is known to swing some. For our studies a 5000 lbf force is used, angled a bit to the right.

All the hardware came in the model, accurate (yay), not-overly-detailed (bonus), centered (wow), and close-fitting (excellent for contact analysis). But the fastest way to set it up is to exclude all the hardware and use the trusty pin connector.

The modeled pins and pin-bushing sets are replaced by single pin connectors. Only the shackle remains, but it also is connected to the A-frame by a pin connector. (Another pin connector holds relative position of the cylinder halves.)

Since everything is connected by rigid “pins”, the FEA solution is practically a static solve of a single solid body. It runs in 24 seconds.

Stresses in the wrought steel frame look pretty good. But what about that grease fitting hole? It left some pretty thin walls. Some mesh refinement was put around here and a closer look taken.

Ok, the thin walls are working hard, but it still looks good enough. Since it runs fast, we can set up runs with the cylinder at all different strokes to see what happens, generate all kinds of force data, and keep the customer happy. …Until something breaks and they want to know why.

Setting up this problem the hard way, i.e. the right way, means ditching most of the pin connectors and using the supplied hardware (or custom modeling simple hardware to do the job in Sim).

Over 40 high-accuracy no-penetration contact pairs are manually defined. At every joint each part is in contact on a cylinder and two lateral faces. Only the cylinder’s pin connector remains.

The stress pattern is very different in the mounting ears. Elevated stress is seen all the way around the joint, whereas on the first run it was only on the load side.

Now the full stress concentration from the drilled hole is captured. Further study can show how the stress might be sensitive to dimensional variance, like the hole being off-center.

At what cost did we get the better answer? It took about 20 minutes to set up all those contacts, and 25 minutes to run the study, versus a few minutes and 24 seconds to run the all-pin study. It beats getting a phone call from an angry end user who’s standing over a hole in the ground, made by some expensive equipment that just got dropped.

Incidentally, while all the setup work was going on, another easy-setup study was running.

Since it looked like the geometry was clean and complete, on starting Sim the simplest possible study was started. A single input of global no-penetration contact is used in place of pretty much everything else. This is almost always worth a try. It can take a lot of computer memory, and sometimes a long run time, but this study can run while all the other human work is being done on the ‘real’ setup.

In this case the quick-and-coarse study found the hot spot. With a couple mesh refinements it should match the answer in the full-manual-contact study. And it ran in under 13 minutes, quick enough that it could have guided all the later work.

Features like pin connectors are great, but the analyst has to understand what effect they have on the local situation.

Solidworks Simulation for Real Weldments

Recently published by Stone Lake Analytics is this brief guide on modeling and simulation of welded structures.

This book outlines how we approach precision modeling and simulation of welded components. The book will prove useful to designers, analysts, and managers to better understand the limitations of common weldment modeling tools and how those limits can be overcome with limited effort.

The reader is shown a progressively more complicated set of examples, showing how and why we model welds accurately and evaluate detailed simulation results.

Color paperback and e-book available from Amazon.

Models used in the book are available here.

Solidworks Simulation Benchmarks (for real studies!)

Shawn Mahaney – Lead Analyst


I was looking in the last few month at new computer hardware. Ok, in actuality I am always looking at new computer hardware. It’s where I make my living, and watching it evolve and perform can be pretty cool.

The main workstation PC in my personal office is, and has been for too many years, a collection of old and new parts stuffed into an ATX case that’s seen multiple upgrades of every sort. In 2012 it got a motherboard mounting the living legend Intel i7-3770k processor (quad core, 3.5 GHz). The system got set up with 16 GB of RAM, which was generous at the time. But Stone Lake has been tackling some larger jobs, and asking more specific questions of the simulation tools. We’re seeing bigger meshes and using more contact and articulation – more memory is needed.

That old 3770 is still quick enough to crank through tough jobs in a reasonable time, but it’s chained to DDR3 memory, at 667 MHz. Recent experience has led me to believe that RAM speed is the bottle-neck for some of our work, which often needs 64 GB systems. So I was determined to get a quad-channel RAM system, and decided I would benchmark a few systems to see for myself just what matters for the kinds of problems we solve.

There are many computer benchmarks to pick from. Few that I’ve seen deal with large data sets, even Solidworks simulation benchmarks. So I picked a couple problems which take up a decent bit of memory, enough to need a 16 GB system. Solidworks simulation run times for them are compared here to raw benchmark results.


The first study is of a die cast machine die holder. This multi-ton block of steel holds together all the die pieces for a high pressure metal casting process, under about 6 million pounds of clamping force. It has dozens of cooling lines and clearance passages for myriad other fluid and mechanical functions. It is simplified somewhat from the final CAD file, but we usually lean toward leaving in detail. When the model looks more like the real thing, there are fewer doubts for the client.

The mesh comes out over five million elements. Mesh creation peaks using over 7 GB of RAM. An iterative solver must be used to fit the problem in a 16 GB machine, using almost 10 GB.

The second Solidworks study is smaller, but uses high accuracy contact and a relatively fine mesh. Running the Intel direct sparse solver it will make more use of raw CPU speed and multi-core processing.

Mesh generation time for this study is minor. During the run it needs about 3.3 GB of memory.

The last study was run only on the newest box. It’s the real memory hog, taking over 30 GB of RAM to run through its 750,000+ elements. The direct sparse solvers are not compiled for much larger problems. To make this model an existing study was used with the element count jacked up much higher than necessary.

Let me reiterate – I KNOW THE MESH IS OVERLY FINE. The model gives usable results at half the mesh size. [Incidentally, if you think this is a large problem – note that similar pantograph mechanisms we’ve studied fit inside telescoping lifts, and we are routinely simulating them all together in full free contact.]


I’m most familiar with the benchmark suite from Passmark. Their Performance Test 9.0 is used to generate a stack of comparable data.


A selection of Stone Lake’s own system were used, plus some borrowed time on two partner’s workstations.
– custom, 2012: i7-3770k, 4 core at 3.5 GHz, 667 MHz DDR3 RAM
– Dell T3600: Xeon E5-1650, 6 core at 3.2 GHz, 667 MHz DDR3 RAM
– Lenovo Y700 laptop: i7-6700HQ, 4 core at 2.6 GHz, 1067 MHz DDR4 RAM
– BOXX Apex2: i7-6700K (overclocked), 4 core at 4.4 GHz, 1067 MHz DDR4 RAM

Our new system was set up with a shiny new Intel i7-9800X processor, with quad-channel memory. It was set up bone stock, then given a mild overclock treatment.
– custom, 2018: i7-9800X, 8 core at 3.8 GHz, 1067 MHz DDR4 RAM
– custom, 2018: i7-9800X (overclocked), 8 core at 4.2 GHz, 1333 MHz DDR4 RAM

Other components in the systems are decent parts contemporary to the builds. The new box has two PCIe SSDs in a RAID 0 array, which is really screaming fast, but not much to do with the purpose today.


System specs, raw benchmark results, and Solidworks run times appear in the table below (click to expand).
Also shown are charts of the times against selected benchmark values.

Obvious trends do not jump out from the charts. No one of the selected benchmarks is especially well correlated to Solidworks performance. In general it can certainly be said that newer hardware is better, but the expected leap in performance from quad channel memory just isn’t there even for the larger problem.

[A few good studies have been done of interest to us – Look at the great cores-vs-frequency study from Puget Systems. That article drove our choice of an 8-core system with relatively high clock.]

Since this isn’t a clean controlled study, where parameters are varied one at a time, we shouldn’t expect nice monotonic graphs every time, but the jumps here are curious. The first observation is that the memory performance of the newest system is pretty poor, in most benchmarks. The full set of memory tests appears below.

One certain thing is that the BOXX system’s memory performs fantastically well. I didn’t get a chance to dig into the BIOS, only getting what specs CPU-Z would report. I suspect some effort went into the memory timings at BOXX. As for my new build, it got whatever Crucial had preloaded in an XMP profile.

The higher core count chips excel in “threaded” memory access. This test involves the CPU cores directly in some way (I’m at the limit of my expertise here), so the result fits that one nugget of knowledge. I can’t say how much any of the memory benchmarks really lead to better Solidworks simulation performance.

It may be that memory speed was the bottleneck on the 667 MHz DDR3 systems I was using a while back. It looks like RAM can keep up plenty well these days. But for one last check I set up the “jumbo” study and moved DIMMs in the new system to dumb it down from quad-channel to dual-channel memory.

Dropping to dual channel the run time of our 31 GB jumbo run came in a whole 1.9% slower.

I can say that the CPU is still king. Full processor benchmarks follow.

The ultimate goal is to get good run times on big problems. For a final comparison the “jumbo” run was done on the two year old BOXX system. The new system, with comparable overclocking, comes in over 15% faster. I’m pretty happy.

Among modern core architecture (i.e. Skylake) chips, raw clock speed gets us the fastest meshes. A combination of clock and core count brings analysis results sooner. And since I think most users sit and wait for meshes to be made, as opposed to doing other things during the analysis, in Timoshenko’s name buy the fast chip!

Solidworks Simulation Chosen

Solidworks Simulation has been selected as the primary tool for modeling and analysis at Stone Lake Analytics.

With a long history of both strategic acquisition and internal developments, Solidworks Simulations presents Stone Lake with an unprecedented depth of tool sets under a single interface. Shawn Mahaney, lead analyst for Stone Lake, has extensive experience working with Solidworks employees and VARs to push the limits of the package and see improvements be implemented.