fortran

为什么我的Fortran英特尔MKL非线性求解器初始化失败?

我正在尝试在代码中使用“英特尔MKL”非线性求解器,但它无法初始化。此外,如果我尝试给eps_stop赋值为零,它会工作并打印出错误消息。当我给它赋值1e-6时,它返回了这个错误:forrtl:severe:已分配可分配数组我在调用strnlps_init之前和之后添加了测试打印输出消息,前一条打印输出,后一条没有,所以我认为问题出在这一行。然而,这些变量中没有一个是可分配的,所以我很困惑为什么会得到这个消息。知道可能发生了什么吗?

c – 为什么使用静态“常量”而不是实际值?

我知道我正在查看的代码已从FORTRAN转换为C/C++.FORTRAN中是否有任何理由?FORTRAN对所有子例程参数使用pass-by-reference.但是,与其他具有pass-by-reference的语言不同,它仍然允许您将“rvalues”作为参数传递.在幕后,FORTRAN编译器转换代码如下:像代码一样这正是您的C代码正在做的事情:创建变量以将指针(或引用)传递给子例程FORTRAN样式.当然,这不是惯用的C或C.通常情况下,你会按值传递一倍.

从C调用FORTRAN子例程

我试图从C调用FORTRAN函数我的问题是:>如果fortRoutine是我的fortran子例程的名称,那么我从C调用这个作为fortRoutine_.如果fortRoutine只包含一个字符数组参数,那么我可以这样传递:>在调用FORTRAN子程序时,何时应该使用passbyvalue和通过引用?

在Ubuntu上编译Fortran netCDF程序

好的,这里有新问题.我正在尝试编译simple_xy_wr.f90–一个netCDF示例程序–在Ubuntu上使用gfortran,我必须做一些非常愚蠢的事情;我没有太多编译Fortran的经验.首先,我已经安装了libnetcdf-dev软件包,其中包括类似的文件所以,我试图用(各种命令)编译代码我得到以下输出我认为我包括了正确的库.例如.看来__netcdf_MOD_nf90_strerror

ubuntu 14.04 (64位)下 安装 intel fortran (ifort) 免费版

licensetype=2&productid=2486,四个勾都打上,accept.最后,填写个人信息,需要注意的是邮箱地址要填写单位的。submit之后,在新打开的页面会提供下载链接及序列号。2)安装过程可选择在线安装(较快),即只下载.sh文件,然后sudobash*.sh运行。按提示,一步一步即可完成安装。

制作Fortran DLL并从C#调用它

我在Fortran可执行文件中有一个函数,我需要把它变成一个dll文件,所以我可以从C#程序中调用它的函数P是一个浮点数,函数返回一个浮点数在这里,我对fortran一无所知,也没有用C#调用dll,所以请再解释一下.我正在使用CompaqVisualFortran和C#2008.感谢您的时间.(如果你喜欢,你可以看到完整的代码Here[这是一个计算水和蒸汽属性的程序])以下是使用单精度浮点数的示