Препринт № 689
Москва 2001 г.
Аннотация.
Рассматриваются задача о флаттере пластины произвольной
формы в плане. Программа устроена таким образом, что если
известны параметрические уравнения границы области, то можно
вычислить критическую скорость флаттера при любом направлении
вектора скорости потока относительно сторон пластины.
Приводится описание программного комплекса.
The summary.
Are considered a problem about flutter of a plate of any form in the
plan. The program is arranged in such a manner that if the parametric
equations of border of area are known, it is possible to calculate critical
speed flutter at any direction of vector of a flow velocity concerning the
parties of a plate. The description of a program complex is resulted.
2
Введение.
Это третий препринт серии объявленной в [1]; он посвящён
задаче флаттера пластины, обтекаемой с одной стороны
потоком воздуха. Принята математическая модель флаттера
пластины построена А.А. Ильюшиным, И.А. Кийко [2].
Эффективный алгоритм решения задачи разработан авторами
[3]. Настоящая работа посвящена описанию программного
комплекса, применяемого для численного решения
поставленной задачи. Основу программы составляет
построение дискретного бигармонического оператора по
методике [4]. Конформное отображение строится по программе
Э.П. Казанджана [5]. Программный комплекс устроен таким
образом, что если известны параметрические уравнения
границы области, то возможно найти критическую скорость
флаттера и построить соответствующую собственную форму.
Стандартно критическая скорость флаттера ищется на двух
сетках 9х15 и 15х31; критерием правильности расчёта является
близость полученных значений, возможно задать произвольную
сетку. Подробно структура программы описана ниже. В
настоящей работе описана версия 2.0 программы.
3
D∆2ϕ − βVgradϕ = λϕ ; D = Eh3 /(12(1 − ν 2 )), β = kp0 / c0 (1)
ϕ |∂G = 0, Mϕ |∂G = 0 (2)
λ= -ρhω2-βω
(3)
4
x=х'1, у=у',. Е=Е'р0, h=h'1, ρ=ρ’p0/c02,
ω=ω’c0/l, V=V’c0, φ=φ’l
Подставив в (1) (3), убеждаемся, что в безразмерной форме
система сохраняет свой вид, если параметр β заменить на
безразмерный параметр k. В дальнейшем изложении штрихи будем
опускать.
Введем вместо декартовых координат х, у криволинейные
координаты r, θ по формулам х =u(r,θ), у = v(r,θ); если выполнены
условия Коши-Римана
∂u 1 ∂v ∂v 1 ∂u
= , =− ,
∂r r ∂θ ∂r r ∂θ
(4)
f (r ,θ ) = Φ (r ,θ ) + λ | ψ ' (ς ) |2 ϕ
5
∂ϕ 1 ∂ϕ
Φ (r ,θ ) = k ((Vxur + Vy vr ) + (Vy ur − urVx ) )
∂r r ∂θ
P0=1.0333D0
C
C Коэффициент Пуассона PNU=0.33
PNU=0.33D0
C Показатель политропы K=1.4 - это соответствует скорости звука
331.26 C м/сек
K=1.4D0
C
C Безразмерная толщина пластинки H
H=3.D-3
C Модуль Юнга для алюминия E=0.7E6 кГ/см**2
E=0.7D6
C
C Плотность воздуха 1.2928 (кг/м**3)
R=1.2928D0
6
C
C Плотность материала пластины 2.7E3 (кг/м**3)
RO=2.7D3
C
C Параметр возмущенного круга
EPS=0.0D0
C Число лепестков эпитрохоиды
NP = 4
C
…
E=E/P0
C Цилиндрическая жесткость DB
DB=E*H**3/12.D0/(1.D0-PNU**2)
C Безразмерная плотность
RO=K*RO/R
C
…
CALL FLUT34C
C
CALL FLUT33D
C
CALL FLUT16
STOP
END
SUBROUTINE FLUT34C
IMPLICIT REAL*8 (A-H,O-Z)
7
CHARACTER*1 KEY,KEY1
EXTERNAL F
COMMON /COM2/ NLAMDA,TJ,M,N,NT,IPR
COMMON /TXT/ FILE
COMMON /FL/ FLG(20)
DIMENSION F1(20),F2(20),V19(2),IN19(2)
Q – Выход
Y – GO TO 100
A – GO TO 25
N–
M= ?, N= ?
NLAMDA = ?
IPR = ?
8
CALL FLUT2
A,B = ?
100 IPR = 1
M=9
N =15
NLAMDA=5
NLAMDA = ?
CALL FLUT2
…
9
25 IPR=2
M=9
N=15
NLAMDA=5
V0=0.
STEP=0.01
V=0.6
NSTEP=10
CALL FLUT2
...
M=15
N=31
CALL FLUT2
После окончания работы печатается результат расчёта на двух
сетках.
10
SUBROUTINE FLUT2
REAL*8 K
COMMON /RAM/ A,AB
COMMOM /FZ/ FUR(465),FVR(465),ZY(465)
…
CHARACTER*8 FN
CHARACTER*6 FILEZ
COMMON /COM2/ NLAMDA,TJ,M1,M,N,IPR
COMMON /DATA/ NP,K,H,RO,DB.EPS,PNU
COMMON /TXT/ FN
Y – GO TO 110
M=?
N=?
110 CONTINUE
Q – RETUTN
Y – GO TO 110
N–
13
M = ?, N = ?
NLAMDA = ?
SUBROUTINE FLUT16
REAL*8 K
COMMON /COM2/ NLAMDA,TJ,M,N,NT,IPR
14
COMMON /DAT/ NP,K,H,RO,DB,EPS,PNU
NG=101
PROGRAM KAZAN
PARAMETER (N=201,N1=202,M=656)
C 2.06.94
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION AL(N,N),PR(N),PSI(N),SL(N),FK(N)
DIMENSION TJ(N1),TJ1(N1),TJ2(N1),MD(N1)
COMPLEX*16 T(N),T1(N),T2(N),ZJ(N),SUM(N)
COMPLEX*16 CW(M),CZ(M),CZ1(M),CZ2(M),CC
DIMENSION Z(M),ZR(M),ZG(M),YP(M),Y(M),C(M)
DIMENSION FUR(M),FVR(M)
CHARACTER*6 FILEZ
COMMON /D/ LL(301),MM(301)
C Этот common блок нужно также вставить в подпрограмму conf
COMMON /S/ S
COMMON // E
PUAS=0.33D0
WRITE(*,*) ' E = ? '
READ(*,*) E
S=2.D0*3.141592653589D0
CC=(0.,0.)
WRITE (*,*) 'M = ?'
READ (*,*) MG
15
WRITE (*,*) 'N =?'
READ (*,*) NG
NT=MG*NG
IJ=0
DO 1 I=1,NG
IJ=IJ+1
TT=S*(I-1)/NG
1 CW(IJ)=(COS(TT))+(0.,1.)*(SIN(TT))
DO 2 NU=1,MG
R=COS((2.*NU-1.)*S/8./MG)
DO 2 L=1,NG
TT=S*(L-1)/NG
IJ=IJ+1
2 CW(IJ)=(R*COS(TT))+(0.,1.)*(R*SIN(TT))
CALL CONFOR
1(CC,AL,PR,PSI,T,T1,T2,SL,FK,ZJ,SUM,N,TJ,TJ1,TJ2,
2MD,N1,CW,CZ,CZ1,CZ2,NT+NG)
DO 3 I=1,NT+NG
3 Z(I)=CZ1(I)*CONJG(CZ1(I))
DO 6 J=1,NG
6 YP(J)=PUAS+(PUAS-1.)*REAL(CW(J)*CZ2(J)/CZ1(J))
IJ=0
DO 8 NU=1,MG
R=COS((2.*NU-1.)*S/8./MG)
DO 8 L=1,NG
TT=S*(L-1)/NG
IJ=IJ+1
J=IJ+NG
FUR(IJ)=REAL(CZ1(J)*CW(J)/R)
FVR(IJ)=AIMAG(CZ1(J)*CW(J)/R)
8 CONTINUE
PAUSE
WRITE (*,*) 'Запись на диск'
WRITE (*,*) 'Введи имя файла (6 букв)'
READ (*,10) FILEZ
10 FORMAT (A)
OPEN (4,FILE=FILEZ)
WRITE (4,*) (Z(I),I=1,NT+NG)
WRITE (4,*) (YP(I),I=1,NG)
WRITE (4,*) (FUR(I),I=1,NT)
WRITE (4,*) (FVR(I),I=1,NT)
STOP
16
END
SUBROUTINE KONT(C)
IMPLICIT REAL*8 (A-H,O-Z)
C Эллипс
COMPLEX*16 CT,CT1,CT2
COMMON /TRI/ CT,CT1,CT2
COMMON // E
A=1.
B=SQRT(1.-E*E)
CC=COS(C)
SS=SIN(C)
CT=(A*CC)+(0.,1.)*(B*SS)
RETURN
ENTRY UR(C)
CT1=(-A*SS)+(0.,1.)*(B*CC)
CT2=(-A*CC)+(0.,1.)*(-B*SS)
RETURN
END
PROGRAM TECPL1
C 21.03.2001
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION URR(465),Z(656)
COMPLEX CZ(656)
CHARACTER*1 IPP
WRITE (*,*) 'Нужна запись вектора для Tecplot (Y/N)'
READ (*,14) IPP
14 FORMAT (A)
IF (IPP.NE.'Y') GO TO 1200
WRITE (*,*) 'M,N = ?'
READ (*,*) M,N
NT=M*N
OPEN (2,FILE='FILEZ')
READ (2,*) (Z(I),I=1,NT+N)
C 5.03.2001
READ (2,*) (CZ(I),I=1,NT+N)
OPEN (9,FILE='FDATA1')
READ (9,12) (URR(I),I=1,NT)
12 FORMAT (4E18.11)
17
OPEN (1,FILE='EIGV.DAT')
WRITE (1,*) 'TITLE="Eigen vector Data File"'
WRITE (1,*) 'VARIABLES="X","Y","Eigen function"'
WRITE (1,*) 'ZONE I=',M,',J=',N, ' ,F=POINT'
DO I=1,NT
CC1=REAL(CZ(I+N))
CC2=AIMAG(CZ(I+N))
WRITE (1,121) CC1,CC2,URR(I)
121 FORMAT (3E10.2)
END DO
1200 CONTINUE
STOP
END
V. Тестовые расчёты.
18
Алгазин Сергей Дмитриевич, Кийко Игорь Анатольевич
19