3、并且每個(gè)常量都賦了值。在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的程序代碼要編寫(xiě)在最前面,整個(gè)程序在主程序以及子程序中都使用了MODULEDIMDATA。模塊module的名字是DIMDATA,表示模塊里面定義的變量都是內(nèi)容不確定或者大小不確定的,需要后面補(bǔ)充。RTCrpUDGiT7.RESIZE調(diào)整大小的意思,采用
6、子程序SUBROUTINERESIZE(KELEM,KPOIN,KPROP,KFIX1>,子程序名稱RESIZE(KELEM,KPOIN,KPROP,KFIX1>括號(hào)里面的KELEM,KPOIN,KPROP,KFIX1是指定四個(gè)變量用來(lái)接收傳遞進(jìn)來(lái)的參數(shù),名字可以完全自定,不需要跟呼叫時(shí)所放入的變量名稱有任何聯(lián)系。子程序的目的是把module模塊里面的可變大小的數(shù)組變量的維數(shù)與大小都確定下來(lái),相應(yīng)的數(shù)組變量的內(nèi)存大小也就確定下來(lái)了。在子程序SUBROUTINERESIZE(KELEM,KPOIN,KPROP,KFIX
7、1>里面要用到module模塊里面的變量,要在子程序開(kāi)始聲明之前就使用USEDIMDATA的描述來(lái)使用這個(gè)module。5PCzVD7HxA8.在聲明時(shí),只能使用常數(shù)來(lái)賦數(shù)組的大小,常數(shù)包括填入數(shù)字或者使用聲明為parameter的常數(shù)。16/16這段程序作用是給各個(gè)數(shù)組內(nèi)容賦予初值。這段程序代碼的作用是配置數(shù)組的內(nèi)存空間大小。ALLOCATE(A(STUDENTS>>!配置內(nèi)存空間10.主程序并不一定要放在整個(gè)程序代碼的最開(kāi)頭,它可以安排在程序中的任意位置,可以先寫(xiě)子程序再寫(xiě)主程序。PROGRAMFEM3v04是主
8、程序開(kāi)頭,主程序沒(méi)有放在最開(kāi)頭,放在中間了。但是module的程序代碼需要編寫(xiě)在整個(gè)程序的最前面。jLBHrnAILg11.16/16Module模塊截圖。12.這些語(yǔ)句用于賦予數(shù)組的初值。13.ALLOCATEMEMORYOK!配置內(nèi)存完畢14.CARRIAGECONTROL='FORTRAN'的字段用來(lái)指定所要開(kāi)啟的文件名稱,“6”的作用是