File GC.F4

Directory of image this file is from
This file as a plain text file

	COMMON/A/ FI(9),PL,Q,TOD,SL,XY(2,9),GAMR(9),DY(9),RSB(3,9)
	2,R(3,9),C(9,9),IGA,WD,TID,P(6,9),RSN(3,9),RBH(3,9),BT,E(3,9)
	COMMON/B/ RE,RI,DI,X(21,4),RL(21),RRR(21),FFI(21)
	DIMENSION KTP(7),PHID(3),XCL(3,12),ANG(3,6),XYZ(3,7,6),
	2FL(3,6),GAM(7),KTR(6),RAD(3,6),DIA(3,6),TH(6),UM(3),UMK(3),
	3EN(3),UA(3),EU(3),EV(3),EW(3),YCL(3),RIS(3,7),EIS(3,7),XIS(3)
C------DATA VALUES ASSIGNMENT
	PI=3.14159
	DTR=PI/180.
	RTD=1./DTR
	TID=.019
	TOD=.030
	AL=3.289
	RE=.5E8
	WD=.014
	TD=.032
	DCL=.0025
	RI=PI*(D**4)/64.
	CD=.00
	FLR=1.625
	Q=0.
	PL=0.0
	SL=0.
	ENN=.125
	EMM=.2005
	AC=.510
	I0=2
	FI0=0.0
	PSI=PI/2.
	TOL=.1E-6
	TH(1)=0.0
	TH(2)=.030
	TH(3)=.030
	TH(4)=.094
	TH(5)=.030
	TH(6)=0.0
	DO 45 I=1,7
45	DY(I)=.045-(I-1)*.015
	GAM(1)=31.5781
	GAM(2)=330.9301
	GAM(3)=63.4400
	GAM(4)=0.0
	GAM(5)=299.1013
	GAM(6)=91.0496
	GAM(7)=270.
	DO 46 I=1,7
46	GAMR(I)=GAM(I)*DTR
	KTP(1)=1
	KTP(2)=2
	KTP(3)=6
	KTP(4)=7
	KTP(5)=3
	KTP(6)=5
	KTP(7)=4
	KTR(1)=7
	KTR(2)=5
	KTR(3)=2
	KTR(4)=1
	KTR(5)=3
	KTR(6)=6
	PHID(1)=14.2601
	PHID(2)=24.2763
	PHID(3)=0.0
C------FIND FREE LENGTH WHERE CMIN=DESIRED SPACING
	HEL=AL*.5
	XD=1.5
	K2=1
	I2=0
1	I=1
2	PHI=PHID(I)*DTR*.5
	K1=1
	I1=0
	FIC=.8*PHI
3	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	Y1=X(2,3)
	CALL ITER8(I,K1,FIC,XM1,Y1,YM1,XD,DF,I1,TOL)
	IF(I1) 4,4,5
4	FIC=FIC+DF
	GO TO 3
5	ANG(I,1)=PHI-FIC
	FL(I,1)=RL(2)
	RAD(I,1)=RRR(2)
	XCL(I,1)=X(2,3)
	XCL(I,2)=X(2,4)
	IF(I-1) 6,6,7
6	ANG(I,3)=PHI
	FL(I,3)=HEL
	RAD(I,3)=RRR(3)
	XCL(I,5)=X(3,3)+DCL*SIN(PHI)
	XCL(I,6)=X(3,4)-DCL*COS(PHI)
	XCL(3,1)=X(2,3)
	XCL(3,5)=XCL(1,5)
	I=2
	GO TO 2
C------BOTH LENGTHS = XD; ASSIGN SOLENOID #'S TO THE VALUES
7	JJ=1
	DO 8 II=1,6
	IF(II.GT.4) JJ=2
	I=KTP(II)
	FI(I)=ANG(JJ,1)
	XY(1,I)=XCL(JJ,1)
8	XY(2,I)=XCL(JJ,2)
	FI(4)=0.0
	XY(1,4)=XD
	XY(2,4)=0.0
C------COMPUTE THE SPACINGS
	DO 60 I=1,5
	NA=KTR(I)
	NB=KTR(I+1)
	CALL CORD(NA,NB)
