gfortran相关内容

编译和链接模块,与文件顺序无关

我有一组用于 Main fortran程序的模块.继承顺序为: user_input > really_long_module > useful_module >主 其中 user_input 是独立的,并且不会从任何其他模块继承. 出于提高可用性的目的,我想将 really_long_module 移至文件末尾,因为该文件很少更新且非常长.尽管 useful_module 是用 ..
发布时间:2021-05-09 19:20:47 其他开发

错误:(1)的READ语句中的预期变量

我在fortran中有一个代码,例如: READ(INPUT,1020)(WK(A + I),I = 1,NNZA) 其中: INPUT = 55(整数)WK =一些数据(真实)A和NNZA =一些数据(整数)1020格式((1P,4D16.8)). 但是当我尝试使用gfortran-4.6进行编译时,会收到错误消息: READ(INPUT,1020)(WK(A + I),I ..
发布时间:2021-05-09 19:20:27 其他开发

使用openmp和private子句的梯形规则集成

我正在更改用于串行执行的代码,将其调整为并行执行(openmp),但是我对预期结果(pi值)的理解很差.我在下面显示两个代码. 有什么问题吗? 程序陷阱使用omp_lib隐式无双精度:: suma = 0.d0!总和是一个标量双精度:: h,x,lima,limb整数:: n,i,istart,iend,thread_num,total_threads = 4,ppt整数(种类= 8):: ..
发布时间:2021-05-09 19:19:30 其他开发

适用于Linux的Windows子系统上的GNU Fortran编译器-将内部函数传递给另一个过程的分段错误

我相信以下是有效的Fortran 2008程序,并且在使用Intel和GNU Fortran编译器的正版macOS,Linux和Windows操作系统上都可以正常工作. 模块InternalFuncCaller_mod隐式无抽象接口函数getInternalFunc_proc(输入)结果(输出)隐式无真实,意图(输入)::输入实::输出结束函数getInternalFunc_proc终端接口包含 ..
发布时间:2021-05-09 19:19:23 其他开发

如何在Fortran中读取内容不以空格分隔的2D文件

我在文件(number.txt)中存储了一个矩阵,如下所示: 123234565425431176534522 我如何在Fortran中读取此类矩阵,所以结果将是: 1 2 3 2 3 4 5 65 4 2 5 4 3 1 17 6 5 3 4 5 2 2 使用awk分隔这些列并在Fortran中读取它非常容易.但是,我想知道是否可以仅使用Fortran来完成所有这些工作.完成后, ..
发布时间:2021-05-09 19:19:03 其他开发

将字符串解释为Fortran中的变量名称

我想访问一个名称等于我拥有的字符串的实数变量.这样的事情(我将使示例尽可能简洁): 字符(len = 5):: some_string真实::值值= 100.0some_string ='值' 在这一点上,我如何在字符数组 value 和我的真实变量value的名称之间创建关联,以便我可以通过引用字符串 some_string ? 解决方案 这是我的解决方法: 字符(100):: ..
发布时间:2021-05-09 19:18:54 其他开发

gfortran支持尾叫消除吗?

如果gfortran确实消除了尾部调用,我做了这个小程序来测试: 程序tailrec隐式无打印*,tailrecsum(5,0)包含递归函数tailrecsum(x,running_total)结果(ret_val)整数,intent(in):: x整数,intent(in):: running_total整数:: ret_val如果(x == 0)ret_val = running_total ..
发布时间:2021-05-09 19:18:51 其他开发

用gfortran忽略固有的伽马函数

好,所以我使用的是旧的Fortran代码,该代码定义了与名称为gamma的数学gamma函数无关的函数. 显然,在较早的Fortran版本中,没有固有的伽马函数.但是,当我使用gfortran编译并运行代码时,该代码实际上使用了新的固有gamma函数,而不是使用此用户定义的gamma函数. 我是否有办法使用户定义的伽马函数取代固有函数?我想尽可能少地修改代码,即.不要在任何地方重命名用 ..
发布时间:2021-05-09 19:18:45 其他开发

openmpi忽略错误:无法识别mca接口

今天早上,我将gfortran(从4.7升级到6.1.0)和OpenMPI(从1.10到2.0.1)编译器进行了升级.我写了这个简单的程序: 程序主要使用mpi_f08隐式无整数:: ierror呼叫mpi_init(ierror)致电mpi_finalize(ierror)结束程序主要 直接编译时(没有mpirun,只有 ./a.out ),我收到以下消息(由于程序按预期运行,它们并不是真 ..
发布时间:2021-05-09 19:18:11 其他开发

英特尔Fortran到GNU Fortran的转换

我正在研究用Fortran 90和MPI编写的自定义CFD求解器.该代码包含15个以上的模块,最初设计为与Intel Fortran编译器一起使用.现在,由于我无权访问Intel编译器,因此需要使用GNU Fortran编译器使其工作. 我在Makefile中进行了更改,这些更改最初具有适用于ifort的标志.我在带有GNU Fortran和Openmpi的Ubuntu上使用它 很抱歉 ..
发布时间:2021-05-09 19:17:57 其他开发

Fortran:传递任意“结构"到模块子例程

我正在尝试编写一个通用子例程以将其最小化.因为我想拥有一个通用子例程,所以目标函数可以具有不同的参数,不仅在名称上,而且在尺寸上.因此,我需要一种传递该参数结构的方法(我使用的是词结构,因为我的想法是在Matlab中使用诸如结构类型变量之类的东西).我设法使用了派生的数据类型,它工作得很好,但是当我在同一程序中有两个不同的目标函数时,就会出现问题.这是一个示例代码: 在主程序main.f90 ..
发布时间:2021-05-09 19:17:38 其他开发

编译错误:(1)名称中的字符无效

我写了 程序测试隐式无整数,参数:: N = 3real(8),参数::&A(N,N)= reshape((/1.5d0,1d0,1d0,1d0,1.5d0,2d0,1d0,1d0,3d0/),shape(A))&b(N)=(/5d0,-3d0,8d0/)打印*,A结束程序 保存为test.f,并使用 gfortran -ffree-form -Wall -Werror -ffree-lin ..
发布时间:2021-05-09 19:16:20 其他开发

如何使用gfortran-10构建MPICH?

TL; DR 如何使用gfortran-10,gcc-10和g ++-10构建MPICH? 背景 我想用grortran-10构建MPICH 以便能够使用最新的MPI绑定,但是我没有这样做.尝试在Ubuntu上通过apt安装MPICH总是使用gfortran 7.5.0(与gcc和g ++相同的版本),即使我安装了最新版本的gfortran.为了清楚起见,这是我当前的MPICH和 ..
发布时间:2021-05-09 19:16:17 其他开发