fortran安装调试运行过程中的可能错误及其原因

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

fortran安装、调试、运行过程中的【可能错误及其原因】-中英对照
楼主鲍炜炜2011-04-18 14:37
(欢迎加入气象QQ讨论群:149280902,点击即可加入)
安装
1.关于Fortran编译器的安装和配置?
在安装FEPG之前一般要先安装好Powerstation Fortran 4.0编译器,并设置好Fortran编译器的path、lib 和include路径。

如果你的Powerstation Fortran 4.0编译器安装在目录C:\MSDEV下,设置如下:
·在WIN 2000/XP下的设置:
a.鼠标移到我的电脑图标,单击右键,然后点击属性;
b.点击高级属性;
c.点击环境变量,进行系统变量设置;系统变量如下图:
d. 如果图上的include、lib、path几个变量没有,请点击新建;如有,点击编辑;按下面变量值进行修改:变量:path值:c:\MSDEV\bin; %path%
变量:lib 值:c:\MSDEV\lib;%lib%
变量:include值:c:\MSDEV\include;%include%
注意:如果path、lib和include变量中有相应新增加的内容,可不增加。

如果编译器装在其它目录,则把C:\MSDEV换为该目录名。

实际上,在安装Powerstation Fortran 4.0时,会出现一个对话框,询问是否增加环境变量,如果选是,这些变量就已经配置好了。

安装fepg,需要用户有管理员权限。

2.运行FEPG命令生成Fortran源程序时,出现fl32不是内部命令也不是外部命令的错误(或fl32 is not internal command)?
没配置好Fortran编译器的path路径。

按照上面第1个问题中的解答配置好path路径。

3. 运行FEPG命令生成Fortran源程序时,有些fortran源程序没连接成可执行程序,出现不能发现fepg.lib 库文件的错误?
安装FEPG之前,没安装和配置好Fortran编译器所致。

在安装FEPG之后出现此情况,可先按照上面第1个问题中的解答配置好Fortran编译器,然后在dos窗口下,运行FEPG所在目录下nfe.r8目录下的gfepglib.bat程序,即可生成fepg.lib库文件。

4. 是否可用其他的Fortran编译器?
还可用Visual Fortran 6.5编译器,配置与Powerstation Fortran 4.0相同。

对于IFEPG5.2(for g77)客户端,还可以用g77编译器了
5.是否与其他软件有兼容性问题?
FEPG 与其他软件没有兼容性问题。

但Powerstation Fortran 4.0和Visual C++ 6.0如果在安装时,都选了设置环境变量,在用Fortran编译器编译连接FEPG产生的Fortran源程序时,会出问题。

可在安装Visual C++时,出现是否设置环境变量对话框时,选择否,即可解决此问题,此时,用Visual C++编译窗口可编译VC 程序,只是在dos窗口中不行,一般影响不大。

IFEPG客户端系统的前处理FEPG.GID与MATLAB有兼容性问题,用户安装了IFEPG客户端和MATLAB后,FEPG.GID可能启动不了。

可以将操作系统PATH环境变量中关于MATLAB的路径删除,这样FEPG.GID就可以启动了。

6.是不是一定要先装fortran,再装FEPG,如果先装FEPG,再装fortran,有什么解决办法?
不一定先装fortran,再装FEPG。

如果先装FEPG,那么装完fortran再运行ifepg安装目录下nfe下的gfepglib.bat。

7.请问如果要装VC怎么办啊?
在安装Visual C++时,出现是否设置环境变量对话框时,选择否,即可解决此问题。

就是不要设关于VC++的环境变量,应该就可以了。

这样VC应该用VC的界面能用。

8.打开Ifepg后,连接服务器时,出现了can't create file是怎么回事啊?
这一般是IFEPG服务器端的问题。

如出现尽快联系我们。

9.出现cannot open file"dfor.lib"?
这可能是换fortran编译器造成的,比如Visual FROTRAN 6.1变成powerstation 4.0。

因为各个编译器编译出来的obj代码不同,连接的库不同。

如果你用powerstation 4.0提供的fl32命令,将一些Visual FROTRAN 6.1产生的obj文件,连接成可执行程序可能就会出现这个问题。

解决办法是使用powerstation 4.0提供的fl32将那些文件重新编译一下。

