admin管理员组

文章数量:1539371

2024年5月13日发(作者:)

1、运行fortran时出现forrt1:severe<59>:list-directed I/O syntax error,unit

1,file G:怎么办

这是通道 1 ,链接到文件 的读写出错了。

这问题你得认真检查类似 read( 1 , * ) 或 write( 1 , * ) 这样的语句,错误原因挺多

的。

比如二进制文件用了文本方式读取,比如变量列表与文件不匹配。

问:另外forrt1:severe<161>:program exception -array bounds exceeded是怎

么回事?

回答:数组越界,也是很常见的错误。比如 real a(100)如果你使用了 a(101) 就会越

界,因为 a 数组只有 100 个元素。

2、fortran运行提示error M6201:math-**,现将代码贴出,求高手帮忙看看,

急求解答!

我不能确定你的错误是怎么引起的。可能咱们的编译器不同。

你的代码在我这里的问题是:

虚参和实参精度不同。在程序中,你定义了部分 real*8,但是对应的虚参和返回值却

定义为 real。比如 主程序里的 z1(双精度),传入函数g里面的x却定义为单精度。

主程序 Do 死循环了。z2_jiashe 和 z2_suan 每一次循环都没有发生改变,于是永远

跳不出循环。

我给你的建议是:

同一个程序,统一使用 real*8 或 real*4,尽量不要混用,除非你很自信能理清他们

的关系。

检查 Do 循环,尤其是 z2_jiashe 和 z2_suan,是否应该每次循环不同?

fortran_排除错误(2012-04-20 23:22:44)

安装好VISUAL FORTRAN后

1、运行Developer studio即可开始编译FORTRAN程序

2、选择File菜单中的New选项

3、在弹出的对话框选择projects标签,其他标签不用管,projects格式选用Fortran

console application;在project name里命名(最好英文名),点击“ok ”

4、接下来画面中,选择“an empty project”,点击“finish”

5、接下来画面点击“ok”

6、再选择一次File菜单中的new

7、对话框选用files标签,选择Fortran free format source file ,并在file里命名

8、点击“ok”

Source Files 放源文件(.c、.cpp)程序的实现代码全放在这里

Header Files 放头文件(.h)声明放在这里

Resource Files 资源文件(.rc)放图标、图片、菜单、文字之类的,主要用来做界面的

东东一般都放这里

External Dependencies 除上三种以外的,程序编译时用到的文件全放这里

fortran内部函数出错信息解释

内部函数出错信息解释

[sourcefile(line)]run-time error M62××MATH

错误号 函数级数学错误信息

M6201 functionnames:DOMAIN error

函数的自变量超出了约定的取值域,例如sqrt(-1)

M6202 functionname:SING error

无意义的变量。例如log10(0)

M6203 functionname:OVERFLOW error

函数的结果值或其中一个既时计算值太大以致不能表示,例如

EXP(250000.0)

M6204 functionname:UNDERFLOW error

函数的结果值或其中一个既时计算值太小以致不能表示。

M6205 functionname:TLOSS error

完全丢失精度,例如COS(1E30)

M6206 functionname:PLOSS error

fortran debug模式设置和技巧

CVF中有两种编译(连接、执行)模式:release模式和debug模式。调试程序时,

宜用debug模式;调好后再用release模式,得到高效的执行程序。设定debug模式:

点击菜单

Build/Set Active Project Configuration,选 *- Win32 Debug,OK,即设定为

debug模式。以debug模式执行:点击“Go (F5)”按钮,或直接按F5键,则执行程序,

并在第

一个出错语句处停止,在该语句前有一个小黄色箭头。若程序没错,则一直执行完毕,

自动关闭dos窗口。此时,宜用“!”按钮或“Ctrl+F 5”键,执行完成后,dos窗口等

待用户关闭。设置断点:若希望执行时在某一语句处暂停,可将光标置于该语句,点

击“手”形状的按钮,或按F9键,则程序执行到该语句时停在该语句处。单步执行:F10