60	CALL CORD(NA,4)
	CALL CORD(6,4)
	CMIN=19.
	DO 61 I=1,7
	DO 61 J=1,7
	IF(C(I,J).EQ.0.0) GO TO 61
	IF(C(I,J).LT.CMIN) CMIN=C(I,J)
61	CONTINUE
	CALL ITER8(3,K2,XD,XM2,CMIN,YM2,CD,DX2,I2,TOL)
	IF(I2) 9,9,10
9	XD=XD+DX2
	GO TO 1
10	DO 64 I=1,7
	DO 64 J=1,7
	IF(C(I,J).EQ.0.0) GO TO 64
	WRITE(5,62) I,J,C(I,J)
62	FORMAT(' C(',I1,',',I1,') = ',F10.5)
64	CONTINUE
	CALL DATE(A1,A2)
	CALL TIME(A3,A4)
	WRITE(5,63) A1,A2,A3,A4,CMIN,XD
63	FORMAT(//,3X,2A5,3X,2A5,/
	2' CMIN = ',F10.5,10X,'DIST. FROM JEWEL BACK = ',F10.5)
C------NOW THE X&Y COORDINATES OF THE GUIDE TUBES ARE KNOWN AT THE
C    POINT WHERE THE SPACING = CD
C------MEASURE BACKWARD 30 THOU. FROM THERE
	XD=XD+.030
	I=1
100	PHI=PHID(I)*DTR*.5
	K3=1
	I3=0
	FIC=.8*PHI
11	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	FL(I,2)=RL(2)
	DP=DCL*(.25*AL+.5*FL(I,1)-FL(I,2))/(.25*AL-.5*FL(I,1))
	XCL(I,3)=X(2,3)-DP*SIN(ANG(I,2))
	Y3=XCL(I,3)
	CALL ITER8(I,K3,FIC,XM3,Y3,YM3,XD,DF,I3,TOL)
	IF(I3) 12,12,13
12	FIC=FIC+DF
	GO TO 11
13	ANG(I,2)=PHI-FIC
	RAD(I,2)=RRR(2)
	XCL(I,4)=X(2,4)+DP*COS(ANG(I,2))
	IF(I-1) 14,14,15
14	I=2
	XCL(3,3)=Y3
	GO TO 100
C------COMPUTE THE COORDINATES OF REAR END OF TUBE
15	I=1
55	K4=1
	I4=0
	PHI=PHID(I)*DTR*.5
	FIC=.8*PHI
58	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	Y4=RL(4)
	FLD=FLR+FL(I,1)
	CALL ITER8(4,K4,FIC,XM4,Y4,YM4,FLD,DF,I4,TOL)
	IF(I4) 56,56,57
56	FIC=FIC+DF
	GO TO 58
57	FL(I,6)=RL(4)
	ANG(I,6)=PHI+FIC
	RAD(I,6)=RRR(4)
	XCL(I,11)=X(4,3)
	XCL(I,12)=X(4,4)
	IF(I-1) 59,59,21
59	I=2
	XCL(3,11)=XCL(3,1)+FLR
	GO TO 55
C------MEASURE FORWARDS 30 THOU FROM THERE
21	XD=XCL(2,11)-.030
	I=1
200	PHI=PHID(I)*DTR*.5
	K9=1
	I9=0
	FIC=.8*PHI
211	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	ANG(I,5)=PHI+FIC
	XCL(I,9)=X(4,3)-DCL*SIN(ANG(I,5))
	Y9=XCL(I,9)
	CALL ITER8(9,K9,FIC,XM9,Y9,YM9,XD,DF,I9,TOL)
	IF(I9) 212,212,213
212	FIC=FIC+DF
	GO TO 211
213	FL(I,5)=RL(4)
	RAD(I,5)=RRR(4)
	XCL(I,10)=X(4,4)+DCL*COS(ANG(I,5))
	IF(I-1) 214,214,215
214	I=2
	XCL(3,9)=Y9
	GO TO 200
C------COMPUTE CENTER COORDINATES FOR LARGE ANGLE WIRE
215	XD=XCL(3,5)
	PHI=PHID(2)*DTR*.5
	K8=1
	I8=0
	FIC=.05
