Step-by-Step Tutorial: Homework of Session 2 - Level 2

Thank you jousfem,
I went through the HW again but couldn’t find anything…
the link is the following: https://platform.simscale.com/?publiclink=f095d860-9a9e-4641-af01-3b967417edb7

Hey @claudio ,

just saw your answer. I will have a look at it and let you know where your mistake was. IF I can find one!

Cheers buddy!

So @claudio ,

found your mistakes. You have chosen the wrong faces for screw 1 in your boundaries. And I fixed the simulation control settings (\rightarrow see attachements)

Here is the link to your project again: https://platform.simscale.com/?publiclink=97533fc9-86ef-4728-9201-86f9d5901ec1

Everything is fine. I did the coarse mesh for you. You just have to fix the settings for the fine mesh and rerun your simulation.

Good luck mate :slight_smile:

EDIT :

Found another mistake 10 minutes later. Your convergence seemed suspicious to me. So I checked the load. See the picture. You need to type in 3 in the f_y field NOT 3*t.

Thank you very much jousefm,
you saved my day. That’s a good reminder for me to check also graphically
which surfaces are selected.
I was following the screenshots of the tutorial and there might be some
wrong faces selected.
Anyway thanks again for the help, and amazing tutorial, too…

Claudio

While performing the level 2 homework for the second time with more screw and high stress refinement, I am unable to perform the meshing operation. Here is the screenshot of the error message that it display.

Hey @debroy84863568 ,

please make sure you check the other threads. Your problem has already been solved by @gholami .
Hope this helps you. If not I will have a look at your project.

Happy simulating!

2 Likes

Thanks guys for your help :smile:

@michele
I had the same situation. And if you haven’t solved your problem yet, then change order mesh from Second order to First order and everything should be fine.

Hi everyone!
I followed the steps of the homework - level 2 but I obtained another plot for the average displacement of the arm. I checked twice the homework tutorial and could´t find any error.


Thank you
Iria

@jousefm could you explain your logic? Cause to me it looks fine. We want to apply our load in 4 steps, gradually. We want to do it in a single simulation. So we set Simulation interval (total time) at 1 (which refers to 100%) and step as 0.25. Then when we multiply our ultimate load of 3 [N] by subsequent time steps we will get gradually increasing load at the drone’s frame.

Therefore we have time / load for:
step 1: 0.25 / 0.75 [N]
step 2: 0.50 / 1.50 [N]
step 3: 0.75 / 2.25 [N]
step 4: 1.00 / 3.00 [N]

Also, I know it’s Monday, but… Don’t you think there is something wrong with the displacement plot? Maybe Milad has pasted wrong image? Look at the curve and scale – does it have any sense to you?
This is how my plot looks like (coarse mesh):

Hi @Maciek ,

what you say is totally fine and correct. In the tutorial we type in 3N into the f_y[N] field and in the formula the time-dependency. Because 3\cdot t has NOT N as a unit. It would be more like N \cdot s. Therefore we put the time-dependency in the Formula field as mentioned in the tutorial. Does this make sense? I mean it is a simplistic way to explain the problem but I think that is the explanation for it.


@Iria & @Maciek Here are my plots for the displacement (coarse and fine mesh).

COARSE MESH

FINE MESH

I think our first point is okay because @Milad_Mafi had -8.4703e-22 which is almost zero. But for his last iteration he goes to a maximum of -5e-5. Our displacement changes into a positive value whereas Milad’s stay negative. Maybe the error is negligible, maybe not.

If you have questions do not hesitate to ask. This is why we have the forum :smile:

Cheers and good luck!

@jousefm Aaa… now it’s clear. BTW: this is happening when you skim through something or don’t read at all :stuck_out_tongue: I just ran through the text, noticed “3 NOT 3*t” and wrote my reply :smiley:

In terms of the plot: why do you both have two negative displacements here? As far as I can see – this time I try to be careful :slight_smile: – there is no Gravity, so for no force state we should have no displacement at all (this fits; Milad’s e-22 is in fact zero too). But later we should get some positive displacement in constant direction. I mean the sign in front of it (plus or minus) should be constant, shouldn’t it?

In our case the lift force pulls drone’s frame up (however is sounds, in Yplus :wink: direction) and you and Milad have negative displacement values. Moreover, in Milad’s case the scale is odd too. – Pretension on screws? Because this is the part I don’t get: the way we model stress generated by tightened screw.

What is this External point: Explicit definition? In mesh tab I switched to snappyHexMesh and displayed it as a point. It’s located more or less on screw axis, somewhere in the middle of its length. Now, why do we define it? What for? And where is the preload from the first picture if we set Translation and Rotation in Remote displacement at zero. Physical Contacts between the screw and drone’s frame don’t do the trick?

Hi @Maciek,
maybe I can shed some light on this.

How we define the pre-stress in the bolt similar to what is done in an interference fit: we intentionally design the geometry of the bolt a little shorter and the repositioning of the contacting nodes on the surface of the contacted body will result in a strain and thus a stress in the bolts. In real life interference fits are created with expansion/shrinkage during heat treatment (and normally not on bolted connections), but for our purposes this should work fine with the shortening of the bolt.