(不进入子过程程序段)或者F11(遇到子过程进入子过程程序段继续单步执行)。在

工具栏上都有相应的按钮。查看变量值:小黄箭头停在某语句时,按下Variable按钮,

显示当前程序段的变量值;对于简单变量,将光标放在该变量上,则即时显示该变量

值。先简单说这么多。

如何用Debug模式获得更多的提示信息

依次选择/打开:Project => Settings => Fortran => Compilation Diagnostics

建议选中以下各项:

Argument Mismatch (类型不一致)

Data Alignment (数据排列错位)

Uncalled Routines (从无调用的子过程)

Undeclared Symbols (未声明变量、过程等)

Uninitialized Variables (未赋初始值的变量)

Unused Variables (从未用到的变量)

Usage (用法)

用了这些选项,可以对很多潜在的问题给予警告,使代码更为规范安全。注意:

Uninitialized Variables只对简单变量有效,对数组无效。如果简单变量a未给初值,而

用于

b=3.0*a,则编译时将报错,但是如果a是个数组变量,则不报错。(不知后来的Intel

VF版本有没有改进?)

另外也建议以下设置:Fortran Standard Checking: Fortran 90/95这样,非标准的、

厂家扩充的语法功能就会给出警告。

Visual Fortran常见运行错误

Insufficient virtual memory 虚拟内存不足

Integer overflow 整数溢出错误

Integer divide by zero 整数除0错误

Floating overflow 浮点数溢出错误

Floating divide by zero 浮点数除0错误

Floating underflow 浮点数下溢错误

Floating point exception 浮点数异常错误

Subscript out of range 数组定义超出边界

Floating-point conversion failed 浮点数格式转换失败

Null pointer error 空指针错误

Stack overflow 堆栈溢出

String length error 字符串长度超出允许范围

Substring error 数组下标超出允许范围

Range error 整数值超出允许范围

Allocatable array is already allocated 数组重复定义

Program Exception - array bounds exceeded 引用数组下标超出允许范围

Program Exception - denormal floating-point operand 非法浮点数操作符

Program Exception - floating stack check 浮点数堆栈检查

Program Exception - integer divide by zero 整数除0错误

Program Exception - integer overflow 整数溢出

Program Exception - privileged instruction 非法执行特权指令

Program Exception - illegal instruction 非法指令

Program Exception - stack overflow 堆栈溢出

Array or substring subscript expression out of range 数组下标低下数组定义下界

或高于数组定义上界

CHARACTER substring expression out of range 字符串非法表示

Label not found in assigned GOTO list 不属于GOTO语句引用的标号

INTEGER arithmetic overflow 整数运算结果出现溢出

INTEGER overflow on input 输入的整数值超出允许范围

Invalid INTEGER 非法整数值

REAL indefinite (uninitialized or previous error) 产生非法实数

Invalid REAL 非法实数

REAL math overflow 实数值溢出

No matching CASE found for SELECT CASE select case语句中缺少case项

INTEGER assignment overflow 整数定义超出允许范围

A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出需要

A编辑符

E, F, D, or G edit descriptor expected for REAL 实数型数据的格式化输入和输出需

要E,F,D,G编辑符

I edit descriptor expected for INTEGER 整数型数据的格式化输入和输出需要I编

辑符

L edit descriptor expected for LOGICAL 逻辑型数据的格式化输入和输出需要L编

辑符

Multiple radix specifiers 输入或输出语句重复说明

Array already allocated 数组已分配

Array size zero or negative 数组大小为0或负数

Array not allocated 没有被分配的数组

Invalid argument 非法参数

Invalid number in input 输入非法数字

Invalid string in input 输入非法字符串

Comma missing in COMPLEX input 输入的多个表达式之间缺少逗号

T or F expected in LOGICAL read 输入的逻辑值必须是T或F

Illegal character in hexadecimal input 输入非法的十六进制数

Integer expected in format 格式语句中要求的整数

Initial left parenthesis expected in format 格式语句中多余的左括号

Positive integer expected in format 格式语句中要求用正整数

