Point spring flip

Good afternoon All,

I have a problem simulating the preload of a series of bolts on a bracket.

I’m using point spring to replicate the presence of the bolts (I’ve add the stiffness of the bolt on the spring, and then applied a concentrated force to replicate the preload).

What I’m troubling is that all the springs are oriented along the positive X-axis, but in four (of six) cases I need to flip the direction of the spring.

Leaving the spring all oriented in the same way, but appliing the preload in the opposite direction, I’m not able to generate the stress on the bolt contact surfaces.

From the pic, the spring in red need to be flip; if I leave the situation like that no tension will be generated on the proper surfaces.

I apply the sim files to better understand my problem.

Studio_coperchio_anteriore - Copia.pmx (6.5 MB)

N.B. I removed the mesh to fulfill the max MB requirements of 10MB

Is someone that can help me?

This is a preliminary study of a bigger machine.. so I would like to implement the correct workflow on a simpler model and then moving on to the full assembly.

WBR

Marco F.

If you are using Point Spring implemented un PrePoMax, internally this is spring to ground element (SPRING1). There are also two other spring types that can be defined between two nodes abd have their direction specified by the user: Spring between two nodes

However, they require keyword edits. But they will give you more control over the direction/orientation of the springs.

Yes, it was a strategy that I would like to implement, but checking the Calculix Keywords I’m not able to find where is written the point sprig properties:

WBR

Marco F.

They are in the Constraints menu, but internally (in keywords) they are defined as finite elements so you can find part of their definition under Elements (*ELEMENT, TYPE=SPRING1) and the rest under Sections (*SPRING). If you want to use other spring types than node to ground, you should add them from scratch (nodes, elements and section properties). You can find more details and some examples on the forum and in the CalculiX manual.

Ok I found the proper position to apply the code inside the Calculix Keywords tree.

Is there the possibility to connect two reference points, both at the center of a circumphere (one at each side of the cylinder)?

Because I’m not able to find inside the code where the reference points are called.

WBR

Marco F.

Yes, look for *RIGID BODY keywords and their REF NODE and ROT NODE paramerers will point to the proper node numbers (ref node is for translational DOFs, rot node is for rotational ones). Since the nodes are already defined, you can use them directly when creating spring elements.

Thank you for this precious suggestion :grinning_face:

I tried to define, using the command SPRING1, a spring (on a reference point) connect to the ground.

This was the command line in the Constraints section:

*Rigid body, Nset=Internal-1_Surface-foro_1, Ref node=162730, Rot node=162731

Then I add an addional element with this code line:

*Element, Type=SPRING1, Elset=Molla_refpnt
200002, 162730, 162731

The simulation is running properly, but I’m not able to see any graphical reference that indicate the presence of the spring created? Is it true and there isn’t any way to see graphically the spring or am I missing something?

I tried to create a spring between two nodes, using the command SPRINGA, and I can see the graphical reference when I’m on Results folder

WBR

Marco F.

This creates a spring between ref node and rot node of the same rigid body constraint. These nodes are coincident and it’s not really what you want to achieve. You should either connect ref nodes of two different rigid bodies or one ref node to a new node where you can apply a BC/load.

Keep in mind that rot nodes have rotational DOFs only so connecting them creates torsional springs: Torsional Spring - SPRING2? - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).

Thank you very much for the support, I did what I was planning to do:

Do you have in plan to implement this kind of spring in the current PrePoMax workflow (outside the Calculix Keywords editor)?

WBR

Marco F.

2500 mm displacement ? Is something disconnected ? You can check by running a frequency analysis.

Regarding the GUI implementation, it’s on the feature requests list but it may take Matej (PrePoMax author) some time because there are many other requested functionalities and the ones particularly difficult to define via keyword edits have the priority.

Yes yes the displacement is not true, because I remove the proper BC because I needed to try quickly the solution.

Thank you again for the support :grinning_face:

WBR

Marco F.

The mesh is disconnected. It appears to be made up of multiple parts.

A curiosity. But is it possible to assign a preload using spring elements?

Then they should be merged into a compound or connected with tie constraints.

https://calculix.discourse.group/t/how-to-consider-pretension-in-spring-elements/1716

Actually, the best way to model preloaded bolts with CalculiX is via simplified solid models (basic cylinders) discussed in several previous threads such as: COMPRESSION ONLY for simulating bolts and nut faces - #12 by fatmac