常见fortran错误
1. Incrementally linked image--PC correlation disabled.
!编译终止
2. forrtl: vere (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 t, to e if the problem is an out-of-bounds memory reference or a argument mismatch that caus data to be treated as an address.
Other caus 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-o
nly) address
3 "forrtl: vere (64): input conversion error, unit 2, file D:\FORTRAN2\testi
!文件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 M6201 : MATH 一 sqrt : DOMAIN error
该错误为内部函数 sqrt 的定义域错误,即函数 sqrt 的参数不能为负数。
8 边界点的值往区域内部移动
边界变量定义的维数小于实际维数
9 FortranPGM\EULER invisicid flow\TWODEULER.F90(737) : Warning: In the call to CU
CVCUV, 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: vere (161): Program Exception - array bounds exceeded
Image PC Routine Line Source
0041CBD4 Unknown Unknown Unknown
0040CF57 Unknown Unknown Unknown
004722B9 Unknown Unknown Unknown
00466264 Unknown Unknown Unknown
kernel32.dll 7C816FE7 Unknown Unknown Unknow
Incrementally linked image--PC correlation disabled.
Press any key to continue
!超出数组的维数。(即变量的个数太大)
11 --------------------Configuration: TWODEULER - Win32 Debug--------------------
D:\FortranPGM\EULER invisicid flow\TWODEULER.F90
TWODEULER.OBJ - 0 error(s), 0 warning(s)
!源程序编译,生成一个目标文件。这TWODEULER.OBJ 是一个二进制文件,便于机器执行。这一点是与matlab的本质区别。
12 D:\FortranPGM\EULER invisicid flow\TWODEULER.F90(5) : Error: This name cannot be assigned this data type becau it conflicts with prior us of the name. [N]
INTEGER MP1,NP1,M,N,I,J,KP,KH,KVEL
-
--------------------^
Error TWODEULER.OBJ - 2 error(s), 0 warning(s)
! PARAMETER 中属性指定后,不能再定义成变量。
内部函数出错信息解释
[sourcefile(line)]run-time error M62××MATH
错误号 函数级数学错误信息
M6201 functionnames:DOMAIN error
函数的自变量超出了约定的取值域,例如sqrt(-1)
Sqrt 定义域错误,不一定是负数,还可能是 NaN,abs(NaN)依然是NaN
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
41 Insufficient virtual memory 虚拟内存不足
70 Integer overflow 整数溢出错误
71 Integer divide by zero 整数除0错误
72 Floating overflow 浮点数溢出错误
73 Floating divide by zero 浮点数除0错误
可能原因:可能是pde文件写的有问题,看看其中的除法运算,有没有除零的情况,改改。或者,前处理的数据,和计算时的数据不一致,如前处理化的网格是三角形,而计算时的单元类型是四边形。
74 Floating underflow 浮点数下溢错误
75 Floating point exception 浮点数异常错误