I have observed that *initial conditions, type=velocity for shell elements do not work. It does not throw an error, but results show no velocities applied to shell elements. Did anyone come across such situation?
It is dynamic explicit. The same model with solid elements works well.
It’s like the joke when you go to the doctor and say:
“Doctor, it hurts when I move my arm like this, what should I do?”
Doctor says, " don’t move your arm like that".
Calculix expands shells into solids automatically, so you are never really running shells. Once this expansion is done, the node numbers change, so the node set that you were pointing to in your initial conditions command is no longer valid, and Calculix ignores. I have even tried running a model, getting the expanded node list and then applying initial conditions to that set, but that does not work.
So as the doctor says, my advice is don’t do that, run with your solids! FYI, I believe that calculix expands the shells into c3d8i, but check the manual.
Maybe the conversion of this initial condition to renumbered nodes is not implemented, unlike other features (BCs, loads) that do work for shells.
Thanks for clarification. I read about this expansion, but could not understand. Does this mean that the solver solves solid element formulation even if I model with shell elements? If yes, stable time increment is also based on minimum length dimension i.e. shell thickness and explicit solver can take very tiny increments. Please correct me if I am wrong anywhere.
I can avoid using initial conditions and replace equivalent force or displacement. But automatic conversion to solid elements makes no sense to use shell elements. And if I have to use solid elements for thin structures, explicit can become very expensive due to small time increment.
I think what you are saying is true, and I would guess that the shell-thickness-converted-to-solid will, as you say, set the timestep. What I have found (as a Calculix user) is that I have adapted my modeling style to fit the software, and “so far so good”.
Sorry that’s not much help, but it’s the reality!
Now, I tested few things. The stable time increment seems not considering shell thickness. Then, It looks to me that the shell formulation does not convert into solid elements.
One more alternative I found for including initial velocity to shell is; add dummy step first with very small initial time increment (1e-10) and end time (1e-10) i.e. one increment step. Apply ramped displacement BC to required DOF of shells, while keeping other DOFs fixed. The release BCs in second actual step. This ensures we get velocity at the end of dummy step, which can become initial velocity to second actual step. I haven’t tested second step yet.
I may still be wrong.
I have found a way to impose initial velocity to beams and shells. Any other way doesn’t seem to work so that’s better than nothing.
With this approach Initial velocity on beams almost work but not exactly as one would expect.
If one decreases the stiffness of the beam, it can be clearly seen that the initial velocity is only partially applied to some nodes after the beam expansion.
Seems like the Initial condition is not translated to the new expanded nodes.
The bug is present for all three initial velocity directions. Same problem with shells.
For high stiffness, the bug is less noticeable and may pass unnoticed.
I would like to confirm before posting the issue on Github as the Nodal set is defined in a tricky.
** Generated by Mecway 22 *NODE 1,0,0,0 2,1,0,0 *ELEMENT,TYPE=B31 1,1,2 *NSET,NSET=Bar 1 2 *ELSET,ELSET=Default 1 *MATERIAL,NAME=Material *ELASTIC,TYPE=ISOTROPIC 10000000,0.49 *DENSITY 7850 *BEAM SECTION,ELSET=Default,MATERIAL=Material,SECTION=RECT 0.08,0.08 0,1,0 *SURFACE, NAME=Bar, TYPE=NODE Bar *INITIAL CONDITIONS,TYPE=VELOCITY Bar,1,100.0 **Bar,2,100.0 **Bar,3,100.0 *STEP,INC=10000,AMPLITUDE=STEP *DYNAMIC,EXPLICIT,ALPHA=-0.001 1E-09,0.01,0,0.0001 *NODE FILE,GLOBAL=YES U,V *EL FILE S,NOE *END STEP
** Generated by Mecway 22 *NODE 1,0,0,0 2,1,0,0 3,1,1,0 4,0,1,0 *ELEMENT,TYPE=S4 1,1,2,3,4 *NSET,NSET=Plate 1 2 3 4 *ELSET,ELSET=Default 1 *MATERIAL,NAME=Material *ELASTIC,TYPE=ISOTROPIC 100000000,0.28 *DENSITY 7850 *SHELL SECTION,ELSET=Default,MATERIAL=Material 0.1 *SURFACE, NAME=bar_surf, TYPE=NODE Plate *INITIAL CONDITIONS,TYPE=VELOCITY Plate,1,0.0 Plate,2,0.0 Plate,3,100.0 *STEP,INC=10000,AMPLITUDE=STEP *DYNAMIC 0.0001,0.01,0.0001,0.0001 *NODE FILE,GLOBAL=YES U *EL FILE S,NOE *END STEP