Препринт № 706
Москва 2002 г.
Аннотация.
Рассматривается задача о потенциальном обтекании тела
вращения потоком несжимаемой жидкости. Оказывается, что задача
плохо обусловлена. Приводится численный алгоритм и программы
на Фортране.
The summary.
The problem about potential flow of a body of rotation by a flow of
incompressible fluid is considered. It appears, that the problem is badly
caused. The numerical algorithm and programs on a Fortran is resulted.
2
Введение.
3
является его насыщаемость, т. е. он не использует информацию о
гладкости решаемого уравнения Лапласа. В настоящей работе
отрабатывается методика построения алгоритма без насыщения на
примере тела вращения, обтекаемого потенциальным потоком
идеальной несжимаемой жидкости. Построенный алгоритм
использует априорную информацию о гладкости решения уравнения
Лапласа. Проведенные расчеты показывают перспективность его
применения в задаче об обтекании автомобиля потенциальным
потоком идеальной несжимаемой жидкости. Количество узлов сетки
по сравнению с методом конечных элементов может быть
уменьшено в 10 раз при получении в результате такой же точности.
Осесимметричная задача, т.е. обтекание тела вращения под
нулевым углом атаки, решалась в [7] методом конечных элементов.
Точность полученного решения невысока. В настоящей работе
исследуется более общее течение под ненулевыми углами атаки.
Предложенный численный алгоритм не имеет насыщения [7] ,т.е.
его точность автоматически реагирует на гладкость решения. Это
позволяет проводить расчеты с высокой точностью на редкой сетке.
Задача обтекания тела Т потенциальным потоком идеальной
несжимаемой жидкости сводится к отысканию потенциала скорости
Ф=Ф(х1,х2,х3) - функции гармонической вне обтекаемого тела Т:
(1) ∆Φ = 0,
∂Φ
(2) = 0,
∂n ∂T
(3) grad Φ → V∞ при x → ∞,
4
Без ограничения общности можно принять, что скорость на
бесконечности V∞ = (1,0,0). В случае шара Т = {х:|х| ≤ 1} потенциал
имеет вид Ф = х1 + х1 /(2|х|3).
1 1
pρ −1 + V 2 = p ∞ ρ −1 + V 2 , V = gradΦ,
2 2
∂v 1 ∂u ∂u 1 ∂v
=− , = ,
∂r r ∂θ ∂r r ∂θ
r ∂ ∂Φ ∂ v ∂Φ 1 ∂ 2 Φ
∆Φ = ∂r rv ∂r + ∂θ r ∂θ + v 2 ∂ϕ 2 , ω = (∂v / ∂θ ) + (∂u / ∂θ ) .
2 2 2
vω 2
5
Обозначим G область, получаемую меридиональным сечением
тела вращения Т. Пусть ψ=ψ(ξ), ψ=u+iv, ξ=r exp (iθ) - конформное
отображение круга | ξ| ≤ 1 на внешность области G, причем центр
круга переходит в бесконечность, тогда ω = r | ψ ′(ξ ) | .
Удобно считать, что (r, θ, φ) - сферические координаты, тогда
соотношения (6) задают отображение проколотого в центре шара
единичного радиуса на внешность рассматриваемого тела Т. В
результате замены (6) соотношения (4), (5) принимают вид
∂Φ1
(7) =| ϕ ′ | f (θ , ϕ ) ≡ f1 (θ , ϕ )
∂r r =1
(8) Φ1 r = 0 = 0,
∂Φ 2
(9) = 0,
∂r r =1
(10) Φ2 r =0
= 0.
(11) ∆Φ 2 = −∆(rf1 (θ , ϕ ) ≡ F (r ,θ , ϕ )
6
Рассмотрим, например, эллипсоид вращения
x12 x22 x32
+ + − 1 = 0.
b2 b2 a 2
Тогда:
1 a +b
u ( r , θ ) = ( a − b) r + cos θ ,
2 r
1 a +b
v(r ,θ ) = (a − b)r − sin θ ,
2 r
2 2
1 ( a + b) 2 1 ( a + b) 2
ω = (a − b)r +
2
sin 2 θ + (a − b)r − cos 2 θ ,
4 r 4 r
f1 (θ , ϕ ) = a sin θ cos ϕ ,
r cos ϕ 1 a + b 2 r sin θ cos ϕ
F ( r ,θ , ϕ ) = a (b − a ) sin θ + 2 (b − a )r + r cos θ +
2
.
ω 2v v2
∑
l '
2
H= Λ k ⊗ hk , L = 2l + 1,
L
k =0
7
r ∂ ∂Φ 2 ∂ v ∂Φ 2 k 2
(12) ∂r rv ∂r + ∂θ r ∂θ − 2 Φ 2 , k = 0,1,..., L − 1
vω 2 v
π (2ν − 1)π
θν = ( xν + 1), xν = cos χν , χν = , ν = 1,2,..., n,
2 2n
∑
n
Tn ( x) fν 1
f (θ ) = , x= (2θ − π ), fν = f (θ ν ),ν = 1,2,..., n;
(13) (−1) ν −1
π
ν =1 n ( x − xν )
sin xν
Tn ( x) = cos (narccos( x)).
1 (2ν − 1)π
rν = ( yν + 1), yν = cos αν , αν = , ν = 1,2,..., m,
2 2m
4 cos α ν m −1
β νp = , cνm = ∑ β νp (1 + 2 p 2 ).
m(cos α ν + 1) p =0
Заметим, что lν (0) = 0, lν′ (1) = 0, т.е. краевые условия (9), (10)
8
выполнены. Первую, и вторую производные, входящие в
соотношение (12), получим дифференцированием
интерполяционной формулы (14).
После того, как матрицы Λk, k = 0,1,... ,l, построены для
приближенного решения краевой задачи (9)-(11) требуется решить
систему линейных уравнений
(15) HФ2=F,
∑
l '
2
(16) H −1 = Λ−1 k ⊗ hk , L = 2l + 1,
L
k =0
10
правой части уравнения Пуассона с запасными знаками.
PROGRAM INT5
C 23.7.92 - 31.7.92
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION C0(4900),C1(4900),C2(4900),C3(4900),C4(4900),
*F(630),U(630)
DIMENSION AD(4900),D0(4900),D1(4900),R0(4900)
DIMENSION DL1(49),DL2(49),DB1(169),DB2(169)
DIMENSION LX(70),LY(70)
COMMON AE,BE
FU(R,TETA,FI)=(R**2/2.-R)*SIN(TETA)*COS(FI)
AE=1.D0
BE=1.D0
C
M=5
M=7
N=10
NT=M*N
CALL MLKG4 (C0,0,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C1,1,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C2,2,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C3,3,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C4,4,DL1,DL2,DB1,DB2,M,N,NT)
NOUT =4
OPEN(UNIT=4,FILE='NOUT')
IJ=0
DO 10 I=1,NT
DO 10 J=1,NT
IJ=IJ+1
10 AD(IJ)=C0(IJ)
CALL DMINV (C0,NT,DET,LX,LY)
C
NM=100
NM=5
NM=10
EPS=1.D-15
IJ=0
11
DO 13 I=1,NT
DO 13 J=1,NT
IJ=IJ+1
13 D0(IJ)=C0(IJ)
CALL ITER0 (NT,AD,D0,D1,R0,NM,EPS)
IJ=0
DO 11 I=1,NT
DO 11 J=1,NT
IJ=IJ+1
11 C0(IJ)=D1(IJ)
CALL PRO (AD,C0,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C0,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C0,CN)
WRITE (*,*) 'CNORM = ',CN
C
PM=1.D+17
PM=1.D0
PM=1.D+10
IJ=0
DO 130 I=1,NT
DO 130 J=1,NT
IJ=IJ+1
130 C0(IJ)=C0(IJ)/PM
C
IJ=0
DO 20 I=1,NT
DO 20 J=1,NT
IJ=IJ+1
20 AD(IJ)=C1(IJ)
CALL DMINV (C1,NT,DET,LX,LY)
CALL PRO (AD,C1,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C1,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C1,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 131 I=1,NT
DO 131 J=1,NT
12
IJ=IJ+1
131 C1(IJ)=C1(IJ)/PM
C
IJ=0
DO 30 I=1,NT
DO 30 J=1,NT
IJ=IJ+1
30 AD(IJ)=C2(IJ)
CALL DMINV (C2,NT,DET,LX,LY)
CALL PRO (AD,C2,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C2,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C2,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 132 I=1,NT
DO 132 J=1,NT
IJ=IJ+1
132 C2(IJ)=C2(IJ)/PM
C
IJ=0
DO 40 I=1,NT
DO 40 J=1,NT
IJ=IJ+1
40 AD(IJ)=C3(IJ)
CALL DMINV (C3,NT,DET,LX,LY)
CALL PRO (AD,C3,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C3,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C3,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 133 I=1,NT
DO 133 J=1,NT
IJ=IJ+1
133 C3(IJ)=C3(IJ)/PM
C
IJ=0
13
DO 50 I=1,NT
DO 50 J=1,NT
IJ=IJ+1
50 AD(IJ)=C4(IJ)
CALL DMINV (C4,NT,DET,LX,LY)
CALL PRO (AD,C4,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C4,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C4,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 134 I=1,NT
DO 134 J=1,NT
IJ=IJ+1
134 C0(IJ)=C0(IJ)/PM
C
PI=3.141592653589D0
L=9
I=0
DO 1 NU=1,N
XN=COS((2.*NU-1.)*PI/2./N)
TETA=PI*(XN+1.)/2.
DO 1 MU=1,M
XN=COS((2.*MU-1.)*PI/2./M)
R=0.5*(XN+1.)
DO 1 K=0,8
FI=2.*PI*K/L
I=I+1
U(I)=FU(R,TETA,FI)
1 F(I)=FB(R,TETA,FI)
NG=NT*L
WRITE(*,*) 'ТОЧНОЕ ЗНАЧЕНИЕ'
WRITE(*,12) (U(I),I=1,NG,81)
12 FORMAT(4E18.11)
WRITE(4,*) 'ТОЧНОЕ ЗНАЧЕНИЕ'
WRITE(4,12) (U(I),I=1,NG)
C
CALL DIVH (NT,2,C0,C1,C2,C3,C4,F,U)
C
WRITE(*,*) 'ВЫЧИСЛЕННОЕ ЗНАЧЕНИЕ'
14
WRITE(*,12) (U(I),I=1,NG,81)
WRITE(4,*) 'ВЫЧИСЛЕННОЕ ЗНАЧЕНИЕ'
WRITE(4,12) (U(I),I=1,NG)
STOP
END
FUNCTION FB(R,TETA,FI)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
FB=(AE*R*COS(FI)/V(R,TETA)/W2(R,TETA))*
*((BE-AE)*R*SIN(TETA)**2+ 0.5*((BE-
- AE)*R+(AE+BE)/R)*COS(2.*TETA))+R*SIN(TETA)*COS(FI)/
/V(R,TETA)**2
RETURN
END
FUNCTION V(R,TETA)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
V=0.5*((AE-BE)*R-(AE+BE)/R)*SIN(TETA)
RETURN
END
FUNCTION VR(R,TETA)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
VR=0.5*(AE-BE+(AE+BE)/R**2)*SIN(TETA)
RETURN
END
FUNCTION VT (R,TETA)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
VT=0.5*((AE-BE)*R-(AE+BE)/R)*COS(TETA)
RETURN
END
FUNCTION W2 (R,TETA)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
W2=0.25*((AE-BE)*R+(AE+BE)/R)**2*SIN(TETA)**2+
+0.25*((AE-BE)*R-(AE+BE)/R)**2*COS(TETA)**2
RETURN
END
15
SUBROUTINE MLKG4 (A,K,DL1,DL2,DB1,DB2,M,N,NT)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION
A(NT,NT),DL1(M,M),DL2(M,M),DB1(N,N),DB2(N,N)
PI=3.141592653589D0
CALL DIFFR1(DL1,M)
CALL DIFFR2(DL2,M)
CALL DIFT1 (DB1,N)
CALL DIFT2 (DB2,N)
C
DO 2 I=1,NT
DO 2 J=1,NT
2 A(I,J)=0.D0
I1=0
DO 1 NU=1,N
XN=COS((2.*NU-1)*PI/2./N)
TN=PI*(XN+1.)/2.
DO 1 MU=1,M
XN=COS((2.*MU-1)*PI/2./M)
RM=0.5*(XN+1.)
I1=I1+1
I2=0
DO 1 NU1=1,N
DO 1 MU1=1,M
I2=I2+1
IF(NU.EQ.NU1) DN=1.D0
IF(NU.NE.NU1) DN=0.D0
IF(MU.EQ.MU1) DM=1.D0
IF(MU.NE.MU1) DM=0.D0
A(I1,I2)=(RM+RM**2*VR(RM,TN)/V(RM,TN))*
*DL1(MU,MU1)*DN+ +RM**2*DL2(MU,MU1)*DN+
+(VT(RM,TN)/V(RM,TN))*DB1(NU,NU1)*DM+
+DB2(NU,NU1)*DM
A(I1,I2)=A(I1,I2)/W2(RM,TN)
IF(I1.EQ.I2) A(I1,I2)=A(I1,I2)-K**2/V(RM,TN)**2
1 CONTINUE
RETURN
END
C
SUBROUTINE PRO (A,B,NT,CNORM)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION A(NT,NT),B(NT,NT)
16
CNORM=0.D0
DO 1 I=1,NT
DO 1 J=1,NT
P=0.D0
DO 2 L=1,NT
2 P=P+A(I,L)*B(L,J)
IF (I.EQ.J) P=P-1.D0
IF (ABS(P).GT.CNORN ) CNORM = ABS(P)
1 CONTINUE
RETURN
END
SUBROUTINE ITER0 (N,A,D0,D1,R,M,EPS)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION A(N,N),D0(N,N),D1(N,N),R(N,N)
NITER=0
100 CONTINUE
WRITE (*,*) ' NITER = ',NITER
DO 1 I=1,N
DO 1 J=1,N
P=0.D0
DO 2 L=1,N
2 P=P+A(I,L)*D0(L,J)
R(I,J)=-P
IF (I.EQ.J) R(I,J)=R(I,J)+1.D0
1 CONTINUE
PMAX=0.D0
DO 3 I=1,N
DO 3 J=1,N
IF (ABS(R(I,J)).GT.PMAX) PMAX=ABS(R(I,J))
3 CONTINUE
IF (PMAX.LE.EPS.OR.NITER.GT.M) RETURN
NITER=NITER+1
DO 4 I=1,N
DO 4 J=1,N
P=0.D0
DO 5 L=1,N
5 P=P+D0(I,L)*R(L,J)
4 D1(I,J)=D0(I,J)+P
DO 6 I=1,N
DO 6 J=1,N
6 D0(I,J)=D1(I,J)
17
GO TO 100
RETURN
END
SUBROUTINE SISLO (N,A,A1,COND)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION A(N,N),A1(N,N)
P=0.D0
DO 1 I=1,N
Q=0.D0
DO 2 J=1,N
2 Q=Q+ABS(A(I,J))
IF (Q.GT.P) P=Q
1 CONTINUE
P1=0.D0
DO 3 I=1,N
Q=0.D0
DO 4 J=1,N
4 Q=Q+ABS(A1(I,J))
IF (Q.GT.P1) P1=Q
3 CONTINUE
COND=P*P1
RETURN
END
SUBROUTINE CNORM1 (N,A,CN)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION A(N,N)
P=0.D0
DO 1 I=1,N
Q=0.D0
DO 2 J=1,N
2 Q=Q+ABS(A(I,J))
IF (Q.GT.P) P=Q
1 CONTINUE
CN=P
RETURN
END
18
Вызываемые подпрограммы и подпрограмм-функции:
MLKG4, DMINV, ITER0, PRO, SISLO, CNORM1, FB, V, VR,
VT, W2.
19
SUBROUTINE DIFFR2 (D2,M)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION D2(M,M)
PI=3.141592653589D0
DO 1 MU=1,M
TM=(2.*MU-1.)*PI/2./M
XM=COS(TM)
RM=0.5*(XM+1.)
DO 1 NU=1,M
TN=(2.*NU-1.)*PI/2./M
P=0.
DO 2 NP=0,M-1
BETA=4.*COS(NP*TN)/(1.+COS(TN))/M
IF(NP.EQ.0) BETA=BETA/2.
TPS=NP*SIN(NP*TM)/SIN(TM) TPS2=-
NP**2*COS(NP*TM)/SIN(TM)**2+NP*COS(TM)*SIN(NP*T
M)/
/ SIN(TM)**3
TMS=M*SIN(M*TM)/SIN(TM) TMS2=M*COS(TM)*
*(-1)**M/SIN(TM)**3
2 P=P+BETA*(4.*TPS+4.*RM*TPS2-
(1.+2.*NP**2)*(4.*XM*TMS+ +4.*(RM**2-RM)*TMS2))
1 D2(MU,NU)=P
RETURN
END
FUNCTION FB(R,TETA,FI)
21
PROGRAM INT7
C 31.7.92
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION C0(4900),C1(4900),C2(4900),C3(4900),C4(4900),
*F(630),U(630)
DIMENSION AD(4900),D0(4900),D1(4900),R0(4900)
DIMENSION DL1(49),DL2(49),DB1(169),DB2(169)
DIMENSION LX(70),LY(70)
COMMON AE,BE
FU(R,TETA,FI)=(R**2/2.-R)*SIN(TETA)*COS(FI)
AE=1.D0
BE=1.D0
BE=0.5D0
C
M=5
M=7
N=10
NT=M*N
CALL MLKG4 (C0,0,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C1,1,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C2,2,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C3,3,DL1,DL2,DB1,DB2,M,N,NT)
CALL MLKG4 (C4,4,DL1,DL2,DB1,DB2,M,N,NT)
NOUT =4
OPEN(UNIT=4,FILE='NOUT')
C
IJ=0
DO 10 I=1,NT
DO 10 J=1,NT
IJ=IJ+1
10 AD(IJ)=C0(IJ)
CALL DMINV (C0,NT,DET,LX,LY)
C
CALL PRO (AD,C0,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C0,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C0,CN)
WRITE (*,*) 'CNORM = ',CN
C
PM=1.D+17
PM=1.D0
22
C PM=1.D+10
IJ=0
DO 130 I=1,NT
DO 130 J=1,NT
IJ=IJ+1
130 C0(IJ)=C0(IJ)/PM
C
IJ=0
DO 20 I=1,NT
DO 20 J=1,NT
IJ=IJ+1
20 AD(IJ)=C1(IJ)
CALL DMINV (C1,NT,DET,LX,LY)
CALL PRO (AD,C1,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C1,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C1,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 131 I=1,NT
DO 131 J=1,NT
IJ=IJ+1
131 C1(IJ)=C1(IJ)/PM
C
IJ=0
DO 30 I=1,NT
DO 30 J=1,NT
IJ=IJ+1
30 AD(IJ)=C2(IJ)
CALL DMINV (C2,NT,DET,LX,LY)
CALL PRO (AD,C2,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C2,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C2,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 132 I=1,NT
DO 132 J=1,NT
23
IJ=IJ+1
132 C2(IJ)=C2(IJ)/PM
C
IJ=0
DO 40 I=1,NT
DO 40 J=1,NT
IJ=IJ+1
40 AD(IJ)=C3(IJ)
CALL DMINV (C3,NT,DET,LX,LY)
CALL PRO (AD,C3,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C3,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C3,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 133 I=1,NT
DO 133 J=1,NT
IJ=IJ+1
133 C3(IJ)=C3(IJ)/PM
C
IJ=0
DO 50 I=1,NT
DO 50 J=1,NT
IJ=IJ+1
50 AD(IJ)=C4(IJ)
CALL DMINV (C4,NT,DET,LX,LY)
CALL PRO (AD,C4,NT,CNORM)
WRITE (*,*) 'DET = ',DET,' CNORM = ',CNORM
CALL SISLO (NT,AD,C4,COND)
WRITE(*,*) 'COND = ',COND
CALL CNORM1 (NT,C4,CN)
WRITE (*,*) 'CNORM = ',CN
C
IJ=0
DO 134 I=1,NT
DO 134 J=1,NT
IJ=IJ+1
134 C0(IJ)=C0(IJ)/PM
C
PI=3.141592653589D0
24
L=9
I=0
DO 1 NU=1,N
XN=COS((2.*NU-1.)*PI/2./N)
TETA=PI*(XN+1.)/2.
DO 1 MU=1,M
XN=COS((2.*MU-1.)*PI/2./M)
R=0.5*(XN+1.)
DO 1 K=0,8
FI=2.*PI*K/L
I=I+1
U(I)=FU(R,TETA,FI)
1 F(I)=FB(R,TETA,FI)
NG=NT*L
WRITE(*,*) 'ТОЧНОЕ ЗНАЧЕНИЕ'
WRITE(*,12) (U(I),I=1,NG,81)
12 FORMAT(4E18.11)
WRITE(4,*) 'ТОЧНОЕ ЗНАЧЕНИЕ'
WRITE(4,12) (U(I),I=1,NG)
C
CALL DIVH (NT,2,C0,C1,C2,C3,C4,F,U)
C
WRITE(*,*) 'ВЫЧИСЛЕННОЕ ЗНАЧЕНИЕ'
WRITE(*,12) (U(I),I=1,NG,81)
WRITE(4,*) 'ВЫЧИСЛЕННОЕ ЗНАЧЕНИЕ'
WRITE(4,12) (U(I),I=1,NG)
STOP
END
FUNCTION FB(R,TETA,FI)
IMPLICIT REAL*8 (A-H,O-Z)
COMMON AE,BE
FB=(AE*R*COS(FI)/V(R,TETA)/W2(R,TETA))*((BE-
-AE)*R*SIN(TETA)**2+ +0.5*((BE-
-AE)*R+(AE+BE)/R)*COS(2.*TETA))+R*SIN(TETA)*COS(FI)/
/V(R,TETA)**2
RETURN
END
III. Заключение. По поводу получения полных версий описанных
программ обращайтесь по электронному адресу: algazinsd@mail.ru
или на адрес Института проблем механики РАН, 119526, Москва,
проспект Вернадского д.101, к.1.
25
Алгазин Сергей Дмитриевич, Грошев Михаил
Владимирович
26