For Programmers: Free Programming Magazines  


Home > Archive > Fortran > February 2005 > source code unknown compiler









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author source code unknown compiler
bm304@cam.ac.uk

2005-01-31, 4:00 pm

I am doing research and found a source code file and the author dosent say what compiler
was used.
i tried to compile the code with g77 and it did not work.
the source code is below.
any help or advice is appreciated.
Bryan

-----------------
C* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
C PROGRAM YVAR. FOR *
C Calculates the Aperture Admittance of an Open-Ended
C Coaxial Line radiating in free space under *
C Variational formulation *
C *
C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

COMPLEX WK,CEPCI,AREA1,AREA2,AREA3,ADM,ADMN
COMPLEX Ell,F22,F,COEF
OPEN (90, FILE='OUTYn',STATUS='NEW' )
OPEN (91, FILE='OUTYa' , STATUS='NEW' )
WRITE (*, *) 'HOW MUCH IS THE INNER RADIUS IN cm ? '
READ(*, *)AA
WRITE ( * , * ) 'HOW MUCH IS THE OUTER RADIUS IN cm ? '
READ(*,*)BB
WRITE(*,*)'WHAT IS THE DIELECTRIC CONSTANT er '
WRITE (*, *) ' INSIDE THE CABLE = ? 1'
READ (*, *) ER
WRITE(*,*)'HOW MUCH IS THE FREQUENCY in GHz = ? '
READ (*, *) FREQ

