关于fortran
fortran吧
全部回复
仅看楼主
level 8
只留清气满乾坤.
楼主
这是一个我大一就开始学的编程语言,至今已17年有余。从事科研工作长期在用,写些东西留给吧里的师弟师妹们。
2024年08月26日 00点08分
1
level 8
只留清气满乾坤.
楼主
首先严肃声明我不会替大家做作业、写论文等违反学术伦理、违法犯罪的事。
2024年08月26日 00点08分
2
level 8
只留清气满乾坤.
楼主
1.fortran
1.1fortran不是一个软件,不是下载一个fortran软件就能用fortran语言来写fortran程序。
感觉会来看fortran吧的人基本都是读研的,大都学过matlab。matlab即是一种编程语言,也是一个软件,集成了开发调试运行一系列的功能,类似微软的visualstudio非常强大的ide(集成开发环境)。
1.2fortran狭义的说就是编程语言,和c语言/c++最为接近,需要编译链接生成可执行程序或调试。与解释型的python的区别建议网上搜索不再赘述。
1.3所以fortran的核心是编译器,我们通常需要把fortran源代码(生产创作的主体)通过编译器来生成可执行程序,可执行程序(2进制)才是cpu能读得懂的。
1.3.1一般Windows上最主流的还是intel的,原来叫ivf,现更名为oneapi,编译器叫,其次是gfortran。
1.3.2Linux如centos/ubuntu/suse主流用gfortran,也支持oneapi。
1.3.3macos一般也是用gfortran,最新的intel编译器不再支持macos自研芯片。
1.3.4其他编译器如nag是需要买授权的,g95早年我在Windows上用过需要把g95.exe添加到环境变量path中但至少十几年没更新已经销声匿迹;g77在Linux上还是偶尔会用到的,编译fortran77版本的代码;其他的欢迎补充
1.3.5总结:编译器是分为开源和商业授权,学生使用oneapi和gfortran即可满足99%以上需求。有些学生需要从头开始学类型变量判断循环文件io语法表达式,有些学生要直接上手前人项目、开源项目。但殊途同归,都是需要编译的,不能通过编译的代码没有意义。要掌握配置编译环境、配置inc/lib、并行环境、堆栈大小等。
1.4开发工具:我工作电脑用的Linux,ubuntu20.04,我用gedit/vim/vscode来写,最喜欢用的是vim。Windows10笔记本上需要大量编程就用visualstudio2022,这个软件也是完全免费的(community版不要商用),阅览用notepad3这种轻量的,有语法高亮就够,也能做些小修改不占系统资源。
1.5以上无关乎专业方向均是通用,如流体力学、结构力学、地球物理、量子化学、计算数学、气象、土木等。
2024年08月26日 01点08分
3
level 8
只留清气满乾坤.
楼主
2.fortran常见问题
我在吧里逛过些日子,感觉很冷清几乎没人发贴,偶尔有些也是求助类,我一直以来也在物理、数学的贴吧与其他论坛上长期作答。通过观察本吧以往的帖子大致总结为以下几种
2024年08月26日 01点08分
4
level 8
只留清气满乾坤.
楼主
2.1fortran语法
这方面见的还是比较少,网上的资料也不多,一般学习通过查阅书籍对照示例即可完成。fortran77/fortran90的区别和优劣会在以后另行介绍。
2024年08月26日 01点08分
5
只留清气满乾坤.
指的是有关提问比较少,姑且认为大家都有些基础也会长期学习使用。
2024年08月26日 01点08分
level 8
只留清气满乾坤.
楼主
2.2include引用
在fortran中也需要进行代码复用、模块化封装来提高可维护性,定义子程序subroutine、模块module、函数function。使用use与call来调用。
常见的如mkl,Windows用vs创建项目导入代码后需在项目属性中配置mkl的mod所在目录如lapack95。才能正确使用use语句。类似c语言#include,python的import。在MATLAB中也可以通过单的m文件来创建函数进行复用。
2024年08月26日 01点08分
6
level 3
凯隐|
支持一下
2024年08月26日 04点08分
7
level 2
挺好的啊🤕
楼主可以加个v吗
2024年08月26日 11点08分
8
只留清气满乾坤.
有问题还是回帖或留言较好
2024年08月28日 23点08分
level 1
Hiopute
现在学Fortran还有用吗
lz
刚开始读研,导师给我的第一个项目就是祖传的Fortran程序,心里有点抵触
2024年09月11日 13点09分
9
只留清气满乾坤.
研1开始不算晚,祖传程序多是77的,资料极少
2024年09月12日 03点09分
Hiopute
@只留清气满乾坤.
主要是担心学这个东西以后对找工作没什么帮助
2024年09月12日 10点09分
只留清气满乾坤.
@Hiopute
气象地质土木都有朋友长期学以致用,虽不知其加分的分量但多学些总是没错的
2024年09月12日 10点09分
Hiopute
@只留清气满乾坤.
谢谢LZ
2024年09月12日 10点09分
level 8
只留清气满乾坤.
楼主
节后陆续加更
2024年09月18日 04点09分
10
level 1
lrhlrhlrh007
我还在初学fortran,目前在做一些fortran转matlab的工作,有一些疑惑。在fortran调用了自定义函数以后,是否在自定义函数里的参数,也会被自动存在主程序里?但好像matlab里要把自定义函数的输出参数明确的写出来,传给主程序。感谢解答!
2024年09月26日 03点09分
11
只留清气满乾坤.
matlab要完全重写的
2025年05月25日 03点05分
level 1
如何快速解决问题
写论文要用,但是完全不知道这是啥
2025年04月02日 13点04分
12
只留清气满乾坤.
公式翻译,就是这样
2025年05月25日 03点05分
level 1
零星123k
我的程序打不开mpi. lib,我搞了很久发现我下载的是impi. lib,改完路径之后又一直打不开impi. lib 崩溃了 这是程序不适配吗 还是怎么回事?
2025年04月03日 14点04分
13
零星123k
@只留清气满乾坤.
搞定了搞定了 感谢感谢
2025年08月04日 13点08分
只留清气满乾坤.
例如intel-hpc中就是impi.lib,最好把Microsoft的mpisdk和mpibin都装上。
2025年05月25日 03点05分
只留清气满乾坤.
现在还能复现出这个错误吗,传下图
2025年05月25日 03点05分
1