EOS_TABULATED_COMPACTION

534 views
Skip to first unread message

Michał Kucewicz

unread,
Jan 9, 2021, 10:23:08 AM1/9/21
to LS-DYNA2
Dear friends, 

I am writing about EOS_TABULATED_COMPACTION and its usage with KCC concrete model (MAT_72_REL_3). I wanted to define pressure and unloading bulk modulus with DEFINE_CURVE to use more than 10 points. It is possible since LS Dyna R10.0 (I am using R11 and R12)I followed the instructions from user manual, and, unfortunatelly this method does not work.


Here are my input parameters:
*EOS_TABULATED_COMPACTION
$#   eosid      gama        e0        vo       lcc       lct       lck      lcid
       154       0.0       0.0       1.0       102       101       103       110
rest values are ZERO

*DEFINE_CURVE_TITLE
P
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       102         0       1.0       1.0       0.0       0.0         0         0
$#                a1                  o1  
              -0.051            302.4132
              -0.048            272.8781
              -0.045            244.8114
              -0.042            218.2128
              -0.039            193.0826
              -0.036            169.4205
              -0.033            147.2268
               -0.03            126.5013
              -0.027             107.244
              -0.024            89.45499
              -0.021            73.13423
              -0.018            58.28173
              -0.015            44.89747
              -0.012            32.98148
              -0.009            22.53373
              -0.006            13.55423
              -0.003             6.04299
                 0.0                 0.0

*DEFINE_CURVE_TITLE
K
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       103         0       1.0       1.0       0.0       0.0         0         0
$#                a1                  o1  
              -0.051             9845.01
              -0.048            9355.593
              -0.045            8866.175
              -0.042            8376.758
              -0.039             7887.34
              -0.036            7397.922
              -0.033            6908.505
               -0.03            6419.087
              -0.027             5929.67
              -0.024            5440.252
              -0.021            4950.835
              -0.018            4461.417
              -0.015              3972.0
              -0.012            3482.583
              -0.009            2993.165
              -0.006            2503.747
              -0.003             2014.33
                 0.0             2014.33



Data from d3hsp:
It seems that parameters are zero, however the solver know, that curves are defined.


 Equation-of-State Form  8 (Tabulated Compaction)                        


     curve ID for C ................... =         102
     curve ID for T ................... =         101
     curve ID for B ................... =         103
     volumetric strain ................ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     volumetric strain ................ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     pressure with e=0 ................ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     pressure with e=0 ................ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     multiplier of gamma*e ............ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     multiplier of gamma*e ............ =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     unloading bulk modulus ........... =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     unloading bulk modulus ........... =   0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00    0.0000E+00
     gamma ............................ = 0.00000E+00
     e0 ............................... = 0.00000E+00
     initial relative volume .......... = 1.00000E+00
     load curve for energy generation . =         110


Do you have any idea how to properly use such EOS with curve definition? 

Best regards

l...@schwer.net

unread,
Jan 9, 2021, 12:04:42 PM1/9/21
to Michał Kucewicz, LS-DYNA2

I was not aware of this EOS8 change. I searched all the R10 release notes and could not find a mention of the parameters: LCC LCT LCK LCID. That said, these parameters appear in the current User Manual Volume II description of *EOS_TABULATED_COMPACTION.

 

I see no indication in the current User Manual Volume II of how to tell LS-DYNA you want to use DEFINE_CURVES rather than the direct input of ten values of volume strain, pressure, temperature and bulk unloading modulus, i.e. Parameter Card Pairs.

 

In your input, did you include blank lines for the Parameter Card Pairs? If so, try omitting these blanks lines and see if the DEFINE_CURVES are used as you intended.

 

                --len

--
You received this message because you are subscribed to the Google Groups "LS-DYNA2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ls-dyna2+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ls-dyna2/761f6633-9d11-4820-a4b5-65c52d545578n%40googlegroups.com.

James M. Kennedy

unread,
Jan 9, 2021, 12:28:44 PM1/9/21
to Michał Kucewicz, LS-DYNA2

Dear Michal,

 

You stated-

Data from d3hsp:

It seems that parameters are zero, however the solver know, that curves are defined.

 

Please check further in d3hsp file for load curves 101, 102, 102, and 110.  

 

Usually in d3hsp, load curves are echoed as shown in the following example:

 

