LS Dyna

LS Dyna

Topics relate to LS-DYNA, Autodyn, Explicit STR and more

How to apply Displacement-Velocity to model through *Boundary

    • Ying Tao
      Subscriber

      Hello, I have a Displacement-Velocity curve need to load into the model, I defined *Boundary_Prescribed_Motion_Rigid_Local, local coordinate and VID, added *initial_velocity_generation, *Boundary_SPC need to be added, otherwise the motion can not be in one direction and isn't correct, but still I can not get the correct motion.  I tried to modify the  input curve to start from 0, still it doesn't work. Can you give some advice about this? 

       

    • Reno Genest
      Ansys Employee

      Hello Ying,

      The DOF parameter is set to 1 on your *BOUNDARY_PRESCRIBED_MOTION_RIGID_LOCAL card and so the motion is in the X direction. You don't need VID in this case.

      What is the problem exactly? What do you mean by "I can not get the correct motion"?

       

      Reno.

      • Ying Tao
        Subscriber

        Hi Reno,

        The pulse is applied in Y direction so I used DOF 1 and VID (VID X= global Y). But I tried global coordinate in Y direction the result is same. Yes, my problem is I can't get the correct motion, the velocity and displacement output of rigid body don't match with the input.

    • Reno Genest
      Ansys Employee

      Hello Ying,

      Which version of LS-DYNA are you using? Can you post a screenshot of the LS-DYNA banner (top of the d3hsp file) as below?

       

      Reno.

      • Ying Tao
        Subscriber

        Hi Reno,

        I use R12.0.0.

        Below is the screenshot.

         

         

    • Reno Genest
      Ansys Employee

      Hello Ying,

      I just  created a test model with 1 rigid element and the motion makes sense. The units are ton, mm, s, N, MPa. At time 0, the velocity of the 1 element rigid cube is 1000 mm/s using an *INITIAL_VELOCITY_RIGID. Then, the velocity vs displacement  curve is as follows:

       

      Note that it is good practice to extend the curve beyond the point we want to go.

      In this case, the relationship between velocity and displacement is linear and as follows:

      v = -20*d + 1000

       

      When I look at the results, the velocity at each displacement makes sense. For example when the displacement in X is 16.4706 mm, the velocity in LSPP is 670.586 mm/s which is close to the value calculated with the equation above (670.588 mm/s). I checked many displacement and velocities for the rigid cube and then always match.

       

      I ran on Windows with R12.0.0 MPP double precision with Intel MPI.

      I will post the model in the next post. Let me know if it works on your side or not.

       

      Reno.

    • Reno Genest
      Ansys Employee

      $# LS-DYNA Keyword file created by LS-PrePost(R) V4.10.4-22May2023
      $# Created on Sep-1-2023 (15:33:04)
      *KEYWORD
      *TITLE
      $#                                                                         title
      LS-DYNA keyword deck by LS-PrePost
      *PARAMETER_DUPLICATION
      $#   dflag
               4
      *CONTROL_ACCURACY
      $      osu       inn    pidosu                                            unused
      $#     osu       inn    pidosu      iacc     exacc
               0         1         0         0       0.0
      *CONTROL_BULK_VISCOSITY
      $       q1        q2      type                                            unused
      $#      q1        q2      type     btype    tstype
             1.5      0.06        -2         0         0
      *CONTROL_CONTACT
      $   slsfac    rwnpal    islchk    shlthk    penopt    thkchg     orien    enmass
      $#  slsfac    rwpnal    islchk    shlthk    penopt    thkchg     orien    enmass
             0.0       0.0         1         1         1         0         2         0
      $   usrstr   usrfric     nsbcs    interm     xpene     ssthk      ecdt   tiedprj
      $#  usrstr    usrfrc     nsbcs    interm     xpene     ssthk      ecdt   tiedprj
               0         0         0         0       0.0         0         0         0
      $    sfric     dfric       edc       vfc        th     th_sf    pen_sf    unused
      $#   sfric     dfric       edc       vfc        th     th_sf    pen_sf     ptscl
             0.0       0.0       0.0       0.0       0.0       0.0       0.0       1.0
      $   ignore    frceng   skiprwg    outseg   spotstp   spotdel   spothin   unused1
      $#  ignore    frceng   skiprwg    outseg   spotstp   spotdel   spothin
               2         1         0         1         0         1       0.5
      $     isym    nserod    rwgaps    rwgdth     rwksf      icov    swradf    ithoff
      $#    isym    nserod    rwgaps    rwgdth     rwksf      icov    swradf    ithoff
               0         0         1       0.0       0.0         0       0.0         0
      $   shledg    pstiff    ithcnt    tdcnof     ftall                       unused2
      $#  shledg    pstiff    ithcnt    tdcnof     ftall    unused    shltrw    igactc
               1         0         0         0         1                 0.0         0
      *CONTROL_ENERGY
      $     hgen      rwen    slnten     rylen                                  unused
      $#    hgen      rwen    slnten     rylen     irgen     maten     drlen     disen
               2         2         2         2         2         1         1         1
      *CONTROL_HOURGLASS
      $      ihq        qh                                                     unused1
      $#     ihq        qh
               5       0.1
      *CONTROL_OUTPUT
      $    npopt    neecho    nrefup    iaccop     opifs    ipnint    ikedit    iflush
      $#   npopt    neecho    nrefup    iaccop     opifs    ipnint    ikedit    iflush
               1         0         0         0       0.0         0         0         0
      $    iprtf    ierode     tet10    msgmax    ipcurv                        unused
      $#   iprtf    ierode   tet10s8    msgmax    ipcurv      gmdt   ip1dblt      eocs
               0         0         2         0         0       0.0         0         0
      *CONTROL_PARALLEL
      $     ncpu    numrhs    consti      para                                  unused
      $#    ncpu    numrhs     const      para
               0         0         1         0
      *CONTROL_SHELL
      $   wrpang     esort     irnxx    istupd    theory       bwc     miter      proj
      $#  wrpang     esort     irnxx    istupd    theory       bwc     miter      proj
            20.0         1        -1         4         2         1         1         1
      $  rotascl    intgrd    lamsht    cstyp6    tshell    nfail1    nfail4   psnfail
      $# rotascl    intgrd    lamsht    cstyp6    thshel
             0.0         0         0         0         0
      $   pstupd    irquad     cntco                                            unused
      $# psstupd   sidt4tu     cntco    itsflg    irquad    w-mode   stretch      icrq
               0         0         2         0         3       0.0       0.0         0
      *CONTROL_SOLID
      $    esort    fmatrx   niptets    swlocl                                  unused
      $#   esort   fmatrix   niptets    swlocl    psfail   t10jtol      icoh    tet13k
               1         0         0         1         0       0.0         0         0
      $    pm1     pm2     pm3     pm4     pm5     pm6     pm7     pm8     pm9    pm10
      $#   pm1     pm2     pm3     pm4     pm5     pm6     pm7     pm8     pm9    pm10
             0       0       0       0       0       0       0       0       0       0
      *CONTROL_SOLUTION
      $     soln       nlq     isnan     lcint                                  unused
      $#    soln       nlq     isnan     lcint     lcacc     ncdcf     nocop
               0         0         0         0         0         1         0
      *CONTROL_TERMINATION
      $#  endtim    endcyc     dtmin    endeng    endmas     nosol
             1.0  10000000     0.001       0.0  100000.0         0
      *CONTROL_TIMESTEP
      $   dtinit    tssfac      isdo    tslimt     dt2ms      lctm     erode     ms1st
      $#  dtinit    tssfac      isdo    tslimt     dt2ms      lctm     erode     ms1st
             0.0       0.9         0       0.0       0.0         1         1         0
      *DATABASE_BNDOUT
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt   option1   option2   option3   option4
      1.00000E-6         3         0         1         0         0         0         0
      *DATABASE_DEFORC
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_ELOUT
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt   option1   option2   option3   option4
      1.00000E-6         3         0         1         0         0         0         0
      *DATABASE_GLSTAT
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_JNTFORC
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_MATSUM
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_NCFORC
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_NODOUT
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt   option1   option2
      1.00000E-6         3         0         1       0.0         0
      *DATABASE_RCFORC
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_SPCFORC
      $       dt    binary      lcur     ioopt     dthff     binhf             unused1
      $#      dt    binary      lcur     ioopt
      1.00000E-6         3         0         1
      *DATABASE_BINARY_D3PLOT
      $       dt      lcdt      beam     npltc    psetid                       unused1
      $#      dt      lcdt      beam     npltc    psetid
           0.001         0         0         0         0
      $#   ioopt      rate    cutoff    window      type      pset
               0       0.0       0.0       0.0         0         0
      *DATABASE_BINARY_D3PROP
      $    ifile     imatl     iwall                                           unused2
      $#   ifile     imatl     iwall
               2         1         0
      *DATABASE_EXTENT_BINARY
      $    neiph     neips    maxint    strflg    sigflg    epsflg    rltflg    engflg
      $#   neiph     neips    maxint    strflg    sigflg    epsflg    rltflg    engflg
               0         0         0        10         1         1         1         1
      $   cmpflg    ieverp    beamip     dcomp      shge     stssz    n3thdt   ialemat
      $#  cmpflg    ieverp    beamip     dcomp      shge     stssz    n3thdt   ialemat
               0         0         0         1         1         1         2         0
      $  nintsld   pkp_sen      sclp     hydro     msscl     therm    intout    nodout
      $# nintsld   pkp_sen      sclp     hydro     msscl     therm    intout    nodout
               0         0       0.0         0         2         0                    
      *DATABASE_FORMAT
      $    iform   ibinary                                                      unused
      $#   iform   ibinary
               0         0
      *BOUNDARY_PRESCRIBED_MOTION_RIGID
      $      sid       dof       vad      lcid        sf       vid     death     birth
      $#     pid       dof       vad      lcid        sf       vid     death     birth
               1         1         3         2       1.0         0       0.0       0.0
      *MAT_RIGID
      $       ID        ro         E        pr         n    couple         m     alias
      $#     mid        ro         e        pr         n    couple         m     alias
               17.85000E-9  200000.0       0.3       0.0       0.0       0.00
      $      cmo      con1      con2                                           unused1
      $#     cmo      con1      con2
             1.0         5         7
      $      lco        A2        A3        V1        V2        V3             unused2
      $#lco or a1        a2        a3        v1        v2        v3
             0.0       0.0       0.0       0.0       0.0       0.0
      *PART
      $                                                             partname   unused1
      $#                                                                         title
      SYS\Solid
      $       ID     secid       mid     eosid      hgid      grav     adopt      tmid
      $#     pid     secid       mid     eosid      hgid      grav    adpopt      tmid
               1         1         1         0         0         0         0         0
      *SECTION_SOLID
      $       ID    elform       aet                                           unused1
      $#   secid    elform       aet    unused    unused    unused    cohoff   gaskeit
               1         1         0                                     0.0       0.0
      *INITIAL_VELOCITY_RIGID_BODY
      $#     pid        vx        vy        vz       vxr       vyr       vzr      icid
               1    1000.0       0.0       0.0       0.0       0.0       0.0         0
      *DEFINE_COORDINATE_SYSTEM
      $       ID        xO        yO        zO        xL        yL        zL   unused1
      $#     cid        xo        yo        zo        xl        yl        zl      cidl
              23       0.0       0.0       0.0       1.0       0.0       0.0         0
      $       xP        yP        zP                                           unused2
      $#      xp        yp        zp
             0.0       1.0       0.0
      *DEFINE_CURVE_TITLE
      time step
      $#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
               1         0       1.0       1.0       0.0       0.0         0         0
      $#                a1                  o1
                       0.0    9.9999997474e-05
                     100.0    9.9999997474e-05
      *DEFINE_CURVE
      $#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint
               2         0       0.0       0.0       0.0       0.0         0         0
      $#                a1                  o1
                       0.0              1000.0
                      10.0               800.0
                      20.0               600.0
                      30.0               400.0
                      40.0               200.0
                      50.0                 0.0
                   10000.0                 0.0
      *ELEMENT_SOLID (ten nodes format)
      $#   eid     pid
             1       1
      $#    n1      n2      n3      n4      n5      n6      n7      n8      n9     n10
             1       3       4       2       7       5       6       8       0       0
      *NODE
      $#   nid               x               y               z      tc      rc
             1           100.0          -100.0           100.0       0       0
             2             0.0          -100.0           100.0       0       0
             3           100.0          -100.0             0.0       0       0
             4             0.0          -100.0             0.0       0       0
             5           100.0             0.0             0.0       0       0
             6             0.0             0.0             0.0       0       0
             7           100.0             0.0           100.0       0       0
             8             0.0             0.0           100.0       0       0
      *END

Viewing 4 reply threads
  • You must be logged in to reply to this topic.