File MB.F4

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

	COMMON/A/FI(9),PL,Q,SD,SL,XY(2,9),GAM(9),DY(9),RSB(3,9)
	2,R(3,9),C(9,9),IGA,WOD,TID,P(6,9),RSN(3,9),RBH(3,9),BT,E(3,9)
	COMMON/B/RE,RI,D,X(21,4),RL(21),RRR(21),FFI(21)
	DIMENSION KTR(7),KTP(9)
	DIMENSION UM(3),UMK(3),EU(3),EV(3),EW(3),EN(3)
C------DATA ASSIGNMENT
	GAM(4)=0.0
	PI=3.14159
	PI2=2.*PI
	DTR=PI/180.
	RTD=180./PI
	RE=.5E8
	D=.014
	RI=PI*(D**4)/64.
	TL=4.75
	RBL=.094
	S=.867
	PL=.5
	BT=.25
	Q=.5
	SL=1.170
	SD=.5
	WOD=.014
	TID=.0165
	I0=2
	FI0=0.
	PSI=PI/2.
	T1=.1E-5
	T2=.1E-5
	CMIN=.015
	DO 1 I=1,9
1	DY(I)=.045-(I-1)*.015
	KTR(1)=7
	KTR(2)=5
	KTR(3)=2
	KTR(4)=1
	KTR(5)=3
	KTR(6)=6
	KTR(7)=4
	KTP(1)=1
	KTP(2)=2
	KTP(3)=6
	KTP(4)=7
	KTP(5)=3
	KTP(6)=5
	KTP(7)=8
	KTP(8)=9
	KTP(9)=4
C--------SET LENGTH AND GAM(7)
	EL=TL-(RBL+Q+S)
	GAM(7)=3.*PI/2.
	FI(4)=0.0
C------INITIAL PHI A
	PHAD=15.5
	FIA=PHAD*DTR
	K3=1
	I3=0
3	FI(1)=FIA
	FI(2)=FI(1)
	FI(6)=FI(1)
	FI(7)=FI(1)
	HEL=EL/2.
	PHI=FIA/2.
	CALL BEND(I0,PHI,FI0,FI0,PHI,PSI,HEL,P1,R1,R2)
	DO 33 I=1,2
	XY(I,1)=X(3,I+2)
	XY(I,2)=XY(I,1)
	XY(I,6)=XY(I,1)
33	XY(I,7)=XY(I,1)
	XY(1,4)=EL
	XY(2,4)=0.0
C------PHI B INITIAL
	PHBD=PHAD+10.
	FIB=PHBD*DTR
	K2=1
	I2=0
2	FI(3)=FIB
	FI(5)=FIB
	PHI=FIB/2.
	CALL BEND(I0,PHI,FI0,FI0,PHI,PSI,HEL,P1,R1,R2)
	DO 34 I=1,2
	XY(I,3)=X(3,I+2)
34	XY(I,5)=XY(I,3)
C------ITERATE ON ALL CIRCUMFRENTIAL CLEARENCES
	DO 5 I=1,5
	DGAM=45.*DTR
	IA=KTR(I)
	IB=KTR(I+1)
	K1=1
	I1=0
6	GAM(IB)=GAM(IA)+DGAM
	IF(GAM(IB).GT.PI2) GAM(IB)=GAM(IB)-PI2
	CALL CORD(IA,IB)
	IF(IGA.EQ.0) GO TO 11
	DGAM=DGAM+.35
	K1=K1+1
	GO TO 6
11	X1=DGAM
	Y1=C(IA,IB)
	CALL ITER8(I,K1,X1,XM1,Y1,YM1,CMIN,DX1,I1,T1)
	IF(I1.EQ.1) GO TO 5
	DGAM=X1+DX1
	GO TO 6
5	CONTINUE
C------DOES Y(6) = Y(7) ?
	Y2=RSB(2,6)
	X2=FIB
	Y2RF=RSB(2,7)
	CALL ITER8(8,K2,X2,XM2,Y2,YM2,Y2RF,DX2,I2,T2)
	IF(I2.EQ.1) GO TO 7
	FIB=X2+DX2
	GO TO 2
C------CALCULATE RADIAL CLEARANCES
7	I4=4
	DO 16 II=1,7
	IF(II.EQ.4) GO TO 16
	CALL CORD(II,I4)
16	CONTINUE
	CSML=100.
	DO 21 I=1,6
	II=KTR(I)
21	IF(C(II,I4).LT.CSML) CSML=C(II,I4)
C------ITERATE ON PHI A
	X3=FIA
	Y3=CSML
	CALL ITER8(9,K3,X3,XM3,Y3,YM3,CMIN,DX3,I3,T2)
	IF(I3.EQ.1) GO TO 22
	FIA=X3+DX3
	GO TO 3
C------CHECK FOR INTERFERENCE
22	CALL CORD(1,6)
	CALL CORD(2,7)
C------PUT IN SOLENOIDS 8 & 9
	PHCD=PHBD+10.
	FIC=PHCD*DTR
	K4=1
	I4=0
50	FI(8)=FIC
	FI(9)=FIC
	PHI=FIC/2.
	CALL BEND(I0,PHI,FI0,FI0,PHI,PSI,HEL,P1,R1,R2)
	DO 53 I=1,2
	XY(I,8)=X(3,I+2)
