-
-
September 1, 2023 at 8:45 pm
yingtao
SubscriberHello, 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?Â
Â
-
September 1, 2023 at 9:22 pm
Reno Genest
Ansys EmployeeHello 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.
-
September 1, 2023 at 9:31 pm
yingtao
SubscriberHi 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.
-
-
September 1, 2023 at 9:42 pm
Reno Genest
Ansys Employee-
September 1, 2023 at 9:54 pm
-
-
September 1, 2023 at 10:52 pm
Reno Genest
Ansys EmployeeHello 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.
-
September 1, 2023 at 10:52 pm
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
-
- The topic ‘How to apply Displacement-Velocity to model through *Boundary’ is closed to new replies.
-
3492
-
1057
-
1051
-
965
-
942
© 2025 Copyright ANSYS, Inc. All rights reserved.