10.Error: Couldn't initialize GID. Check DISPLAY and xhost,Check for more info to files in directory: C:\DOCUME~1\xxc1\LOCALS~1\Temp\gid3
安装fepg时,需要使用administrator用户安装,第一次运行gid时,也需要使用administrator用户运行,第二次运行gid就应该不用了。

11.安装后,运行gid建模型,模型显示异常是怎么回事?
gid对某些型号的显卡支持的不好,你可以将显卡的硬件加速调成无试试。

在Windows 2000下操作如下,用鼠标右键点击桌面的空处,点击出现的“属性”菜单项,点击出现的“设置”页,点击出现的“高级”按钮,点击出现的“疑难解答”页,将“硬件加速”的拉条调到“无”。

程序生成
1.前处理划分网格的单元类型和计算时的单元类型对不上。

如前处理划分的网格是三角形,而生成计算程序时的单元类型是四边形。

2.mate行在生成单元子程序的for文件时,是一些赋值语句。

在fortran77的语法中,变量定义要放在语句之前。

所以PDE中的变量定义要放在mate行之前。

3.time、dt、imate、ielem和nelem等全局变量要在mate‟行之后使用,之前这些变量还没有赋值。

4.defi信息段中的coef(耦合变量名)和coor(坐标变量名)在defi段中只是一个名字,还没有赋值,当我们添加fortran程序要用到这些变量时,要在stif或func信息段来添加那些fortran程序,这时,这些变量才有值
5.{un/x}前要用$cv,不能用$c6
6.E:\IFEPG.g77\1>g77 -c aeq4g2.for
'g77' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

Fortran安装不正确或fortran环境变量没有设置。

检查环境变量设置:
变量:path值:c:\MSDEV\bin; %path%
变量:lib 值:c:\MSDEV\lib;%lib%
变量:include值:c:\MSDEV\include;%include%
7.Error, cannot find shape function d2c8 in SHAP Library
shap段写错了,在库中找不到所写的单元类型。

8.les.gio file expected!
需要上传FEPG原始文件,如GCN、GIO、PDE等。

9.FEPG翻译时无相应。

PDE中参数可能写错,将%1写成1%等。

10.编译找不到相应的文件
用文本编辑器保存,文件后缀可能会保存成.txt。

11.Link fotal error link1104:can not open file “dfor.lib”
如果是单机版,到fepg目录下nfe.r8下运行gfepglib.bat
如果是网络版,到ifepg目录下nfe下运行gfepglib.bat
再运行命令应该就行了。

12.error FOR2979: expected 2 subscripts but found 1 for array EU1
用NFE文件时,在EQUATION段的声明语句出错。

13.生成NFE时出错
可能pde中材料参数太多。

14.Error:the shapes of the array expressions do not conform
可能用户定义变量与系统变量重复造成冲突。

15.Warning link4084:total image size warning exceed max
image may not run
这个没有关系的。

不用管它。

这是fortran编译器的问题。

对生成程序和计算没有影响。

16.Error:list element in braces followed by "a:link" instead of space
文件写得可能有问题。

17.error wrong number after directory name ...lea ....line number = 9
Error, element name ......... 1 is not expected
Line number = 9
PDE文件有错。

18.LINK : fatal error LNK1181: cannot open input file "aec8.obj"
PDE文件书写不正确,没有正常翻译。

19.application error:
error: list element in braces followed by \"a:link\" instead of space
可能文件名命名长度超过了8个字符。

20.error canot find refc or coor name...
icoor,irefc,i=101
可能在PDE中没有写coor行信息。

21.error, can not find DISP or FUNC name......exx
line number (239)
error, can not find DISP or FUNC name (x)
line number (240)
可能在PDE中没有写disp行、func行信息。

22.elesb.obj : error LNK2001: unresolved external symbol _BET3@32
temp.exe : fatal error LNK1120: 1 unresolved externals
没有bet3.for,或者没编译成obj。

23.start is not a internal command
可能操作系统不符合
24.“0x00404281"指令引用的"0xeb88f404"内存。

该内存不能为“ read”.
要中止程序,请单击“确定”。

要调试程序,请单击“取消”。

这种错误比较难查。

它预示着计算全乱了。

检查办法是
做一个简单的网格,来看问题是出在网格还是程序。

如果是程序的问题。

就在程序里用$debug来追踪是哪行程序的问题。