The question is now, why do we define this mysterious remote displacement?
The short answer: to make our life easier.
The longer one: If we use a frictionless physical contact, the bolts movements are not statically defined, they are free to rotate around their middle axes and also free to slide in X- and Z-direction (imagine the contact zones being made of ice). To prevent this we use remote displacements, put each somewhere at the center axes of a bolt and restrict rotation around the Y-axis and the two rotations. So we create a new node, restrict its rotation and displacement accordingly and connect via RBE3 connections to the bolts.
Now this should in theory should be enough to get a statically defined system, but still the z-movement may cause problems. The bolts are only restricted from moving along the z-axis by the two opposite contact zones, so finally the contact forces. If those two opposite forces are not exactly equal (which is very likely in a numerical simulation), we get a resulting force which will accelerate the bolts along z. In a static analysis this will lead to an unsolvable system or totally unphysical results (almost infinite displacement). So we use a trick: We pose the remote displacements at the two opposing ends of each bolt and restrict the z-displacement. BUT since we selected a deformable behavior, the two ends are still able to deform in z-direction, only the total “average” of the displacements has to be zero. And we actually would expect this to happen.
I hope this is clearing up some of your question marks regarding the remote displacement boundary condition and why it is used here. You can also find some additional information about this boundary condition in our documentation.

We could actually check if our approximations are correct if we would set up a frictional contact (and possibly use a dynamic analysis for the z-Force problem) and compare the results with our approach. If you want to go this extra mile I would be happy to assist you if problems appear.

Concerning the total displacement at the end of the arm, I’ll have to take a closer look at the model to see what actually makes sense. Theoretically both positive and negative values could be correct because of the pre-load, only a positive trend has to be visible when applying a positive Y-force. I’ll check it and come back later with my conclusion.

5 Likes

Hi @Maciek @jousefm

Mea Culpa! I uploaded the wrong screenshot (of a different simulation setup which is not relevant for this homework). I just corrected this mistake. Your force plots are absolutely right!

Thank you very much!

Milad

Thank you everyone! This forum is really helping a lot! :smile:

Hi there

Great tutorial

When I have created the new and refined mesh it seemed that all BC’s and interfaces have lost their defined geometry definitions (connections to surface ID’s, volume ID’s etc.) Hence I had to re-enter all this information again.

As I see it, in this case only mesh settings is changed. Geometry ID’s (surface, volumes etc.) are still the same in the new mesh, so is there a way to avoid the tedious work of having to define/re-enter all ID’s to constraints and interfaces again ?

Hi :smile:

Unfortunately it is not possible to ‘map’ boundary conditions etc. to a new mesh. But a smart work-arround is to copy the initial simulation and to change the mesh (click therefore on the Domain item in the project tree**).

Then you only have to reassign the faces.

Cheers,

Milad

@Maciek when I look at time step 0.25, and the displacement in the y direction it does look like the bolt preload is causing the initial negative deflection.

@Milad_Mafi @jousefm there are a couple areas I am still confused on and I hope someone can clarify things for me.

I am not sure what the difference is between the Contacts and the Physical Contacts. We created two contacts between the plates and the arm. Since this is a Bonded Contact, we basically glued these three parts together. One option was a sliding contact which seems like it would have been a better choice since we are trying to see the effects of the clamping force.

The way I understand it, the Remote displacement is just a way to stabilize the bolt so a solution can be found. In other programs I have done this by using springs to ground, but I think this accomplishes the same thing.

Again, thank you for a wonderful workshop!

Hi @cjquijano,
maybe I can jump in here.

The main difference between a contact and a physical contact is that the first is basically just a linear constraint between nodes and the second one is highly nonlinear.
A contact is mainly used to connect/weld/glue different parts of an assembly together that actually behave like a single solid, but may consist of different materials. The bonded contact does not allow any relative movement between the selected faces, whereas the sliding contact allows relative movement in tangential direction (of course computed on the initial mesh and not updated during calculation), but the normal direction is fixed.
In a physical contact, the relative movement is totally free, only penetration is restricted. The relative distance and the surface normals are updated in every iteration and measured in the deformed configuration. The physical contact type allows also separation of the contact surfaces, which no simple contact type allows. Additionally it also allows to take into the account the friction between contacting surfaces.
You’ll also find some useful information about contacts and physical contacts in our documentation.

If we would have chosen a sliding contact in the example, we would leave the arm free to move in x- and y-direction, since only z-movement would be coupled to the frame. This would require an additional contact between the bolts and the arm to prevent the rigid body movement.

Another possible solution would be to use a physical contact with friction for the connection of the arm and the frame. This would restrict the x-z-movement, but the price would be a higher numerical complexity, runtime and memory requirements.

Concerning the stabilization of the solution with soft springs attached to the ground. This is a very good idea and common practice. We are already working on this feature and it will be a part of a more general possibility to define all different kinds of structural elements (beams, shells, dampers, cables,…).

Best,
Richard

1 Like

Thanks @rszoeke! That Makes sense.