Integer expected preceding H, X, or P edit descriptor 在H、X、P编辑符前要求

用整数

'.' expected in format 在D、E、F、G编辑符中w和d域之间用'.'分隔

Unexpected end of format 格式语句没有结束

Unexpected character in format 格式语句中的非法字符

M field exceeds W field in I edit descriptor 在I编辑符中M域的值大于W域的值

Integer out of range in format 格式语句中的整数值超出允许范围

Separator expected in format 格式语句中需要分隔符

Out of range: substring starting position 'pos' is less than 1 子字符串的起始位

置小于1

Out of range: substring ending position 'pos' is greater than string length 'len'

子字符串的终止位置大于字符串长度

Out of memory 内存不足

Cannot allocate temporary array -- out of memory 由于内存不足不能分配临时

数组

Cannot ALLOCATE allocatable array -- out of memory 由于内存不足不能分配数

DEALLOCATE failure: ALLOCATABLE array is not ALLOCATED 释放没有被分配的

fortran中forrtl:severe(24):end-of-file during read,unit 7,file D:

image

读数据时读到文件末尾了。

说明你要读的数据多于文件中存储的数据,改一下程序中读取数据的个数。

FORTRAN severe161 program exception array bounds exceed

提示表示数组越界,程序中使用数组时引用了不在范围内的下标。

1. Incrementally linked image--PC correlation disabled.

!编译终止

2. forrtl: severe (157): Program Exception - access violation

!The program tried to read from or write to a virtual address for which it does

not have the appropriate access. Try recompiling with the /check:bounds and

/warn:argument_checking options set, to see if the problem is an out-of-bounds

memory reference or a argument mismatch that causes data to be treated as an

address.

Other causes of this error include:

Mismatches in C vs. STDCALL calling mechanisms, causing the stack to

become corrupted

References to unallocated pointers Attempting to access a protected (for

example, read-only) address

3 "forrtl: severe (64): input conversion error, unit 2, file D:FORTRAN2testi

!文件testi正在读写,直到读写到2时错误。举例:程序想读写整数,却碰到变量故

终止。

4 error LNKZOOI : unresolved external symbol _ SN @ 4 fatal error LNKllZO : 1

unresolved externals

! 出现了未指定的外部函数符号 Sn 。这是因为在函数子程序中错把函数名 Sn 写成

了 ns 。根据错误信息中的提示,用户在编辑窗口寻找有错位置进行修改。连接错误往往

出现在有函数调用或子程序调用的程序中,常见的错误性质有:未定的函数符号、找不到

主程序或子程序、实参与虚参的个数不一致等。注意:连接错误只给出错误代号和错误性

质,不给出具体语句的行号。

5 :: error FOR229O : implicit type for 1 detected between 1 and = C : abc .

: error FOR33Og : undefined label 10

编译系统提示用户:在程序的第 5 行,变量 i 未经类型说明;在程序的第 H 行,标

号 10 未定义。为了便于将 output 窗口中的错误信息与程序中的有错语句对照起来检查,

可以双击错误列表中的某一行,此时该行被高亮显示,同时有一个小指针在编辑窗口内指

向程序中对应该行错误的语句行.

6 C : abc .f90( 5 ) : error FOR229O : implicit type forx

即编译系统通告用户:在程序“ C :、 abc . fgo ”中的第 5 行发现了错误,错误

代号为“ error FoR229o " ,错误性质是“ implicit type forx " (变量 x 未经类型说

明)。

7 run 一 time error M62OI : MATH 一 sqrt : DOMAIN error

该错误为内部函数 sqrt 的定义域错误,即函数 sqrt 的参数不能为负数。

8 边界点的值往区域内部移动

边界变量定义的维数小于实际维数

9 FortranPGMEULER invisicid flowTWODEULER.F90(737) : Warning: In the

call to CUCVCUV, there is no actual argument corresponding to the dummy

argument TTT.