这种错误往往会来自一个小小的字母错误。

但查起来比较麻烦。

25.aeq4g2.obj:error LINK2001:Unresolved external symbol _ecu@8
enpa.exe:fatal error LINK1120:1 unresolved externals
pde文件中ecu的定义或使用有问题
26.用公式库生成有限元程序时总是提示…fem.bat‟不是内部或外部命令,也不是可运行的程序或批处理文件
路径可能与vc有冲突,你看看软件安装版
27.
安装powerstation 4.0后应该去fepg\nfe.r8\运行gfepglib.bat重新生成fepg.lib
28.用公式库生成有限元程序时总是提示…test.bat‟不是内部或外部命令,也不是可运行的程序或批处理文件
你将于VC有关的PATH,INCLUDE和LIb的东东删除
计算:
1.如果e单元计算程序,出现除零或数组超阶错误,有可能有几个原因:
a.前处理划分网格的单元类型和计算时的单元类型对不上。

如前处理划分的网格是三角形,而生成计算程序时的单元类型是四边形。

b.pde文件中,添加的fortran程序中会出现除零的情况。

fepg生成的fortran77的源程序,对变量名有一些默认的规定,如实形数是首字母a-h,o-z,而整形数是i-n,如ai如果不规定它的数据类型,是实形数,而ia是整形数。

那么在添加fortran程序时,不要把实形数取成整形数的名字,这样很容易出现除零错误的
2.Array or substring subscript expression out of range
数组越界,将相应数组开大。

3.End of file encountered
读文件错误,读的东西多,文件数据少,检查要读文件是否正确。

4.File already exist
是文件读写时候出错,例如本来文件已经存在,但是打开文件的时候status=new这种问题,status可以改成replace
5.结果不能输出1000步以后的结果。

目前系统设计的结果文件名后缀最多是3个字符,超过3个需要修改bft文件。

6.死循环
不收敛,或者dos窗口显示错误了但是没有看清。

7.run-time error F6416 open(elem0)
- file not found
前处理没有生成数据文件。

8.Overflow
数据溢出,可能是有exp等运算,导致数据溢出错误。

