FORTRAN 77 プログラム コードがあります。Windows で Fortran Power Station 4.0 を使用しています。これは非常に長い有限要素法コードです。
コードは次のとおりです。
1 メインプログラムは
PARAMETER (HLENGTH=600.0,VLENGTH=600.0,NHELE=6,NVELE=6,NTYPE=1)
PARAMETER (DENSITY=2.78E-6,POISON=0.34,THICK=1.0,EMODULE=6.87E4)
PARAMETER (NTOTALNODE=(NHELE+1)*(NVELE+1))
PARAMETER (NHNODE=NHELE+1,NVNODE=NVELE+1)
PARAMETER (MK=(NTOTALNODE-2*NHNODE-2*(NVNODE-2))*5)
PARAMETER (DELTAH=(HLENGTH+0.0)/(NHELE+0.0))
PARAMETER (DELTAV=(VLENGTH+0.0)/(NVELE+0.0))
DIMENSION NODEMATRIX(NTOTALELE,4)
REAL*8 STIFFMATRIX(20,20),MASSMATRIX(20,20)
REAL*8 STIFFMATRIXS(20,20),MASSMATRIXS(20,20)
DIMENSION NODEROWT(4),NODEROWT2(20)
DIMENSION NM(NVNODE,NHNODE)
REAL*8 GSM(NTOTALNODE*5,NTOTALNODE*5),NCARRIER(MK),
&GMM(NTOTALNODE*5,NTOTALNODE*5),AA(MK,MK),BB(MK,MK)
CALL STIFFMAT(STIFFMATRIX,DELTAV,DELTAH,THICK,EMODULE)
CALL MASSMAT(MASSMATRIX,DELTAV,DELTAH,THICK,DENSITY)
CALL STIFFMATS(STIFFMATRIXS,DELTAV,DELTAH)
CALL MASSMATS(MASSMATRIXS,DELTAV,DELTAH,DENSITY)
.
.
.
. etc
2 - サブルーチンは次のように開始されます。
SUBROUTINE STIFFMAT(STIFFMATRIX,DELTAV,DELTAH,THICK,EMODULE)
REAL*8 STIFFMATRIX(20,20),B(6,20),BT(20,6),D(6,6)
REAL*8 CC(5),ZETAM(5),ETAM(5),CA,CB,ZETA,ETA,SUM,SUM2,SUM3
.
.
.etc
SUBROUTINE MASSMAT(MASSMATRIX,DELTAV,DELTAH,THICK,DENSITY)
REAL*8 MASSMATRIX(20,20),B(5,20),BT(20,5),D(5,5)
REAL*8 CC(5),ZETAM(5),ETAM(5),CA,CB,ZETA,ETA,SUM,SUM2,SUM3
.
.
.etc
SUBROUTINE MASSMATS(MASSMATRIXS,DELTAV,DELTAH,DENSITY)
REAL*8 MASSMATRIXS(20,20),B(5,20),BT(20,5),D(5,5),IS,JS,AS
REAL*8 CC(5),ZETAM(5),CA,ZETA,ETA,SUM,SUM2,SUM3
.
.
.etc
SUBROUTINE STIFFMATS(STIFFMATRIXS,DELTAV,DELTAH)
REAL*8 STIFFMATRIXS(20,20),B(3,20),BT(20,3),D(3,3)
REAL*8 CC(5),ZETAM(5),CA,ZETA,ETA,SUM,SUM2,SUM3
.
.
.etc
コンパイル コマンドを押すと、次のメッセージが表示されます。
致命的なエラー F1002: パス 2 でコンパイラがヒープ領域を使い果たしました
問題をグーグルで調べたところ、次の解決策が見つかりました
しかし、私は解決策を理解していませんでした!
Zi
オプションの変更方法がわかりません。どこで確認できますか?
私のコードは良くて明確だと思います。この問題を解決するための提案はありますか?