簡體   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