9.run-time error F6508:read(unod
too many bytes read from unformatted record
要读取的文件记录数大于文件现有的记录,修改unod的输出。

10.不是内部或外部命令,也不是可运行的程序或批处理文件。

程序没有生成,说明书写的文件有错。

11.file name missing or blank
BAT中EXE文件后面缺少相应的参数文件名。

12.run-time error M6103: MATH
- floating-point error: divide by zero
可能是pde文件写的有问题,看看其中的除法运算,有没有除零的情况,改改。

或者,前处理的数据,和计算时的数据不一致,如前处理化的网格是三角形,而计算时的单元类型是四边形。

13.Call post.bat
copy .1
系统找不到指定的文件。

没有正确填写.pos文件。

14.ulesa disp0 time sys bfd nv u displace end
forrtl: severe (602): file not found
说明ulesa这个程序后面所跟的某个文件没有生成,应该是前面的计算就出错了。

elesa或者solv,一般是elesa出错
15.NUMEL,NEQ = 26276 26352 26353
forrtl: severe (157): Program Exception - access violation
Image PC Routine Line Source
网络版程序,生成的程序数组开的较小,开大试试。

主要是maxt的值
16.run-time error M6104: math
-floating-point error: overflow
浮点溢出,可能是数值太大或者太小,超出了表达范围,你查查有没有求指数之类的运算。

17.ir,a_diag = 2499 -1.265978220909237E+011
Stop - Program terminated.
主对角元为负是不能继续求解的
主对角元出现负值的原因比较多,我以前计算也是常碰到的
可能跟求解器有关系,换个求解器试试
可能跟网格形状有关系,形状过差的单元会出这个问题
可能跟材料参数有关系,不合理的材料参数也可能导致
我以前遇到过这三种情况,其它我就不知道了(还没有碰到)。

求解器:
1.Solv.exe不是有效的win32应用程序
solv中内存开的太大,超过了2G,win32的程序的单进程程序的内存数组是有限制的,应该是不能超过2G 的。

2.Solver memory required 0
在设置边界条件时,可能是单元没有选,请检查!
3.Run-time error M6101:Math
-floating-point error:invalid
可能刚度矩阵奇异了,出现了除零错误。

4.solv.obj : error LNK2001 : unresolved external symbol _REDU@32
solv.obj : fatal error LNK1120 :1 unresolved externals
直接法求解换成迭代法求解,要重新生成程序,只是getsolv是不行的
5.Matrix a exceed core memory …….
Required core memory …….
Return code 0
修改ia,ib,ic数组,maxt也需要改。

common /aa/ ia(80000000)
common /bb/ ib(40000000)
common /cc/ ic(40000000)
一般,ia是你机器内存的大小,ib,ic是ia的一半。

6.
出错原因很多。

可能是数据,也可能是程序。

前处理:
1.在建完模型,划分网格结束后,保存时出现问题,说bfd(k,r)没定义?参数不匹配?
原因:前处理操作不正确,生成的fgidpre.for文件没有把前处理得到的gidbfd合并进去。

2.Condition中只有a场,没有其它场。

在pre文件中matedata段的材料前不要编号。

3.error running progress.Check additional info in other windows.
info window
Error in base file d:\ifepg\gid\fepg.gid\fepg.bas at line number 25: Unknown Condition name: Surface-aet6
可能程序采用的单元类型与前处理单元类型不一致,或者坐标系统不一致。

4.Calculte时候:
Error in base file c:\ifepg\gid\fepg.gid\fepg.bas at line number 32: GlobalNodes can't be used in this context. There is no NumFace。

模型有误。

5.couldn't open "c:/ifepg/gid/Scripts/units.gid": no such file or directory
要使用操作系统win2000吗,安装时用超级用户吗,使用时是超级用户,系统安装在c:\ifepg下面。

6.Gid保存文件要与gcn文件名同名。

7.界面不刷新
去掉硬件显卡加速,GID不支持。

8.Gid突然不保存关闭。

Gid漏洞
9.使用中菜单突然不能用。

用快捷方式激活,然后又可以使用。

10.Error: Cannot open C:/DOCUME~1/ÀîÕÜ/LOCALS~1/Temp/gid11/
tmp-gidErrMesh: couldn't open "C:/DOCUME~1/ÀîÕÜ/LOCALS~1/Temp/
gid11/tmp-gidErrMesh": no such file or directory
使用超级用户
11.
可能在做造型后又修改了pre文件,重新fepg一下,加条件。

12.this version of gid only allows to generate 700 surface elements and there were 2868
使用的是试用版
后处理:
1.计算结果显示有些点的结果与指定的边界条件不相符合。

在边界交叉点上,点是共用的,所以在剖分网格的时候,点的约束既可能取其中一边的边界条件,也可能取成另一边的边界条件,所以做法是:在点上单独加边界条件,它的边界要优先于线上定义的边界条件。

2.在后处理中看不到图形
设置透视方式(culling style)和显示类型(display style)
3.File already connected to a different unit
读某个unod文件时候出错,可能文件损坏。

4.Error,wrong d.o.f. no. =4 for 2D
对于二维问题,pos文件中,显示的自由度每行不能是四个。

5.gidpost0.for(47) : run-time error F6416: OPEN(gidpost)
- file not found
计算过程可能有错。

6.D:\IFEPG.g77\ljl>if not exist coor1 d:\ifepg.g77\nfe\gidpost0.exe coor0 gidpos dof gidpost ds.gid\ds.flavia.res ds.gid\ds.flavia.msh coor0 elem0
open: No such file or directory
apparent state: unit 2 named coor0
lately writing direct unformatted external IO
网格没有数据文件。

7.
网格数据flavia.msh不对。

删掉改文件试试。

8. gidpost0.for(45) : run-time error F6416: OPEN(gidpost.dof)
- file not found
前处理可能不对。

9.进入后处理时,系统提示couldn't open file s.gid\s.flavia.res
需要先登录并上传pre、pos文件
其它
1.faltal error C1007
安装路径有误
2.Fepg文件有病毒
可能fepg文件书写不规范,误认为病毒,不要删除。

3.在login时出现以下错误:
Error: couldn't execute "D:\Program":invalid argument
机子没有真实ip
4.在login时:
Proxy authorization required
Username authentication is required for using this proxy. Either your browser does not perform proxy authorization, or your authorization has failed.
代理上网,代理要密码,换个代理
更多fortran相关教程尽在气象资料站。

相关文档
最新文档