Frotran程序要点整理(使用、读写和编译)

Frotran程序要点整理(使⽤、读写和编译
1、Frotran程序主要⽤于科学和⼯程计算(formula translator,译为“公式翻译器”)。
2、Frotran语⾔不区分⼤⼩写,可以直接对矩阵和复数进⾏运算,执⾏效率⾼,⽀持openMPI并⾏计算,在数值计算领域积累了⼤量源程序。
Frotran 90标准的⾃由格式(新,以.f90结
Frotran 77标准的固定格式(⽼,以.for或.f结尾)和 Frotran 90
3、Frotran语⾔⽬前主要有两种类型:Frotran 77
尾)。
4、⼏个著名的Frotran程序包:IMSL,BLAS 和 LAPACK。
gfortran编译。gfortran属于5、Linux系统中主要有两种主流的Fortran程序编译器,⼀种是微软的ifort
ifort编译(商业软件需付费),⼀种是gfortran
GNU编译器套件中的⼀部分,安装⽅便,使⽤免费。但⼀般认为ifort的编译效率和优化好于gfortran。
-o output_filename:编译输出的可执⾏⽂件名称为outfile_filename(若⽆则默认名称为a.out)。
-O、-O2、-O3、-O4:对编译过程进⾏优化,不同数字表⽰不同的优化等级(具体和编译器相关)。编译优化对计算密集型程序的性能提⾼很有帮助,但对有些应⽤程序,过分的优化会导致计算结果错误。
-lm:表⽰链接名为“libm.a”的数学函数库。
gfortran的区别:
ifort与gfortran
1、数组空间的区别(以写⼊⼆进制数组为例)
INTEGER :: nx,nz
着眼于中国的可持续发展REAL, ALLOCATABLE, DIMENSION(:,:) :: vel
ALLOCATE(vel(1:nx,1:nz))
gfortran编译下的语法
open( 10, file=file_name_string, access='direct' , recl=44*nz*nx)
write(10, rec=1) vel(:,:)
close(10)
ifort编译下的语法
open( 10, file=file_name_string, access='direct' , recl=11*nz*nx)
write(10, rec=1) vel(:,:)
close(10)
DEALLOCATE(vel)
2、OpenMP并⾏编译的区别:
intel编译器: ifort -openmp
GNU编译器:gfortran -fopenmp
gfortran -c test.f90(编译test.f90⽣成test.o)
默认的输⼊输出WRITE(10, *) 和 READ(10, *)有时会导致错误,如字符串中存在斜杠符号“/”时,⽆法正确读⼊字符串。这时就需要考虑使⽤format 函数进⾏格式化的输⼊输出控制。
常⽤的格式有:I(整数) 、F(浮点数)、E(科学计数法)、A(字符串)惠普nc4400
write(*,"(I5)") 100
输出:_ _100
含义:5个字符宽度输出整数,前⾯两字符为空格。
write(*,"(F9.3)") 123.45
输出:_ _123.450
含义:9个字符宽度输出浮点数,⼩数部分占3个字符的宽度,前⾯两字符为空格,后补0。
write(*,"(E15.7)" 123.45
输出:_ _0.1234500E+03
含义:15个字符宽度的科学计数法输出浮点数,⼩数部分占7个字符。
write(*,"(A10)") "Hello"
含义:⽤10个字符宽度输出字符串,不⾜部分前⾯补空格。
write(*,"(5X,I3)") 100
含义:先填5个空格,再输出整数。
爪形手
固定格式(Fortran 77)与⾃由格式(Fortran 90)的区别
固定格式
活在春天里每⾏第1-6个字符为特殊含义字符,程序语句只能写在后⾯的第7-72个字符中。
第73个字符及以后的部分会被忽略,有的编译器会发出错误信息。
第⼀个字符为C,c或*,表⽰注释该⾏。
第1-5个字符为改⾏代码的代号,不然只能为空格。
第6个字符如果是“0”以外的任何字符,表⽰该⾏程序上接上⼀⾏程序。
学缘结构
⾃由格式
!后⾯同⼀⾏的⽂本都是注释。
每⾏可以编写132个字符。
⾏号要放在每⾏程序的最前⾯。
红统一图库 彩图2018程序中⾏与⾏之间的连接⽤&符号。程序命令之间的空格⽆意义。

本文发布于:2024-09-21 05:41:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/444424.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编译   程序   个字符   优化   输出   计算   宽度
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议