We’re putting the final touches on our new badges platform. Badge issuance remains temporarily paused, but all completions are being recorded and will be fulfilled once the platform is live. Thank you for your patience.

Ansys Learning Forum Forums Discuss Simulation General Mechanical Need micromovement in X, Y and Z directions Reply To: Need micromovement in X, Y and Z directions

mjmiddle
Ansys Employee

CONTA174 has TASS and TASR for sliding in contact R and S directions. See the following command snippet. It's probably not the best way since I did an arithmetic average to get an element value. R and S directions can be different for every contact element:

! Turn on "Analysis Settings > Output Controls > Contact miscellaneous"
! "contact_results" should be a named selection containing "contact" faces not target faces.
! nonlinear contacts will only have contacting area where status is sliding or sticking
! sliding and sticking regions will also have nonzero contact pressure.
! This snippet gets values at nodes (might be averaged from element centroid). It then averages by just adding the 4 nodes and dividing by 4.
! The pletab then averages element values to nodes for contour display.  There is probably a better way than all this averaging.
! Maybe just put nodal values to a nodal result quantity: *VPUT, then use a User Defined Result to plot that result quantity
! You could alternatively just plot a user defined result in Mechanical, such as CONTNMISC17 to get R direction sliding on only I nodes (no averaging for connected elements).

/post1
cmsel,s,contact_results               ! contact_results should be a named selection containing contact faces (1 side)
esln,s,1,active                       ! contact elements will not be in a component so select attached elements
set,last
etable,sta,cont,stat                  ! It also gets inactive contact side from the symmetric contacts, so get status
esel,u,etab,sta,0,0                   ! remove elements with contact status = 0, which is for inactive and far open
etable,eras                           ! erase entire etable to clear data from possible previous calls to etable command
esel,r,enam,,174                      ! may need to elliminate any other connected types, such as beams, mpc184
                                      ! If selecting all contacts, use esel,s,enam,,174 and delete previous commands through cmsel
                                      ! can also just get contact using a command snippet under the contact, mcid = cid, then use esel,s,type,,mcid under Solution

! sliding distance in S direction
*do,i,1,4
  etable,sslide%i%,nmisc,i+20         ! etable sequence numbers for tass at each node 21,22,23,24 (I,J,K,L)
*enddo
sadd,temp1,sslide1,sslide2
sadd,temp2,sslide3,sslide4
sadd,sslidet,temp1,temp2
smult,sslide,sslidet,,0.25

! sliding distance in R direction
*do,i,1,4
  etable,rslide%i%,nmisc,i+16         ! etable sequence numbers for tasr at each node 17,18,19,20 (I,J,K,L)
*enddo
sadd,temp1,rslide1,rslide2
sadd,temp2,rslide3,rslide4
sadd,rslidet,temp1,temp2
smult,rslide,rslidet,,0.25

/view,1,1,1,1                         ! Set isometric view
/ang,1
/auto,1                               ! fit to screen
/show,png
pldisp,1                              ! display both displaced and undisplaced model. use /PLOPTS for other contour display options
pletab,sslide,avg
pletab,rslide,avg
! need to show coordinate system and undeformed model