l o a d   c u r v e s 

 

     number of load curves  =           1

 

     load function id number= 2

     number of time points  = 7

     discretization inc.    = 100

     initialization flag    = 0

        eq. 0 analysis only

        eq. 1 initialization only

        eq. 2 both

 

     input format           =    2e20.0

     abscissa scale factor  =    0.1000E+01

     ordinate scale factor  =    0.1000E+01

     abscissa offset value  =    0.0000E+00

     ordinate offset value  =    0.0000E+00

     table definition       = 0

        eq.-2 4d table          

        eq.-1 3d table          

        eq. 0 curve             

        eq. 1 table             

        eq. 2 general X-Y data  

        eq. 3 function          

        eq. 4 3858  interpolation

        eq. 5 4534a interpolation

        eq. 6 general R-S data  

 

      abscissa     ordinate

     0.0000       0.0000000E+00

    5.00000E-02   1.9100000E+00

    0.20000       1.9100000E+00

    0.40000       1.9100000E+00

    0.65000       2.5000000E+00

    0.80000       6.0000000E+00

    0.85000       3.5000000E+01

 

Sincerely,

James M. Kennedy

KBS2 Inc.

January 9, 2021

 

From: ls-d...@googlegroups.com [mailto:ls-d...@googlegroups.com] On Behalf Of Michal Kucewicz
Sent: Saturday, January 09, 2021 9:23 AM
To: LS-DYNA2 <ls-d...@googlegroups.com>
Subject: [LS-DYNA2] EOS_TABULATED_COMPACTION

 

Dear friends, 

--

Michał Kucewicz

unread,
Jan 9, 2021, 1:47:46 PM1/9/21
to LS-DYNA2
First answer:

Dear Len, thanks for your response, 

I tried different methods to define those curves:
- setting all LCC, LCT and LCK by intiger number as a positive and negative values.
- same as above comment, but with and without blank lines in "Pairs Tab" - without those lines solver did not start the simulation and error termination occured. With all pair tabs set to "0" simulation started, but all eos constants were "zero" and the elements were deleted due to zero stiffness at the beggining of simulation and time step dt was about 4000 s. (I am absolutely sure that parameters defined in KCC are proper because I used them in many simulations)
- I also checked all above comments with the pairs of Ni, P, T and K  defined as 0 and defined by 10 values which were the same as in curves I want to apply (just to verify if it read a values applied in a classic way) - in both cases in d3hsp the output for KCC rel 3 EOS definition was the same as this described above, where all values were equal to zero. It seems, that when typing boxes for curves are filled, the values below the first line are not considered by the solver, however, whet those lines are deleted from input file, simulation starts with error message.
- Another try was related to the different typing of abicassa for all  defined curves. User manual II says that it must be "negative of the volumetric strain in monotonically increasing
order", which is opposite to the regime for typing the pairs of parameters in lines 2-9 in EOS_TABULATED_COMPACTION. Therefore I tried to use the curves which were in decreasing order, as in clasic input for this EOS, but with no improvement.
- I also tried setting the LCID to "0" and the effect was the same. Then I used the curve with ID 110 shown below:

My LCID is defined as:
*DEFINE_CURVE
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       110         0       1.0       1.0       0.0       0.0         0         0
$#                a1                  o1  
                 0.0                 1.0
    1.1111111000e+07                 1.0

Is it right? I am not fully understand the physical meaning of this parameter called "energy deposition rate as a function of time". Can you recommend a value which i should use for this curve? May it be the reason of error? 

Answer 2:
Dear James, thank you for your response.

Yes, the curve is properly loaded by the solver:

