Fortran notes-2
OPEN/WRITE/READ STATEMENTS
Open(unit=
integer expression,file=filename,status=literal)Close(unit=
integer expression)Read(unit number,*) variable list
Write(unit number,*)
expression listWrite(unit number,k)
expression listWhere k is the statement number of the corresponding FORMAT statement.
Status can be either "old" or "new" or "unknown".
EXAMPLES:
Open(unit=10,file="results.dat",status="unknown")
Write(6,*) "hello"
Write(10,*)"Hello"
Read(10,*) time, temp
ARRAYS
DIMENSION
array1(size), array2(size),....
Dimension J(5),DIST(4,4)
Read(9,*) (R(I),I=1,10)
An array can be defined like this:
Real b(10), c(3,5)
Integer j(7,4)
THE IDENTITY MATRIX
REAL IDEN(5,5)
DO 10 I=1,5
DO 5 J=1,5
IF (I.EQ.J) THEN
IDEN(I,J)=1.0
ELSE
IDEN(I,J)=0.0
END IF
5 CONTINUE
10 CONTINUE
FUNCTIONS:
CALL
subroutine name(argument list)SUBROUTINE
name(argument list)PROGRAM EXAMPLE
.....
CALL SORT(X,Y,N)
....
END
SUBROUTINE SORT(X,Y,N)
....
RETURN
END
COMMON BLOCKS
COMMON
variable listCOMMON
/name/ variable list
Examples:
Common a,b,c
Common /label1/ a,b,c
Program test1
Integer j
Real a,b,x,y
common a,j,b
....
call answer(x,y)
....
end
subroutine answer(x,y)
integer knot
common temp,knot,sum
....
return
end
COMPLEX NUMBERS
COMPLEX CX,CY,CZ
...
CX=(1.5,4.0)
CY=(0.0,2,4)
CZ=CMPLX(CX,CY)
COMPLEX FUNTIONS
REAL(X) |
The real part of the complex number x |
CONJG(X) |
The conjugate number of the complex number x |
AIMAG(X) |
The imaginary part of the complex number x |
CMPLX(X1,X2) |
The real numbers x1 and x2 are converted into a complex number |
FUNCTIONS
FUNCTION
name(argument list)
Example:
PROGRAM TEST
* This program finds the average value of three numbers
REAL TEST1,TEST2,TEST3,AVE
READ*, TEST1,TEST2,TEST3
PRINT 5 AVE(TEST1,TEST2,TEST3)
5 FORMAT(1X,AVERAGE =, F5.2)
END
*---------------------------------
REAL FUNCTION AVE(X,Y,Z)
REAL X,Y,Z
AVE = (X+Y+Z)/3.0
RETURN
END
Back to the physics homepage