gfortran相关内容
我有一组用于 Main fortran程序的模块.继承顺序为: user_input > really_long_module > useful_module >主 其中 user_input 是独立的,并且不会从任何其他模块继承. 出于提高可用性的目的,我想将 really_long_module 移至文件末尾,因为该文件很少更新且非常长.尽管 useful_module 是用
..
我在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
..
我有一些要与MPI并行的Fortran代码.显然,推荐的方法是通过 mpi_f08 模块(
..
我正在更改用于串行执行的代码,将其调整为并行执行(openmp),但是我对预期结果(pi值)的理解很差.我在下面显示两个代码. 有什么问题吗? 程序陷阱使用omp_lib隐式无双精度:: suma = 0.d0!总和是一个标量双精度:: h,x,lima,limb整数:: n,i,istart,iend,thread_num,total_threads = 4,ppt整数(种类= 8)::
..
我有以下清单文件: BIN_SUFFIX = cpuOMP_FLAGS = -pOPT_FLAGS = -ofast编译器= mpifort编译器= mpif90#用于gfortranMISC_FLAGS = -ffree-line-length-300#CFLAGS + = $(OPT_FLAGS)CFLAGS + = $(OMP_FLAGS)CFLAGS + = $(MISC_FLAGS)
..
我相信以下是有效的Fortran 2008程序,并且在使用Intel和GNU Fortran编译器的正版macOS,Linux和Windows操作系统上都可以正常工作. 模块InternalFuncCaller_mod隐式无抽象接口函数getInternalFunc_proc(输入)结果(输出)隐式无真实,意图(输入)::输入实::输出结束函数getInternalFunc_proc终端接口包含
..
我在文件(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来完成所有这些工作.完成后,
..
我想访问一个名称等于我拥有的字符串的实数变量.这样的事情(我将使示例尽可能简洁): 字符(len = 5):: some_string真实::值值= 100.0some_string ='值' 在这一点上,我如何在字符数组 value 和我的真实变量value的名称之间创建关联,以便我可以通过引用字符串 some_string ? 解决方案 这是我的解决方法: 字符(100)::
..
如果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
..
好,所以我使用的是旧的Fortran代码,该代码定义了与名称为gamma的数学gamma函数无关的函数. 显然,在较早的Fortran版本中,没有固有的伽马函数.但是,当我使用gfortran编译并运行代码时,该代码实际上使用了新的固有gamma函数,而不是使用此用户定义的gamma函数. 我是否有办法使用户定义的伽马函数取代固有函数?我想尽可能少地修改代码,即.不要在任何地方重命名用
..
这可能是一个愚蠢的问题,但是在最近的一些测试之后,我有点困惑.我一直认为Fortran处理实数的方式如下(现代声明): 程序testReal隐式无整数,参数:: rkind = 8实数(kind = rkind):: a,b,c//测试1a = 1b = 1.c = 1._rkindwrite(*,“(2(1xES23.15))")a,b,c//测试2a = 1/2b = 1/2.c = 1./
..
今天早上,我将gfortran(从4.7升级到6.1.0)和OpenMPI(从1.10到2.0.1)编译器进行了升级.我写了这个简单的程序: 程序主要使用mpi_f08隐式无整数:: ierror呼叫mpi_init(ierror)致电mpi_finalize(ierror)结束程序主要 直接编译时(没有mpirun,只有 ./a.out ),我收到以下消息(由于程序按预期运行,它们并不是真
..
我正在尝试使用gfortran/libgomp构建第三方OpenMP程序,但是使用扩展来检索和设置 stacksize-var ICV时遇到了麻烦.该源代码附带了Intel Fortran( kmp_get_stacksize()和 kmp_set_stacksize())以及Portland Group编译器( omp_get_stack_size()和 omp_set_stack_size()
..
我正在研究用Fortran 90和MPI编写的自定义CFD求解器.该代码包含15个以上的模块,最初设计为与Intel Fortran编译器一起使用.现在,由于我无权访问Intel编译器,因此需要使用GNU Fortran编译器使其工作. 我在Makefile中进行了更改,这些更改最初具有适用于ifort的标志.我在带有GNU Fortran和Openmpi的Ubuntu上使用它 很抱歉
..
我正在尝试编写一个通用子例程以将其最小化.因为我想拥有一个通用子例程,所以目标函数可以具有不同的参数,不仅在名称上,而且在尺寸上.因此,我需要一种传递该参数结构的方法(我使用的是词结构,因为我的想法是在Matlab中使用诸如结构类型变量之类的东西).我设法使用了派生的数据类型,它工作得很好,但是当我在同一程序中有两个不同的目标函数时,就会出现问题.这是一个示例代码: 在主程序main.f90
..
我有以下名为 show_value 的Fortran子例程,该子例程调用名为 show_value 的C函数: INTERFACESUBROUTINE show_value(variable)BIND(C,name ="show_value")USE,INTRINSIC :: iso_c_bindingTYPE(*)::变量结束子程序结束界面 C函数 show_value : void
..
我想评估变量 myline 的第三个字母是否为'C'. 我尝试: 程序主要隐式无打字线整数::计数= 5字符(len = 48):: list ='ABCDE'终端类型类型(线):: myline字符(len = 1)::字母='C'写(*,*)myline%count,myline%listif(myline%list(3)== letter)然后write(*,*)'TRUE'别的wr
..
我的IDE是带有编译器GFortran 6.3.1的Code :: Blocks 17.2 所有代码为: PROGRAM EES_TESTUSE,NON_INTRINSIC :: DERIVED_TYPE无隐含整数:: I,ALLOC_ERR,DEALLOC_ERR逻辑:: GLOBAL_ERR班级(TRONA),POINTER :: P_TRATYPE(TRONA),ALLOCATAB
..
我写了 程序测试隐式无整数,参数:: 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
..
TL; DR 如何使用gfortran-10,gcc-10和g ++-10构建MPICH? 背景 我想用grortran-10构建MPICH 以便能够使用最新的MPI绑定,但是我没有这样做.尝试在Ubuntu上通过apt安装MPICH总是使用gfortran 7.5.0(与gcc和g ++相同的版本),即使我安装了最新版本的gfortran.为了清楚起见,这是我当前的MPICH和
..