回 帖 发 新 帖 刷新版面

主题:[讨论]求助帮我看下程序哪里出错了?

[color=800080][size=4]大家好!恳求大家帮我看看附件里的程序哪里出错了。这个程序是关于求解轴对称圆形薄板自由振动特征值,假设轴向没有位移变化的程序,把三维问题转化成一维问题的FORTRAN程序,我已经调了3个星期了,就是执行求解特征值子程序SUBSPACE的时候出错了,但是我始终不知道哪里出错。
    我的模型是个半径50毫米、厚度5毫米的圆形薄板,在半径方向上每2毫米一个单元。
    附件里是程序和输入文件,程序时根据王瑁成FEATP程序改编的。恳求大家和各位高手帮我看下程序,感激不尽,所里的师兄弟都没做过这一块,我实在是没有办法了,先谢谢大家了!!!如果回复不方便的话,联系我也行,我的QQ是154987560,邮箱是whero_2000@163.com。[/size][/color]

回复列表 (共1个回复)

沙发

帮自己顶一下!我发现了一个错误 就是回代子程序BACKSUBS中,王茂成的程序里是错了,最有一个元素应该是数组名字,结果搞成了变量。改后运行了下,结果发现子空间的刚度矩阵GK(6*6)每个元素都一样,而且非常大,正常么?
       %%   OUTPUT INPUT-DATA TO < OUT_DAT > %%

       ##     ASSEMBLE GLOBAL MATRIX [GKK],  [GMM]  ##

       %% OUTPUT GLOBAL MATRIX INTO <OUT_MKP> %%

       # SOLVE EIGENVALUE BY SUBSPACE METHOD #

      % OUTPUT EIGENVALUE AND MODE INTO FILE<OUT_SUBS>
 GK(           1 ,           1 )为:  7.881301734206630E+133
 GK(           1 ,           2 )为:  7.881301734206630E+133
 GK(           1 ,           3 )为:  7.881301734206630E+133
 GK(           1 ,           4 )为:  7.881301734206630E+133
 GK(           1 ,           5 )为:  7.881301734206630E+133
 GK(           1 ,           6 )为:  7.881301734206630E+133
 GK(           2 ,           1 )为:  7.881301734206630E+133
 GK(           2 ,           2 )为:  7.881301734206630E+133
 GK(           2 ,           3 )为:  7.881301734206630E+133
 GK(           2 ,           4 )为:  7.881301734206630E+133
 GK(           2 ,           5 )为:  7.881301734206630E+133
 GK(           2 ,           6 )为:  7.881301734206630E+133
 GK(           3 ,           1 )为:  7.881301734206630E+133
 GK(           3 ,           2 )为:  7.881301734206630E+133
 GK(           3 ,           3 )为:  7.881301734206630E+133
 GK(           3 ,           4 )为:  7.881301734206630E+133
 GK(           3 ,           5 )为:  7.881301734206630E+133
 GK(           3 ,           6 )为:  7.881301734206630E+133
 GK(           4 ,           1 )为:  7.881301734206630E+133
 GK(           4 ,           2 )为:  7.881301734206630E+133
 GK(           4 ,           3 )为:  7.881301734206630E+133
 GK(           4 ,           4 )为:  7.881301734206630E+133
 GK(           4 ,           5 )为:  7.881301734206630E+133
 GK(           4 ,           6 )为:  7.881301734206630E+133
 GK(           5 ,           1 )为:  7.881301734206630E+133
 GK(           5 ,           2 )为:  7.881301734206630E+133
 GK(           5 ,           3 )为:  7.881301734206630E+133
 GK(           5 ,           4 )为:  7.881301734206630E+133
 GK(           5 ,           5 )为:  7.881301734206630E+133
 GK(           5 ,           6 )为:  7.881301734206630E+133
 GK(           6 ,           1 )为:  7.881301734206630E+133
 GK(           6 ,           2 )为:  7.881301734206630E+133
 GK(           6 ,           3 )为:  7.881301734206630E+133
 GK(           6 ,           4 )为:  7.881301734206630E+133
 GK(           6 ,           5 )为:  7.881301734206630E+133
 GK(           6 ,           6 )为:  7.881301734206630E+133
forrtl: severe (161): Program Exception - array bounds exceeded
Image              PC        Routine            Line        Source
FPC.exe            004086D5  SUBSPACE                  664  FPC.FOR
FPC.exe            00402CB4  FEATP                      96  FPC.FOR
FPC.exe            00452ED9  Unknown               Unknown  Unknown
FPC.exe            00438419  Unknown               Unknown  Unknown
kernel32.dll       7C817077  Unknown               Unknown  Unknown
Press any key to continue

664行是说子空间迭代向量BB有溢出,这个又是怎么回事?

我来回复

您尚未登录,请登录后再回复。点此登录或注册