Constant velocity motion of a structure

Hello everyone! I am a beginner and I want my plate always move in the y direction at a fixed speed. I have searched many tutorials but have not found any similar cases. How can I set it in the inp file? Thanks.

There are no velocity BCs in CalculiX but you could use displacement BC with a proper amplitude instead: Any method to impose velocity as a boundary condition in a dynamic set-up?

Thank you very much for your quick reply. After the amplitude is set, is it used through the BOUNDARY or in CLOAD?

*BOUNDARY, AMPLITUDE=amplitude_name

Following your suggestion, I found some cases, and then I set my inp file:
*AMPLITUDE, NAME=RAMP
0.0, -5.5, 1.0, -5.5

*BOUNDARY, AMPLITUDE=RAMP
NALL, 2, 2

*BOUNDARY
NALL, 3

But my structure does not move, and the simulation runs normally. Can you please give some suggestions?

Check the syntax of the *BOUNDARY keyword (data lines): Understanding Boundary Conditions - #2 by Calc_em

It should be:

*BOUNDARY, AMPLITUDE=RAMP
NALL, 2, 2, 1

and placed within a step.

*ELASTIC
40000000, 0.0
*DENSITY
3000
*SOLID SECTION, Elset=Eall, Material=EL
*STEP, NLGEOM, INC=1000000
*DYNAMIC, ALPHA=0.0, DIRECT
5E-5, 10.0

*AMPLITUDE, NAME=RAMP
0.0, 0.0
0.0001, -1.5

*BOUNDARY, AMPLITUDE=RAMP
NALL, 2, 2, 1

*CLOAD
Nsurface, 1, 0.0
Nsurface, 2, 0.0
Nsurface, 3, 0.0
*NODE FILE
U,V
*EL FILE
S, E
*END STEP
This is all my inp files. But no matter how I modify them, my structure does not move.

Amplitudes are constant outside their defined time interval, so after t=0.0001 it’s stuck at -1.5 but the first time increment is 0.00005 so it should only move for the first two increments. Define the amplitude over the whole time interval that you want it to move, ie:

*AMPLITUDE, NAME=RAMP
0.0, 0.0
10, -1.5

Thank you very much for your advice, which is very helpful to me.
In addition, is the V in

*NODE FILE
U,V

only effective for monitoring velocity when *INITIAL CONDITIONS,TYPE=VELOCITY? For the above-mentioned application of AMPLITUDE to BOUNDAERY, it is not effective for monitoring velocity. Because I found that my velocity at VELO1 is around 30, and VELO2 and VELO3 are 0. This is different from my definition, but my structural motion is defined by my definition, not as shown by VELO.

V is supposed to just be velocity whether you have velocity ICs or not and it does work like that in other cases so I’m not sure why it’s showing 0 instead of -0.15.

Is the displacement output correct?

Could you post the whole input file?

*ELASTIC
400000000, 0.33
*DENSITY
3000
*SOLID SECTION, Elset=Eall, Material=EL
*STEP, NLGEOM, INC=1000000
*DYNAMIC, ALPHA=0.0, DIRECT
5E-5, 1.0

*AMPLITUDE, NAME=RAMP
0.0, 0,
1.0, -10

*BOUNDARY, AMPLITUDE=RAMP
Nall, 2, 2, 1

*BOUNDARY
Nall, 3

*CLOAD
Nsurface, 1, 0.0
Nsurface, 2, 0.0
Nsurface, 3, 0.0
*NODE FILE
U,V
*EL FILE
S, E
*END STEP
The above is my inp file. My time step is 5E-5, and the displacement in the opposite direction of y at each time step is indeed 0.0005, which is correct. But for VELO, you can see that this is abnormal, as shown below:



That seems a problem with the initial time step (Too large).
I would use the initial velocity card so everything starts smooth and ready to crash.
Note that if you impose a Nall displacement your plate becomes a rigid in the Y direction.

Why do you want to see something fly so much time?

This is a problem of a plate colliding with water at a constant velocity. Do you mean that calculix cannot calculate the deformation caused with constant velocity motion?

Can you post the entire file with mesh and everything so I can run it?

I think there’s a bug with velocity and beam elements but not sure if you have those here. Also, maybe NALL isn’t what you expect or there might be a *TRANSFORM that alters the meaning of *BOUNDARY, or just the dynamics behaves strange like @Disla said which could depend on the mesh.

I guess you want to model the water, not the plate, is that right? So the plate doesn’t slow down or deform as it hits the water? I’d really go with something more realistic like an initial velocity and a realistic mass for the plate.

This is what I think it is happening.

Without *initial condition , Type=velocity , you initiate the displacement sudently and the system is excited into some vibrating mode. Initial step can accentuate the amplitude. As your alpha is zero, there is no damping and the system keeps oscillating around the imposed velocity (0m/s and 20m/s). Note the average is 10m/s as requested.
Energy balance might be ok but velocities are wrongly reported as the cube is oscillating around some mode. You can imagine the cube advancing like an accordion.
I don’t think this is the right procedure.

Adding some damping the system can calm down and final velocity requested could be achieved.

If you add an initial condition velocity equal to the requested final velocity, the system continues the displacement without any excitation and requested velocity is achieved from the first moment, even without damping.

1 Like

Hello, sorry for my late reply. Here are all my files:

https://1drv.ms/f/c/9ca521f57bc575f2/EmfoJwJW-vRPhHx_2cyWInMBWYi-tH55Y3u0IdS-yfvSnQ?e=Jygy0H

Can you help me check if there is any problem with this definition? I want to simulate the deformation of the board when it hits the water surface at a constant speed. The speed does not change when it hits the water surface, which can be understood as external force intervention. This is an ideal case.

Thanks alot.

Thank you very much for your suggestion. So when I calculate the moving object, I can’t just give the displacement change. It’s better to add damping and initial velocity. Am I right?

In addition, I see changes in your graph, the speed have a fluctuate, and the average value is 10. Then when I iterate a certain time step, the speed will also stabilize at around 10, right?

You can but now you are shooting the plate.
I guess you might be thinking your are moving the plate progressively from zero to the desired velocity, Am I right…?

Your 3000 Kg/m3 plate is changing it’s velocity from zero to 10m/s instantaneously. If you don’t help with an initial condition or some damping the plate will remain highly excited.

Your files seem to solve OK in CCX 2.22. I see Y displacement changing linearly and following u = -10 * t.

EDIT: I didn’t notice you have the same wild velocity oscillation that @Disla found. Should be fixed by adding a velocity initial condition.

Deformation but no speed change? This displacement approach will also constrain deformation (in the Y direction) so that’s probably not what you want. Do you want to maintain a constant average velocity or constant velocity on some part of the plate but not all of it?

As @Disla pointed out with the infinite acceleration, you have to be careful with idealizations because sometimes that involves suspending the laws of physics and fighting against the solver.

I want the entire plate to maintain a constant speed when encountering external forces, but it will deform. Is this a conflict for Calculix?