define curve for lsdyna mat24
Hi,
I am going to define a stress-strain curve in the plastic range for mat24 in order to investigate a crashing tube under plastic deformation. The lsdyna manual indicates the curve id and table id can be used interchangeable, and in the actual curve card, there is nothing I can put in except input values after clicking the define table option. But in the array, it requests 'curveld' (looks like curve id) which I donot understand what I should choose here. This is also something I am confused about how the curve and table actually works to define some discretized points to calculate the deformation in the plastic range.
Please give some ideas how to understand the table and the curve and how to use them.
Many thanks.
Answers
-
Hi Thomas,
In *DEFINE_TABLE, 'VALUE' is strain rate, and CURVERID is stress-strain curver at that strain rate, ID of *DEFINE_TABLE is entered in LCSS of mat24
now you understand? table is 'curve of curves'
Because hypermesh does not describe each keyword as an entity (total keywords of all solvers are huge) so 'curves' entity is now use to output both *DEFINE_TABLE and *DEFINE_CURVE
0 -
Hi,
in your case...
*DEFINE_TABLE defines a curve as 'strainrate vs curveid', this curve is called table (card editor -> hook at define table)
*DEFINE_CURVE defines a curve as 'true stress vs true strain', you need for every strainrate a seperate curve
A easy way to define this cards is to use Menu: Tools->Create Cards->*Define->*Define_Table or *Define_Curve
To change a table use card editor, to change a curve use curve editor
Regards,
Mario
0 -
Thank you for your help Tinh and Mario.
So if I allocate a curve ID in LCSS under mat24, the solver will only calculate based on this specific strain rate stress vs strain curve. While if I allocate a table ID, it will calculate each stress vs strain curve corresponding to its strain rate defined in the table.
Am I right?
0 -
Hi Thomas,
short version:
*if LCSS is a curveid, then MAT24 take it as stress / strain (true) and you can use C and P for strainrate effects
*if LCSS is a tableid, then MAT24 takes the stress /strain (true) curves defined in the table, corresponding to the strain rates in table, C and P are ignored, values between the strainrates get interpolated
long version:
LCSS:
Load curve ID or Table ID (optional; supersedes SIGY, ETAN, EPS1-8,
ES1-8). Load curve ID defining effective stress versus effective plastic
strain. If defined EPS1-EPS8 and ES1-ES8 are ignored. The table ID
defines for each strain rate value a load curve ID giving the stress versus
effective plastic strain for that rate, See Figure 24.1. The stress versus
effective plastic strain curve for the lowest value of strain rate is used if
the strain rate falls below the minimum value. Likewise, the stress
versus effective plastic strain curve for the highest value of strain
rate is used if the strain rate exceeds the maximum value. The strain rate
parameters: C and P; the curve ID, LCSR; EPS1-EPS8 and ES1-ES8 are
ignored if a Table ID is defined. NOTE: The strain rate values defined
in the table may be given as the natural logarithm of the strain rate. If
the first stress-strain curve in the table corresponds to a negative strain
rate, LS-DYNA assumes that the natural logarithm of the strain rate
value is used. Since the tables are internally discretized to equally space
the points, natural logarithms are necessary, for example, if the curves
correspond to rates from 10.e-04 to 10.e+04. Computing the natural
logarithm of the strain rate does slow the stress update down
significantly on some computers.Regards,
Mario
0 -
Thank you Mario for the detailed explanation.
So if I define 3 stress/strain curves, for example, corresponding to 3 strain rates in a table, mat24 will take all 3 curves for calculation? Is it right?
If it is the case, I should get three different simulation results corresponding to each strain rate. It means I should be able to investigate three cases in Hyperview.
Please correct me if I am wrong.
0 -
Hi Thomas,
you get one result, it depends from the local strain rate (is the rate of change in strain (deformation) of a material with respect to time).
That means your stress / strain behavior depends from the rate of change in strain.
Strain rate is a very local effect and it is also present for a very small global velocity. So you can't say you get three different simulation results.
In hyperview you get also only one result, but the stress / strain behavior on a local spot depends on strain rate.
Try a simple example with / without strain rate effects. Normally you get higher stresses for high strain rate and a significant higher stress / strain curve for this high strain rate.
Look at Figure 24.1. in LSDyna manual, to understand how the table works.
Regards,
Mario
0 -
Hi Mario,
Thank you for your detailed answer.
I only had a lecture one year ago about solid mechanic and mechanics of material for one semester. So I might not be able to have a deep understanding of material behaviors. While I can totally understand what you have just replied. Please forgive me to ask some more questions, might sounds stupid. /emoticons/default_sad.png' alt=':(' srcset='<fileStore.core_Emoticons>/emoticons/sad@2x.png 2x' width='20' height='20'>
Regarding the solver (please take attachment 'stress_strain' as reference), it interpolates three black curves with different strain rates into the red one, and mat24 takes the red curve for calculation. Is this correct? But if this is the case, these three black curves needs to be very close, might be less than 1% difference or even smaller or the curve shows the material has no sensitivity of strain rate.
Corresponding to the define curve window, (please see attachment 'define curve') I can put several x and y coordinates to generate a curve corresponding to a strain rate, but it only gives me a linear relationship. If this is because lsdyna only takes descritized data, how many points should I insert, is there any guidelines? One more point, this curve defines only the plastic range with the origin as '0, yield stress', and elastic range is defined with E. Is it correct?
0 -
Hi Thomas,
sorry, but you are not right.
I try to explain it on your first picture.
We can see three stress/strain curves and the major difference (except the values of stress strain) can be the strain rate.
Lets say we have got the curves from three tensile tests of same material and dimensions. Only the velocity of tensile is different, and so also the strain rate (e*, epsilon point, change of strain in time) is different. Lets say the three strain rates (e*) are 0.01 (quasi static), 10 and 50 [1/s]. Quasi static is the lowest curve (kinematic hardening effects).
Now you have three curves (curveid 1, 2 and 3) and now you can generate your table. Looks like this...
strain rate curveid
0.01 1
10.0 2
50.0 3
It is like your curve card for the table.
Now you have your MAT24, referencing to this curve card (with table).
If you running a calculation, LSDyna looks at every time step, which change of strain (strain rate) you have in the elements.
This strain rate depends on the local situation. E.g. if you have a folding effect, the local strain rate in a fold can be very high, although the global velocity isn't.
So you get a different strain rate for every element. LSDyna goes into the table and take a look for the corresponding stress / strain curve.
Values (strain rate) between 0.01 and 50 are interpolated. Now you get a stress / strain point for every element, and the values can be different at every element.
That means although you can have the same strain in the elements, the corresponding stress can be different, since the strain rate is different...
That means strain rate...
Regards,
Mario
PS: Sorry, is is not easy for me to explain all the things in english...
0 -
Hi Mario,
Thank you for your detailed explanation, it really helped to get a deeper understanding of how the solver is doing its job. And your English is excellent and more than sufficient to answer questions in every detail.
So, for example, in a test I get various strain rates like 5/s, 15/s, 25/s, 35/s, and the corresponding speed are 50mm/s,150mm/s, 250mm/s,350mm/s. These data obviously indicate the material is strain rate sensitive. But for the actual input to the table, I just need to put those strain rates in 'value' and give each a corresponding stress/strain curve. Then, the solver will take them for calculation. Since there is only one simulation result, the question is which test speed is the simulation result corresponding to?
And could you please also give an answer for the question I previously asked? I copy the previous question here for your convenient.
'Corresponding to the define curve window, (please see attachment 'define curve') I can put several x and y coordinates to generate a curve corresponding to a strain rate, but it only gives me a linear relationship. If this is because lsdyna only takes descritized data, how many points should I insert, is there any guidelines? One more point, this curve defines only the plastic range with the origin as '0, yield stress', and elastic range is defined with E. Is it correct?'
0 -
Hi Thomas,
to strain rate:
If your material is sensitive to strain rate, then you need this tests. Normally we generate 4 curves ( e.g. 0.01, 5, 125, 250 [1/s] for typical mild steel), but a good test institute can make suggestions.
You need also 'true' values, that means values relative to the true cross section (necking). The tests can be very expensive, and we spend a lot of money in material data.
In one simulation you have at every time a lot of different strain rates, don't confuse it with the global velocity. Look at a fold in case of instability, here you have a very high strain rate in the moment of buckle. That means in this elements with high strain rate (more or less local velocity) you have other material behavior as in other regions.
I try to say some words to the second question, but it is better to reinsure at LSTC or local support.
The curves are a load curves, you can see it in the description of LCSS (LCSS - Load curve ID or Table ID...).
Since LSDyna is a explicite code, it have to calculate with very small time steps, but a lot of them. So, speed, is all about !!!
I think load curves are simple linear curves, but it is more worser as you think :-)
The standard resolution of a load curve seems to be 100 points, independently how many points you have entered.
Take a look at the parameter LCINT at *CONTROL_SOLUTION (default = 100). So the first thing we do is to increase this parameter (e.g. 1001, for 1000 sections).
This is good enough in the most cases, but not every point at your original curve is a hit. For material curves it is not so relevant, but for force / displacement (e.g. discrete element) it can be. I think the reason is, that they want to use lookup tables. This tables can speed up the the process enormous.
How many points... good questions. It's by you, how exactly do you want to be. Sometimes a bilinear material law is good enough, sometimes you need it more detailed.
Yes, the curve defines only the plasic range, 0=yield stress and elasic part is taken from E.
Regards,
Mario
0 -
Thank you all for the detailed discussion.
Since the curve accept stress versus effective plastic strain as the input, how it is possible to consider the effect of strain rate on the elastic modulus? Does LS DYNA calculate the elastic modulus from the yield point as the first row of stress versus effective plastic curve? In this case, the Young's modulus should left blank in the card?
BR,
Shahab
0