how to apply a constant velocity to a rigid wall in a crashing simulation
Hi,
I am going to apply a rigid wall to a square hollow tube in a crashing simulation in order to get a simulation result which I can correlate to the physical test data.But with the key word *rigid_wall in lsdyna, it only allow me to apply an initial velocity, while the physical test has been conducted with a constant velocity. I am wondering is it possible to apply a constant velocity to a rigid wall so I can simulate the crash under the same condition as in the test? If it is not, how can I apply the constant velocity?
Many thanks.
Answers
-
Hello,
i'm suggesting to use a shell element with *MAT_RIGID and a *BOUNDARY_PRESCRIBED_MOTION instead of a *RIGIDWALL (seems there is no constant vel. option).
Regards,
Mario
0 -
Hi Mario,
Do you mean I need to generate a shell element first just on top of tube? But I don't know how to draw a plane in Hypermesh. (can you show me in brief if it is possible) The geometry I did is from CATIA.
0 -
Hi Thomas,
instead of the rigidwall, you can use a shell element (or more, the calculation time for rigids is very low) at the same position. Make it big enough, since it is finite of course (create it by nodes or create a big surface). And you need a contact of course ;-)
Regards,
Mario
0 -
Hi Mario,
I have tried your idea and I just have few small issues about it.
Q1, For the material MAT20, if it is a rigid material, what should I put in the property table, like density, E, etc.
Q2, Regarding the property *section_shell, can I leave the thickness blank (I got this idea from the experience of *rigid_wall), or I have to put an arbitrary value?
Q3, For the contact surface, I set up the shell side already with the pyramid pointing to the tube, but what should I choose for the tube side, do I need to only choose the edge of the tube (circled) or the entire wall surface (interior and exterior or one of them)? If the wall surface needs to choose, which direction should I apply to the pyramid? (please see the attached pic)
Q4, After setting up the contact surface, do I need to build an interface for the master and slave?
Q5, How can I delete the geometry information instead of hiding?
Regards,
Thomas
0 -
Hi Mario,
One more question. If I put 0.1 for the *glstat within the *database_option card, does it mean 100Hz?
0 -
Hi,
1. same parameters as you are using in the rest of your main structure, if you are using rigids in contact take the same E as in the contact partner (it is using for contact stiffness)
2. you have to put in a real value, is is used for mass, inertia and contact thickness
3. many choices here, i prefere:
*contact_automatic_surface_to_surface (choose parts in the contact panel, no need of contactsurfs, automatic means both sides are checked = you can ignore normals)
*contact_automatic_nodes_to_surface (sometimes good enough, part and node set used, automatic see above)
4. what do you mean...use sets (or pick on screen) directly into the contact panel (interfaces) -> add
5. what do you mean ? Delete->surfs...
extra question: it is the output time frequence in your unit system (calculation time 1s -> 0.1 gives 10 steps, prefered min. 1000 or more steps)
Regards,
Mario
0 -
Hi Mario,
Sorry for the confusion, sometimes I just tried to keep short as it is getting boring when reading long expressions.
1, Regarding the rigid property, actually I need to apply 800kg mass to the impact plane. When I turned to the card edit, I found no way to do this. Another issue, the section_shell I used for the tube, I have set up some other parameters like ELFORM=2, SHRF=1, ****=2 and PROPT=1, do I need to apply the same values to impact plane? Or to say, can I apply the section_shell used for the tube to the impact plane?
2, Regarding the contact, do you mean I need to choose the master and slave according to the attached pic? Normally, I define contact surface first and then I went to this panel to create the interface. This is the reason why I asked Q4 previously which confused you.
3, The reason I asked that extra question is my project prefers me to calculate the result in 60Hz with the time unit in ms, and I will calculate at several time ranges of 600s, 150s, 2.04s and 1.36s, which they are all under the corresponding constant crashing speeds. Should I understand this 60Hz as 60 time steps in 1 ms?
Regards,
Thomas
0 -
HiHo,
1. You can use the same *section_shell as for the tube. Since you have restricted the dofs of your rigid 'shell' wall (hopefully), you can apply somewhere on the mesh a mass element. Shells + Masses = mass of rigid wall (HINT: **** should be 3 or greater)
2. Yes you can pick the master and slave elements here. Switch to components to make it easier...
3. I don't know what they are meaning. Hz is 1/s and valid for seconds. If you calculating with ms, than we have kHz.
For seconds, 1/60 = 0.01666
For milliseconds, 1000/60 = 16.6666
In both cases you get 60 points / second, which is really little... (normally i have more than 60 animation states, for curves i have min. 10000 points (filtering e.g.)
Regards,
Mario
0 -
Hi Mario,
I have tried adding the mass, but the only option seems in the mesh drop down menu create->masses. When I proceeded, I can create mass of 800kg only at a node. I just feel bit weird to create a mass node which is normal in the Newton system as a mass point and I can not see any title or item reflecting this mass node in the left browser. I had a read of lsdyna tutorials, I remember in a example, there is a square shell element representing a big mass. So did I just do the right thing?
As you mentioned in section 1, do you mean if I applied mat20 into the impact plane, then I have the restricted dofs of rigid shell wall?
For your hint, I have read through the section_shell part in ls manual, at this stage, I really have no idea about **** which you suggested be greater than 3. And I also can not understand the explanation in the manual regarding 'number of through thickness integration point' since I never had any course on this mathematical method. If it is possible, could you please give a brief explanation?
Regards,
Thomas
0 -
Hi,
A mass element don't need a part 'collector', but is still inside (collector is a container in this case).
Create a mass at 1D->mass->create (pick node, elem types = MASS). You can see only a element handle (switch must be on, in HM12 zoom in).
Check the mass of rigid by tools->mass calc.
Yes, you have to set the dofs of course. The best way is to do this at the *MAT_RIGID card with CMO = 1 and setting CON1 and CON2.
**** is the number of integration points trough the thickness of the element.
If you have only one IP, than you have only one result (e.g. strain) for the neutral fiber of the element.
If you have two IP, than you have two results (e.g. strain) for the element, but not at the neutral fiber. Look into theory manual for the locations (not top and buttom).
So you get more and better results for 3 or more NIPs. (we are using 3 as standard)
Regards,
Mario
0 -
Hi Mario,
I have to edit this post since I tried something else to get rid of this error this morning, but I got some other error which might relates to this error and described in the next post.
I just run a simulation, but it gives a error message.
Error 20317 (STR+317)load curve must be defined for prescribed boundary motion.See curve id 0 node/part= 60041611 (this number changes for the following errors, I think all these numbers must be on the impact plane)in the velocity b.c. input sectionIt seems I have to define a load curve for the prescribed motion which applied to the impact plane. But I have specified the velocity value when I created it. Confused. I have also attach a pic reflecting the velocity I applied on the plane
Regards,
Thomas
0 -
Hi Mario,
This post is relative to the one above.
1, I have tried to define a time/velocity curve (attachment 'time_velocity'), then I can get rid of the above error message. Instead, I got another error message and couples of warning messages. (attachment 'error message')
2, In the curve definition panel, I can not put in more data as the scroll bar is grey. (attachment 'time_velocity')
3, As soon as I finished the velocity definition in the BC->velocity panel, the value 0.15 (0.15mm/ms) in the magnitude goes to scale factor in the card. (attachment 'velocity definition panel') If the problem (error message) mentioned in the previous post caused by the value 0.15 since it is only a scale factor, but why I am still not able to proceed to calculation after defining a load curve (time/velocity)? Meanwhile, it also shows me there is redundant prescribed motion constraint?
Many thanks.
<?xml version="1.0" encoding="UTF-8"?>
0 -
Hi...
oh wow...
The best you can do, if you create a new card is to do this by Menu->Tools->Create Cards->*Boundary->*Boundary_Prescriped_Motion_Node(Vel) (select this one with Vel !!).
That brings you into the load panel (including curve selection). It is the same as Analysis->velocities
Magnitude is the scale factor for the y value of your curve and the magnitude for the direction vector. You can add additional rows inside the curve editor by right click the mouse and select add rows.
Select your curve of course. Normally you can't leave this panel without selecting a curve !!!???
There is no need to change the scale vectors (default = 1), as you can define your velocities values directly at the curve.
Delete the loadcollector and all loads and try it again.
Your rigid body is also not correct defined (no mass) and you have him contrained in the direction of the velocity. You have defined more the on velocity at one node.
Regards,
Mario
PS: attach a simple example, it is a little bit time consuming (it's my free time here ;-) )
0 -
Hi Mario,
I would like to thank you for your detailed and patient reply. I will try your suggestions and return later today, maybe with some other questions ^-^
It is really hard for me to do this project since everything is new to me and there is also few knowledge gaps with mathematical background. I even questioned me why I should choose this one at the first place !_!
0 -
Hi Mario,
I just find a tricky thing (attachment). Do I need to select 'curve,vector' (red ellipse) option from the triangle menu next to the magnitude and leave the other two as 1 marked with black ellipse? Then I can choose the constant velocity function curve I defined previously.
With the yellow circle, I clicked and choose the entire impact plane (all the nodes on it), did i do the right thing?
And I dont understand your last sentence 'You have defined more the on velocity at one node'.
Regards,
Thomas
0 -
Hi,
if you enter the load panel as i have suggested before, than you are already in curve, vector... yes curve,vector. Magnitude and scale = 1. Select your defined curve....
Select your nodes by any method (e.g. by collector, by plane, by window or picking...)
Regards,
Mario
0 -
Hi Mario,
I released the x-directional constraint of the impact plane (attachment as reference), but I still get the same error message
*** Error 30022 (INI+22)too many prescribed nodal displacements forrigid body part ID 60111020 (this is the impact plane) limit=1.Nodal list:Node ID 60041611Node ID 60041652Node ID 60041651It doesnt make sense, I only applied every node in the plane with a constant velocity once, but why it tells me too many nodal displacement?
Another issue, when I export the solver deck, a dialog window pops out to ask me 'save invalid elements to user mark?' Does this have any relationship with the error message?
Regards,
Thomas
0 -
Hi,
i'm sorry...
for rigid bodys you need of course only one load, since more are redundant (because rigid body, all nodes are coupled).
Regards,
Mario
0 -
Hi Mario,
Thank you so much for your help, it is running now.
Just one more question, I got a warning message (I circled them in red ellipse) when I export the solver deck. Could you please explain a little bit about why this happens? The screenshot is in the attachment.
0 -
Hi,
i never have seen this warning. Looks like a to long numerical value or something like this.
Save the elements in user mark (at the dialog), clear the screen (switch all off) and goto Tools->Find->find entities->click on elements and select retrieve....
Then you have the failed elements on the screen... take a look
Regards
Mario
0 -
Hi,
i sometimes see this warning,
it's due to ID of some elements (or other entities) over 8 digits
you try renumber solver ID
0 -
Hi Mario and Tinh,
It is the numerical problem. I have renumbered all the elements, and I didnt have that warning message again.
But I have one question about the element numbering system, why the system doesnt do the numbering from one at the first place instead of starts from a big number which causes this problem?
Extra question about the calculation time. From the DOS window I can see two types of time called estimated CPU and clock time. Which one should be counted for the approximate calculation time and what the other stands for? How much difference between these two estimated time and real calculation time? Is there any technique to predict the calculation time?
Extra extra question about output. I can use the *rwforc to investigate the time/force curve. But if I want to investigate the force/displacement curve, which key word should I pick up in the *database_option or somewhere else?
Regards,
Thomas
0 -
Hi Thomas,
in a new clean deck, Hypermesh still starting at number one and go on at this number. If you are creating and deleting entities, this numbers are still free but Hypermesh continue to count at the maximum number. Often you import stuff, there can be very high numbers e.g.
CPU time is the pure calculation time at a cpu, clock time is the wall clock time: CPU time, I/O time, and the communication channel delay
To estimate the calculation time, the best way is to wait 10 min. and send a sw2 switch....
In Windows / DOS i have a line in my batch file like this: echo echo sw2. ^> d3kil > d3kil_sw2.bat
You can call d3kil_sw2.bat at any time to get informations.
Time / displacement curves you have to create by yourself. E.g.:
-request contact forces by *DATABASE_RCFORC
-request the displacement at a considered node by *DATABASE_HISTORY_NODE
-create your curve by this to inputs (x->y value of displacement, y->y value of force)
Regards,
Mario
0 -
Hi Mario,
I don't quite understand the method you used to estimate the calculation time. It looks like a bit work with DOS system or code program.
Could you please explain more details if it is possible for you to do that without any offence of your confidential files or set ups?
Regards,
Thomas
0 -
Hi Thomas,
there is no other way to get a good estimation.
Execute this line in a command window, copy the batch file into the calculation directory and call it. It generates a d3kil command, which LSDyna detects and look for the switch (sw2).
You can also create the 'd3kil' (only 'sw2' is written into it) file manualy in the calculation directory.
You can read this in the LSDyna manual.
Regards,
Mario
0 -
Hi Mario,
I have run a simulation with MAT20 applied to a plane in a tube crashing event. I have constrainted y and z translational and x, y and z rotational dof in the MAT20 card editor for CON1 and CON2 respectively.
But result shows me there is displacement in the plane. (see the attachment, color changed stands for large deformation as reference by the bar chart on the left) As I understand, if the wall is rigid, there should not be any displacement in the impact plane (like a concrete wall), but it is not. Why?
0 -
Hello,
if i remember it is a rigid which is moving in x !? Then there are still displacements of course (x-direction).
Switch to Y or Z (instead of mag) and look at the displacements, they have to be zero.
Regards,
Mario
0 -
Hi Mario,
I did checked the y and z directions and also the mat20 to make sure the same parameters applied as the tube.
These two directions are zero. If the displacement is near zero in x direction, i still can accept. What I don't understand is as follows:
1, If the impact plane has a displacement which means the impact plane deforms instead of rigid, and this deformation will reduce the impact load in contact surface between the tube and plane. As a result, the result will not be accurate.
2, The impact plane has a displacement more than 100mm which you can see from the pic. Instead, the displacement on the tube is normal (I mean accurate). Why it act like this?
Regards,
Thomas
0 -
Hi,
i can't follow, what you mean.
The rigid (shell plane) can't deform with MAT20. So only a 'rigid' displacement in x is possible (if the bc's are correct, CMO=1, CON1=5, CON2=7). This displacememt is for all nodes the same.
If you don't want a displacement, then you have to set both CON to 7, but then no movement is possible and you have to move the tube against the wall.
If the tube have bc's at the end (e.g. all dofs), then the tube deforms. It is simple...
Regards,
Mario
0 -
Hi Mario,
I think I have mixed up the displacement and deformation. ^-^
0