Fortran Error Problem



I am new user of fortran. Trying it first time . Infact to make some
change in code of optimization of 10 bar truss. elimitated 70 errors
but the last one is not eliminated. So i cant run the code i have. Can
anybody help me to run this code. THX.. do email me on
[engr_zia76@xxxxxxxxx[ .

==================

! Program for 10 bar truss optimization yet under process of debugging
by Zia !

REAL, DIMENSION(8) :: P
REAL, DIMENSION(8,8) :: A
REAL, DIMENSION(8,8) :: U
REAL, DIMENSION(10) :: STRS
REAL, DIMENSION(10) :: PENALTY
REAL, DIMENSION(8) :: D



Ps=X(1)+X(2)+X(3)+X(4)+X(5)+X(6)+SQRT(2.)*(X(7)+X(8)+X(9)+X(10))

RL=360.
RHO=0.1

VALUE=RHO*RL*Ps
OBJ=VALUE

! DEFINE CONSTRAINTS

P(1)=0.
P(2)=0.
P(3)=0.
P(4)=0.
P(5)=0.
P(6)=100000.
P(7)=0.
P(8)=100000.

PAR=2.*DSQRT(2.D0)

A(1,1)=X(1)+X(2)+(X(8)+X(9))/PAR
A(1,2)=(-X(8)+X(9))/PAR
A(1,3)=-X(2)
A(1,4)=0.
A(1,5)=-X(9)/PAR
A(1,6)=A(1,5)
A(1,7)=0.
A(1,8)=0.
A(2,2)=X(5)+(X(8)+X(9))/PAR
A(2,3)=0.
A(2,4)=0.
A(2,5)=A(1,5)
A(2,6)=A(1,5)
A(2,7)=0.
A(2,8)=-X(5)
A(3,3)=X(2)+X(10)/PAR
A(3,4)=-X(10)/PAR
A(3,5)=0.
A(3,6)=0.
A(3,7)=-X(10)/PAR
A(3,8)=-A(3,7)
A(4,4)=X(6)+X(10)/PAR
A(4,5)=0.
A(4,6)=-X(6)
A(4,7)=X(10)/PAR
A(4,8)=-A(4,7)
A(5,5)=X(4)+X(9)/PAR
A(5,6)=X(9)/PAR
A(5,7)=-X(4)
A(5,8)=0.
A(6,6)=X(6)+X(9)/PAR
A(6,7)=0.
A(6,8)=0.
A(7,7)=X(3)+X(4)+(X(7)+X(10))/PAR
A(7,8)=(X(7)-X(10))/PAR
A(8,8)=X(5)+(X(7)+X(10))/PAR

EMOD=36.D6
DO 2 I=1,8
DO 4 J=1,8
A(I,J)=EMOD/RL*A(I,J)
IF(J.LT.I) THEN
A(I,J)=A(J,I)
ENDIF

4 CONTINUE
2 CONTINUE

ND=8
DO 1 I=1,ND
DO 1 J=1,ND
U(I,J)=0.
IF(I.EQ.J) U(I,J)=1.

1 CONTINUE

EPS=0.0000001
DO 15 I=1,ND
K=I
IF(I-8) 21,7,21
21 IF(A(I,I)-EPS) 5,6,7
5 IF(-A(I,I)-EPS) 6,6,7


6 K=K+1
DO 23 J=1,ND
U(I,J)=U(I,J)+U(K,J)
23 A(I,J)=A(I,J)+A(K,J)
GOTO 21

7 DIV=A(I,I)
DO 9 J=1,ND
U(I,J)=U(I,J)/DIV

9 A(I,J)=A(I,J)/DIV
DO 15 MM=1,ND
DELT=A(MM,I)
IF(ABS(DELT)-EPS) 15,15,16
16 IF(MM-I) 10,15,10

10 DO 11 J=1,ND
U(MM,J)=U(MM,J)-U(I,J)*DELT
11 A(MM,J)=A(MM,J)-A(I,J)*DELT

15 CONTINUE

DO 33 I=1,ND
DO 33 J=1,ND
33 A(I,J)=U(I,J)
DO 34 J=1,ND

34 CONTINUE
DO I=1,ND
SUM=0.
DO J=1,ND
SUM=SUM+A(I,J)*P(J)
ENDDO
D(I)=SUM
ENDDO
STRS(1)=D(1)
STRS(2)=D(3)-D(1)
STRS(3)=D(7)
STRS(4)=D(5)-D(7)
STRS(5)=D(8)-D(2)
STRS(6)=D(6)-D(4)
STRS(7)=(D(7)+D(8))/2.
STRS(8)=(D(1)-D(2))/2.
STRS(9)=((D(5)+D(6))-(D(1)+D(2)))/2.
STRS(10)=((D(3)-D(4))-(D(7)-D(8)))/2.
DO I=1,10
STRS(I)=STRS(I)*EMOD/RL
ENDDO
PENALTY(1)=ABS(STRS(1))/25000.-1.
PENALTY(2)=ABS(STRS(2))/25000.-1.
PENALTY(3)=ABS(STRS(3))/25000.-1.
PENALTY(4)=ABS(STRS(4))/25000.-1.
PENALTY(5)=ABS(STRS(5))/25000.-1.
PENALTY(6)=ABS(STRS(6))/25000.-1.
PENALTY(7)=ABS(STRS(7))/25000.-1.
PENALTY(8)=ABS(STRS(8))/25000.-1.
PENALTY(9)=ABS(STRS(9))/75000.-1.
PENALTY(10)=ABS(STRS(10))/25000.-1.
STOP
END

.



Relevant Pages

  • Re: Fortran Error Problem
    ... Compiling Fortran... ... Error executing link.exe. ... Program for 10 bar truss optimization yet under process of debugging ...
    (comp.lang.fortran)
  • Re: Redundant IL generated by the compiler
    ... The compiler is doing what you told it to do. ... So if you are that concerned with doing it right first time and not wasting ... to optimization; however, I'm a firm believer of doing things right the ... unrolling) because the JIT would do a better job of it seeing that it's ...
    (microsoft.public.dotnet.framework.clr)