小编Vai*_*han的帖子

包含陈述

我不了解FORtran 90 中CONTAINS语句的重要性

例如

PROGRAM BLABLA

IMPLICIT NONE

INTEGER :: i,j,k

i = 1; j = 1;k =1

PRINT *, i,j,k

CALL ABC(i,j,k)

PRINT *, i,j,k

CONTAINS

    SUBROUTINE ABC(r,s,t)

    IMPLICIT NONE

    INTEGER, INTENT(IN) :: r,s
    INTEGER, INTENT(OUT) :: t

    t = r + s

   END SUBROUTINE ABC
END PROGRAM BLABLA
Run Code Online (Sandbox Code Playgroud)

一种是通过在主程序之外定义子例程。我知道对于函数来说,需要指定函数的类型,但是对于子例程则不需要。我有兴趣了解这样做是否还有其他警告?

PROGRAM BLABLA

IMPLICIT NONE

INTEGER :: i,j,k

i = 1; j = 1;k =1

PRINT *, i,j,k

CALL ABC(i,j,k)

PRINT *, i,j,k

END PROGRAM BLABLA

SUBROUTINE ABC(r,s,t) …
Run Code Online (Sandbox Code Playgroud)

fortran contains subroutine fortran90

7
推荐指数
1
解决办法
5050
查看次数

从python执行shell命令

我正在尝试编译一组行并执行它们并将输出附加到文本文件.我没有写同样的东西,而是使用python脚本在后台编译和执行.

import subprocess
subprocess.call(["ifort","-openmp","mod1.f90","mod2.f90","pgm.f90","-o","op.o"])
subprocess.call(["nohup","./op.o",">","myout.txt","&"])
Run Code Online (Sandbox Code Playgroud)

该程序pgm.f90正在使用ifort编译器进行编译,但是没有附加输出myout.txt.相反,它是附加输出,即使在python脚本中指定后nohup.out,程序也不在后台运行"&".

我在这里犯了什么明显的错误?

提前致谢

python subprocess append

3
推荐指数
1
解决办法
3172
查看次数

如何使用给定的增量创建一系列数字

我想知道列表中是否有等效语句来执行以下操作.在MATLAB中,我会做以下事情

fid = fopen('inc.txt','w')
init =1;inc = 5; final=51;
a = init:inc:final
l = length(a)
for i = 1:l
   fprintf(fid,'%d\n',a(i));
end
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

简而言之,我有一个初始值,一个最终值和一个增量.我需要创建一个数组(我读它相当于python中的列表)并打印到文件.

python matlab file list

2
推荐指数
1
解决办法
4万
查看次数

使用python提交作业

我正在尝试使用python脚本在我们学院的集群中提交作业.

 compile_cmd = 'ifort -openmp ran_numbers.f90 ' + fname \
                  + ' ompscmf.f90 -o scmf.o'
 subprocess.Popen(compile_cmd, shell=True)

 Popen('qsub launcher',shell=True)
Run Code Online (Sandbox Code Playgroud)

问题是,系统在这一点上悬而未决.上述脚本中有任何明显错误吗?代码中提到的所有文件都可以在该目录中找到(我已经交叉检查过了).qsub是用于向我们的集群提交作业的命令.fname是我在流程中创建的文件的名称.

python jobs

1
推荐指数
1
解决办法
8162
查看次数

标签 统计

python ×3

append ×1

contains ×1

file ×1

fortran ×1

fortran90 ×1

jobs ×1

list ×1

matlab ×1

subprocess ×1

subroutine ×1