53	XY(I,9)=XY(I,8)
	GAM(8)=(3.*PI/2.)+ASIN(.015/X(3,4))
	GAM(9)=(PI/2.)-ASIN(.030/X(3,4))
	I=8
56	K5=1
	I5=0
58	CALL CORD(8,9)
	X5=GAM(I)
	Y5=RSB(2,I)
	YD=RSB(2,7)
	CALL ITER8(I,K5,X5,XM5,Y5,YM5,YD,DX5,I5,T1)
	IF(I5.EQ.1) GO TO 57
	GAM(I)=X5+DX5
	GO TO 58
57	IF(I-8) 59,60,59
60	I=9
	GO TO 56
59	CSML=100.
	DO 55 II=1,4
	I=KTP(II+2)
	DO 55 J=8,9
	CALL CORD(I,J)
55	IF(C(I,J).LT.CSML) CSML=C(I,J)
	X4=FIC
	Y4=CSML
	CALL ITER8(10,K4,X4,XM4,Y4,YM4,CMIN,DX4,I4,T1)
	IF(I4.EQ.1) GO TO 52
	FIC=FIC+DX4
	GO TO 50
C------PRINT THE RESULTS
52	CALL DATE(A1,A2)
	CALL TIME(A3,A4)
	WRITE(3,26) A1,A2,A3,A4
26	FORMAT(///,2X,2A5,3X,2A5,/)
	PHAD=FIA*RTD
	PHBD=FIB*RTD
	PHCD=FIC*RTD
	SA5=5.*SIN(FIA)
	SB5=5.*SIN(FIB)
	SC5=5.*SIN(FIC)
	TYPE 23, CMIN,PHAD,PHBD,PHCD,TL,RBL,Q,S,PL,EL
	2,SL,SD,WOD,TID,BT
	WRITE(3,23) CMIN,PHAD,PHBD,PHCD,TL,RBL,Q,S,PL,EL
	2,SL,SD,WOD,TID,BT
23	FORMAT(T5,'CMIN',T15,'PHI A',T25,'PHI B',T35,'PHI C',
	1T45,'TOTAL L',
	2/,5F10.4,//,T5,'RUBY L',T15,'Q',T25,'S',T35,'PROJ. L',
	3T45,'EFF. L',/,5F10.4,//,T5,'SOL. L',T15,'SOL. D',T25,
	4'WIRE OD',T35,'BUSH ID',T45,'BLKHD T',/,5F10.4,/)
	WRITE(3,127) SA5,SB5,SC5
127	FORMAT(//,' 5 X SIN(FI A) = ',F10.5,/
	2,' 5 X SIN(FI B) = ',F10.5,/,' 5 X SIN(FI C) = ',F10.5,/)
C-------PRINT FOR EACH SOLENIOD
	DO 19 IJ=1,9
	II=KTP(IJ)
	GMD=GAM(II)*RTD
	FID=FI(II)*RTD
	CS=COS(GAM(II))
	SN=SIN(GAM(II))
	SN5=SN*5.
	WRITE(3,20) II,GMD,FID,SN5
20	FORMAT(///,' SOLENIOD #',I2,4X,'GAMMA : ',F10.4,4X,'PHI : '
	2,F10.4,4X,'5 X SIN(GAM) = ',F10.4,/)
	WRITE(3,18) (RSN(I,II),I=1,3),(RSB(I,II),I=1,3),(R(I,II),I=1,3),
	2(P(I,II),I=1,3),(P(I,II),I=4,6),(RBH(I,II),I=1,3)
18	FORMATL(' RSN VECTOR : ',/,3(3X,F12.5),/,
	1' RSB VECTOR : ',/,3(3X,F12.5),/,
	2' R VECTOR : ',/,3(3X,F12.5),/,
	3' SHIFTED RHO : ',/,3(3X,F12.5),/,' WIRE RHO : ',/
	4,3(3X,F12.5),/,' BLKHD. VECTOR : ',/,3(3X,F12.5),//)
C---------MACHINIST COORDINATES
	UM(1)=.3183
	UM(2)=0.0
	UM(3)=0.0
	DO 402 I=1,3
402	UMK(I)=RBH(I,4)+UM(I)+.125*E(I,II)-RBH(I,II)
	EU(1)=0.0
	EU(2)=SN
	EU(3)=-CS
	DO 403 I=1,3
403	EW(I)=E(I,II)
	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(SM)
	CALL DOT(UMK,EU,RU)
	CALL DOT(UMK,EV,RV)
	CALL DOT(UMK,EW,RW)
	RUP=RU*CS-RV*SN
	RVP=RU*SN+RV*CS
	RWP=RW
	WRITE(3,406) RU,RV,RW
406	FORMAT(' M.E IN THE U,V,W DIRECTIONS : ',/,3(3X,F12.5))
C-----------
	DO 51 JJ=1,9
	IF(C(II,JJ).EQ.0.) GO TO 51
	WRITE(3,17) II,JJ,C(II,JJ)
17	FORMAT(' C(',I1,',',I1,') = ',F12.5)
51	CONTINUE
19	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