Fortran编译器.docx
- 文档编号:8256211
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:16
- 大小:191.63KB
Fortran编译器.docx
《Fortran编译器.docx》由会员分享,可在线阅读,更多相关《Fortran编译器.docx(16页珍藏版)》请在冰豆网上搜索。
Fortran编译器
fortran安装、调试、运行过程中的【可能错误及其原因】-中英对照
∙
楼主鲍炜炜2011-04-1814:
37
(欢迎加入气象QQ讨论群:
149280902,点击即可加入)
安装
1.关于Fortran编译器的安装和配置?
在安装FEPG之前一般要先安装好PowerstationFortran4.0编译器,并设置好Fortran编译器的path、lib和include路径。
如果你的PowerstationFortran4.0编译器安装在目录C:
\MSDEV下,设置如下:
·在WIN2000/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换为该目录名。
实际上,在安装PowerstationFortran4.0时,会出现一个对话框,询问是否增加环境变量,如果选是,这些变量就已经配置好了。
安装fepg,需要用户有管理员权限。
2.运行FEPG命令生成Fortran源程序时,出现fl32不是内部命令也不是外部命令的错误(或fl32isnotinternalcommand)?
没配置好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编译器?
还可用VisualFortran6.5编译器,配置与PowerstationFortran4.0相同。
对于IFEPG5.2(forg77)客户端,还可以用g77编译器了
5.是否与其他软件有兼容性问题?
FEPG与其他软件没有兼容性问题。
但PowerstationFortran4.0和VisualC++6.0如果在安装时,都选了设置环境变量,在用Fortran编译器编译连接FEPG产生的Fortran源程序时,会出问题。
可在安装VisualC++时,出现是否设置环境变量对话框时,选择否,即可解决此问题,此时,用VisualC++编译窗口可编译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怎么办啊?
在安装VisualC++时,出现是否设置环境变量对话框时,选择否,即可解决此问题。
就是不要设关于VC++的环境变量,应该就可以了。
这样VC应该用VC的界面能用。
8.打开Ifepg后,连接服务器时,出现了can'tcreatefile是怎么回事啊?
这一般是IFEPG服务器端的问题。
如出现尽快联系我们。
9.出现cannotopenfile"dfor.lib"?
这可能是换fortran编译器造成的,比如VisualFROTRAN6.1变成powerstation4.0。
因为各个编译器编译出来的obj代码不同,连接的库不同。
如果你用powerstation4.0提供的fl32命令,将一些VisualFROTRAN6.1产生的obj文件,连接成可执行程序可能就会出现这个问题。
解决办法是使用powerstation4.0提供的fl32将那些文件重新编译一下。
10.Error:
Couldn'tinitializeGID.CheckDISPLAYandxhost,Checkformoreinfotofilesindirectory:
C:
\DOCUME~1\xxc1\LOCALS~1\Temp\gid3
安装fepg时,需要使用administrator用户安装,第一次运行gid时,也需要使用administrator用户运行,第二次运行gid就应该不用了。
11.安装后,运行gid建模型,模型显示异常是怎么回事?
gid对某些型号的显卡支持的不好,你可以将显卡的硬件加速调成无试试。
在Windows2000下操作如下,用鼠标右键点击桌面的空处,点击出现的“属性”菜单项,点击出现的“设置”页,点击出现的“高级”按钮,点击出现的“疑难解答”页,将“硬件加速”的拉条调到“无”。
程序生成
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-caeq4g2.for
'g77'不是内部或外部命令,也不是可运行的程序
或批处理文件。
Fortran安装不正确或fortran环境变量没有设置。
检查环境变量设置:
变量:
path值:
c:
\MSDEV\bin;%path%
变量:
lib 值:
c:
\MSDEV\lib;%lib%
变量:
include值:
c:
\MSDEV\include;%include%
7.Error,cannotfindshapefunctiond2c8inSHAPLibrary
shap段写错了,在库中找不到所写的单元类型。
8.les.giofileexpected!
需要上传FEPG原始文件,如GCN、GIO、PDE等。
9.FEPG翻译时无相应。
PDE中参数可能写错,将%1写成1%等。
10.编译找不到相应的文件
用文本编辑器保存,文件后缀可能会保存成.txt。
11.Linkfotalerrorlink1104:
cannotopenfile“dfor.lib”
如果是单机版,到fepg目录下nfe.r8下运行gfepglib.bat
如果是网络版,到ifepg目录下nfe下运行gfepglib.bat
再运行命令应该就行了。
12.errorFOR2979:
expected2subscriptsbutfound1forarrayEU1
用NFE文件时,在EQUATION段的声明语句出错。
13.生成NFE时出错
可能pde中材料参数太多。
14.Error:
theshapesofthearrayexpressionsdonotconform
可能用户定义变量与系统变量重复造成冲突。
15.Warninglink4084:
totalimagesizewarningexceedmax
imagemaynotrun
这个没有关系的。
不用管它。
这是fortran编译器的问题。
对生成程序和计算没有影响。
16.Error:
listelementinbracesfollowedby"a:
link"insteadofspace
文件写得可能有问题。
17.errorwrongnumberafterdirectoryname...lea....linenumber=9
Error,elementname.........1isnotexpected
Linenumber=9
PDE文件有错。
18.LINK:
fatalerrorLNK1181:
cannotopeninputfile"aec8.obj"
PDE文件书写不正确,没有正常翻译。
19.applicationerror:
error:
listelementinbracesfollowedby\"a:
link\"insteadofspace
可能文件名命名长度超过了8个字符。
20.errorcanotfindrefcorcoorname...
icoor,irefc,i=101
可能在PDE中没有写coor行信息。
21.error,cannotfindDISPorFUNCname......exx
linenumber.......239
error,cannotfindDISPorFUNCname......exy
linenumber.......240
可能在PDE中没有写disp行、func行信息。
22.elesb.obj:
errorLNK2001:
unresolvedexternalsymbol_BET3@32
temp.exe:
fatalerrorLNK1120:
1unresolvedexternals
没有bet3.for,或者没编译成obj。
23.startisnotainternalcommand
可能操作系统不符合
24.“0x00404281"指令引用的"0xeb88f404"内存。
该内存不能为“read”.
要中止程序,请单击“确定”。
要调试程序,请单击“取消”。
这种错误比较难查。
它预示着计算全乱了。
检查办法是
做一个简单的网格,来看问题是出在网格还是程序。
如果是程序的问题。
就在程序里用$debug来追踪是哪行程序的问题。
这种错误往往会来自一个小小的字母错误。
但查起来比较麻烦。
25.aeq4g2.obj:
errorLINK2001:
Unresolvedexternalsymbol_ecu@8
enpa.exe:
fatalerrorLINK1120:
1unresolvedexternals
pde文件中ecu的定义或使用有问题
26.用公式库生成有限元程序时总是提示‘fem.bat’不是内部或外部命令,也不是可运行的程序或批处理文件
路径可能与vc有冲突,你看看软件安装版
27.
安装powerstation4.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.Arrayorsubstringsubscriptexpressionoutofrange
数组越界,将相应数组开大。
3.Endoffileencountered
读文件错误,读的东西多,文件数据少,检查要读文件是否正确。
4.Filealreadyexist
是文件读写时候出错,例如本来文件已经存在,但是打开文件的时候status=new这种问题,status可以改成replace
5.结果不能输出1000步以后的结果。
目前系统设计的结果文件名后缀最多是3个字符,超过3个需要修改bft文件。
6.死循环
不收敛,或者dos窗口显示错误了但是没有看清。
7.run-timeerrorF6416open(elem0)
-filenotfound
前处理没有生成数据文件。
8.Overflow
数据溢出,可能是有exp等运算,导致数据溢出错误。
9.run-timeerrorF6508:
read(unod
toomanybytesreadfromunformattedrecord
要读取的文件记录数大于文件现有的记录,修改unod的输出。
10.不是内部或外部命令,也不是可运行的程序或批处理文件。
程序没有生成,说明书写的文件有错。
11.filenamemissingorblank
BAT中EXE文件后面缺少相应的参数文件名。
12.run-timeerrorM6103:
MATH
-floating-pointerror:
dividebyzero
可能是pde文件写的有问题,看看其中的除法运算,有没有除零的情况,改改。
或者,前处理的数据,和计算时的数据不一致,如前处理化的网格是三角形,而计算时的单元类型是四边形。
13.Callpost.bat
copy .1
系统找不到指定的文件。
没有正确填写.pos文件。
14.ulesadisp0timesysbfdnvudisplaceend
forrtl:
severe(602):
filenotfound
说明ulesa这个程序后面所跟的某个文件没有生成,应该是前面的计算就出错了。
elesa或者solv,一般是elesa出错
15.NUMEL,NEQ=262762635226353
forrtl:
severe(157):
ProgramException-accessviolation
ImagePCRoutineLineSource
网络版程序,生成的程序数组开的较小,开大试试。
主要是maxt的值
16.run-timeerrorM6104:
math
-floating-pointerror:
overflow
浮点溢出,可能是数值太大或者太小,超出了表达范围,你查查有没有求指数之类的运算。
17.ir,a_diag= 2499 -1.265978220909237E+011
Stop-Programterminated.
主对角元为负是不能继续求解的
主对角元出现负值的原因比较多,我以前计算也是常碰到的
可能跟求解器有关系,换个求解器试试
可能跟网格形状有关系,形状过差的单元会出这个问题
可能跟材料参数有关系,不合理的材料参数也可能导致
我以前遇到过这三种情况,其它我就不知道了(还没有碰到)。
求解器:
1.Solv.exe不是有效的win32应用程序
solv中内存开的太大,超过了2G,win32的程序的单进程程序的内存数组是有限制的,应该是不能超过2G的。
2.Solvermemoryrequired…… 0
在设置边界条件时,可能是单元没有选,请检查!
3.Run-timeerrorM6101:
Math
-floating-pointerror:
invalid
可能刚度矩阵奇异了,出现了除零错误。
4.solv.obj:
errorLNK2001:
unresolvedexternalsymbol_REDU@32
solv.obj:
fatalerrorLNK1120:
1unresolvedexternals
直接法求解换成迭代法求解,要重新生成程序,只是getsolv是不行的
5.Matrixaexceedcorememory…….
Requiredcorememory…….
Returncode0
修改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.errorrunningprogress.Checkadditionalinfoinotherwindows.
infowindow
Errorinbasefiled:
\ifepg\gid\fepg.gid\fepg.basatlinenumber25:
UnknownConditionname:
Surface-aet6
可能程序采用的单元类型与前处理单元类型不一致,或者坐标系统不一致。
4.Calculte时候:
Errorinbasefilec:
\ifepg\gid\fepg.gid\fepg.basatlinenumber32:
GlobalNodescan'tbeusedinthiscontext.ThereisnoNumFace。
模型有误。
5.couldn'topen"c:
/ifepg/gid/Scripts/units.gid":
nosuchfileordirectory
要使用操作系统win2000吗,安装时用超级用户吗,使用时是超级用户,系统安装在c:
\ifepg下面。
6.Gid保存文件要与gcn文件名同名。
7.界面不刷新
去掉硬件显卡加速,GID不支持。
8.Gid突然不保存关闭。
Gid漏洞
9.使用中菜单突然不能用。
用快捷方式激活,然后又可以使用。
10.Error:
CannotopenC:
/DOCUME~1/ÀîÕÜ/LOCALS~1/Temp/gid11/
tmp-gidErrMesh:
couldn'topen"C:
/DOCUME~1/ÀîÕÜ/LOCALS~1/Temp/
gid11/tmp-gidErrMesh":
nosuchfileordirectory
使用超级用户
11.
可能在做造型后又修改了pre文件,重新fepg一下,加条件。
12.thisversionofgidonlyallowstogenerate700surfaceelementsandtherewere2868
使用的是试用版
后处理:
1.计算结果显示有些点的结果与指定的边界条件不相符合。
在边界交叉点上,点是共用的,所以在剖分网格的时候,点的约束既可能取其中一边的边界条件,也可能取成另一边的边界条件,所以做法是:
在点上单独加边界条件,它的边界要优先于线上定义的边界条件。
2.在后处理中看不到图形
设置透视方式(cullingstyle)和显示类型(displaystyle)
3.Filealreadyconnectedtoadifferentunit
读某个unod文件时候出错,可能文件损坏。
4.Error,wrongd.o.f.no.=4for2D
对于二维问题,pos文件中,显示的自由度每行不能是四个。
5.gidpost0.for(47):
run-timeerrorF6416:
OPEN(gidpost)
-filenotfound
计算过程可能有错。
6.D:
\IFEPG.g77\ljl>ifnotexistcoor1d:
\ifepg.g77\nfe\gidpost0.execoor0gidpos
dofgidpostds.gid\ds.flavia.resds.gid\ds.flavia.mshcoor0elem0
open:
Nosuchfileordirectory
apparentstate:
unit2namedcoor0
latelywritingdirectunformattedexternalIO
网格没有数据文件。
7.
网格数据flavia.msh不对。
删掉改文件试试。
8.gidpost0.for(45):
run-timeerrorF6416:
OPEN(gidpost.dof)
-filenotfound
前处理可能不对。
9.进入后处理时,系统提示couldn'topenfiles.gid\s.flavia.res
需要先登录并上传pre、pos文件
其它
1.faltalerrorC1007
安装路径有误
2.Fepg文件有病毒
可能fepg文件书写不规范,误认为病毒,不要删除。
3.在login时出现以下错误:
Error:
couldn'texecute"D:
\Program":
invalidargument
机子没有真实ip
4.在login时:
Proxyauthorizationrequired
Usernameauthentication
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran 编译器