Метод конечных элементов в расчетах стержневых систем. Дьяков И.Ф - 101 стр.

UptoLike

101
Разработанный модуль решения системы линейных алгебраических
уравнений [9], реализующий рассмотренный алгоритм, состоит из управ-
ляющей программы SOLW и следующих подпрограмм:
SOL1 – реализует прямой ход Гаусса;
SOL2 – реализует обратный ход;
WRDA – выполняет запись уравнений по узлам во внешнюю память в
файл прямого доступа;
RDDA – считывает уравнения из внешней памяти в оперативную;
MOVS – изменяет индексы в уравнениях при их перестановке.
Примеры подпрограмм
SUBROUTINE SOLW(LENTA,NS,FMGP,ISTR,ISTL,P,N)
DIMENSION FMGP(ISTR,ISTL),P(N)
KB=ISTR/NS
KS=KB*NS
KY=KS
KB2=LENTA/NS+1
KB1=KB-KB2
KY1=KB1*NS
KY2=KB2*NS
NR=1
KR=KB
NF=1
NW=1
KW=KB1
I1=1
I2=KY1
IT=0
1 CALL RDDA(NR,KR,NF,NS,FMGP,ISTR,ISTL)
NR=NR+KR
CALL SOL1(I1,I2,lenta,FMGP,ISTR,ISTL,P,N)
IF(IT)2,2,5
2 CALL WRDA(NW,KW,1,NS,FMGP,ISTR,ISTL)
NW=NW+KW
CALL MOVS(KY1,KY2,LENTA,FMGP,ISTR,ISTL)
NF=KY2+1
KY=KY+KY1
I1=I2+1
IF(KY-N)3,4,4
3 KR=KB1
I2=I1+KY1-1
GO TO 1
4 IT=1
I2=N
KR=(N+1-I1-KY2)/NS
GO TO 1
5 IT=0
6 CALL SOL2(I1,I2,LENTA,FMGP,ISTR,ISTL,P,N)
IF(IT)7,7,11
7 I2=I1-1
IF(KS-I2)8,10,10
8 I1=I2-KS+1
9 NR=(I1-1)/NS+1