This is the information from d3hsp:

     load function id number= 101
     number of time points  = 18
     discretization inc.    = 100
     initialization flag    = 0
        eq. 0 analysis only
        eq. 1 initialization only
        eq. 2 both

     input format           =    2e20.0
     abscissa scale factor  =    0.1000E+01
     ordinate scale factor  =    0.1000E+01
     abscissa offset value  =    0.0000E+00
     ordinate offset value  =    0.0000E+00
     table definition       = 0
        eq.-2 4d table           
        eq.-1 3d table           
        eq. 0 curve              
        eq. 1 table              
        eq. 2 general X-Y data   
        eq. 3 function           
        eq. 4 3858  interpolation
        eq. 5 4534a interpolation
        eq. 6 general R-S data   

      abscissa     ordinate
   -5.10000E-02   0.0000000E+00
   -4.80000E-02   0.0000000E+00
   -4.50000E-02   0.0000000E+00
   -4.20000E-02   0.0000000E+00
   -3.90000E-02   0.0000000E+00
   -3.60000E-02   0.0000000E+00
   -3.30000E-02   0.0000000E+00
   -3.00000E-02   0.0000000E+00
   -2.70000E-02   0.0000000E+00
   -2.40000E-02   0.0000000E+00
   -2.10000E-02   0.0000000E+00
   -1.80000E-02   0.0000000E+00
   -1.50000E-02   0.0000000E+00
   -1.20000E-02   0.0000000E+00
   -9.00000E-03   0.0000000E+00
   -6.00000E-03   0.0000000E+00
   -3.00000E-03   0.0000000E+00
     0.0000       0.0000000E+00

     load function id number= 102
     number of time points  = 18
     discretization inc.    = 100
     initialization flag    = 0
        eq. 0 analysis only
        eq. 1 initialization only
        eq. 2 both

     input format           =    2e20.0
     abscissa scale factor  =    0.1000E+01
     ordinate scale factor  =    0.1000E+01
     abscissa offset value  =    0.0000E+00
     ordinate offset value  =    0.0000E+00
     table definition       = 0
        eq.-2 4d table           
        eq.-1 3d table           
        eq. 0 curve              
        eq. 1 table              
        eq. 2 general X-Y data   
        eq. 3 function           
        eq. 4 3858  interpolation
        eq. 5 4534a interpolation
        eq. 6 general R-S data   

      abscissa     ordinate
   -5.10000E-02   3.0241320E+02
   -4.80000E-02   2.7287810E+02
   -4.50000E-02   2.4481140E+02
   -4.20000E-02   2.1821280E+02
   -3.90000E-02   1.9308260E+02
   -3.60000E-02   1.6942050E+02
   -3.30000E-02   1.4722680E+02
   -3.00000E-02   1.2650130E+02
   -2.70000E-02   1.0724400E+02
   -2.40000E-02   8.9454990E+01
   -2.10000E-02   7.3134230E+01
   -1.80000E-02   5.8281730E+01
   -1.50000E-02   4.4897470E+01
   -1.20000E-02   3.2981480E+01
   -9.00000E-03   2.2533730E+01
   -6.00000E-03   1.3554230E+01
   -3.00000E-03   6.0429900E+00
     0.0000       0.0000000E+00

Best regards
Michał Kucewicz

l...@schwer.net

unread,
Jan 9, 2021, 2:25:13 PM1/9/21
to Michał Kucewicz, LS-DYNA2

Hello Michal –

 

Thanks for all the background and effort you have put into trying to decode how this material input is intended to be structured.

This User Manual description needs some work to make it clear what is intended.

 

 

I have never used the DEFINE_CURVE options and would guess the “energy deposition rate” applies to a combined mechanical- thermal solution – not typical in MAT072R23 applications.

 

I always leave the “Parameter Card Pairs” for temperature values set to zero, and use a constant bulk unloading modulus. Thus I only define volume strain and pressure as variable.

 

Does your model work with only the “Parameter Card Pairs,” i.e. leaving: LCC LCT LCK LCID blank?

It also bothers me that there is no indicated default values for these DEFINE_CURVE parameters, but hopefully they can be left blank and LS-DYNA will ignore the curves.

 

NOTE: LCT is to provide bulk modulus while “Parameter Card Pairs” provides bulk UNLOADING modulus.

 

 

I think you are going to need to seek help from support.

 

                --len

LS-DYNA2

unread,
Jan 11, 2021, 11:41:36 AM1/11/21
to LS-DYNA2
Hello all,

I had this same problem recently and had to resolve it with LST support. The manual is very unclear about this, but I believe you need to reverse the sign convention on volumetric strain. It should be positive in compression (opposite the convention when using the ten points in the material data card). The points still need to be ordered to be monotonically increasing: for your curve 102, start from (0.0, 0.0) and ascend to (0.051, 302.4).

Please let me know if this resolves the issue. If not I can dig a little deeper into how I got this load curve option to work.

Ben Giddens
Protection Engineering Consultants

Michał Kucewicz

unread,
Jan 12, 2021, 6:40:45 AM1/12/21
to LS-DYNA2
Dear Len, 

