spacether / pycalculix

Python 3 library to automate and build finite element analysis (FEA) models in Calculix. Meshing uses Calculix or GMSH.
http://justinablack.com/pycalculix/
Apache License 2.0
170 stars 56 forks source link

Utot is way off #70

Closed dundermane closed 9 months ago

dundermane commented 4 years ago

It looks like utot is many orders of magnitude off. I've been trying different mesh's. I've triple checked that my units are correct. I might be doing something that's out of pycalculix's abilities? I'm applying pressures on arcs and the reactant force is the tension in the material. Displacement is more important to me than stresses.

image

image

image

dundermane commented 4 years ago

flex-spline.zip

dundermane commented 4 years ago

On second look, those stresses totally do not look right. Whats up here? The setup looks correct to me.

spacether commented 4 years ago

How are you constraining this in x, y, and z?

spacether commented 4 years ago

Your displacement is way too high, please check your units and input material properties. What does a hand calculation say the deflection should be for a thin ring?

dundermane commented 4 years ago

I have not constrained the Z (didn't think it was necessary, but I'll try it.) X and Y have a point constraint on an arbitrary outer point.

As far as a quick hand calculation: I just did a calc assuming an average pressure around the inner ring.

I'm using this to back me up: http://www.eng.fsu.edu/~kalu/ema4225/lec_notes/Web%20Class_6_final

10 (Pa) is my average pressure applied to the inner wall of the structure. 0.03 (m) is the diameter of the circle 0.002 (m) is the thickness of the circle 2.3e9 (Pa) is the elastic modulus of my material

Stress in the wall should be stress = (pressure * radius) / thickness

stress = (10Pa * 0.03m) / 0.002m stress = 150 Pa

Strain is Stress (Pa) / Youngs Modulus (Pa) Therefore the strain should be 150 (Pa) / 2.3e9 (Pa) = 6.5e-8 (m/m)

The circumference, which was 3.14 * 2 * 0.03 (m) would now be 3.14 * 2 * 0.03(m) * (1 + 6.5e-8) = 0.18849 (m)

The diameter would then be 0.18849 / 3.14 = 0.0600000039. It would barely change because 10Pa is a pretty small value. But the results file shows a 12m diameter ring. ¯_(ツ)_/¯

spacether commented 9 months ago

I am no longer maintaining this repo and will archive it