123	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	ANG(2,3)=PHI+FIC
	XCL(2,5)=X(4,3)+DCL*SIN(ANG(2,3))
	Y8=XCL(2,5)
	CALL ITER8(8,K8,FIC,XM8,Y8,YM8,XD,DF,I8,TOL)
	IF(I8) 124,124,125
124	FIC=FIC+DF
	GO TO 123
125	FL(2,3)=RL(4)
	RAD(2,3)=RRR(2)
	XCL(2,6)=X(4,4)-DCL*COS(ANG(2,3))
C------COMPUTE COORDINATES OF THE INTERMEDIATE SUPPORT
	XD=.5*XCL(1,1)
C	XD=.623
	I=1
20	PHI=PHID(I)*DTR*.5
	K6=1
	I6=0
	FIC=.9*PHI
111	CALL BEND(I0,PHI,FI0,FIC,PHI,PSI,HEL,P,R1,R2)
	Y6=X(2,3)
	CALL ITER8(I,K6,FIC,XM6,Y6,YM6,XD,DF,I6,TOL)
	IF(I6) 112,112,113
112	FIC=FIC+DF
	GO TO 111
113	FL(I,4)=RL(2)
	ANG(I,4)=PHI-FIC
	XCL(I,7)=X(2,3)
	XCL(I,8)=X(2,4)
	RAD(I,4)=RRR(2)
	IF(I-1) 22,22,74
22	I=2
	XCL(3,7)=XD
	XCL(3,8)=0.0
	ANG(3,4)=0.0
	GO TO 20
C------COMPUTE THE HOLE DIAMETERS
74	DO 65 I=2,5
	DD=TD
	IF(I.EQ.4) DD=WD
	II=2*I
	DO 68 J=1,2
	PH=ANG(J,I)
	RD=RAD(J,I)
	SNP=SIN(PH)
	FDF1=ASIN(SNP+TH(I)/(2.*RD))
	D1=2.*RD*SIN((FDF1-PH)/2.)
	YB=SQRT(D1**2-.25*TH(I)**2)+DD/(2.*COS(FDF1))
	IF(I-4) 66,67,66
C------ANGLED HOLE
67	YA=((TH(I)-WD*SNP)*SNP-DD)/(2.*COS(PH))
	DIA(J,I)=(YB-YA)*COS(PH)
	XIS(J)=.5*(YB+YA)
	GO TO 68
C------PERPENDICULAR HOLE
66	FDF2=ASIN(SNP-TH(I)/(2.*RD))
	D2=2.*RD*SIN((PH-FDF2)/2.)
	YA=SQRT(D2**2-.25*TH(I)**2)-DD/(2.*COS(FDF2))
	DIA(J,I)=(YB-YA)
	XCL(J,II)=XCL(J,II)+.5*(YB+YA)
68	DIA(3,I)=DD
65	XCL(3,II)=0.0
	XIS(3)=0.0
C-------COMPUTE R AND E VECTORS FOR MACHINE COORD.
	JJ=1
	DO 81 II=1,7
	IF(II.GT.4) JJ=2
	IF(II.GT.6) JJ=3
	I=KTP(II)
	CC=COS(ANG(JJ,4))
	S=SIN(ANG(JJ,4))
	CG=COS(GAMR(I))
	SG=SIN(GAMR(I))
	EIS(1,I)=CC
	EIS(2,I)=S*CG
	EIS(3,I)=S*SG
	RIS(1,I)=XCL(JJ,7)+.5*TH(4)
	RIS(2,I)=(XCL(JJ,8)+XIS(JJ))*CG + DY(I)
81	RIS(3,I)=(XCL(JJ,8)+XIS(JJ))*SG
C------PRINT THE UNTRANSFORMED COORDINATES
	GO TO 678
	WRITE(5,75) AL,WD,TID,TOD
75	FORMAT(///,' WIRE ACTIVE L',T20,'WIRE DIA',T35,'TUBE ID',
	2T50,'TUBE OD',/,4(F10.5,5X))
	DO 79 I=1,2
	DO 79 J=1,6
79	ANG(I,J)=ANG(I,J)*RTD
	DO 77 I=1,3
	TUBL=FL(I,6)-FL(I,1)
	WRITE(5,80) PHID(I),TUBL