I agree, user manual should provide more clear information about application of EOS using basic piecewise curves characterising the material.

Now in simulations I do not define "Energy Deposition Rate" curve to prevent possible instabilities. I also thank you for your advice related to constant unloading bulk modulus. I made some cyclic tests and measured an unloading bulk modulus for several pressures and found that they increase with the pressure, thus, i applied measured into EOS. However, I tried it with constant value to check if it works (unfortunatelly not). I confirm, that my model works correctly with pressures, volumetric strains and unloading bulk modulus defined with 10 pair cards. 

Dear Ben,

Thank you for your respoinse, 
After your advice i tried four combinations:
- Curves with volumetric strain in increasing order defined by positive values (from 0.0 to 0.051)
- Curves with volumetric strain in decreasing order defined by positive values (from 0.051 to 0.0)  
- Curves with volumetric strain in increasing order defined by negative values (from 0.0 to -0.051)
- Curves with volumetric strain in decreasing order defined by negative values (from -0.051 to 0.0)  

Unfortunatelly, any of those definition did not worked for me. I will be very grateful for your help and for your efforts to find out what solution worked for you.

Best regards, 

Michał Kucewicz

l...@schwer.net

unread,
Jan 12, 2021, 11:33:57 AM1/12/21
to LS-DYNA2

Thanks Ben for the additional insight.

 

This reinforces my opinion that the User Manual description of this keyword needs a lot of work.

                                --len

LS-DYNA2

unread,
Jan 12, 2021, 1:13:17 PM1/12/21
to LS-DYNA2
I used the model quoted below to debug my implementation of EOS_008, and it looks like I was able to get yours working as well using the sign convention I mentioned. This model has just two elements which are constrained to undergo a few cycles of compression and decompression. One element uses curves specified within the material card while the other uses separately defined load curves. The pressure profile in the two elements is identical. 

I only implemented the first ten points of your curves so that I could have identical behavior in both models. You should be able to expand from here.

I hope this works for you.

Ben Giddens
Protection Engineering Consultants

P.S. I assumed your pressure units were MPa and converted them to SI to match my model.

*KEYWORD
*CONTROL_OUTPUT
$#   npopt    neecho    nrefup    iaccop     opifs    ipnint    ikedit    iflush
         0         0         0         0       0.0         0         0         0
$#   iprtf    ierode   tet10s8    msgmax    ipcurv      gmdt   ip1dblt      eocs
         0         1         2         0         1       0.0         0         0
$#   tolev    newleg    frfreq     minfo    solsig    msgflg    cdetol      
         2         0         1         0         0         0      10.0
$# phschng    demden   icrfile   spc2bnd    penout    shlsig   hisnout    engout
         0         0         0         0         0         0         0         0
$#    insf    isolsf      ibsf      issf    mlkbag      
         0         0         0         0         0
*CONTROL_TERMINATION
$#  endtim    endcyc     dtmin    endeng    endmas     nosol     
       1.0      1000
*CONTROL_TIMESTEP
$#  dtinit    tssfac      isdo    tslimt     dt2ms      lctm     erode     ms1st

$#  dt2msf   dt2mslc     imscl    unused    unused     rmscl    unused      ihdo

*DATABASE_BINARY_D3PLOT
$#      dt      lcdt      beam     npltc    psetid      
      1e-9
$#   ioopt      rate    cutoff    window      type      pset    
         0       0.0       0.0       0.0         0         0
*PART
$#                                                                         title

$#     pid     secid       mid     eosid      hgid      grav    adpopt      tmid
         1         1         1         1         0         0         0         0
*PART
$#                                                                         title

$#     pid     secid       mid     eosid      hgid      grav    adpopt      tmid
         2         1         1         2         0         0         0         0
*SECTION_SHELL
$#   secid    elform      
         1        13
     0.005     0.005
$-------------------------------------------------------------------------------
$ [kg-m-s-Pa]
$ Note: model is developed for gauge pressures
$------------------------------------------------------------------------------- 
*MAT_NULL
$#     mid        ro
         1    1910.0
*EOS_TABULATED_COMPACTION
$#   eosid      gama        e0        vo       lcc       lct       lck      lcid
         1       0.0       0.0       1.0
$#           ev1             ev2             ev3             ev4             ev5
           0.000          -0.003          -0.006          -0.009          -0.012