PI = 4. * ATAN(1.)
A = AA / 100.
B = BB / 100.
OMEGA = 2.*PI*FREQ
WKL = OMEGA*SQRT(PI*4.*ER*0.88542)
CEPCI = CMPLX(l.,0.)
WK = OMEGA*CSQRT(PI*4.*CEPCI*0.88542)
COEF = CMPLX(O.,1.)*CEPCI*WKL/(PI*ER*ALOG(B/A))
YCHARA=2.*PI/(100.*SQRT(PI*4.0/0.88542/ER))/ALOG(B/A)
FRNORM = 2. * PI * FREQ * B * sqrt(ER) / 0.299792
CALL SIMSN3 (WK, A, B, AREA3)
ADMN = COEF*AREA3
ADM = COEF*AREA3*YCHARA
WRITE (*, *) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE (*, *) 'YL admittance normalized =' ,ADMN
WRITE(*,*) 'YL admittance =',ADM
WRITE (90, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE(90, *) 'YL admittance normalized =',ADMN
WRITE (91, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE(91,*) 'YL admittance =',ADM

STOP
END

SUBROUTINE SIMSN3(WK,A,B,AREA3)
COMPLEX AREA3,ENDS,EVEN,0DD,AREA,F22,WK

TEST = 0.0009
LIM = 20
NOI = 0
INT = 1
V = 1.
ODD = CMPLX(O.,O.)
EVEN = CMPLX(O., 0. )
AREA3 = CMPLX(O.,O.)
ENDS = F22 (WK,A,A,B) + F22(WK,B,A,B)
219 H = (B-A) / V
ODD = EVEN + ODD
X = A + (H/2.)
EVEN = CMPLX (0., 0.)
DO 319 I=l,INT
EVEN = EVEN + F22(WK,X,A,B)
X = X + H
319 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6.
NOI = NOI + 1
R = CABS ((AREA3-AREA)/AREA)
IF (NOI-LIM) 3119,3219,3219
3119 IF (R-TEST) 32l9,32l9,4l9
3219 RETURN
419 AREA3 = AREA
INT = 2*1NT
V = 2.*V
GO TO 219
END

COMPLEX FUNCTION F22(WK,RHO,A,B)
COMPLEX WK,AREA2

CALL SIMSN2(WK,A,B,RHO,AREA2)
F22 = AREA2
RETURN
END

SUBROUTINE SIMSN2(WK,A,B,RHO,AREA2 )
COMPLEX AREA2,ENDS,EVEN,ODD,AREA,F11,WK
TEST = 0.0009
LIM = 20
NOI = 0
INT = 1
V = 1.
ODD = CMPLX(O.,O.)
EVEN = CMPLX (0 ., 0. )
AREA2 = CMPLX(O.,O.)
ENDS = Fll(WK,RHO,A) + Fll(WK,RHO,B)
21 H = (B-A) / V
ODD = EVEN + ODD
X = A + (H/2.)
EVEN = CMPLX(0.,0.)
DO 31 I=1, INT
EVEN = EVEN + Fll(WK,RHO,X)
X = X + H
31 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6
NOI = NOI + 1
R = CABS((AREA2-AREA)/AREA)
IF (NOI-LIM) 311,321, 321
31l IF (R-TEST) 32l,32l,4l
321 RETURN
41 AREA2 = AREA
INT = 2*INT
V = 2.*V
GO TO 21
END

COMPLEX FUNCTION F11(WK,RHO,RHOP)
COMPLEX WK, AREA1
PI = 4. * ATAN(1.)
CALL SIMSN1 (WK,O.,PI,0.001,20,AREA1,RHO,RH0P)
F11 = AREA1
RETURN
END

SUBROUTINE SIMSN1(WK,X1,XEND,TEST,LIM,AREA,RHO,RHOP
)
COMPLEX AREA1,ENDS,EVEN,ODD,AREA,F,WK
NOI = 0
ODD = CMPLX(O.,O.)
INT = 1
V = 1.
EVEN = CMPLX(O.,O.)
AREA1 = CMPLX (0.,0.)
ENDS = F(WK,X1,RHO,RHOP) + F(WK,XEND,RHO,RHOP)
2 H = (XEND-X1) / V
ODD = EVEN + ODD
X = Xl + (H/2.)
EVEN = CMPLX(0. , 0. )
DO 3 I=l,INT
EVEN = EVEN + F(WK,X,RHO,RHOP)
X = X + H
3 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) 1 * H / 6.
NOI = NOI + 1
R = CABS((AREA1-AREA) /AREA)
IF (NOI-LIM) 31,32,32
31 IF (R-TEST) 32,32,4
32 RHOMl = RHO + RHOP
RHOM = 4.*RHO*RHOP/(RHOMl**2)
CALL ELPINT(PILP,RHOM)
AREA = (2.*PILP/(RHO+RHOP)) + AREA
RETURN
4 AREA1 = AREA
INT = 2*INT
V = 2.*V
GO TO 2
END

COMPLEX FUNCTION F(WK,X,RHO,RHOP)
COMPLEX ARGU, WK
R = SQRT(RH0**2+RHOP**2-2.*RHO*RHOP*COS(X))
ARGU = WK*R*CMPLX(O.,-1.)
IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK,CMPLX (O.,-1.)
IF ((RHO. EQ. RHOP) .AND. (X .EQ. 0.)) RETURN
F = (COS(X)*CEXP(ARGU)-l.)/R
RETURN
END

SUBROUTINE ELPINT(ELP0,ELPC)
ELPI = 1. - ELPC
A0 = 1.3862944
A1 = 0.096663443
A2 = 0.035900924
A3 = 0.037425637
A4 = 0.014511962
B0=0.05
B1=0.12498594
B2=0.068802486
B3=0.0033283553
B4=0.0004178701
AL=((((((((B4*ELPI)+B3)*ELPI)+B2)*ELPI)+
B1)*ELPI)+B0)
ELP=((((((((A4*ELPI)+A3)*ELPI)+A2)*ELPI)
+A1)*ELPI)+A0)
IF (ELPC .GE. 0.999999) ELPC = 0.999999
ELPI = 1. - ELPC
X1 = 1. \ ELPI
ELPO = ALOG (XI) * AL + ELP
RETURN
END

Klaus Wacker

2005-01-31, 4:00 pm

bm304@cam.ac.uk wrote:
> I am doing research and found a source code file and the author dosent say what compiler
> was used.
> i tried to compile the code with g77 and it did not work.


You should tell us in what way it didn't work. What error message did
you get?

Meanwhile, I see that your source code file is not correctly
formatted. You should replace all tab characters by 6 blanks. Then,
for lines starting with a number, add blanks such that the stuff
behind the number starts at column 7.

HTH.

--
Klaus Wacker wacker@Physik.Uni-Dortmund.DE
Experimentelle Physik V http://www.physik.uni-dortmund.de/~wacker
Universitaet Dortmund Tel.: +49 231 755 3587
D-44221 Dortmund Fax: +49 231 755 4547
robin

2005-01-31, 4:00 pm

bm304@cam.ac.uk writes:
> I am doing research and found a source code file and the author dosent say what compiler
> was used.
> i tried to compile the code with g77 and it did not work.
> the source code is below.
> any help or advice is appreciated.


This program never compiled and therefore never ran.
There are some lines where capital "o" has been used instead
of zero (0).
I have not compiled this code; only given it a quick perusal.

> Bryan
>
> -----------------
> C* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * * * * * * * * * * * * * * *
> C PROGRAM YVAR. FOR *
> C Calculates the Aperture Admittance of an Open-Ended
> C Coaxial Line radiating in free space under *
> C Variational formulation *
> C *
> C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>
> COMPLEX WK,CEPCI,AREA1,AREA2,AREA3,ADM,ADMN
> COMPLEX Ell,F22,F,COEF
> OPEN (90, FILE='OUTYn',STATUS='NEW' )
> OPEN (91, FILE='OUTYa' , STATUS='NEW' )
> WRITE (*, *) 'HOW MUCH IS THE INNER RADIUS IN cm ? '
> READ(*, *)AA
> WRITE ( * , * ) 'HOW MUCH IS THE OUTER RADIUS IN cm ? '
> READ(*,*)BB
> WRITE(*,*)'WHAT IS THE DIELECTRIC CONSTANT er '
> WRITE (*, *) ' INSIDE THE CABLE = ? 1'
> READ (*, *) ER
> WRITE(*,*)'HOW MUCH IS THE FREQUENCY in GHz = ? '
> READ (*, *) FREQ
>
> PI = 4. * ATAN(1.)
> A = AA / 100.
> B = BB / 100.
> OMEGA = 2.*PI*FREQ
> WKL = OMEGA*SQRT(PI*4.*ER*0.88542)
> CEPCI = CMPLX(l.,0.)
> WK = OMEGA*CSQRT(PI*4.*CEPCI*0.88542)
> COEF = CMPLX(O.,1.)*CEPCI*WKL/(PI*ER*ALOG(B/A))


Here too.

> YCHARA=2.*PI/(100.*SQRT(PI*4.0/0.88542/ER))/ALOG(B/A)
> FRNORM = 2. * PI * FREQ * B * sqrt(ER) / 0.299792
> CALL SIMSN3 (WK, A, B, AREA3)
> ADMN = COEF*AREA3
> ADM = COEF*AREA3*YCHARA
> WRITE (*, *) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
> WRITE (*, *) 'YL admittance normalized =' ,ADMN
> WRITE(*,*) 'YL admittance =',ADM
> WRITE (90, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
> WRITE(90, *) 'YL admittance normalized =',ADMN
> WRITE (91, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
> WRITE(91,*) 'YL admittance =',ADM
>
> STOP
> END
>
> SUBROUTINE SIMSN3(WK,A,B,AREA3)
> COMPLEX AREA3,ENDS,EVEN,0DD,AREA,F22,WK
>
> TEST = 0.0009
> LIM = 20
> NOI = 0
> INT = 1
> V = 1.
> ODD = CMPLX(O.,O.)
> EVEN = CMPLX(O., 0. )
> AREA3 = CMPLX(O.,O.)


The above complex constants use capital "o" instead of zero
in the complex.

> ENDS = F22 (WK,A,A,B) + F22(WK,B,A,B)
> 219 H = (B-A) / V
> ODD = EVEN + ODD
> X = A + (H/2.)
> EVEN = CMPLX (0., 0.)
> DO 319 I=l,INT
> EVEN = EVEN + F22(WK,X,A,B)
> X = X + H
> 319 CONTINUE
> AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6.
> NOI = NOI + 1
> R = CABS ((AREA3-AREA)/AREA)
> IF (NOI-LIM) 3119,3219,3219
> 3119 IF (R-TEST) 32l9,32l9,4l9
> 3219 RETURN
> 419 AREA3 = AREA
> INT = 2*1NT
> V = 2.*V
> GO TO 219
> END
>
> COMPLEX FUNCTION F22(WK,RHO,A,B)
> COMPLEX WK,AREA2
>
> CALL SIMSN2(WK,A,B,RHO,AREA2)
> F22 = AREA2
> RETURN
> END
>
> SUBROUTINE SIMSN2(WK,A,B,RHO,AREA2 )
> COMPLEX AREA2,ENDS,EVEN,ODD,AREA,F11,WK
> TEST = 0.0009
> LIM = 20
> NOI = 0
> INT = 1
> V = 1.
> ODD = CMPLX(O.,O.)
> EVEN = CMPLX (0 ., 0. )
> AREA2 = CMPLX(O.,O.)


ditto.

> ENDS = Fll(WK,RHO,A) + Fll(WK,RHO,B)
> 21 H = (B-A) / V
> ODD = EVEN + ODD
> X = A + (H/2.)
> EVEN = CMPLX(0.,0.)
> DO 31 I=1, INT
> EVEN = EVEN + Fll(WK,RHO,X)
> X = X + H
> 31 CONTINUE
> AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6
> NOI = NOI + 1
> R = CABS((AREA2-AREA)/AREA)
> IF (NOI-LIM) 311,321, 321
> 31l IF (R-TEST) 32l,32l,4l
> 321 RETURN
> 41 AREA2 = AREA
> INT = 2*INT
> V = 2.*V
> GO TO 21
> END
>
> COMPLEX FUNCTION F11(WK,RHO,RHOP)
> COMPLEX WK, AREA1
> PI = 4. * ATAN(1.)
> CALL SIMSN1 (WK,O.,PI,0.001,20,AREA1,RHO,RH0P)
> F11 = AREA1


ditto

> RETURN
> END
>
> SUBROUTINE SIMSN1(WK,X1,XEND,TEST,LIM,AREA,RHO,RHOP
)
> COMPLEX AREA1,ENDS,EVEN,ODD,AREA,F,WK
> NOI = 0
> ODD = CMPLX(O.,O.)


ditto and below.

> INT = 1
> V = 1.
> EVEN = CMPLX(O.,O.)
> AREA1 = CMPLX (0.,0.)
> ENDS = F(WK,X1,RHO,RHOP) + F(WK,XEND,RHO,RHOP)
> 2 H = (XEND-X1) / V
> ODD = EVEN + ODD
> X = Xl + (H/2.)
> EVEN = CMPLX(0. , 0. )
> DO 3 I=l,INT
> X = X + H
>


Michael Metcalf

2005-01-31, 4:00 pm


<bm304@cam.ac.uk> wrote in message
news:41fe28df.14485406@nntp-serv.cam.ac.uk...
> I am doing research and found a source code file and the author dosent say

what compiler
> was used.
> i tried to compile the code with g77 and it did not work.
> the source code is below.
> any help or advice is appreciated.
> Bryan
>


The code contains O in the place of 0, and l in the place of 1 in many
places, not only in constants but also in labels. It needs correcting by
hand before it has a hope of compiling.

Regards,

Mike Metcalf


Herman D. Knoble

2005-01-31, 4:00 pm

Bryan: Besides the zeros and ones problems throughout,
which other posters have noted, there are at least
several more problems as follows:

1) 3 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) 1 * H / 6.
(is the above 1 supposed to be a right-paren?)

2) IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK,CMPLX (O.,-1.)
IF ((RHO. EQ. RHOP) .AND. (X .EQ. 0.)) RETURN
(Comparing real numbers could be problematic in that the
comparisons may hardly ever (may never) be true.

3) Leading comments go past Column 72 and do not all start with C