CALL CUCVCUV(MP1,NP1,M,N,DELX,DELY,U,V,CU,CV,CUS,CVS,&------^

!调用子程序中,存在一个不存在的哑元变量TTT,建议对其修改。

10 forrtl: severe (161): Program Exception - array bounds exceeded

Image PC Routine Line

Source

0041CBD4 Unknown

Unknown Unknown

0040CF57

Unknown Unknown

004722B9

Unknown Unknown

TWOD 00466264

Unknown Unknown

7C816FE7 Unknown

Unknow

Incrementally linked image--PC correlation disabled.

Press any key to continue

!超出数组的维数。(即变量的个数太大)

11--------------------Configuration: TWODEULER -

Debug--------------------

Unknown

Unknown

Unknown

Unknown

Win32

D:FortranPGMEULER invisicid flowTWODEULER.F90

- 0 error(s), 0 warning(s)

!源程序编译,生成一个目标文件。这 是一个二进制文件,便于

机器执行。这一点是与matlab的本质区别。

12 D:FortranPGMEULER invisicid flowTWODEULER.F90(5) : Error: This name

cannot be assigned this data type because it conflicts with prior uses of the name.

[N]

INTEGER MP1,NP1,M,N,I,J,KP,KH,KVEL

Error executing . - 2 error(s), 0 warning(s)

fortran内部函数出错信息解释(2012-04-20 23:05:56)

标签: 杂谈 分类: Fortran

fortran内部函数出错信息解释

内部函数出错信息解释

[sourcefile(line)]run-time error M62××MATH

错误号 函数级数学错误信息

M6201 functionnames:DOMAIN error

函数的自变量超出了约定的取值域,例如sqrt(-1)

M6202 functionname:SING error

无意义的变量。例如log10(0)

M6203 functionname:OVERFLOW error

函数的结果值或其中一个既时计算值太大以致不能表示,例如

EXP(250000.0)

M6204 functionname:UNDERFLOW error

函数的结果值或其中一个既时计算值太小以致不能表示。

M6205 functionname:TLOSS error

完全丢失精度,例如COS(1E30)

M6206 functionname:PLOSS error

fortran debug模式设置和技巧

CVF中有两种编译(连接、执行)模式:release模式和debug模式。调试程序时,

宜用debug模式;调好后再用release模式,得到高效的执行程序。设定debug模式:

点击菜单Build/Set Active Project Configuration,选 *- Win32 Debug,OK,即设定

为debug模式。以debug模式执行:点击“Go (F5)”按钮,或直接按F5键,则执行程

序,并在第一个出错语句处停止,在该语句前有一个小黄色箭头。若程序没错,则一直执

行完毕,自动关闭dos窗口。此时,宜用“!”按钮或“Ctrl+F5”键,执行完成后,dos

窗口等待用户关闭。设置断点:若希望执行时在某一语句处暂停,可将光标置于该语句,

点击“手”形状的按钮,或按F9键,则程序执行到该语句时停在该语句处。单步执行:F10

(不进入子过程程序段)或者F11(遇到子过程进入子过程程序段继续单步执行)。在工具

栏上都有相应的按钮。查看变量值:小黄箭头停在某语句时,按下Variable按钮,显示当

前程序段的变量值;对于简单变量,将光标放在该变量上,则即时显示该变量值。先简单

说这么多。

如何用Debug模式获得更多的提示信息

依次选择/打开:Project => Settings => Fortran => Compilation Diagnostics

建议选中以下各项:

Argument Mismatch (类型不一致)

Data Alignment (数据排列错位)

Uncalled Routines (从无调用的子过程)

Undeclared Symbols (未声明变量、过程等)

Uninitialized Variables (未赋初始值的变量)

Unused Variables (从未用到的变量)

Usage (用法)

用了这些选项,可以对很多潜在的问题给予警告,使代码更为规范安全。注意:

Uninitialized Variables只对简单变量有效,对数组无效。如果简单变量a未给初值,而

用于 b=3.0*a,则编译时将报错,但是如果a是个数组变量,则不报错。(不知后来的Intel

VF版本有没有改进?)

另外也建议以下设置:Fortran Standard Checking: Fortran 90/95这样,非标准的、

厂家扩充的语法功能就会给出警告

M6201 MATH error

NONMEM Topic 26

Keywords: Math Error M6201, Microsoft FORTRAN, Powerstation

Topic started by: Alison Boeckmann (alison@) - 12 Oct 1994

To users of Microsoft Powerstation Fortran: Has anyone encountered this

execution time error message? run-time error M6201: MATH - sqrt: DOMAIN error

It appears as soon as is started, with all NONMEM runs. One NONMEM

user encountered this some months ago. He wrote subsequently: I found that the

run-time error was caused by the upgrade package of FORTRAN Power- Station

and decided to purchase the complete package, which solved the math error

message during a NONMEM run. Another user has now run into it. The first output

she sent had this line: Microsoft (R) Portable Linker Version 2.8 Copyright (C)

Microsoft Corp 1992-1993. All rights reserved. I told her that, with Powerstation

Fortran, one generally sees the following: Microsoft (R) 32-Bit Executable Linker

Version 1.0F Copyright (C) Microsoft Corp 1992-1993. All rights reserved. She

appears to have corrected the version of the Linker, and the compiler and linker

messages are exactly as they should be, and yet all runs still fail with the Math

error message. I'm sure that this is some problem in the installation of Fortran itself,

but I can't reproduce it on the PC that I use. Has anyone else seen this and been

able t figure out what i

happening?

Response by: Alison Boeckmann (alison@) - 20 Jan 1995

Another user encountered this recently, and, using the Fortran debug utility,

was able to locate the instruction causing the error: INFNTY=SQRT(LARGET) in

NONMEM's INITL subroutine. It turned out that he was using the (default) IEEE

constants in BLKDAT rather than the INTEL constants, which are the correct ones

for the IBM PC. Once BLKDAT was modified as described in NONMEM Users Guide

III, p. 16-17, the problem disappeared. See also NONMEM Level 2.1 Update

End of Topic - 15 Sep 95

Fortran编译器常见错误提示及原因.doc(2012-04-20 18:24:49)

标签: 杂谈 分类: Fortran

附录:常见错误提示及原因

安装

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:MSDEVbin; %path%

变量:lib 值:c:MSDEVlib;%lib%

变量:include值:c:MSDEVinclude;%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之前,没安装和配置好Fortran编译器所致。在安装FEPG之后出现此情

况,可先按照上面第1个问题中的解答配置好Fortran编译器,然后在dos窗口下,运行

FEPG所在目录下nfe.r8目录下的程序,即可生成库文件。

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客户端系统的前处理与MATLAB有兼容性问题,用户安装了IFEPG

客户端和MATLAB后,可能启动不了。可以将操作系统PATH环境变量中关于

MATLAB的路径删除,这样就可以启动了。

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

法?

不一定先装fortran,再装FEPG。如果先装FEPG,那么装完fortran再运行ifepg安

装目录下nfe下的。

7.请问如果要装VC怎么办啊?

在安装Visual C++时,出现是否设置环境变量对话框时,选择否,即可解决此问题。

就是不要设关于VC++的环境变量,应该就可以了。这样VC应该用VC的界面能用。

8.打开Ifepg后,连接服务器时,出现了can't create file是怎么回事啊?

这一般是IFEPG服务器端的问题。如出现尽快联系我们。

9.出现cannot open file""?

这可能是换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~1xxc1LOCALS~1Tempgid3

安装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.g771>g77 -c

'g77' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

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

检查环境变量设置:

变量:path值:c:MSDEVbin; %path%

变量:lib 值:c:MSDEVlib;%lib%

变量:include值:c:MSDEVinclude;%include%

7.Error, cannot find shape function d2c8 in SHAP Library

shap段写错了,在库中找不到所写的单元类型。

8. file expected!

需要上传FEPG原始文件,如GCN、GIO、PDE等。

9.FEPG翻译时无相应。

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

10.编译找不到相应的文件

用文本编辑器保存,文件后缀可能会保存成.txt。

11.Link fotal error link1104:can not open file “”

如果是单机版,到fepg目录下nfe.r8下运行

如果是网络版,到ifepg目录下nfe下运行

再运行命令应该就行了。

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 ""

PDE文件书写不正确,没有正常翻译。

19.application error:

error: list element in braces followed by "a:link" instead of space

可能文件名命名长度超过了8个字符。

20.error canot find refc or

icoor,irefc,i=101

可能在PDE中没有写coor行信息。

21.error, can not find DISP or xx

239

error, can not find DISP or xy

240

可能在PDE中没有写disp行、func行信息。

22. : error LNK2001: unresolved external symbol _BET3@32

: fatal error LNK1120: 1 unresolved externals

没有,或者没编译成obj。

23.start is not a internal command

可能操作系统不符合

24.“0x00404281"指令引用的"0xeb88f404"内存。该内存不能为“ read”.

要中止程序,请单击“确定”。

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

这种错误比较难查。它预示着计算全乱了。检查办法是

做一个简单的网格,来看问题是出在网格还是程序。如果是程序的问题。就在程序里

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

这种错误往往会来自一个小小的字母错误。但查起来比较麻烦。

25.:error LINK2001:Unresolved external symbol _ecu@8

:fatal error LINK1120:1 unresolved externals

pde文件中ecu的定义或使用有问题

26.用公式库生成有限元程序时总是提示‘’不是内部或外部命令,也不是

可运行的程序或批处理文件

路径可能与vc有冲突,你看看软件安装版

27.

安装powerstation 4.0后应该去fepgnfe.r8运行重新生成

28.用公式库生成有限元程序时总是提示‘’不是内部或外部命令,也不是

可运行的程序或批处理文件

你将于VC有关的PATH,INCLUDE和LIb的东东删除

计算:

1.如果e单元计算程序,出现除零或数组超阶错误,有可能有几个原因:

a.前处理划分网格的单元类型和计算时的单元类型对不上。如前处理划分的网格是三

角形,而生成计算程序时的单元类型是四边形。

文件中,添加的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这

种问题

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

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.不是有效的win32应用程序

solv中内存开的太大,超过了2G,win32的程序的单进程程序的内存数组是有限制

的,应该是不能超过2G的。

2.Solver memory required …… 0

在设置边界条件时,可能是单元没有选,请检查!

3.Run-time error M6101:Math

-floating-point error:invalid

可能刚度矩阵奇异了,出现了除零错误。

4. : error LNK2001 : unresolved external symbol _REDU@32

: 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)没定义?参数不匹配?

