Applying a torque using FORCE and TRANSFORM constraints
Moderator: bernd
Forum rules
and Helpful information for the FEM forum
and Helpful information for the FEM forum
Applying a torque using FORCE and TRANSFORM constraints
The transform constraint has been extended to allow for applied forces to be transformed into in a new coordinate system.
- start FreeCAD --> StartWB --> load "TorqueExample" file Essentially in this a example, a force is applied to the external surface of a pipe and then the coordinate system of the external surface is transformed into a cylindrical coordinate system. The direction of the applied force is in the global Y direction (this corresponds to the Tangential direction after the coordinate transformation).
Depicted below is pipe showing no displacement: Depicted below is pipe showing the displacement: The new branch can be found here:
https://github.com/makkemal/FreeCAD/tre ... traint/src
- start FreeCAD --> StartWB --> load "TorqueExample" file Essentially in this a example, a force is applied to the external surface of a pipe and then the coordinate system of the external surface is transformed into a cylindrical coordinate system. The direction of the applied force is in the global Y direction (this corresponds to the Tangential direction after the coordinate transformation).
Depicted below is pipe showing no displacement: Depicted below is pipe showing the displacement: The new branch can be found here:
https://github.com/makkemal/FreeCAD/tre ... traint/src
Re: Applying a torque using FORCE and TRANSFORM constraints
works great ! Added to my development branch for next FEM pull request.
https://github.com/berndhahnebach/FreeC ... meshregion
https://github.com/berndhahnebach/FreeC ... meshregion
Re: Applying a torque using FORCE and TRANSFORM constraints
I wanted to calculate the results myself. For this I used a simpler example.
full cylinder
lenght = 1000 m
diameter = 60 mm
G = 81000 MPa --> E = 210600 MPa
Twist (delta) = 0.4 degree
twisting moment (torsional moment):
Mt = (delta_in_rad x Pi X r^4 x G) / (2 x l) = (delta x Pi^2 X r^4 x G) / (180 x 2 x l)
Mt = (0.4 x 3.14^2 x 30^4 x 81000) / (180 x 2 x 1000)
Mt = 71.80e4 Nmm
max twisted stress:
max tau = 2 x Mt / (Pi x r^3)
max tau = (2 x 78.80e4) / (3,14 x 30^3)
max tau = 17.0 N/mm2
Force = 71.8 N/mm / 30 mm = 29933.33 N on top edge.
max deformation x = max deformation y = max deformation = 30 mm sin 0.4 degree = 0.209 mm
attached is the file ...
full cylinder
lenght = 1000 m
diameter = 60 mm
G = 81000 MPa --> E = 210600 MPa
Twist (delta) = 0.4 degree
twisting moment (torsional moment):
Mt = (delta_in_rad x Pi X r^4 x G) / (2 x l) = (delta x Pi^2 X r^4 x G) / (180 x 2 x l)
Mt = (0.4 x 3.14^2 x 30^4 x 81000) / (180 x 2 x 1000)
Mt = 71.80e4 Nmm
max twisted stress:
max tau = 2 x Mt / (Pi x r^3)
max tau = (2 x 78.80e4) / (3,14 x 30^3)
max tau = 17.0 N/mm2
Force = 71.8 N/mm / 30 mm = 29933.33 N on top edge.
max deformation x = max deformation y = max deformation = 30 mm sin 0.4 degree = 0.209 mm
attached is the file ...
Re: Applying a torque using FORCE and TRANSFORM constraints
max Tresca stress is red in the bar and constant around 18.08 N/mm2 similar to max tau = 17.0 N/mm2 from the math
Re: Applying a torque using FORCE and TRANSFORM constraints
My mechanical knowledge about twisted steel structures is limited. Is someone able to do the math for the example of the first post?
Re: Applying a torque using FORCE and TRANSFORM constraints
I wanted to make a test case, but gmsh 4.7.1 and 4.8.4 does not seem to work anymore. Could it be that the FEM workbench does not work with VTK9? I got a ton of errors.
gmsh info:
FreeCAD info:
error massages:
Greetings
user1234
gmsh info:
Code: Select all
file found: /usr/bin/gmsh
Gmsh: StdOut:
Version : 4.7.1
License : GNU General Public License
Build OS : Linux64-sdk
Build date : 20210302
Build host : debian-build-farm
Build options : 64Bit ALGLIB Bamg Blossom DIntegration Dlopen DomHex Eigen[system] Fltk GMP Gmm[system] Hxt Jpeg Kbipack LinuxJoystick MathEx Mesh Metis[system] Mpeg Netgen ONELAB ONELABMetamodel OpenCASCADE OpenCASCADE-CAF OpenGL OpenMP OptHom Parser Plugins Png Post QuadTri Solver TetGen/BR Voro++[system] Zlib
FLTK version : 1.3.5
OCC version : 7.5.1
Packaged by : nobody
Web site : https://gmsh.info
Issue tracker : https://gitlab.onelab.info/gmsh/gmsh/issues
FreeCAD info:
Code: Select all
OS: Debian GNU/Linux 11 (bullseye) (X-Cinnamon/lightdm-xsession)
Word size of FreeCAD: 64-bit
Version: 0.20.25192 (Git)
Build type: Release
Branch: master
Hash: f1db4bc83e8946991008dfccaae6af92d51a4347
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
Locale: English/United States (en_US)
VTK version: 9.0.1+dfsg1-8
error massages:
Code: Select all
ElementDimension: 3
No Group meshing for analysis.
/tmp/fcfem_94otf124/Body_Geometry.brep
/tmp/fcfem_94otf124/Body_Mesh.unv
/tmp/fcfem_94otf124/shape2mesh.geo
/usr/bin/gmsh
2021-07-06 18:18:14.986 ( 28.967s) [ B01F640] vtkCellArray.cxx:551 ERR| vtkCellArray (0x562a87f80390): Invalid location.
.....
arround 160000 times
.....
2021-07-06 18:20:16.778 ( 150.758s) [ B01F640] vtkCellArray.cxx:551 ERR| vtkCellArray (0x562a85db2fe0): Invalid location.
New mesh was added to the mesh object.
Clean run of Gmsh
Greetings
user1234
- Attachments
-
- test32_FEM_torque.FCStd
- (35.03 KiB) Downloaded 26 times
-
- 0.png (330.31 KiB) Viewed 2136 times
Re: Applying a torque using FORCE and TRANSFORM constraints
I recompile FreeCAD with VTK7. Yes, VTK9 seems to be the issue. Works flawless with:
Code: Select all
OS: Debian GNU/Linux 11 (bullseye) (X-Cinnamon/lightdm-xsession)
Word size of FreeCAD: 64-bit
Version: 0.20.25192 (Git)
Build type: Release
Branch: master
Hash: f1db4bc83e8946991008dfccaae6af92d51a4347
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.0
OCC version: 7.5.1
Locale: English/United States (en_US)
VTK version: 7.1.1+dfsg2-8
- Attachments
-
- 0.png (344.09 KiB) Viewed 2120 times
Re: Applying a torque using FORCE and TRANSFORM constraints
but gmsh meshing does not depend on vtk ?!