$#           ev6             ev7             ev8             ev9            ev10
          -0.015          -0.018          -0.021          -0.024          -0.027
$#            c1              c2              c3              c4              c5
    0.000000e+06    6.042990e+06    1.355423e+07    2.253373e+07    3.298148e+07
$#            c6              c7              c8              c9             c10
    4.489747e+07    5.828173e+07    7.313423e+07    8.945499e+07    1.072440e+08
$#            t1              t2              t3              t4              t5
             0.0             0.0             0.0             0.0             0.0
$#            t6              t7              t8              t9             t10
             0.0             0.0             0.0             0.0             0.0
$#            k1              k2              k3              k4              k5
    2.014330e+09    2.014330e+09    2.503747e+09    2.993165e+09    3.482583e+09
$#            k6              k7              k8              k9             k10
    3.972000e+09    4.461417e+09    4.950835e+09    5.440252e+09    5.929670e+09
*EOS_TABULATED_COMPACTION
$#   eosid      gama        e0        vo       lcc       lct       lck      lcid
         2       0.0       0.0       1.0       200       201       202
$#           ev1             ev2             ev3             ev4             ev5

$#           ev6             ev7             ev8             ev9            ev10

$#            c1              c2              c3              c4              c5

$#            c6              c7              c8              c9             c10

$#            t1              t2              t3              t4              t5

$#            t6              t7              t8              t9             t10

$#            k1              k2              k3              k4              k5

$#            k6              k7              k8              k9             k10

*DEFINE_CURVE
$ C function, pressure vs log volumetric strain
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       200                 1.0   1.0e+06       0.0       0.0
$#                 a                   o
               0.000        0.000000e+00
               0.003        6.042990e+00
               0.006        1.355423e+01
               0.009        2.253373e+01
               0.012        3.298148e+01
               0.015        4.489747e+01
               0.018        5.828173e+01
               0.021        7.313423e+01
               0.024        8.945499e+01
               0.027        1.072440e+02
*DEFINE_CURVE
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       201                 1.0       1.0       0.0       0.0
$#                 a                   o
                -1.0                 0.0
                 1.0                 0.0
*DEFINE_CURVE
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
       202                 1.0   1.0e+06       0.0       0.0
$#                 a                   o
               0.000        2.014330e+03
               0.003        2.014330e+03
               0.006        2.503747e+03
               0.009        2.993165e+03
               0.012        3.482583e+03
               0.015        3.972000e+03
               0.018        4.461417e+03
               0.021        4.950835e+03
               0.024        5.440252e+03
               0.027        5.929670e+03
*BOUNDARY_PRESCRIBED_MOTION_NODE
         3         2         0         1
         4         2         0         1
         7         2         0         1
         8         2         0         1
*DEFINE_CURVE
$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
         1         0       1.0  -1.0e-01       0.0       0.0         0         0
$#                a1                  o1  
-1.0000000e+20,1.0
0.000200000000,1.0
0.000200000001,-1.0
0.000300000000,-1.0
0.000300000001,1.0
0.000500000000,1.0
0.000500000001,-1.0
0.000600000000,-1.0
0.000600000001,1.0
0.000800000000,1.0
0.000800000001,-1.0
0.000900000000,-1.0
0.000900000001,1.0
1.00000000e+20,1.0
*ELEMENT_SHELL
$#   eid     pid      n1      n2      n3      n4      n5      n6      n7      n8
       1       1       1       2       3       4 
       2       2       5       6       7       8 
*NODE
$#   nid               x               y               z      tc      rc  
       1             0.0             0.0             0.0       7       0
       2           0.005             0.0             0.0       7       0
       3           0.005           0.005             0.0       6       0
       4             0.0           0.005             0.0       6       0
       5            0.01             0.0             0.0       7       0
       6           0.015             0.0             0.0       7       0
       7           0.015           0.005             0.0       6       0
       8            0.01           0.005             0.0       6       0
*END

Michał Kucewicz

unread,
Jan 14, 2021, 1:08:39 PM1/14/21
to LS-DYNA2
Sorry for delay in replying.
Thank you very much for your keyword! I verified it and it is working well. I will try to use your *.k file with KCC material instead on Null Material model and will respond here some feedback about it. I will also add some extra points in pressure and bulk modulus curves.

Best regards, 
Michał Kucewicz
Reply all
Reply to author
Forward
0 new messages