原因:前处理操作不正确,生成的文件没有把前处理得到的gidbfd合并

进去。

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

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

3.error running additional info in other windows.

info window

Error in base file d: at line number 25: Unknown

Condition name: Surface-aet6

可能程序采用的单元类型与前处理单元类型不一致,或者坐标系统不一致。

4.Calculte时候:

Error in base file c: at line number 32:

GlobalNodes can't be used in this context. There is no NumFace。

模型有误。

5.couldn't open "c:/ifepg/gid/Scripts/": 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,f. no. =4 for 2D

对于二维问题,pos文件中,显示的自由度每行不能是四个。

5.(47) : run-time error F6416: OPEN(gidpost)

- file not found

计算过程可能有错。

6.D:IFEPG.g77ljl>if not exist coor1 d: coor0

gidpos

dof gidpost coor0 elem0

open: No such file or directory

apparent state: unit 2 named coor0

lately writing direct unformatted external IO

网格没有数据文件。

7.

网格数据不对。删掉改文件试试。

8. (45) : run-time error F6416: OPEN()

- file not found

前处理可能不对。

9.进入后处理时,系统提示couldn't open file

需要先登录并上传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.

Visual Fortran 常见运行错误信息(2012-04-20 18:21:52)

标签: 杂谈 分类: Fortran

