3、并且每個常量都賦了值。在module模塊中定義了NELEM,NPOIN,NPROP,MXDFN,NSTEP,IDEVP,IDDP,LTYPE以及NFIX1,NPL,NVL,NSL,NHL,NTL,IDCVG,NTOTV,NKK以及DTIME,TOLER,SCALE,DSCALE這些全局變量,CGAUS(2>,VSHAP(8,8>,DERIV(3,8,8>以及POSGP(3>,COPG(3>,EJ(3,3>,EJACI(3,3>,R(8,8>這些維數(shù)與大小都確定的全局
4、數(shù)組變量,定義了COORD(:,:>,PROPS(:,:,:>以及STRSG(:,:,:>,DJ(:,:>,CARTD(:,:,:,:>以及TRANJ(:,:,:,:>,DJRMX(:,:,:>以及DREMX(:,:,:>,DJEMX(:,:,:,:>以及CREMX(:,:,:>,CJEMX(:,:,:,:>以及MELEM(:,:>,MPROP(:>,ISSOR(:,:>,NNDEX(:>以及MPFIX(:,:>,MPSJ(:>,MMATP(:>,MPIV(:>以及TSTIF(:>以及ADISP(:>,TDISP(:
5、>,ALOAD(:>以及PSNBR(:,:,:>,PSNBJ(:,:>以及PSTNR(:,:,:>,PSTNJ(:,:>以及STRSP(:,:>,STRSJ(:,:>這些維數(shù)確定但是大小不確定的可變大小的數(shù)組,ALLOCATABLE表示可變大小的數(shù)組變量。Module的程序代碼要編寫在最前面,整個程序在主程序以及子程序中都使用了MODULEDIMDATA。模塊module的名字是DIMDATA,表示模塊里面定義的變量都是內(nèi)容不確定或者大小不確定的,需要后面補(bǔ)充。RTCrpUDGiT7.RESIZE調(diào)整大小的意思,采用
6、子程序SUBROUTINERESIZE(KELEM,KPOIN,KPROP,KFIX1>,子程序名稱RESIZE(KELEM,KPOIN,KPROP,KFIX1>括號里面的KELEM,KPOIN,KPROP,KFIX1是指定四個變量用來接收傳遞進(jìn)來的參數(shù),名字可以完全自定,不需要跟呼叫時所放入的變量名稱有任何聯(lián)系。子程序的目的是把module模塊里面的可變大小的數(shù)組變量的維數(shù)與大小都確定下來,相應(yīng)的數(shù)組變量的內(nèi)存大小也就確定下來了。在子程序SUBROUTINERESIZE(KELEM,KPOIN,KPROP,KFIX
7、1>里面要用到module模塊里面的變量,要在子程序開始聲明之前就使用USEDIMDATA的描述來使用這個module。5PCzVD7HxA8.在聲明時,只能使用常數(shù)來賦數(shù)組的大小,常數(shù)包括填入數(shù)字或者使用聲明為parameter的常數(shù)。16/16這段程序作用是給各個數(shù)組內(nèi)容賦予初值。這段程序代碼的作用是配置數(shù)組的內(nèi)存空間大小。ALLOCATE(A(STUDENTS>>!配置內(nèi)存空間10.主程序并不一定要放在整個程序代碼的最開頭,它可以安排在程序中的任意位置,可以先寫子程序再寫主程序。PROGRAMFEM3v04是主
8、程序開頭,主程序沒有放在最開頭,放在中間了。但是module的程序代碼需要編寫在整個程序的最前面。jLBHrnAILg11.16/16Module模塊截圖。12.這些語句用于賦予數(shù)組的初值。13.ALLOCATEMEMORYOK!配置內(nèi)存完畢14.CARRIAGECONTROL='FORTRAN'的字段用來指定所要開啟的文件名稱,“6”的作用是