I’m simulating the 2nd benchmark here which has a circular cross-section. I’m simulating it with a 3D beam pinned at one end and the other end is on rollers.
The boundary nodes for one end of the 3D beam are shown below. The other end of the 3D beam looks the same. At the pinned end, the 1, 2, 3 degrees of freedom are fixed. At the roller end, the 2, 3 degrees of freedom are fixed.
As can be seen above the max and min S11 stress is actually at the restraint nodes. They are actually in the form of stress concentration at the boundary nodes.
How to avoid stress concentration?
How can I simulate the above 3D beam and at the same time avoid the stress concentration phenomenon? What is the standard approach of CCX to avoid it? Would using multiple point constraints (MPC) help?
How are the boundary conditions applied - directly to the beam’s nodes or via a rigid body constraint ?
The mesh is rather unusual. It looks like it’s made based on STL geometry while STEP would be better for such cases. Some refinement of the mesh might be needed. However, in many cases, it’s not possible to completely avoid such stress concentrations due to boundary conditions. That’s because those BCs don’t represent the restraints that would be used in real life, they are highly simplified. Hence, it’s better to simulate bending tests in a more realistic way - with (rigid) supports used during the test. For example:
You can try applying boundary conditions to the reference node of a rigid body constraint attached to the side faces of the beam. The same constraint can be used to make parts (in this case supports like in the image above) perfectly rigid.
For such a simple geometry, I would generate the geometry and mesh with cgx. That would enable you to use second order hex elements (he20r) which in general give very good results.
However, stress concentrations at the supports or at corner nodes are hard to avoid given that we are simplifying the problem. In reality, every support is basically a (non-linear) contact situation. Such non-linear problems take longer to solve because CalculiX has to iterate to find the solution (if the solution even converges). As the manual states, it is better to run a linear analysis first. Because if that won’t run, there is no point in continuing with a non-linear analysis.
If you have a stress concentration in a single node, it might be a singularity. Those are not always easy to avoid, but they can be detected. Make the element(s) where the possible singularity occurrs smaller and re-run the analysis. If this increases the stress in that node, then you have a singularity, which you should basically igore. Look at the stress values in the nodes next to it instead.
How can I do that on PrePoMax or CGX? I studied the PrePoMax manual, but I couldn’t figure out how to specify and hide elements around the boundaries. Thanks.
Currently, it’s not possible to hide individual elements, only parts. The best way would be to covert the results to ParaView where you can do this, among many other advanced postprocessing options.
Redefine Max/min values in the legend so those peaks are shown black. Then you get more definition in the rest of the model with the new range. Be careful when doing this. Only when you can explain the reason for the peaks you should disregard them.