Visual Fortran 常见运行错误信息:

41 Insufficient virtual memory 虚拟内存不足

70 Integer overflow 整数溢出错误

71 Integer divide by zero 整数除0错误

72 Floating overflow 浮点数溢出错误

73 Floating divide by zero 浮点数除0错误

74 Floating underflow 浮点数下溢错误

75 Floating point exception 浮点数异常错误

77 Subscript out of range 数组定义超出边界

95 Floating-point conversion failed 浮点数格式转换失败

146 Null pointer error 空指针错误

147 Stack overflow 堆栈溢出

148 String length error 字符串长度超出允许范围

149 Substring error 数组下标超出允许范围

150 Range error 整数值超出允许范围

151 Allocatable array is already allocated 数组重复定义

161 Program Exception - array bounds exceeded 引用数组下标超出允许范围

162 Program Exception - denormal floating-point operand 非法浮点数操作符

163 Program Exception - floating stack check 浮点数堆栈检查

164 Program Exception - integer divide by zero 整数除0错误

165 Program Exception - integer overflow 整数溢出

166 Program Exception - privileged instruction 非法执行特权指令

168 Program Exception - illegal instruction 非法指令

170 Program Exception - stack overflow 堆栈溢出

540 Array or substring subscript expression out of range 数组下标低下数组定义

