You could use *TRANSFORM
on the selected nodes to transform them to a local (user-defined) coordinate system. Then all boundary conditions applied to these nodes will be in that local coordinate system. But such a coordinate system has to be defined manually each time. FreeCAD FEM supports it though: FEM ConstraintTransform - FreeCAD Documentation
Still, the three nodes must form a right-angle triangle. Correct?
It may not be that strict but itâs quite limited indeed. Another approach that can make more sense in your case is with so-called soft springs. SW Simulation also has them. Itâs just about applying discrete spring elements of very low stiffness to all nodes in the model. It may still affect the solution so it should be used with care and as a last resort.
https://help.solidworks.com/2024/english/SolidWorks/cworks/c_Use_Soft_Spring_to_Stabilize_Model.htm
CalculiX has spring elements (spring to ground and 2-node springs) so it should be doable with some scripts.
I can only share plain text files sorry.
This is the inp. It needs to be run in the command line and open frd with prepomax.
Model doesnât contain BC at all.
Just comment again that I found this SSD aproach kind or forced. I think it implies using Fourier analisys but you are interested only in the response to the constant value.
If inertia relief does not use angular accelerations, then Solidworks must still remove the rigid body dofâs using 3-2-1 method when doing static analysis of free body. The 3-2-1 method must be done automatically and quietly.
How do I remesh to get more elements? Not obvious. Thanks.
It doesnât use the 3-2-1 method automatically, no software does it, from what I know. The only automatic methods are inertia relief and soft springs. However, they still recommend applying proper BCs instead of relying on the inertia relief or soft springs in SW Simulation: https://www.youtube.com/watch?v=HZwNUeYWvOE
Thatâs the tricky part - if you donât have the geometry and only the mesh in the input file then you canât remesh easily. There are ways to remesh existing finite element meshes but not all tools can do that and you would likely lose the associated information - sets and surfaces used to apply analysis features. CalculiX has the *REFINE MESH
keyword that allows you to refine meshes consisting of linear and quadratic tetrahedrons based on the specified criteria so that the analysis is continued with a proper mesh.
I think the attach is what I want.
A 1.6kg beam pointing in X direction is accelerated by 100N at each end in Z direction.
The acceleration is 125m/s^2 in Z direction.
That problem is converted to a static problem using body forces which are simulated by GRAV (125m/s^2) in negative Z direction.
3-2-1 constraints remove the rigid body dofâs.
The results should be correct for the beam after transients die down.
How do I read the forces in the 3-2-1 constraints? They should be nearly zero.
Thanks.
History output â Node output â RF
Exactly the same setup (just with deleted results and cleaned mesh to reduce the size of the file) in FreeCAD FEM: Dropbox
FreeCAD writes the reaction forces for boundary conditions automatically and you can check them in the .dat file appearing in the tree.
Beam lying in X direction
No forces or torques.
Centrifugal force added.
Spin origin is 0.5, 0.01, 0. (center of beam)
Spin axis is 0, 0, 0.01
3-2-1 constraints.
Stresses should be high near spin axis and get less and less towards tip.
Thanks.
This requires Angular Acceleration.
Same beam. But forces at the ends are in opposite directions. Hence the angular acceleration exists. The body force should be gravity-like in Z directions but increasing from zero at the center to the ends. The body forces and moments should cancel the end forces and moments.
The yet to be implemented workaround is to define a GRAV for each element depending on the Angular Acceleration and element distance from spin axis. Any better suggestions? Thanks.
Hi, Iâm taking a shot at this and Iâm having some trouble. The baseline setup is here and Iâm trying to run this without boundary conditions. This input file inherently shouldnât have much angular acceleration, if any, but it is likely a good first step to applying inertial relief.
The overall method Iâm using is:
- Calculate total forces and moments (about cg) in x,y,z
- Calculate mass moment of inertia about cg
- Calculate total linear and angular acceleration felt by the structure using F_total=m_total * a_linear and M_total=I_cg * a_angular
- For each element, calculate the linear contribution using F_element_linear=m_element * a_linear and then angular contribution using F_element_angular=m_element * a_angular x distance_to_cg
- Sum the linear and angular force terms and use a_element=(F_element_linear+F_element_angular)/m_element
a_element is then a vector which contains the x,y,z accelerations that I then apply per element using *DLOAD and grav in the appropriate dof. However, this doesnât seem to stop rigid body motion, and I canât figure out why. I tried applying soft springs as well, but that didnât help. Does anyone have any suggestions?
you made it (force) balanced, however a Neumann problem does not have unique solution, since a combination of rigid body motions is still a solution. You additionally have to block the rigid motion in a single node (6dof) or better using the 1-2-3 approach (6 dof blocked in total) then it will work, if you did a good work balancing the loads, the reactions at those dofs will be almost zero.
Notice that your choice of blocking dofs will change the displacements of the solution, however all of them will provide the same stresses.