繁体   English   中英

使用f2py将对象数组传递给Fortran

[英]Passing an object array to Fortran using f2py

Fortran子例程可以将另一个子例程作为参数。

subroutine mst(yht)
 ..
 ..
 call yht(..)

但是python中的对象数组怎么样? 我该如何发话

arr=[yht,yht,yht]

到Fortran。 我尝试过但失败了,有什么办法吗?

这可能是扩展的评论,而不是答案...

据我了解, f2py会将Fortran过程(即函数和子例程)签名转换为Python。 我认为f2py不会将Fortran派生类型定义转换为Python对象定义。 我已经好几年没有使用f2py了,所以我对此可能是错的。 用Fortran派生类型的实例标识Python对象的明显方法可能难以实现。

如果可以说服Python代码创建Fortran编译器可以识别为C结构的东西,并使用Fortran与C的互操作性功能来读写它们,则可能会获得更大的成功。 梅特卡夫,里德和科恩 (p246)

这些限制允许该类型与具有相同数量组件的C结构类型进行互操作。 组件在其定义中按位置对应。 每个Fortran组件必须与相应的C组件可互操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM