fortran语言快速学习

基础语言介绍

DIMENSION 用于定义数组

DIMENSION  
& HO(NG)    !定义名为HO的一维数组,数组的个数是NG

&符号代表这一行没有写完换行继续写。 !符号代表注释 ,C也是注释


REAL 浮点数型

REAL*2        MACH_REL(NG),MACH_ABS(NG) !定义了浮点数组 *2代表在double的类型上的字节进行加倍扩展

CHARACTER*10 字符串类型,长度是10

 CHARACTER*10 
 & IFSAME_RAD, IF_RDES, IFHUB  !定义了三个名为,,,的字符串,每个字符串变量可存储的字节长度是10

OPEN(commision,location)打开指定文件

      OPEN(UNIT=10, FILE= 'meangen.out')  !打开exe文件目录下的meagen.out文件,并命为10,方便调用
      OPEN(UNIT=5,  FILE= '/dev/tty')     !打开(路径)/dev/tty文件,并命名为2.

WRITE(name,form) 往指定的文件中写,每使用一次write代表写入一行 。FORMAT()格式设计,很多不展开

    WRITE(6,*)   '                WELCOME TO MEANGEN '  !名为6的文件中写入字符串welcome to meangen,“*"代表写入不限格式   
    WRITE(10,106)  IFHUB
 106  FORMAT(A1,T25, ' CHOICE OF DESIGN POINT RADIUS, HUB, MID or TIP')   !在名为6的文件中写入变量IFHUB的值,按照106行的格式。106代表行标识

READ(name,form) 读取文件数据,注意一个read读取文件的一行

 READ(5,*)    ANSIN   !读取5号文件中的一行,不限定类型 赋值给ANSIN变量
 !如果不给变量,代表读空一行,(并不是所有行都有数据)

判断符号 变量是否相等,是否A>B

 IF(FLO_TYP.EQ.'AXI') THEN   !字符变量FLO_TYP中的值与'AXI'字符是否相等,注意前后的两个“.”
 .LE.  代表≤
 .GE.  代表≥
 .LT.  代表<
 .GT.  代表>

逻辑判断符号 与和或

逻辑与 .AND.
逻辑或 .OR.

CALL 命令符 代表调用子程序,后面加程序名

  CALL SMOOTH2(1,NSS,NSMOOTH,SFAC,XMEAN,RMEAN) !调用名为SMOOTH2的子程序,()里面的代表形参

SUBROUTIME 命令符创建一个子程序

      SUBROUTINE SMOOTH2(N1,N2,NSMOOTH,FSMOOTH,XVAL,RVAL)
      PARAMETER(NG=99, NST=20, NSC= 11)

      DIMENSION XVAL(NG),RVAL(NG),TEMPX(NG),TEMPR(NG)

      DO 10  ITS = 1,NSMOOTH  !执行行标为10的那一行(此注释的正确性有带考究)

      DO N = N1,N2
          TEMPX(N) = XVAL(N)
          TEMPR(N) = RVAL(N)
      END DO

      DO N = N1, N2-2
          XVEC = TEMPX(N+2) - TEMPX(N)
          RVEC = TEMPR(N+2) - TEMPR(N)
          SVEC = SQRT(XVEC*XVEC + RVEC*RVEC)
          XVEC = XVEC/SVEC
          RVEC = RVEC/SVEC
          XDIF = TEMPX(N+1) - TEMPX(N)
          RDIF = TEMPR(N+1) - TEMPR(N)
          PROJ = XVEC*XDIF + RVEC*RDIF
          XNORM = XDIF - PROJ*XVEC
          RNORM = RDIF - PROJ*RVEC
          XVAL(N+1) = TEMPX(N+1) - FSMOOTH*XNORM
          RVAL(N+1) = TEMPR(N+1) - FSMOOTH*RNORM
      END DO
   10 CONTINUE  !没有意义,从这里继续执行
      RETURN
      END

FUNCTION 命令符创建一个函数

FUNCTION PLANCK(LAMB,T)  RESULT(F)
 IMPLICIT NONE
 REAK*8 :: LAMB,T,F
 REAL*8 :: PI,NIUT,TT,X0
 
 PI=2.0D0*DASIN(1.0D0)
 NIUT=852/LAMB
 TT=T/168800
 X0=NIUT/TT
 
 F=(15.0/Pi**4.0)*(EXP(-X0)*(X0**3.0)+3.0*X0**2.0+6.0)    !PI**4.0代表PI的四次方

RETURN

END FUNCTION PLANCK

数学函数 TAN()->tan(); SIN()->sin(); COS()->cos();ASIN()->arcsin();注意的是()内的参数必须是弧度,如果有角度值,必须转换成弧度。ABS()->求绝对值;

PITCH_ANGL(1)   = ASIN( (RMEAN(2)-RMEAN(1))/(SDIST(2)-SDIST(1)) )

结构语句IF DO


      DO N = 1,NSS
            FBLOCK(N)= FBLOCK_LE(NSTG)+DBLOCK_DS*(SDIST(N)-SDIST(NLE1))
      END DO

      IF(NSTG.EQ.1.AND.TURBO_TYP.EQ.'C') THEN
          PHI_REF = PHI_STG1*VMRAT(NLE1)/VMRAT(NLE2)*RMEAN(NLE2)/RMEAN(NLE1)
      ELSE
          PHI_REF = PHI_STG1
      END IF

PROGRAM 主程序命令符

PROGRAM  MIAN

    !code

END MAIN

Author:yongqing

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值