问题标签 [fortran90]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1187 浏览

fortran - Fortran 95:if 条件的内联评估

这是一小段代码,它返回 epsilon() 的实际值:

现在,当我将 if 条件替换为

该程序应该有相同的回报,但不幸的是它没有!我在 Linux 和 Windows 上使用 g95 的最新(快照)版本对其进行了测试。

有人可以向我解释这个问题吗?

0 投票
2 回答
192 浏览

fortran - fortran 中的计量单位

是否有定义数据类型和服务的库来处理与 fortran 中的计量单位相关的数量?

0 投票
1 回答
1038 浏览

fortran - Fortran 90 中的可选子例程

我怎样才能在 fortran 90 中实现这个目标?我有一个接受函数的例程

现在我希望例程是可选的

现在,如果 mysub 是一个标准变量var,我可以做类似的事情

但据我所知,我不能对可选子程序执行相同的操作。在实践中这是不可能的

因为你不能声明 l_mysub。是否有可能通过一些我不知道的技巧?是的,我当然可以

但我的情况更复杂,我不得不把这张支票放在任何地方。考虑到我可以通过三个可选子例程。

0 投票
1 回答
3808 浏览

arrays - 在两级子例程中传递假定形状的数组 (Fortran 90)

我在 Fortran 90 中调用具有假定形状数组的连续子例程时遇到了问题。更具体地说,我调用了两个级别的子例程,将假定形状数组作为参数传递,但最终该数组丢失了。为了演示它,可以遵循下面的代码。

很快,main 分配 x 然后调用 sub1(x)。然后 sub1 调用 sub2(x)。这意味着分配的数组被传递给一个子程序,该子程序将它传递给另一个子程序。我希望 sub2 中的数组与我在 main 中创建的数组相同,但没有。使用 gdb 作为工具来探索它,我得到了这个:

1) 在 main 中,就在调用 sub1 之前,数组 x 被完美定义:

(gdb) 像素
$1 = (5, 0, 0, 0, 0, 0, 0, 0, 0, 0)

2) 在 sub1 中,就在调用 sub2 之前,x 也是很好定义的:

(gdb) px
$2 = (5, 0, 0, 0, 0, 0, 0, 0, 0, 0)

3) 然而,在 sub2 内部,x 有一个意想不到的值,甚至它的维度也是绝对错误的:

(gdb) px
$3 = ()
(gdb) whatis x
type = REAL(4) (0:-1)

因此,x 已成功从 main 传递到 sub1,但没有从 sub1 传递到 sub2。我一直在使用 Intel Fortran 和 gfortran,结果相同。

我已经为此苦苦挣扎了很长时间。任何帮助将非常感激。
G.奥利维拉。

0 投票
6 回答
11419 浏览

fortran - 如何在 Fortran 90 中复制文件?

如何以可移植的跨平台方式在 fortran 90 中复制文件?

0 投票
2 回答
2691 浏览

fortran - 使用 system() 的简单 fortran 程序崩溃

该程序在 ifort 上与 SIGSEGV 一起崩溃。

数据库:

ifort--版本

这是错误还是功能?

0 投票
1 回答
1313 浏览

fortran - 在 FORTRAN 90 结构中使用 MPI_type_contiguous 和 MPI_Type_CREATE_Subarray

嗨,我正在尝试使用这样的 fortran 结构

现在我的测试程序的目的是从一个处理器向另一个处理器发送 10 个数字,但是这 10 个数字的起点将是我的选择(例如,如果我有一个不需要 20 个数字的向量,我将取前 10 个数字下一个处理器,但可以说我的选择是从 5 到 15)。所以首先你像这样使用 mpi_type_contiguous

我进行了发送记录,并且能够将前 10 个数字发送到另一个处理器(我正在测试 2 个处理器)

我正在发送这个

现在对于第二部分,我使用了 mpi_TYPE_CREATE_SUBARRAY 所以然后

我不明白该怎么做。

我收到一条错误消息

我在本地机器上使用 openmpi。我能够在没有 mpi_type_contiguous 部分的情况下使用 subarray 命令。但是,如果我将两者结合起来,因为在这种情况下我需要这样做,因为我在实际代码中有一个带有 fortran 的结构。我不知道是否有更好的方法来做到这一点。任何形式的帮助和建议表示赞赏。提前致谢

0 投票
1 回答
198 浏览

fortran90 - Save values of an array at Fortran 90 program

I have a two-dimensional and 1-D arrays of different variables of a system which characterize an Equilibrium state of the system from where the next configurations going to evolve from. Now i need to save the data in these arrays at the specific situation and proceed, so how should i write on the declaration (the syntax) of the main program and also in the subroutine which use these arrays to be delivered to them by adjustable-size array method of passing arrays?

0 投票
1 回答
125 浏览

fortran - 是 x%aa Fortran 90 数组部分吗?

使用用户定义的类型,例如foo

和该类型的变量x

x%a数组部分吗?

0 投票
2 回答
1590 浏览

io - 如何获取充当标准输入/标准输出的文件的名称?

我有以下问题。我想在 Fortran90 中编写一个程序,我希望能够像这样调用它:

除了“main.out”(我可以在调用程序时设置其名称)之外,必须编写辅助输出并且我希望它们具有与“main.in”或“main.out”相似的名称(它们是实际上并不称为“主要”);但是,当我使用:

sInputName 的内容变为“Stdin”而不是文件名。调用程序时有什么方法可以获取链接到标准输入/标准输出的文件的名称吗?