平面连杆机构运动分析的子程序.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SUBROUTINE CRANK(N1,N2,R,TH,W,A,P,VP,AP,NP) IMPLICIT REAL*8(A-H,O-Z)

REAL*8 P(NP,2),VP(NP,2),AP(NP,2)

W2=W*W

VP(N1,1)=0.0D0

VP(N1,2)=0.0D0

AP(N1,1)=0.0D0

AP(N1,2)=0.0D0

RX=R*DCOS(TH)

RY=R*DSIN(TH)

P(N2,1)=P(N1,1)+RX

P(N2,2)=P(N1,2)+RY

VP(N2,1)= -RY*W

VP(N2,2)= RX*W

AP(N2,1)= -RY*A-RX*W2

AP(N2,2)= RX*A-RY*W2

RETURN

END

SUBROUTINE CRANK2(N1,N2,N3,R,S,PHI,TH,W,A,P,VP,AP,NP) IMPLICIT REAL*8(A-H,O-Z)

REAL*8 P(NP,2),VP(NP,2),AP(NP,2)

W2=W*W

VP(N1,1)=0.0D0

VP(N1,2)=0.0D0

AP(N1,1)=0.0D0

AP(N1,2)=0.0D0

RX=R*DCOS(TH)

RY=R*DSIN(TH)

SX=S*DCOS(TH+PHI) SY=S*DSIN(TH+PHI)

P(N2,1)=P(N1,1)+RX

P(N2,2)=P(N1,2)+RY

P(N3,1)=P(N1,1)+SX

P(N3,2)=P(N1,2)+SY

VP(N2,1)= -RY*W

VP(N2,2)= RX*W

VP(N3,1)= -SY*W

VP(N3,2)= SX*W

AP(N2,1)= -RY*A-RX*W2 AP(N2,2)= RX*A-RY*W2 AP(N3,1)= -SY*A-SX*W2 AP(N3,2)= SX*A-SY*W2

RETURN

END

SUBROUTINE PAYAD(M,N1,N2,N3,R1,R2,TH1,TH2,P,NP) IMPLICIT REAL*8(A-H,O-Z)

REAL*8 P(NP,2)

LOGICAL PRNT

PRNT=.FALSE.

IF(N1.LT.0)PRNT=.FALSE.

DELX=P(N2,1)-P(N1,1)

IF(DABS(DELX).LT.1.0D-10) DELX=1.0D-10

DELY=P(N2,2)-P(N1,2)

PHI=DATAN2(DELY,DELX)

SSQ=(P(N2,1)-P(N1,1)**2+(P(N2,2)-P(N1,2))**2

S=DEQRT(SSQ)

TEST=S-(R1+R2)

IF(TEST)40,40,500

40 TEST=DABS(R1-R2)-S

IF(TEST)50,50,500

50 CONTINUE

COSIN=(R1**2-R2**2+SSQ)/(2.0D0*R1*S)

ALF=DATAN2(DSQRT(1.0D0-COSIN**2),COSIN)

IF(M)200,100,100

100 TH=PHI+ALF

GOTO 300

200 TH=PHI-ALF

300 CONTINUE

RC=R1*DCOS(TH)

RS=R1*DSIN(TH)

P(N3,1)=P(N1,1)+RC

P(N3,2)=P(N1,2)+RS

TH1=DATAN2(RS,RC)

PS=P(N3,2)-P(N2,2)

PC=P(N3,1)-P(N2,1)

TH2=DATAN2(PS,PC)

RETURN

500 IF(PRNT)WRITE(*,600)

600 FORMAT(3X,'DYAD CANNOT BE ASSEMBLED.'/)

END

SUBROUTINE VDYAD(M,N1,N2,N3,R1,R2,TH1,TH2,P,W1,W2,VP,NP) IMPLICIT REAL*8(A-H,O-Z)

REAL*8 P(NP,2),VP(NP,2)

CALL PDYAD(M,N1,N2,N3,R1,R2,TH1,TH2,P,NP)

R2X=P(N3,1)-P(N2,1)

R2Y=P(N3,2)-P(N2,2)

A1=(VP(N2,1)-VP(N1,1))*R2X

A2=(VP(N2,2)-VP(N1,2))*R2Y

R1X=P(N3,1)-P(N1,1)

R1Y=P(N3,2)-P(N1,2)

C1=R1Y*R2X

C2=R2Y*R1X

DET=C1-C2

B1=(VP(N2,2)-VP(N1,2))*R1Y

B2=(VP(N2,1)-VP(N1,1))*R1X

W1=-(A1+A2)/DET

W2=-(B1+B2)/DET

VP(N3,1)=VP(N1,1)-W1*R1Y

VP(N3,2)=VP(N1,2)+W1*R1X

RETURN

END

SUBROUTINE

ADYAD(M,N1,N2,N3,R1,R2,TH1,TH2,P,W1,W2,VP,A1,A2,AP,NP) IMPLICIT REAL*8(A-H,O-Z)

REAL*8 P(NP,2),VP(NP,2),AP(NP,2)

相关文档
最新文档