shah
Joined: 18 Oct 2011 Posts: 13
|
Posted: Sat Oct 29, 2011 2:44 pm Post subject: the programme continues |
|
|
S3=(S4-S3)+S7
S4=S8
S5=S1+S2+S3+S4
WRITE(6,130)
WRITE(6,135)S1,S2,S3,S4,S5
200 CONTINUE
C
C READ NEXT ANALYSIS CASE
C
GO TO 100
1 FORMAT(A15)
11 FORMAT(6I5)
12 FORMAT(I5)
22 FORMAT(53X,'NUMBER OF STRUCTURE NODES....',
*I4/53X,'NUMBER OF ELEMENT TYPES....',I4/53X,
*'NUMBER OF MATERIAL GROUPS....',I4/53X,
*'NUMBER OF LOADING CONDITIONS.',I3//)
33 FORMAT(//61X,'ELEMENT DATA'/)
44 FORMAT(10I5)
55 FORMAT(20A4)
66 FORMAT(130('*')//27X,20A4//59X,'STRUCTURE DATA',/)
77 FORMAT(10F5.2)
78 FORMAT(//5X,'ELEMENT LOAD MULTIPLIERS'//)
79 FORMAT(5X,'LOAD CASE NO',I4,9I8)
81 FORMAT(15X,10(2X,F6.2))
88 FORMAT(/51X,'DATA OF SOLUTION PHASE'
*/48X,'NUMBER OF EQUATIONS (NEQ)=',
*I7//48X,'NUMBER OF ELEMENT IN SK (NSKY)=',I7//)
99 FORMAT(//5X,'LOAD CASE NO',I4/)
111 FORMAT(///56X,'NODAL DISPLACEMENTS'//5X,'NODE',8X,
*'X-DISPALCEMENTS',6X,'Y-DISPLACEMENTS',4X,'Z-DISPALCEMENTS'
*,8X,'ROTATION-X',9X,'ROTATION Y',9X,'ROTATION-Z')
122 FORMAT(/58X,'NODAL LOAD DATA'/)
130 FORMAT(//5X,'*****OVER ALL TIMELOG*****'//)
135 FORMAT(10X,'MODEL INPUT',F8.2/
*10X,'ESM FORMULATION'/10X,'AND ASSEMBLAGE',F8.2/
*10X,'EQUATION SOLUTION AND'/10X,'DISPLACEMENT OUTPUT',F8.2/
*10X,'STRESS OUTPUT',F8.2//10X,'TOTAL SOLUTION TIME',F8.2//)
END
C
C SUBROUTINE TO DETERMINE THE TIME TAKEN FOR EXECUTION CALLED BY MAIN
C
SUBROUTINE SECOND(T2,T1)
T2=SECNDS(T1)
RETURN
END
C
C ROUTINE TO PRINT MSGS WITH SPECIFIED MAIN STORAGE CALLED BY MAIN
C
SUBROUTINE ERROR(N,I)
GO TO(1,2,3),I
1 WRITE(6,11)
GO TO 10
2 WRITE(6,22)
GO TO 10
3 WRITE(6,33)
10 WRITE(6,44)N
RETURN
11 FORMAT(7X,'NOT ENOUGH STORAGE FOR READ-IN OF NDF ARRAY & NODAL
*POINT CO ORDINATES')
22 FORMAT(//////5X,'NOT ENOUGH STORAGE FOR ELEMENTAL NODE
*COORDINATES')
33 FORMAT(//////'NOT ENOUGH STORAGE FOR ASSEMBLAGE OF GLOBAL
*STRUCTURE STIFFNESS & DISPLACEMENT IN STRESS SOLUTION PHASE')
44 FORMAT(////'****ERROR****STORAGE EXCEEDED BY',I7)
END
C
C
C ROUTINE READS,GENERATES & PRINTS NOAL DATA & MATERIAL PROPERTIES CALLED BY MAIN
C
C
SUBROUTINE PASSIN(X,Y,Z,E,PR,WD,NDF,NSN,NMP,NEQ)
IMPLICIT REAL*8(A-H,O-Z)
COMMON/PRECI/ITWO
COMMON/TAPES/ISTRES,NDARAY,IPR
DIMENSION X(NSN),Y(NSN),Z(NSN),E(NMP),PR(NMP),WD(NMP)
DIMENSION NDF(6,NSN),JF(6)
DIMENSION NCYLT(1000)
FLOAT(I)=DBLE(I)
MN=0
100 READ(5,33)NN,(JF(I),I=1,6),X(NN),Y(NN),Z(NN),NI,NCYL
NCYLT(NN)=NCYL
N=MN+NI
MN=MN+1
110 DO 120 I=1,6
NDF(I,NN)=JF(I)
120 CONTINUE
IF (NI.EQ.0) GO TO 130
IF (NN-MN)130,125,140
125 CONTINUE
IF(NSN-NN)170,170,100
130 MN=NN
GO TO 125
C
C AUTOMATIC GENERATION OF NODAL DATA
C
140 NX=(NN-N+NI)/NI
XD=(X(NN)-X(N-NI))/FLOAT(NX)
YD=(Y(NN)-Y(N-NI))/FLOAT(NX)
ZD=(Z(NN)-Z(N-NI))/FLOAT(NX)
MN=NN
150 X(N)=X(N-NI)+XD
Y(N)=Y(N-NI)+YD
Z(N)=Z(N-NI)+ZD
NCYLT(N)=NCYLT(NN)
DO 160 I=1,6
NDF(I,N)=JF(I)
160 CONTINUE
N=N+NI
IF(N.LT.NN) GO TO 150
IF(NSN-NN)170,170,100
170 CONTINUE
DO 180 I=1,NSN
IF(NCYLT(I).EQ.0) GO TO 180
THETA=Y(I)*3.14159/180.0
Y(I)=X(I)*DSIN(THETA)
Y(I)=X(I)*DCOS(THETA)
180 CONTINUE
IF(IPR.EQ.0)WRITE(6,44)(I,(NDF(J,I),J=1,6),X(I),Y(I),Z(I),I=1,NSN)
C CONVERT '0' & '1' OF 'NDF' ARRAY TO EQUATION NUMBERS & '0'S.
NEQ=0
DO 30 N=1,NSN
DO 30 I=1,6
IF(NDF(I,N))10,20,10
20 NEQ=NEQ+1
NDF(I,N)=NEQ
GO TO 30
10 NDF(I,N)=0
30 CONTINUE
IF(IPR.EQ.0)WRITE(6,77)(I,(NDF(J,I),J=1,6),I=1,NSN)
C |
|