```
finish
/CLEAR
/title,two_gears
rm1=0.06
b1=0.08
z1=13
m=0.02
ha=0.45
c=0.3
z=z1
ang=360/z
alphak=30
halfang=ang/2
r=m*z/2
rf=(z-2*ha-2*c)*m/2
ra=(z+2*ha)*m/2
r1=m*c
pi=acos(-1)
s=pi*m/2
*AFUN,DEG
inva=tan(alphak)-pi*alphak/180
rb=r*COS(alphak)
*AFUN,RAD
N=12
*DIM,x,,N
*DIM,y,,N
*IF,rf,GT,rb,THEN
af=ACOS(rb/rf)
invaf=TAN(af)-af
phi=s/r-2*(invaf-inva)
x(1)=rf*COS(phi/2)
y(1)=rf*SIN(phi/2)
detar=(ra-rf)/(N-1)
*DO,i,1,N-1
ri=rf+i*detar
j=i+1
ai=ACOS(rb/ri)
invai=TAN(ai)-ai
phi=s/r-2*(invai-inva)
x(j)=ri*COS(phi/2)
y(j)=ri*SIN(phi/2)
*ENDDO
*ELSE
phi=s/r+2*inva
x(1)=rf*COS(phi/2)
y(1)=rf*SIN(phi/2)
x(2)=rb*COS(phi/2)
y(2)=rb*SIN(phi/2)
detar=(ra-rb)/(N-2)
*DO,i,1,N-2
ri=rb+i*detar
j=i+2
ai=ACOS(rb/ri)
invai=TAN(ai)-ai
phi=s/r-2*(invai-inva)
x(j)=ri*COS(phi/2)
y(j)=ri*SIN(phi/2)
*ENDDO
*ENDIF
/PREP7
ET,1,PLANE182
ET,2,SOLID185
MP,EX,1,2.0e11
MP,PRXY,1,0.285
MP,DENS,1,7.85e3
fric_coef = 0.05
normal_stiff = 0.1
ET,3,TARGE170
ET,4,CONTA174
KEYOPT,4,9,0
KEYOPT,4,12,2
R,2
RMODIF,1,1, ,fric_coef,,,
RMODIF,1,12,normal_stiff
N,1,0,0,0
N,2,m*z1,0,0
et,5,mass21
keyopt,5,3,0
r,3,1e-6,1e-6,1e-6,1e-6,1e-6,1e-6
type,5
real,3
e,1
E,2
allsel,all
real,0
*DO,i,1,N
K,i,x(i),y(i)
*ENDDO
K,N+1,ra,0
LSTR,N,N+1
KSEL,S,KP,,1,N
BSPLIN,ALL
CYL4,,,rm1,0,rf,halfang
ADELE,1
LDELE,3
KSEL,ALL
LSTR,13,14
LSTR,15,1
LCOMB,3,6,0
LFILLT,7,2,R1,,
LANG,3,18,90,
KL,4,0.25,,
LANG,8,20,90,
LSBL,4,11,,DELETE,KEEP
AL,3,1,2,9
AL,6,7,12,11,8,9
AL,13,5,10,11
TYPE,1
LESIZE,1,,,4,,,,,1
LESIZE,12,,,4,,,,,1
LESIZE,9,,,4,,,,,1
LESIZE,11,,,4,,,,,1
LESIZE,8,,,4,,,,,1
LESIZE,2,,,8,,,,,1
LESIZE,3,,,8,,,,,1
LESIZE,5,,,4,,,,,1
LESIZE,13,,,6,,,,,1
LESIZE,10,,,6,,,,,1
LESIZE,6,,,4,,,,,1
LESIZE,7,,,2,,,,,1
MSHAPE,0,2D
MSHKEY,0
AMESH,1,3
CSYS,4
ARSYM,Y,ALL,,,,0,0
CSYS,1
AGEN,z,ALL, , , ,ang, , ,0
CSYS,0
ALLSEL,ALL
NUMMRG,ALL,,,,LOW
NUMCMP,ALL
TYPE,2
MAT,1
real,0
ESIZE,0,5
VEXT,ALL,,,0,0,b1,0,0,0
VGEN,,ALL,,,,,-b1/2,,,1
ALLSEL,ALL
ESEL,S,TYPE,,1
ACLEAR,ALL
ALLSEL,ALL
vsel,all
csys,0
VGEN,2,ALL,,,1.5*m*z1,,,,,0
NUMMRG,ALL,,,,LOW
NUMCMP,ALL
csys,1
*AFUN,DEG
asel,s,loc,x,(z-2*ha-2*c)*m/2,(z+2*ha)*m/2
*DO,i,1,2*z1
asel,u,loc,y,i*halfang
*ENDDO
asel,u,loc,x,(z-2*ha)*m/2
asel,u,loc,z,b1/2
asel,u,loc,z,-b1/2
asel,a,loc,x,(z+2*ha)*m/2
asel,a,loc,x,(z-2*ha-2*c)*m/2
nsla,s,1
CM,target1,node
type,3
real,2
nsel,s,,,target1
esln,s,0
esurf
allsel,all
WPOFFS,1.5*m*z1,
csys,4
WPSTYL,,,,,,1
asel,s,loc,x,(z-2*ha-2*c)*m/2,(z+2*ha)*m/2
*DO,i,1,2*z1
asel,u,loc,y,i*halfang
*ENDDO
asel,u,loc,x,(z-2*ha)*m/2
asel,u,loc,z,b1/2
asel,u,loc,z,-b1/2
asel,a,loc,x,(z+2*ha)*m/2
asel,a,loc,x,(z-2*ha-2*c)*m/2
*AFUN,RAD
nsla,s,1
CM,contact1,node
type,4
real,2
nsel,s,,,contact1
esln,s,0
esurf
allsel,all
vsel,s,loc,x,0,(z+2*ha)*m/2
WPSTYL,,,,,,0
VGEN,,ALL,,,-0.5*m*z1,,,,,1
ALLSEL,ALL
NUMMRG,ALL,,,,LOW
NUMCMP,ALL
ET,10,MPC184
KEYOPT,10,1,0
WPOFFS,-0.5*m*z1,
WPSTYL,,,,,,1
NSEL,S,loc,x,rm1
nsel,u,node,,2
CM,GEAR_SLAVE1,NODE
CMSEL,S,GEAR_SLAVE1
*GET,Nnode1,NODE,,COUNT
*GET,Nmin1,NODE,,NUM,MIN
*DIM,SlaveNodes1,ARRAY,Nnode1
*DO,i,1,Nnode1
SlaveNodes1(i) = Nmin1
Nmin1 = NDNEXT(Nmin1)
*ENDDO
TYPE,10
*DO,i,1,Nnode1
E,2,SlaveNodes1(i)
*ENDDO
allsel,all
CSYS,1
NSEL,S,loc,x,rm1
nsel,u,node,,1
CM,GEAR_SLAVE2,NODE
CMSEL,S,GEAR_SLAVE2
*GET,Nnode2,NODE,,COUNT
*GET,Nmin2,NODE,,NUM,MIN
*DIM,SlaveNodes2,ARRAY,Nnode2
*DO,i,1,Nnode2
SlaveNodes2(i) = Nmin2
Nmin2 = NDNEXT(Nmin2)
*ENDDO
TYPE,10
*DO,i,1,Nnode2
E,1,SlaveNodes2(i)
*ENDDO
CSYS,0
allsel,all
/SOLU
ANTYPE,4
TRNOPT,FULL
NLGEOM,ON
TIME,0.1
AUTOTS,ON
DELTIM,0.0005,0.0005,0.05
ERESX,no
OUTRES,ALL,all
*AFUN,RAD
csys,0
D,2,ROTZ,0.8
nsel,s,node,,1
nsel,a,node,,2
D,ALL,UX,0,,,,UY,UZ
ALLSEL,all
SOLVE```求解时,仅中心节点2自身转动,其与内孔节点建立的刚性梁单元并未随之运动