下界或高于数组定义上界

541 CHARACTER substring expression out of range 字符串非法表示

542 Label not found in assigned GOTO list 不属于GOTO语句引用的标号

543 INTEGER arithmetic overflow 整数运算结果出现溢出

544 INTEGER overflow on input 输入的整数值超出允许范围

545 Invalid INTEGER 非法整数值

546 REAL indefinite (uninitialized or previous error) 产生非法实数

547 Invalid REAL 非法实数

548 REAL math overflow 实数值溢出

549 No matching CASE found for SELECT CASE select case语句中缺少case项

550 INTEGER assignment overflow 整数定义超出允许范围

556 A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出

需要

A编辑符

557 E, F, D, or G edit descriptor expected for REAL 实数型数据的格式化输入和输

出需要E,F,D,G编辑符

558 I edit descriptor expected for INTEGER 整数型数据的格式化输入和输出需要I

辑符

559 L edit descriptor expected for LOGICAL 逻辑型数据的格式化输入和输出需要

L编

辑符

568 Multiple radix specifiers 输入或输出语句重复说明

582 Array already allocated 数组已分配

583 Array size zero or negative 数组大小为0或负数

585 Array not allocated 没有被分配的数组

610 Invalid argument 非法参数

616 Invalid number in input 输入非法数字

617 Invalid string in input 输入非法字符串

618 Comma missing in COMPLEX input 输入的多个表达式之间缺少逗号

619 T or F expected in LOGICAL read 输入的逻辑值必须是T或

622 Illegal character in hexadecimal input 输入非法的十六进制数

637 Integer expected in format 格式语句中要求的整数

638 Initial left parenthesis expected in format 格式语句中多余的左括号

639 Positive integer expected in format 格式语句中要求用正整数

641 Integer expected preceding H, X, or P edit descriptor 在H、X、P编辑符前

求用整数

644 '.' expected in format 在D、E、F、G编辑符中w和d域之间用'.'分隔

645 Unexpected end of format 格式语句没有结束

646 Unexpected character in format 格式语句中的非法字符

647 M field exceeds W field in I edit descriptor 在I编辑符中M域的值大于W域

的值

648 Integer out of range in format 格式语句中的整数值超出允许范围

650 Separator expected in format 格式语句中需要分隔符

663 Out of range: substring starting position 'pos' is less than 1 子字符串的

起始位置小于

664 Out of range: substring ending position 'pos' is greater than string leng

th 'len' 子字符串的终止位置大于字符串长度

672 Out of memory 内存不足

718 Cannot allocate temporary array -- out of memory 由于内存不足不能分配

临时

数组

727 Cannot ALLOCATE allocatable array -- out of memory 由于内存不足不能分

配数组

729 DEALLOCATE failure: ALLOCATABLE array is not ALLOCATED 释放没有被分

配的数组

本文标签: 文件程序错误可能语句