4) X1 = 1. \ ELPI
(has a backward slash which is not Fortran division)

5) Quite few lines begin in Column 6 (continuation for Fortran 77)
instead of column 7 or more.

6) OPEN with STATUS='NEW' will fail if the program is run more
than once without deleting the files in question. Suggest STATUS='REPLACE'

7) Consider using Double Precision and structuring the program
with if then else, and loop and logical indenting.

Some or most of the above errors (and the zero/O problem may have
been introduced while scanning in a text copy of this program. I'd
double check the algorithms as well as there are better
numerical integration algorithms out there.

Good luck with it.
Skip


On Mon, 31 Jan 2005 12:50:48 GMT, bm304@cam.ac.uk wrote:

-|I am doing research and found a source code file and the author dosent say what compiler
-|was used.
-|i tried to compile the code with g77 and it did not work.
-|the source code is below.
-|any help or advice is appreciated.
-|Bryan
-|
-|-----------------
-|C* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
-|* * * * * * * * * * * * * * *
-|C PROGRAM YVAR. FOR *
-|C Calculates the Aperture Admittance of an Open-Ended
-|C Coaxial Line radiating in free space under *
-|C Variational formulation *
-|C *
-|C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-|
-| COMPLEX WK,CEPCI,AREA1,AREA2,AREA3,ADM,ADMN
-| COMPLEX Ell,F22,F,COEF
-| OPEN (90, FILE='OUTYn',STATUS='NEW' )
-| OPEN (91, FILE='OUTYa' , STATUS='NEW' )
-| WRITE (*, *) 'HOW MUCH IS THE INNER RADIUS IN cm ? '
-| READ(*, *)AA
-| WRITE ( * , * ) 'HOW MUCH IS THE OUTER RADIUS IN cm ? '
-| READ(*,*)BB
-| WRITE(*,*)'WHAT IS THE DIELECTRIC CONSTANT er '
-| WRITE (*, *) ' INSIDE THE CABLE = ? 1'
-| READ (*, *) ER
-| WRITE(*,*)'HOW MUCH IS THE FREQUENCY in GHz = ? '
-| READ (*, *) FREQ
-|
-| PI = 4. * ATAN(1.)
-| A = AA / 100.
-| B = BB / 100.
-| OMEGA = 2.*PI*FREQ
-| WKL = OMEGA*SQRT(PI*4.*ER*0.88542)
-| CEPCI = CMPLX(l.,0.)
-| WK = OMEGA*CSQRT(PI*4.*CEPCI*0.88542)
-| COEF = CMPLX(O.,1.)*CEPCI*WKL/(PI*ER*ALOG(B/A))
-| YCHARA=2.*PI/(100.*SQRT(PI*4.0/0.88542/ER))/ALOG(B/A)
-| FRNORM = 2. * PI * FREQ * B * sqrt(ER) / 0.299792
-| CALL SIMSN3 (WK, A, B, AREA3)
-| ADMN = COEF*AREA3

-| ADM = COEF*AREA3*YCHARA
-| WRITE (*, *) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
-| WRITE (*, *) 'YL admittance normalized =' ,ADMN
-| WRITE(*,*) 'YL admittance =',ADM
-| WRITE (90, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
-| WRITE(90, *) 'YL admittance normalized =',ADMN
-| WRITE (91, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
-| WRITE(91,*) 'YL admittance =',ADM
-|
-| STOP
-| END
-|
-| SUBROUTINE SIMSN3(WK,A,B,AREA3)
-| COMPLEX AREA3,ENDS,EVEN,0DD,AREA,F22,WK
-|
-| TEST = 0.0009
-| LIM = 20
-| NOI = 0
-| INT = 1
-| V = 1.
-| ODD = CMPLX(O.,O.)
-| EVEN = CMPLX(O., 0. )
-| AREA3 = CMPLX(O.,O.)
-| ENDS = F22 (WK,A,A,B) + F22(WK,B,A,B)
-|219 H = (B-A) / V
-| ODD = EVEN + ODD
-| X = A + (H/2.)
-| EVEN = CMPLX (0., 0.)
-| DO 319 I=l,INT
-| EVEN = EVEN + F22(WK,X,A,B)
-| X = X + H
-|319 CONTINUE
-| AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6.
-| NOI = NOI + 1
-| R = CABS ((AREA3-AREA)/AREA)
-| IF (NOI-LIM) 3119,3219,3219
-|3119 IF (R-TEST) 32l9,32l9,4l9
-|3219 RETURN
-|419 AREA3 = AREA
-| INT = 2*1NT
-| V = 2.*V
-| GO TO 219
-| END
-|
-| COMPLEX FUNCTION F22(WK,RHO,A,B)
-| COMPLEX WK,AREA2
-|
-| CALL SIMSN2(WK,A,B,RHO,AREA2)
-| F22 = AREA2
-| RETURN
-| END
-|
-| SUBROUTINE SIMSN2(WK,A,B,RHO,AREA2 )
-| COMPLEX AREA2,ENDS,EVEN,ODD,AREA,F11,WK
-| TEST = 0.0009
-| LIM = 20
-| NOI = 0
-| INT = 1
-| V = 1.
-| ODD = CMPLX(O.,O.)
-| EVEN = CMPLX (0 ., 0. )
-| AREA2 = CMPLX(O.,O.)
-| ENDS = Fll(WK,RHO,A) + Fll(WK,RHO,B)
-|21 H = (B-A) / V
-| ODD = EVEN + ODD
-| X = A + (H/2.)
-| EVEN = CMPLX(0.,0.)
-| DO 31 I=1, INT
-| EVEN = EVEN + Fll(WK,RHO,X)
-| X = X + H
-|31 CONTINUE
-| AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6
-| NOI = NOI + 1
-| R = CABS((AREA2-AREA)/AREA)
-| IF (NOI-LIM) 311,321, 321
-|31l IF (R-TEST) 32l,32l,4l
-|321 RETURN
-|41 AREA2 = AREA
-| INT = 2*INT
-| V = 2.*V
-| GO TO 21
-| END
-|
-| COMPLEX FUNCTION F11(WK,RHO,RHOP)
-| COMPLEX WK, AREA1
-| PI = 4. * ATAN(1.)
-| CALL SIMSN1 (WK,O.,PI,0.001,20,AREA1,RHO,RH0P)
-| F11 = AREA1
-| RETURN
-| END
-|
-| SUBROUTINE SIMSN1(WK,X1,XEND,TEST,LIM,AREA,RHO,RHOP
)
-| COMPLEX AREA1,ENDS,EVEN,ODD,AREA,F,WK
-| NOI = 0
-| ODD = CMPLX(O.,O.)
-| INT = 1
-| V = 1.
-| EVEN = CMPLX(O.,O.)
-| AREA1 = CMPLX (0.,0.)
-| ENDS = F(WK,X1,RHO,RHOP) + F(WK,XEND,RHO,RHOP)
-|2 H = (XEND-X1) / V
-| ODD = EVEN + ODD
-| X = Xl + (H/2.)
-| EVEN = CMPLX(0. , 0. )
-| DO 3 I=l,INT
-| EVEN = EVEN + F(WK,X,RHO,RHOP)
-| X = X + H
-|3 CONTINUE
-| AREA = ( ENDS + (4.*EVEN) + (2.*ODD) 1 * H / 6.
-| NOI = NOI + 1
-| R = CABS((AREA1-AREA) /AREA)
-| IF (NOI-LIM) 31,32,32
-|31 IF (R-TEST) 32,32,4
-|32 RHOMl = RHO + RHOP
-| RHOM = 4.*RHO*RHOP/(RHOMl**2)
-| CALL ELPINT(PILP,RHOM)
-| AREA = (2.*PILP/(RHO+RHOP)) + AREA
-| RETURN
-|4 AREA1 = AREA
-| INT = 2*INT
-| V = 2.*V
-| GO TO 2
-| END
-|
-| COMPLEX FUNCTION F(WK,X,RHO,RHOP)
-| COMPLEX ARGU, WK
-| R = SQRT(RH0**2+RHOP**2-2.*RHO*RHOP*COS(X))
-| ARGU = WK*R*CMPLX(O.,-1.)
-| IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK,CMPLX (O.,-1.)
-| IF ((RHO. EQ. RHOP) .AND. (X .EQ. 0.)) RETURN
-| F = (COS(X)*CEXP(ARGU)-l.)/R
-| RETURN
-| END
-|
-| SUBROUTINE ELPINT(ELP0,ELPC)
-| ELPI = 1. - ELPC
-| A0 = 1.3862944
-| A1 = 0.096663443
-| A2 = 0.035900924
-| A3 = 0.037425637
-| A4 = 0.014511962
-| B0=0.05
-| B1=0.12498594
-| B2=0.068802486
-| B3=0.0033283553
-| B4=0.0004178701
- | AL=((((((((B4*ELPI)+B3)*ELPI)+B2)*ELPI
)+B1)*ELPI)+B0)
- | ELP=((((((((A4*ELPI)+A3)*ELPI)+A2)*ELP
I)+A1)*ELPI)+A0)
-| IF (ELPC .GE. 0.999999) ELPC = 0.999999
-| ELPI = 1. - ELPC
-| X1 = 1. \ ELPI
-| ELPO = ALOG (XI) * AL + ELP
-| RETURN
-| END
-|

James Van Buskirk

2005-01-31, 4:00 pm

"Herman D. Knoble" <SkipKnobleLESS@SPAMpsu.DOT.edu> wrote in message
news:capsv0pnmmstcl5bb443shrt27u420pjp6@
4ax.com...

> Bryan: Besides the zeros and ones problems throughout,
> which other posters have noted, there are at least
> several more problems as follows:


An attempt to fix the 0O and I1l problems:

C* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * *
* * * * * * * * * * * * * * *
C PROGRAM YVAR. FOR *
C Calculates the Aperture Admittance of an Open-Ended
C Coaxial Line radiating in free space under *
C Variational formulation *
C *
C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

COMPLEX WK,CEPCI,AREA1,AREA2,AREA3,ADM,ADMN
COMPLEX E11,F22,F,COEF
OPEN (90, FILE='OUTYn',STATUS='NEW' )
OPEN (91, FILE='OUTYa' , STATUS='NEW' )
WRITE (*, *) 'HOW MUCH IS THE INNER RADIUS IN cm ? '
READ(*, *)AA
WRITE ( * , * ) 'HOW MUCH IS THE OUTER RADIUS IN cm ? '
READ(*,*)BB
WRITE(*,*)'WHAT IS THE DIELECTRIC CONSTANT er '
WRITE (*, *) ' INSIDE THE CABLE = ? 1'
READ (*, *) ER
WRITE(*,*)'HOW MUCH IS THE FREQUENCY in GHz = ? '
READ (*, *) FREQ

PI = 4. * ATAN(1.)
A = AA / 100.
B = BB / 100.
OMEGA = 2.*PI*FREQ
WKL = OMEGA*SQRT(PI*4.*ER*0.88542)
CEPCI = CMPLX(1.,0.)
WK = OMEGA*CSQRT(PI*4.*CEPCI*0.88542)
COEF = CMPLX(0.,1.)*CEPCI*WKL/(PI*ER*ALOG(B/A))
YCHARA=2.*PI/(100.*SQRT(PI*4.0/0.88542/ER))/ALOG(B/A)
FRNORM = 2. * PI * FREQ * B * sqrt(ER) / 0.299792
CALL SIMSN3 (WK, A, B, AREA3)
ADMN = COEF*AREA3
ADM = COEF*AREA3*YCHARA
WRITE (*, *) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE (*, *) 'YL admittance normalized =' ,ADMN
WRITE(*,*) 'YL admittance =',ADM
WRITE (90, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE(90, *) 'YL admittance normalized =',ADMN
WRITE (91, * ) ' freq. in GHz=' , FREQ, ' norm. freq=' , FRNORM
WRITE(91,*) 'YL admittance =',ADM

STOP
END

SUBROUTINE SIMSN3(WK,A,B,AREA3)
COMPLEX AREA3,ENDS,EVEN,ODD,AREA,F22,WK

TEST = 0.0009
LIM = 20
NOI = 0
INT = 1
V = 1.
ODD = CMPLX(0.,0.)
EVEN = CMPLX(0., 0. )
AREA3 = CMPLX(0.,0.)
ENDS = F22 (WK,A,A,B) + F22(WK,B,A,B)
219 H = (B-A) / V
ODD = EVEN + ODD
X = A + (H/2.)
EVEN = CMPLX (0., 0.)
DO 319 I=1,INT
EVEN = EVEN + F22(WK,X,A,B)
X = X + H
319 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6.
! NOI = NOI + I
NOI = NOI + 1
R = CABS ((AREA3-AREA)/AREA)
IF (NOI-LIM) 3119,3219,3219
3119 IF (R-TEST) 3219,3219,419
3219 RETURN
419 AREA3 = AREA
INT = 2*INT
V = 2.*V
GO TO 219
END

COMPLEX FUNCTION F22(WK,RHO,A,B)
COMPLEX WK,AREA2

CALL SIMSN2(WK,A,B,RHO,AREA2)
F22 = AREA2
RETURN
END

SUBROUTINE SIMSN2(WK,A,B,RHO,AREA2 )
COMPLEX AREA2,ENDS,EVEN,ODD,AREA,F11,WK
TEST = 0.0009
LIM = 20
NOI = 0
INT = 1
V = 1.
ODD = CMPLX(0.,0.)
EVEN = CMPLX (0 ., 0. )
AREA2 = CMPLX(0.,0.)
ENDS = F11(WK,RHO,A) + F11(WK,RHO,B)
21 H = (B-A) / V
ODD = EVEN + ODD
X = A + (H/2.)
EVEN = CMPLX(0.,0.)
DO 31 I=1, INT
EVEN = EVEN + F11(WK,RHO,X)
X = X + H
31 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6
! NOI = NOI + I
NOI = NOI + 1
R = CABS((AREA2-AREA)/AREA)
IF (NOI-LIM) 311,321, 321
311 IF (R-TEST) 321,321,41
321 RETURN
41 AREA2 = AREA
INT = 2*INT
V = 2.*V
GO TO 21
END

COMPLEX FUNCTION F11(WK,RHO,RHOP)
COMPLEX WK, AREA1
PI = 4. * ATAN(1.)
CALL SIMSN1 (WK,0.,PI,0.001,20,AREA1,RHO,RHOP)
F11 = AREA1
RETURN
END

SUBROUTINE SIMSN1(WK,X1,XEND,TEST,LIM,AREA,RHO,RHOP
)
COMPLEX AREA1,ENDS,EVEN,ODD,AREA,F,WK
NOI = 0
ODD = CMPLX(0.,0.)
INT = 1
V = 1.
EVEN = CMPLX(0.,0.)
AREA1 = CMPLX (0.,0.)
ENDS = F(WK,X1,RHO,RHOP) + F(WK,XEND,RHO,RHOP)
2 H = (XEND-X1) / V
ODD = EVEN + ODD
X = X1 + (H/2.)
EVEN = CMPLX(0. , 0. )
DO 3 I=1,INT
EVEN = EVEN + F(WK,X,RHO,RHOP)
X = X + H
3 CONTINUE
AREA = ( ENDS + (4.*EVEN) + (2.*ODD) ) * H / 6.
NOI = NOI + 1
R = CABS((AREA1-AREA) /AREA)
IF (NOI-LIM) 31,32,32
31 IF (R-TEST) 32,32,4
32 RHOM1 = RHO + RHOP
RHOM = 4.*RHO*RHOP/(RHOM1**2)
CALL ELPINT(PILP,RHOM)
AREA = (2.*PILP/(RHO+RHOP)) + AREA
RETURN
4 AREA1 = AREA
INT = 2*INT
V = 2.*V
GO TO 2
END

COMPLEX FUNCTION F(WK,X,RHO,RHOP)
COMPLEX ARGU, WK
R = SQRT(RHO**2+RHOP**2-2.*RHO*RHOP*COS(X))
ARGU = WK*R*CMPLX(0.,-1.)
IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK*CMPLX (0.,-1.)
IF ((RHO. EQ. RHOP) .AND. (X .EQ. 0.)) RETURN
F = (COS(X)*CEXP(ARGU)-1.)/R
RETURN
END

SUBROUTINE ELPINT(ELPO,ELPC)
ELPI = 1. - ELPC
A0 = 1.3862944
A1 = 0.096663443
A2 = 0.035900924
A3 = 0.037425637
A4 = 0.014511962
B0=0.05
B1=0.12498594
B2=0.068802486
B3=0.0033283553
B4=0.0004178701
AL=((((((((B4*ELPI)+B3)*ELPI)+B2)*ELPI)+
B1)*ELPI)+B0)
ELP=((((((((A4*ELPI)+A3)*ELPI)+A2)*ELPI)
+A1)*ELPI)+A0)
IF (ELPC .GE. 0.999999) ELPC = 0.999999
ELPI = 1. - ELPC
X1 = 1. / ELPI
ELPO = ALOG (X1) * AL + ELP
RETURN
END

There were some insoluble problems, like

IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK,CMPLX (0.,-1.)

--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end


robin

2005-02-01, 8:59 am

From: bm304@cam.ac.uk, University of Cambridge, England
Date: Mon, 31 Jan 2005 12:50:48 GMT
..
| I am doing research and found a source code file and the author dosent say what compiler
| was used.
..
Probably a Fortran 77 compiler.
..
| i tried to compile the code with g77 and it did not work.
| the source code is below.
| any help or advice is appreciated.
| Bryan
..
Again, a quick perusal of the code reveals -
..
As well as the previously-advised use of "o" for zero (0),
lower case "L" has been used in place of the numeral one (1);
\ in place of /
, in place of * probably
..
and probably other typos.

robin

2005-02-01, 8:58 pm

"James Van Buskirk" <not_valid@comcast.net> writes: > "Herman D. Knoble" <SkipKnobleLESS@SPAMpsu.DOT.edu> wrote in message
> news:capsv0pnmmstcl5bb443shrt27u420pjp6@
4ax.com...
>
>
> An attempt to fix the 0O and I1l problems:


> There were some insoluble problems, like


> IF ((RHO .EQ. RHOP) .AND. (X.EQ. 0. )) F=WK,CMPLX (0.,-1.)


That should be F = WK * CMPLX(0., -1.)
bv

2005-02-02, 9:00 pm

bm304@cam.ac.uk wrote:
>
> I am doing research and found a source code file and the author dosent say what compiler
> was used...
> EVEN = CMPLX(O., 0. )


The code is reminiscent of the days when girlfriends typed it, and to a
typist some things can look the same. So, run the code through a
compiler with good diagnostics* to enumerate the typos for you.

* a perfect case where good ol' *xref* could do most of the talking.

bv

2005-02-02, 9:00 pm

bm304@cam.ac.uk wrote:
>
> I am doing research and found a source code file and the author dosent say what compiler
> was used...
> EVEN = CMPLX(O., 0. )


The code is reminiscent of the days when girlfriends typed it, and to a
typist some things can look the same. So, run the code through a
compiler with good diagnostics* to enumerate the typos for you.

* a perfect case where good ol' *xref* could do most of the talking.
Thomas Koenig

2005-02-02, 9:00 pm

<bm304@cam.ac.uk> wrote:

> ODD = CMPLX(O.,O.)


This looks like something that OCR software would do to a
Fortran program...
Herman D. Knoble

2005-02-03, 3:59 pm

Well, I was taught Computer Science 38 years ago by my girl friend
(and professor of computer science). How does one explain that!

Skip Knoble

On Wed, 02 Feb 2005 21:29:46 GMT, bv <bvoh@Xsdynamix.com> wrote:

-|bm304@cam.ac.uk wrote:
-|>
-|> I am doing research and found a source code file and the author dosent say what
compiler
-|> was used...
-|> EVEN = CMPLX(O., 0. )
-|
-|The code is reminiscent of the days when girlfriends typed it, and to a
-|typist some things can look the same. So, run the code through a
-|compiler with good diagnostics* to enumerate the typos for you.
-|
-|* a perfect case where good ol' *xref* could do most of the talking.

Toon Moene

2005-02-03, 8:58 pm

Herman D. Knoble wrote:

> Well, I was taught Computer Science 38 years ago by my girl friend
> (and professor of computer science). How does one explain that!


38 years ago Computer Science didn't exist.

BTW, "friend" is a C++ word.

--
Toon Moene - e-mail: toon@moene.indiv.nluug.nl - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
A maintainer of GNU Fortran 95: http://gcc.gnu.org/fortran/
Walt Brainerd

2005-02-04, 3:58 am

Toon Moene wrote:
> Herman D. Knoble wrote:
>
>
>
> 38 years ago Computer Science didn't exist.


>

That is odd. 38 years ago I received a Ph. D.
in Computer Science from a Department of
Computer Science. (Actually, it was called
Computing Sciences, but I don't think that
changes the main point.)

--
Walt Brainerd +1-877-355-6640 (voice & fax)
The Fortran Company +1-520-760-1397 (outside USA)
6025 N. Wilmot Road walt@fortran.com
Tucson, AZ 85750 USA http://www.fortran.com
Toon Moene

2005-02-04, 3:59 pm

Walt Brainerd wrote:

> Toon Moene wrote:
>
>
>
> That is odd. 38 years ago I received a Ph. D.
> in Computer Science from a Department of
> Computer Science. (Actually, it was called
> Computing Sciences, but I don't think that
> changes the main point.)


Hmmmm. Perhaps it was just the Netherlands getting behind. When I
roamed the halls of the Vrije Universiteit (30-25 years ago), Andrew
Tanenbaum was head of a subdivision (Informatica) of the subdepartment
of Wiskunde (Mathematics).

PhDs were obtained (not by me, BTW) in "Mathematics and Sciences"
(Wiskunde en Natuurwetenschappen - the name of the department), even if
you worked in Andy's subdivision.

--
Toon Moene - e-mail: toon@moene.indiv.nluug.nl - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
A maintainer of GNU Fortran 95: http://gcc.gnu.org/fortran/
Dick Hendrickson

2005-02-04, 8:57 pm



Toon Moene wrote:
> Walt Brainerd wrote:
>
>
>
> Hmmmm. Perhaps it was just the Netherlands getting behind. When I
> roamed the halls of the Vrije Universiteit (30-25 years ago), Andrew
> Tanenbaum was head of a subdivision (Informatica) of the subdepartment
> of Wiskunde (Mathematics).
>
> PhDs were obtained (not by me, BTW) in "Mathematics and Sciences"
> (Wiskunde en Natuurwetenschappen - the name of the department), even if
> you worked in Andy's subdivision.
>

Gee, where I went to school it was called "The Numerical
Analysis Department". It was an unfamiliar enough name that
every once in a while they'd get a letter addressed to
"The New Miracle Analysis Department".

Dick Hendrickson

Gordon Sande

2005-02-04, 8:57 pm


> Gee, where I went to school it was called "The Numerical
> Analysis Department". It was an unfamiliar enough name that
> every once in a while they'd get a letter addressed to
> "The New Miracle Analysis Department".
>
> Dick Hendrickson
>


I once knew someone who was studying numerical analysis and
it was claimed that his wife (Mimi) was under the impression
he was Theology student because he was studying new miracles.

In the interim I am told he has changed wifes.

I always had the impression that the story was a bit overstated
but it might be closer to the truth than I realized.


Walt Brainerd

2005-02-05, 3:59 pm

Toon Moene wrote:
> Walt Brainerd wrote:
>
>
>
> Hmmmm. Perhaps it was just the Netherlands getting behind. When I
> roamed the halls of the Vrije Universiteit (30-25 years ago), Andrew
> Tanenbaum was head of a subdivision (Informatica) of the subdepartment
> of Wiskunde (Mathematics).
>
> PhDs were obtained (not by me, BTW) in "Mathematics and Sciences"
> (Wiskunde en Natuurwetenschappen - the name of the department), even if
> you worked in Andy's subdivision.
>

The Netherlands probably wasn't any further "behind" than
the rest of the world (including the US). The first Ph D in
CS was from the school I got mine and just one year earlier.
(As you mentioned, others got PhDs that probably would have
been considered CS, had there been a CS department in their
school).

No, it was not MIT, Stanford, or Carnegie-Mellon 8^).

--
Walt Brainerd +1-877-355-6640 (voice & fax)
The Fortran Company +1-520-760-1397 (outside USA)
6025 N. Wilmot Road walt@fortran.com
Tucson, AZ 85750 USA http://www.fortran.com
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com