Rod in tension is giving an incorrect stress

After some soul searching I realized that I was getting the wrong answer for some very simple model set ups. So here is one:

A rod with a 10mm^2 area and 50cm length is pulled by a force of 4000N

Start with some python code here to declare my inputs and expected answer:

E = 220000000000 #Pa the Yong’s modulus
l= 0.5 #meters the length of this cylindrical rod
r= ((3.57 /2)/1000) #meters the radius of the rod
A = 3.1416*(r**2) #the section area of the rod
F=4000 #N #the force applied in newtons
S= F/A #Pa The expected stress
e= (S/E) #the expected strain
dl=l*e #the expected elongation

print (“a load of %2d Newtons is applied” %F )

print (“The strain is %2.2f percent” %(100e) )
print (“The stress is %2d MPa” %(S/1000000) )
print (“The elongation is %2.2f mm” %(dl
1000) )

a load of 4000 Newtons is applied
The strain is 0.18 percent
The stress is 399 MPa !yippy correct answer here!!!
The elongation is 0.91 mm

Calculix is coming up with an elongation of like 60mm and a stress of about 28000MPa or up to 60000MPa as you refine the mesh. But I go to comsol with the same exact STEP file and I get the correct 400MPa all along the length. what gives??

The mesh doesn’t look that bad at all… its like 22Mb so I don’t want to attach it

*Material, Name=18CrMo4
210000, 0.28
*Expansion, Zero=20
*Specific heat

yeah, something must be way off with my Prepomax V1.3.1 install. Look at this:

I just redid this particular bend test where they compare various FEA tools including Calculix. My results seem to be way off. 2800MPa vs. 119MPa with their Calculix results. My displacement is 5.284mm, theirs is 0.2mm. Something is wrong.

oh… I’ve been using the wrong force application. I used concentrated force and should have been using surface traction! I guess concentrated force must be applying the same force over a ton of nodes. Gosh darn it!

Ph yeah, once I use a reference point to apply the force, the result comes out correctly. I feel like such a noob right now.

1 Like

Yes, that’s how this type of load works and it’s actually the same in Abaqus on which CalculiX is based. You can see it if you take a look at the generated input file. This is also why the surface traction tool in PrePoMax is so handy - it allows you to apply a given total force that will be uniformly distributed over the entire surface. That’s also described in the PrePoMax user’s guide.


And I distinctly recall slamming into this problem last time I used prepomax for another problem last year! It caught me again!

1 Like