我正在考虑将python嵌入fortran90中,为我现有的fortran90代码添加python功能。我知道可以通过使用numpy的f2py在fortran90中扩展python来实现。但是,我想把我的超级优化的主循环保留在fortran中,并在我能用fortran做之前加入python来做一些额外的任务/评估进一步的发展,同时也是为了简化代码的维护。我正在寻找以下问题的答案。
1) 是否有一个已经存在的库,我可以将python嵌入到fortran中? 我知道f2py,它是以另一种方式进行的。 2) 我们如何处理从fortran到python和返回的数据传输? 3) 我们怎样才能实现回调功能?(让我描述一下这个场景:.... 我在Fortran中的main_fortran程序,在python中调用Func1_Python模块。现在,从这个Func1_Python中,我想调用另一个函数......比如Fortran中的Func2_Fortran) 4) 将python的解释器嵌入fortran中,在性能方面会有什么影响....,运行时间,发送数据(双精度的大数组)等。
非常感谢您的帮助!!!。
编辑1。我想通过增加一些关于我正在做的工作的信息来确定讨论的方向。我是做科学计算的。所以,我将会在巨大的数组/矩阵上进行大量的双精度工作,并进行浮点运算。所以,除了fortran之外,很少有其他的选择来为我做这些工作。我想在我的代码中加入python的原因是,如果有必要,我可以使用NumPy做一些基本的计算,并以最小的努力扩展代码的能力。例如,我可以使用几个可用的库来连接python和其他一些包(比如说OpenFoam使用PyFoam库)。