80	FORMAT(////,' UNTRANSFORMED COORDINATES FOR PHI = ',F10.5,
	25X,'TUBE LENGTH = ',F10.5)
77	WRITE(5,78)((XCL(I,2*N-1),XCL(I,2*N),FL(I,N),ANG(I,N),RAD(I,N))
	2,N=1,6)
78	FORMAT(//,T5,'X',T15,'Y',T25,'FREE L',T35,'ANGLE',T45,
	2'RADIUS',//,' TUBE END',/,5F10.5,//,' FRONT SUP.',/
	3,5F10.5,//,' CENTER SUP.',/,5F10.5,//,' FRNT. WIRE SUP.',
	4/,5F10.5,//,' REAR SUP.',/,5F10.5//,' TUBE BACK',/
	5,5F10.5)
C------ASSIGN WIRE NUMBERS, TRANSFORM, AND PRINT
678	CONTINUE
	S5S=5.*SIN(.25*PI)
	JJ=1
	DO 16 II=1,7
	IF(II.GT.4) JJ=2
	IF(II.GT.6) JJ=3
	I=KTP(II)
	CC=COS(GAMR(I))
	S=SIN(GAMR(I))
	PHID(JJ)=ANG(JJ,4)*RTD
	WRITE(5,17) I,PHID(JJ),GAM(I)
17	FORMAT(////,' WIRE NUMBER ',I1,/,T5,'PHI',T20,'GAMMA',
	2/,2F15.5)
	DO 76 K=1,6
	KK=2*K-1
	XYZ(1,I,K)=XCL(JJ,KK)
	XYZ(2,I,K)=XCL(JJ,KK+1)*CC+DY(I)
76	XYZ(3,I,K)=XCL(JJ,KK+1)*S
C	WRITE(5,18)(((XYZ(L,I,N),L=1,3),FL(JJ,N),DIA(JJ,N),TH(N))
	2,N=1,6)
18	FORMAT(//,T5,'X',T15,'Y',T25,'Z',T35,'FREE L',T45,'DIA',
	2T55,'THICKNS',//,' TUBE END',/,6F10.5,//,' FRONT SUP.',/
	3,6F10.5,//,' CENTER SUP.',/,6F10.5,//,' FRNT. WIRE SUP.',
	4/,6F10.5,//,' REAR SUP.',/,6F10.5//,' TUBE BACK',/
	5,6F10.5)
C-------COMPUTE MACHINE COORDINATES
	UM(1)=EMM
	UM(2)=0.0
	UM(3)=0.0
	UA(1)=0.0
	UA(2)=-AC
	UA(3)=0.0
	DO 402 K=1,3
402	UMK(K)=-(RIS(K,4)+UA(K)+UM(K)+ENN*EIS(K,I)-RIS(K,I))
	EU(1)=0.0
	EU(2)=S
	EU(3)=-CC
	DO 403 K=1,3
403	EW(K)=EIS(K,I)
	CALL CROSS(EW,EU,EN)
	SM=0.0
	DO 404 K=1,3
404	SM=SM+EN(K)**2
	DO 405 K=1,3
405	EV(K)=EN(K)/SQRT(ABS(SM))
	CALL DOT(UMK,EU,RU)
	CALL DOT(UMK,EV,RV)
	CALL DOT(UMK,EW,RW)
	WRITE(5,406) (RIS(K,I),K=1,3),RU,RV,RW
406	FORMAT(//,'  INTERMED. SUP. MACHINE COORD.',/
	3,T5,'X',T15,'Y',T25,'Z',/,3F10.5,//
	2,T5,'U',T15,'V',T25,'W',/,3F10.5)
	S5P=5.*SIN(DTR*ANG(JJ,4))
	S5G=5.*ABS(S)
	IF(S5G.GT.S5S) GO TO 407
	WRITE(5,408) S5P,S5G
408	FORMAT(//,'  5 X SIN PHI',T20,'5 X SIN GAM',/,2F15.5)
	GO TO 16
407	C5G=5.*ABS(CC)
	WRITE(5,409) S5P,C5G
409	FORMAT(//,'  5 X SIN PHI',T20,'5 X COS GAM',/,2F15.5)
16	CONTINUE
	END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search