GO TO 8
9 IF(P(I, K).GT.PK) GO TO 10
P(I, K)=UCK*((2./3)*(P(I-1, K)+P(I+1, K))- (l./6)*(P(I-2,K)+P(I+*2.K))
+4*A*DX*(ARP(K)/AR)/(H(K)*H(K)))+(l.-UCK)*P(I,K)
GO TO 8
10 P(I,K)=UCK*((2./3)*(P(I-1, K)+P(I+1, K))-(1./6)*(P(I-2, K)+P(I+ *2.K)
*)+4*A*DX/(H(K))**2*(ARP(K)/AR)*RAD*SQRT(P(I,K)**(1.*/KA)-P(I,K)
**((KA+1)/(2.*KA))))+(l-UCK)*P(I, K)
WRITE (*,26)NI
8 IF (P(I.K).GE.l.) P(I.K)=0.99999
80 CONTINUE
DO 11 K=2,33
DO 11 I=2,25
IF(ABS(P(I,K)-P1(I, K)).GE.0.0001) GO TO 7
11 CONTINUE
34 WRITE (2,26)NI
WRITE (*,72) ((P (I, К), I=1,12), K=1.33)
WRITE (*,71)((P(I.K), I=13,25), K=1.33)
27 FORMAT (12F10.6, F8.4)
70 FORMAT (25F3.2)
71 FORMAT (13F6.4)
72 FORMAT (12F6.4)
DO 81 K=1.34
DO 81 I=1,26
81 P1(I, K)=SQRT(P (I.K))
Wl=0
DO 82 K=1.32
DO 82 I=1,24
82 W1=W1+(P1(I, K)+P1(I+1, K)+P1(I+1,K+1)+P1(I,K+1))*COS(DT*K-0.5 **DT)
WZ=DX*DY*R*LC*PS*W1*0.5
ER=E*C
CL=WZ/(4*PS*R*LC)
WRITE (*,61) C, E, WZ, ER, CL
WRITE (2,61)C, E, WZ, ER, CL
61 FORMAT (9X,2HC=,F9.7, 2HE=,F8.6, 3HWZ=,F9.3, 3HER=,F9.7, 3HCL=,*F9.6)
MR=0
DO 83 K=1,33
83 MR=MR+(P(3, K)-P(1, K))*H (K)*H(K)*H(K) MR=MR*PS*RS*C*C*C*DY/(24*LAM*MU*DX)
MRB=MR/(2*MK)
WRITE (*,62) MR, MRB
WRITE (2,62) MR, MRB
62 FORMAT (10X,3HMR=,F10.7, 4HMRB=,F10.7)
IF(E,GE, EK) GO TO 17
E=E+EH
GO TO 1
17 IF(C.GE.CK) GO TO 18
E=0.2
C=C+CH
GO TO 1
18 STOP
END
Приложение В
Программа расчёта осевых подшипников с наддувом газа
DIM p(21), pl(21). ro(21)
CLS
RЕМ INPUT "Введите ps, rs, pa1, ra1, pa2, ra2, ka, mu -", ps, rs, pa1, ra1,
pa2, ra2, ka, mu
REM INPUT "Введите ar, dm, n1, n2, rb, r1, r2, rh - ", ar, dm, n1, n2, rb, r1, r2, rh
REM INPUT "Введите h, hh, hk - ", h, hh, hk
REM INPUT "Введите uck, omega - ", uck, omega
ps = 850000
rs = 9.6
pa1 = 100000
ra1 =1.13
pa2 = 100000
ra2 =1.13
ka = 1.41
mu =.0000186#
ar =.8
dm =.0005
n1 = 8
n2 = 12
rb =.025
r1 =.03
r2 =.04
rh =.045
h =.00003
hh =.000005
hk -.00004
uck = 1
omega = 0
pi = 3.1415926535#
ik = 20
dr = (rh - rb)/ (r1* ik)
pabv = (pa1 / ps) ^ 2
mk1 = ar * pi * dm * h * nl * SQR (ka* ps * rs *(2 / (ka + l)) ^ ((ka + 1) / (ka - 1)))
pabn = (pa2 / ps) ^ 2
mk2 = mk1 /n1 * n2
PRINT pabv, pabn, mk1, mk2
a1 = mu * mk1/ (pi * ps * rs * h * h * h)
a2 = mu * mk2 / (pi * ps * rs * h * h * h)
ql = (r1 - rb) / (dr * r1) +1
q2 = (r2 - rb) / (dr * r1) + 1
i1 = INT(q1 +.5)
i2 = INT(q2 +.5)
PRINT a1, a2, i1, i2
rbb = rb / r1
rhb = rh / r1
r2b = r2 / r1
pk = (2/(ka +1))^ (2 * ka / (ka - 1))
PRINT rbb, rhb. r2b, pk
rad = SQR ((2 / (ka - 1)) * ((ka + 1) / 2) ^ ((ka + 1) / (ka - 1)))
rad1 = SQR(2 / (ka + 1) ^ ((ka + 1) / (ka1 - 1)) * ka * ps * rs)
rd = 3.2 / mu * rad1
arp =.0816 * (rd * h) ^.477 * (4 * h / dm) ^.78
IF arp >= ar THEN arp = ar
pr1 =.25 * (1 + pabv + 2 * pa1 / ps)
pr2 =.25 * (1 + pabn + 2 * pa2 / ps)
FOR i = 1 TO i1
p(i) = pabv + (pr2 - pabv) * (i - 1) / (ql - 1)
NEXT
FOR i = i1 TO 12
p(i) = pr1 + (pr2 – pr1) * (i – i1) / (q2 – i1)
NEXT
FOR i = i2 TO ik + 1
p(i) = pr2 - (pr2 - pabn) * (i - i2) / (ik + 1 - q2)
NEXT
CLS
FOR i = 1 TO ik + 1
PRINT "p("; i; ") = "; p(i)
NEXT
PRINT i1. i2
aaa$ = INPUT$ (1)
FOR i = 1 TO ik + 1
ro(i) = rbb + dr * (i - 1)
NEXT
ni = 0
flag = 1
WHILE flag = 1
ni = ni + 1
max = 0
flag = 0
FOR i - 2 TO ik
pp = p(i)
SELECT CASE i
CASE IS < i1
p(i) = pabv + (p(i1) - pabv) * LOGro(i) / rbb) / L0G(l / rbb)
CASE il
IF p(i) > pk THEN
p(i) = 2 / 3 * (p (i - 1) + p (i + 1)) -1/6* (p(i - 2) + p(i + 2)) + 4* a1 * dr * arp / ar *
rad * SQR(p (i) ^ (1 / ka) - p(i)^ ((ka + 1) / (2 * ka)))
ELSE
p(i) = 2 / 3 * (p (i - 1) + p (i + 1)) -1 / 6 * (p(i - 2) + p (i + 2)) + 4 * a1* dr * arp / ar END IF
CASE IS > il
SELECT CASE i
CASE IS < i2
p(i) = p(i1) + (p(i2) - p(i1)) * LOG(ro (i)) / LOG(r2b)
CASE i2
IF p(i) > pk THEN
p (i) = 2 / 3 * (p(i - 1) + p(i + 1)) -1 / 6 * (p(i - 2) + p(i + 2)) + 4* a2*arp/ar*dr /
r2b*rad * SQR(p(i) ^(1/ka) - p(i) ^ ((ka + 1) / (2 * ka)))
ELSE
p(i) = 2 / 3 * (p (i - 1) + p(i + 1))-1 / 6 * (p(i -2) + p(i +2)) + 4* a2 arp/ar *dr/r2b
END IF
CASE IS > i2
p(i) = p(i2) + (pabn - p(i2)) * (LOG(ro(i) /r2b) / LOG(rhb / r2b))
END SELECT
END SELECT
IF p(i) > 1 THEN p(i) =.99999
ее = ABS(pp - p(i))
REM PRINT "p("; i; ") = "; p(i), ее
IF ее > max THEN max = ее
NEXT
CLS
FOR i = 1 TO ik + 1
PRINT "p("; i; ") = "; p(i)
NEXT
IF max >.000001 THEN flag = 1
LOCATE 22, 20
PRINT "
LOCATE 22, 20
PRINT ni, max
REM aaa$ = INPUT$(1)
WEND
PRINT ni
FOR i = 1 TO ik + 1
p1(i) = SQR(p(i))
NEXT
w1 = 0
FOR i = 1 TO ik
w1 = w1 +.5 * pi * ps * r1* r1 * (p1(i) + p1(i + 1)) *(ro(i + 1) * ro(i + 1) – ro(i) * ro(i))
NEXT
c1 = w1 / (ps * pi * (rh * rh - rb * rb))
mr = pi* ps* rs * h ^ 3 / 24/ mu /dr * (ro(ik)* (p(ik - 1)- p(ik + 1) + ro(2)*(p(3) - p(l)))
mrb = mr / (mk1 + mk2)
PRINT w1, c1, mr, mrb
END
Приложение Г
Программа расчёта осевых подшипников с наддувом газа
rea l ka, MU, nl, N2, МК1, МК2, MR, MRB
DIMENSION Р(21), P1(21), RO(21)
READ (1,20) PS, RS, PA1, RA1, PA2, RA2, KA, MU
READ (1.21) AR, DM, N1, N2, RB, R1, R2, RH
READ (1.21) H, HH, HK
READ (1.21) UCK, OMEGA
WRITE (2,30) PS, RS, PA1, RA1, PA2, RA2, KA, MU
WRITE (2,31) AR, DM, N1, N2, RB, R1, R2, RH
WRITE (2,32) H, HH, HK
WRITE (*.33) UCK,OMEGA
20 FORMAT (7F10. 2, F10.7)
21 FORMAT (8F10.7)
30 FORMAT (3X.3HPS=,F10.2, 3HRS=,F10.2, 4HPA1=,F10.2, 4HRA1=,F10.2, *4HPA2=,F10.2. 4HRA2=,F10.2, 3HKA=,F10.2, 3HMU=,F10.7)
31 FORMAT (10X.3HAR =,F10.7, 3HDM=,F10.7. 3HN1=,F5.1, 3HN2=.F5.1, *3HRB=,F10.7, 3HR1=,F10.7, 3HR2=,F10.7. 3HRH=,F10.7)
32 FORMAT (10X, 2HH=,F10.7, 3HHH=,F10.7, 3HHK=,F10.7)
33 FORMAT (10X, 4HUCK=,F10.4, 6HOMEGA=,F10.4)
PI=3.14159
IK=20
DR=(RH-RB)/(R1*IK)
PABV=(PA1/PS)**2
1 MK1=AR*PI*DM*H*N1*SQRT(KA*PS*RS*(2./(KA+1))**((KA+1)/(KA-1))) PABN=(PA2/PS)**2
MK2=MK1/N1*N2
WRITE (2,51)PABV, PABN, MK1.MK2
51 FORMAT (10X,5HPABV=,F10.7, 5HPABN=,F10.7, 4HMK1=,F10.5,4HMK2=, *F10.5)
A1=MU*MK1/(PI*PS*RS*H*H*H)
A2=MU*MK2/(PI*RS*PS*H*H*H)
Q1=(R1-RB)/(DR*R1)+1
I1=Q1+0.5
Q2=(R2-RB)/(DR*R1) +1
I2=Q2+0.5
WRITE (2,52)A1, A2, Q1, Q2, I1/ I2
52 FORMAT (5X.3HA1=,F10.5, 3HA2=,F10.5, 3HQ1=,F10.5, 3HQ2=,F10.5. *I4,I4)
RBB=RB/R1
RHB=RH/R1
R2B=R2/R1
PK= (2/(KA+1))**(2*KA/(KA-1))
WRITE (2,55) RBB, R2B, RHB, PK
55 FORMAT (3X, 4HRBB=,F10.5, 4HR2B=,F10.5, 4HRHB=,F10.5, 3HPK=, *F10.5)
RAD=SQRT((2./(KA-1))*((KA+1)/2)**((KA+1)/(KA-1)))
RAD1=SQRT((2./(KA+1))**((KA+1)/(KA-1))*KA*PS*RS)
RD=(3.2/MU)*RAD1
ARP=0.0816*(RD*H)**0.477*(4*H/DM)**0.78
IF (ARP.LT.AR) GO TO 2
ARP=AR
2 PR1=0.25*(1+PABV+2*PA1/PS)
PR2=0.25*(1+PABN+2*PA2/PS)
DO 3 I=1, I1
3 P(I)=PABV+(PR1-PABV)*(I-1)/(Q1-1)
DO 4 I=I1+1,I2
4 P(I)=PR1+(PR2-PR1)*(I-I1)/(Q2-Q1)
DO 5 I=I2+1, IK+1
5 P(I)=PR2-(PR2-PABN)*(I-I2)/(IK+1-Q2)
WRITE (*,53) (P (I), I=1,21)
53 FORMAT(25F3.2)
WRITE (2.54)ARP
54 FORMAT (20X, 4HARP=,F10.5)
DO 60 I=1, IK+1
60 RO(I)=RBB+DR*(I - l.)
NI=0
7 NI=NI+1
IF(NI.GT. 300) GO TO 34
DO 6 I=2, IK
6 P1 (I) =P (I)
DO 80 I=2, IK
IF (I.EQ. I1) GO TO 9
IF(I.GT.I l) GO TO 11
P(I) =PABV+ (P (I1) -PABV) *LOG (RO (I) /RBB) /LOG (1/RBB)
write (*,21)P(I)
GO TO 8
9 IF(P(I).GT.PK) GO TO 10
P(I)=2./3*(P(I-l)+P(I + l)) – 1./6* (P(I-2) + P(I+2)) + 4 *A1 DR* ARP */AR
write (*,21)P(I)
GO TO 8
10 P(I)=2./3*(P(I-1) +P(I + l)) -l./6*(P(I-2)+P(I + 2))+4*Al*DR*ARP */AR*RAD*SQRT(P(I)**(1/KA)- P(I)**((KA+1) / (2*KA)))
write (*.21) P (I)
IF(P(I).GE.1) P(I)=0. 99999
GO TO 8
11 IF (I.EQ. I2) GO TO 12
IF (I.GT. I2) GO TO 14
P(I)=P(Il) + (P(I2)-P(I1))*L0G(RO(I))/L0G(R2B)
write (*.21)P(I)
GO TO 8
12 IF(P(I).GT.PK) GO TO 13
P (I)= 2./3*(P(I-1)+P(I+1))-l./6*(P (I-2)+P(I+2))+4*A2*ARP/AR
**DR/R2B
WRITE (*,26)NI
GO TO 8
13 P(I)=2./3*(P(I-1)+P(I + l))-l./6*(P(I-2)+P(I+2))+4*A2*ARP/AR *
**DR/R2B *RAD*SQRT (P (I) * * (1/KA) -P (I)**((KA+1) / (2 *KA)))
IF(P(I).GE.l.) P(I)=. 99999
GO TO 8
14 P(I)=P(I2)+(PABN-P(I2))*(LOG(RO(I)/R2B)/LOG(RHB/R2B))
8 IF(P(I). GE.l.) P(I)=0. 99999
80 CONTINUE
DO 81 I=2, IK
IF(ABS(P(I)-P1(I)). GE. 0.0001) GO TO 7
81 CONTINUE
34 WRITE (2,26)NI
WRITE (2,57) (PI), I=1,12
WRITE (2,56) (P(I), I=13, IK +1)
26 FORMAT (30X.I4)
57 FORMAT (12F6.4)
56 FORMAT (13F6.4)
DO 40 I=1, IK+1
40 P1 (I)=SQRT(P(I))
W1=0
DO 41 I=1, IK
41 W1=W1+0.5*PI*PS*R1*R1*(P1(I)+P1(I + 1))*(RO(I+1)*RO(I+1)-RO(I)* *RO(I))
CL=W1/(PS*PI*(RH*RH-RB*RB))
MR=PI*PS*RS*H*H*H/24/MU/DR*(RO(IK)*(P(IK-1)-P (IK+1)) +RO(2)*(P(3)-(1)))
MRB=MR/(MK1+MK2)
WRITE (2,58)W1,CL, MR, MRB
58 FORMAT (2X, 3HW1=,F10.3, 3HCL=,F10.6, 3HMR=.F10.6, 4HMRB=,F10.5)
IF (H.GE.HK) GOTO 17
H=H+HH
WRITE (2,59)H
59 FORMAT (10X,2HH=,F10.6) GOTO 1
17 STOP
END.
Приложение Д
Программа расчёта радиальных ЛГП с учетом прогиба лепестков
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <fcntl.h>
#include <io.h>
#include <alloc.h>
#include <graphics.h>
FILE *fp;
char *name="res.dat";
char *mainname="rez.txt";
char *buf;
void main(void)
{
#define n 1 /* количество лепестков */
#define I 16 /* количество линий сетки i (для табл. не более 18)*/
#define K 161 /* количество линий сетки k */
float p[I][K][n];
float h[I][K][n];
float pp[I][K][n];
int i;
int k;
int v;
int map;
int co=1;
int stepk,xt,yt;
float PP;
float pi=3.141596525;
float aust=90.0*pi/180.0; /* угол установочный */
float E=.00001; /* точность */
float ww=60000.0; /* скорость ротора, об/мин */
float R=.025; /* радиус цапфы, м */
float l=.075; /* длина подшипника, м */
float pa=101325.0; /* давление на торцах, па */
float ex=.000008; /* эксцентриситет, м */
float c=.00002; /* зазор, м */
float mu=.000018;/* вязкость */
float bb=.004; /*шаг гофр*/
float l0=.001;/*ширина гофра*/
float puas=.3;/*коэффициент Пуассона*/
float ee=2.1e11;
float tt=.00005;/*толщина гофра*/
float ccc=.0001;/*высота гофра*/
float alf=18.*pi/180.0;
float s[640];
float max[n];
float tp=alf+pi/180.0;
float w,delx,delt,lam,eps,hi,sec,look,ti,ti2;
float dug,e,MAX,cc,fy,fz,ffy,ffz,a,com,pro1,pro2,mt,wnes,nt;
float mx,incx,incy,startx,starty,xfirst,yfirst,xsecond,ysecond;
float ale,x,y,q,xa,ya,xb,yb,lenth,hight,finish,crx,cry;
int drv=VGA;
int mode=VGAHI;
textbackground (0);
textcolor (15);
clrscr();
cc=ccc/c;
a=2*pa*bb*l0*l0*l0*(1-puas*puas)/c/ee/tt/tt/tt;
w=ww*pi/30;
l=l/2.0;
delx=2.0/(I-1);
delt=2.0*pi/n/(K-1);
lam=l/R;
eps=ex/c;
hi=6*mu*w*R*R/pa/c/c;
for (v=0;v<n;v++)
for (k=0;k<K;k++)
for (i=0;i<I;i++)
p[i][k][v]=1.0;
dug=pi*.2/180.0;
while ((ale=fabs(tp - alf)) > dug)
{
alf=alf+(tp-alf)/2.0;
/*alf=tp;*/
for (v=0;v<n;v++)
{
gotoxy (25,10);
printf ("идет расчет %u лепестка",v+1);
map=1;
while (map == 1)
{
map=0;
MAX=0.0;
sec=2*pi*v/n+aust-alf;
for (k=0;k<K;k++)
{
for (i=0;i<I;i++)
{
h[i][k][v]=1.0-eps*cos(sec)+a*(sqrt(p[i][k][v])-1.0);
if (a*(sqrt(p[i][k][v])-1.0)>cc)
h[i][k][v]=1.0-eps*cos(sec)+cc;
}
sec=sec+delt;
}
/*gotoxy (50,19);
printf ("%1.5f",MAX); */
for (k=1;k<(K-1);k++)
for (i=1;i<(I-1);i++)
{
look=delt*delt*(p[i+1][k][v]+p[i-1][k][v])+lam*lam*delx*delx*(p[i][k+1][v]+p[i][k-1][v]);
look=look/2.0/(lam*lam*delx*delx+delt*delt);
ti=3.0*delt*delt*(p[i+1][k][v]-p[i-1][k][v])*(h[i+1][k][v]-h[i-1][k][v]);
ti=ti/8.0/h[i][k][v]/(lam*lam*delx*delx+delt*delt);
look=look+ti;
ti=3.0*lam*lam*delx*delx*(p[i][k+1][v]-p[i][k-1][v])*(h[i][k+1][v]-h[i][k-1][v]);
look=look+ti/8.0/h[i][k][v]/(lam*lam*delx*delx+delt*delt);
ti=hi*lam*lam*delx*delx*delt/2.0/h[i][k][v]/h[i][k][v]/h[i][k][v]/(lam*lam*delx*delx+delt*delt);
ti2=h[i][k][v]/2.0/sqrt(p[i][k][v])*(p[i][k+1][v]-p[i][k-1][v]);
ti2=ti2+sqrt(p[i][k][v])*(h[i][k+1][v]-h[i][k-1][v]);
PP=look-ti*ti2;
if (PP<1.0)
PP=1.0;
/* if (PP<=0.0)
PP=.000001;*/
if ((e=fabs(PP-p[i][k][v]))>E) { map=1; if (e>MAX) MAX=e; }
if (PP>10.0)
PP=10*MAX/PP; /* следить! */
if (PP<10.0)
/* p[i][k][v]=PP+(p[i][k][v]-PP)/2.0;*/
p[i][k][v]=PP;
}
gotoxy (50,19);
printf (" ");
gotoxy (50,19);
printf ("%1.5f",MAX);
}
/* gotoxy (25,10);
printf ("лепесток номер %u рассчитан",v+1);*/
}
fy=0.0;
fz=0.0;
for (v=0;v<n;v++)
{
sec=2*pi*v/n+aust-alf;
ffy=0.0;
ffz=0.0;
for (k=0;k<(K-1);k++)
for (i=0;i<(I-1);i++)
{
ffy=ffy+delx*delt*(sqrt(p[i][k][v])+sqrt(p[i+1][k][v])+sqrt(p[i][k+1][v])+sqrt(p[i+1][k+1][v]))*cos(delt/2+delt*k+sec);
ffz=ffz+(-1.0)*delx*delt*(sqrt(p[i][k][v])+sqrt(p[i+1][k][v])+sqrt(p[i][k+1][v])+sqrt(p[i+1][k+1][v]))*sin(delt/2+delt*k+sec);
}
fy=fy+1.0/4.0*pa*R*l*ffy;
fz=fz+1.0/4.0*pa*R*l*ffz;
}
tp=atan(fz/fy);
gotoxy (31,12);
printf ("tp=%1.5f",tp*180/pi);
gotoxy (31,13);
printf ("alf=%1.5f",alf*180/pi);
gotoxy (31,14);
printf ("alf-tp=%1.5f",(alf-tp)*180/pi);
}
wnes=sqrt(fy*fy+fz*fz);
com=0.0;
for (v=0;v<n;v++)
{
pro1=0.0;
pro2=0.0;
for (i=0;i<(I-1);i++)
for (k=0;k<(K-1);k++)
{
pro1=pro1+h[i][k][v]*(p[i][k+1][v]-p[i][k][v])/sqrt(p[i][k][v]);
pro2=pro2+1.0/h[i][k][v];
}
com=com+((-1.0)*0.25*R*R*c*pa*lam*pro1-R*R*R*R*mu*w*lam*delx*delt/c*pro2);
}
mt=-1.0*com;
nt=mt*w;
/********************* расчет закончен*************/
initgraph(&drv,&mode,"");
setcolor (15);
/*setbkcolor(1);*/
settextstyle (SMALL_FONT,HORIZ_DIR,1);
cleardevice();
stepk=(K-1)/9;
v=n-1;
yt=330;
xt=145;
for (i=0;i<I;i++)
{
for (k=0;k<K;k+=stepk)
{
outtextxy (xt,yt,gcvt(h[i][k][v],2,buf));
xt=xt+38;
}
xt=145;
yt=yt+9;
}
xt=153;
yt=310;
for (k=0;k<K;k+=stepk)
{
outtextxy (xt,yt,gcvt(k,2,buf));
xt=xt+38;
}
xt=110;
yt=330;
for (i=0;i<I;i++)
{
outtextxy (xt,yt,gcvt(i,2,buf));
yt=yt+9;
}
xt=115;
yt=310;
outtextxy (xt,yt,"I K");
xt=280;
yt=290;
outtextxy (xt,yt,"ЛЕПЕСТОК. ЗАЗОР");
xt=350;
yt=290;
outtextxy (xt,yt,gcvt(v+1,2,buf));
getch();
cleardevice();
v=0;
yt=240;
xt=215;
for (i=0;i<I;i++)
{
for (k=0;k<K;k+=stepk)
{
outtextxy (xt,yt,gcvt(h[i][k][v],2,buf));
xt=xt+38;
}
xt=215;
yt=yt+9;
}
xt=223;
yt=220;
for (k=0;k<K;k+=stepk)
{
outtextxy (xt,yt,gcvt(k,2,buf));
xt=xt+38;
}
xt=180;
yt=240;
for (i=0;i<I;i++)
{
outtextxy (xt,yt,gcvt(i,2,buf));
yt=yt+9;
}
xt=185;
yt=220;
outtextxy (xt,yt,"I K");
xt=320;
yt=200;
outtextxy (xt,yt,"ЛЕПЕСТОК 1. ЗАЗОР");
outtextxy (185,40,"***ДАННЫЕ ПО ПОДШИПНИКУ***");
outtextxy (175,50,"количество лепестков:");
outtextxy (375,50,gcvt(n,2,buf));
outtextxy (175,60,"скорость ротора(об/мин):");
outtextxy (375,60,gcvt(ww,6,buf));
outtextxy (175,70,"радиус цапфы(м):");/*,R);*/
outtextxy (375,70,gcvt(R,4,buf));
outtextxy (175,80,"длина подшипника(м):");/* %1.3f м",l*2.0);*/
outtextxy (375,80,gcvt(l*2.0,4,buf));
outtextxy (175,90,"угол установки(град):");
outtextxy (375,90,gcvt(180*aust/pi,6,buf));
outtextxy (175,100,"радиальный зазор(м):");/* %1.6f м",c);*/
outtextxy (375,100,gcvt(c,6,buf));
outtextxy (175,110,"коэффициент Х (хи):");/* %1.6f ",hi);*/
outtextxy (375,110,gcvt(hi,3,buf));
outtextxy (175,120,"момент сил трения(Н м):");/* %1.5f",mt);*/
outtextxy (375,120,gcvt(mt,2,buf));
outtextxy (175,130,"мощность трения(Вт):");/* %1.5f",nt);*/
outtextxy (375,130,gcvt(nt,3,buf));
outtextxy (175,140,"несущая способность(Н):");/* %1.5f",wnes);*/
outtextxy (375,140,gcvt(wnes,3,buf));
outtextxy (175,150,"угол положения");
outtextxy (190,160,"линии центров(град):");
outtextxy (375,160,gcvt(tp*180.0/pi,3,buf));
outtextxy (175,170,"эксцентр. относительный:");
outtextxy (375,170,gcvt(eps,3,buf));
outtextxy (460,40,"***ПОДЛОЖКА***");
outtextxy (432,50,"шаг гофр(м):");/* %1.5f м",bb);*/
outtextxy (580,50,gcvt(bb,4,buf));
outtextxy (432,60,"ширина гофра(м):");/* %1.5f м",l0);*/
outtextxy (580,60,gcvt(l0,4,buf));
outtextxy (432,70,"толщина гофра(м):");/* %1.5f м",tt);*/
outtextxy (580,70,gcvt(tt,4,buf));
outtextxy (432,80,"высота гофра(м):");/* %1.5f м",ccc);*/
outtextxy (580,80,gcvt(ccc,4,buf));
outtextxy (460,110,"***УСЛОВИЯ***");
outtextxy (432,120,"число линий I:");/* %u ",I);*/
outtextxy (580,120,gcvt(I,3,buf));
outtextxy (432,130,"число линий K:");/* %u ",K);*/
outtextxy (580,130,gcvt(K,3,buf));
outtextxy (432,140,"точность вычисл.:");/* %1.6f ",E);*/
outtextxy (580,140,gcvt(E,6,buf));
outtextxy (432,150,"давление на");
outtextxy (440,160,"границах(Па):");/* %1.1f ",pa);*/
outtextxy (580,160,gcvt(pa,6,buf));
settextstyle (TRIPLEX_FONT,HORIZ_DIR,1);
outtextxy (230,5,"ХАРАКТЕРИСТИКИ ПОДШИПНИКА");
getch();
mx=0.0;
for (v=0;v<n;v++)
{
max[v]=0.0;
for (i=0;i<I;i++)
for (k=0;k<K;k++)
{
pp[i][k][v]=p[i][k][v]-1.0;
if (mx<fabs(pp[i][k][v]))
mx=fabs(pp[i][k][v]);
if (max[v]<p[i][k][v])
max[v]=p[i][k][v];
}
}
for (v=0;v<n;v++)
for (k=0;k<K;k++)
for (i=0;i<I;i++)
pp[i][k][v]=-163.0*pp[i][k][v]/mx;
for (v=0;v<n;v++)
{
setbkcolor (15);
setcolor (1);
cleardevice();
for (i=0;i<640;i++)
s[i]=479.0;
incx=300.0/(I-1.0);
incy=300.0/(K-1.0);
startx=610.0;
starty=235.0;
xfirst=startx;
yfirst=starty;
xsecond=xfirst;
ysecond=yfirst;
for (i=0;i<I;i++)
{
for (k=0;k<(K-1);k++)
{
ysecond=ysecond-incy;
yb=fabs(-1.0*pp[i][k+1][v]-(ysecond+xsecond)/2.0);
xa=fabs(sqrt(3.0)*(yfirst-xfirst)/2.0);
ya=fabs(-1.0*pp[i][k][v]-(yfirst+xfirst)/2.0);
xb=fabs(sqrt(3.0)*(ysecond-xsecond)/2.0);
here: yfirst=ysecond;
}
yfirst=starty;
ysecond=yfirst;
xfirst=xfirst-incx;
xsecond=xfirst;
}
for (i=0;i<640;i++)
s[i]=479.0;
xfirst=startx;
yfirst=starty;
xsecond=xfirst;
ysecond=yfirst;
for (k=0;k<K;k++)
{
for (i=0;i<(I-1);i++)
{
xsecond=xsecond-incx;
yb=fabs(-1.0*pp[i+1][k][v]-(ysecond+xsecond)/2.0);
xa=fabs(sqrt(3.0)*(yfirst-xfirst)/2.0);
ya=fabs(-1.0*pp[i][k][v]-(yfirst+xfirst)/2.0);
xb=fabs(sqrt(3.0)*(ysecond-xsecond)/2.0);
hhere: xfirst=xsecond;
}
xfirst=startx;
xsecond=xfirst;
yfirst=yfirst-incy;
ysecond=yfirst;
}
/******************************************************/
/****************** text is here ************/
settextstyle (TRIPLEX_FONT,HORIZ_DIR,2);
outtextxy (150,450,"ЛЕПЕСТОК ");
outtextxy (275,450,gcvt(v+1,1,buf));
outtextxy (290,450,". Pmax =");
outtextxy (405,450,gcvt(pa*sqrt(max[v]),5,buf));
outtextxy (485,450,"Па");
getch();
}
fp=fopen (name,"wt");
fprintf (fp,"\n ***ДАННЫЕ ПО ПОДШИПНИКУ***");
fprintf (fp,"\n количество лепестков: %u ",n);
fprintf (fp,"\n скорость ротора: %1.1f об/мин",ww);
fprintf (fp,"\n радиус цапфы: %1.3f м",R);
fprintf (fp,"\n длина подшипника: %1.3f м",l*2.0);
fprintf (fp,"\n эксцентриситет: %1.6f м",ex);
fprintf (fp,"\n зазор: %1.6f м",c);
fprintf (fp,"\n коэффициент Х (хи): %1.6f ",hi);
fprintf (fp,"\n момент сил трения: %1.5f",mt);
fprintf (fp,"\n мощность трения: %1.5f",nt);
fprintf (fp,"\n несущая способность: %1.5f",wnes);
fprintf (fp,"\n\n ***ПОДЛОЖКА***");
fprintf (fp,"\n шаг гофр: %1.5f м",bb);
fprintf (fp,"\n ширина гофра: %1.5f м",l0);
fprintf (fp,"\n толщина гофра: %1.5f м",tt);
fprintf (fp,"\n высота гофра: %1.5f м",ccc);
fprintf (fp,"\n\n ***УСЛОВИЯ***");
fprintf (fp,"\n число линий I: %u ",I);
fprintf (fp,"\n число линий K: %u ",K);
fprintf (fp,"\n точность вычислений: %1.6f ",E);
fprintf (fp,"\n давление на торцах: %1.1f ",pa);
fprintf (fp,"\n Pressure");
for (v=0;v<n;v++)
{
fprintf (fp,"\n\n\n lepestok %u", v);
for (i=0;i<I;i++)
{
fprintf (fp,"\n");
for (k=0;k<K;k++)
{
fprintf (fp,"%1.3f;",p[i][k][v]);
}
}
}
fclose (fp)
Приложение Е