```csv DO 30 ILAYR=1,NLAYR KGAUS=KGAUS+1 JLAYR=ILAYR+1 C C*** EVALUATE Z-COORDINATES FOR CURRENT LAYER C DEPT1=DEPTH(ILAYR) DEPT2=DEPTH(JLAYR) CONS3=(DEPT2+DEPT1)*(DEPT2**2-DEPT1**2)/4.0 C C*** EVALUATE ELASTO-PLASTIC D MATRIX FOR CURRENT LAYER C CALL MDMPA(DPLAN,DSHER,LPROP,MMATS,PROPS,1,0) IF(IINCS.EQ.1)GO TO 40 IF(EPSTN(KGAUS).EQ.0.0)GO TO 40 DO 50 ISTRE=1,5 50 SGTOT(ISTRE)=STRSG(ISTRE,KGAUS) CALL INVMP(DEVIA,NCrit,SINT3,STEFF,SGTOT,THETA,VARJ2,YIELD) CALL FLOWMP(ABETA,AVECT,DEVIA,DPLAN,DVECT,HARDS,NCrit,SINT3, STEFF,THETA,VARJ2) DO 60 ISTRE=1,3 DO 60 JSTRE=1,3 60 DPLAN(ISTRE,JSTRE)=DPLAN(ISTRE,JSTRE)-ABETA*DVECT(ISTRE)* .DVECT(JSTRE) 40 CONTINUE C C*** SUM D MATRIX OVER ELEMENT DEPTH C DO 70 ISTRE=1,3 DO 70 JSTRE=1,3 70 DFLEF(ISTRE,JSTRE)=DFLEF(ISTRE,JSTRE)+CONS3*DPLAN(ISTRE,JSTRE) 30 CONTINUE GO TO 200 C C*** ZERO D MATRIX FOR SHEAR C 100 DO 80 ISTRE=1,2 DO 80 JSTRE=1,2 80 DSHES(ISTRE,JSTRE)=0.0 C C*** EVALUATE ELASTIC D MATRIX C CALL MDMPA(DPLAN,DSHER,LPROP,MMATS,PROPS,0,1) C C*** LOOP AROUND LAYERS C DO 90 ILAYR=1,NLAYR JLAYR=ILAYR+1 C C*** EVALUATE Z-COORDINATES FOR CURRENT LAYER C DEPT1=DEPTH(ILAYR) DEPT2=DEPTH(JLAYR) CONS4=DEPT2-DEPT1 C C*** SUM D MATRIX OVER ELEMENT DEPTH C DO 110 ISTRE=1,2 DO 110 JSTRE=1,2 110 DSHES(ISTRE,JSTRE)=DSHES(ISTRE,JSTRE)+CONS4*Dsher(ISTRE,JSTRE) 90 CONTINUE 200 CONTINUE RETURN END LAYR 27 LAYR 28 LAYR 29 LAYR 30 LAYR 31 LAYR 32 LAYR 33 LAYR 34 LAYR 35 LAYR 36 LAYR 37 LAYR 38 LAYR 39 LAYR 40 LAYR 41 LAYR 42 LAYR 43 LAYR 44 LAYR 45 LAYR 46 LAYR 47 LAYR 48 LAYR 49 LAYR 50 LAYR 51 LAYR 52 LAYR 53 LAYR 54 LAYR 55 LAYR 56 LAYR 57 LAYR 58 LAYR 59 LAYR 60 LAYR 61 LAYR 62 LAYR 63 LAYR 64 LAYR 65 LAYR 66 LAYR 67 LAYR 68 LAYR 69 LAYR 70 LAYR 71 LAYR 72 LAYR 73 LAYR 74 LAYR 75 LAYR 76 LAYR 77 LAYR 78 LAYR 79 LAYR 80 LAYR 81 LAYR 82 LAYR 83 LAYR 84 LAYR 85 LAYR 86 LAYR 87 LAYR 88 LAYR 89 LAYR 90 ``` LAYR 10 If JFFLE is zero $D_f'$ is not evaluated. If it is one $D_s'$ is not evaluated. LAYR 15-17 Initializes $D_{f}'$ . LAYR 21 Starts the summation loop to form DFLEF, i.e. $$ \hat {D} _ {f} = \sum_ {i = 1} ^ {n} \frac {1}{4} (z _ {i + 1} + z _ {i}) (z _ {i + 1} ^ {2} - z _ {i} ^ {2}) D _ {f} ^ {\prime}. $$ LAYR 22 Increases the counter for Gauss points in each layer by 1. It is needed to use the effective plastic strain (EPSTN) stresses (STRSG) calculated in RESMPA. LAYR 27-29 Forms $\frac{1}{4} (z_{i + 1} + z_i)(z_{i + 1}^2 -z_i^2)$ . LAYR 33-45 Calls MDMPA to get DPLAN and $D_{ep'}$ is formed using INVMP and FLOWMP. LAYR 49–51 DFLEF is formed. LAYR 57-59 DSHES is initialised. LAYR 63 Calls MDMPA to form DSHER. LAYR 67–74 Starts the summation loop and the integrating constant for DSHES is evaluated, i.e. $$ \hat {\boldsymbol {D}} _ {s} = \sum_ {i = 1} ^ {n} (z _ {i + 1} - z _ {i}) \boldsymbol {D} _ {s}. $$ LAYR 78-81 DSHES is formed. # 9.6.6 Subroutine MDMPA This subroutine evaluates $D_{f}'$ and $D_{s}'$ . ```txt SUBROUTINE MDMPA (DPLAN,DSHER,LPROP,MMATS,PROPS, MODL 1 IFPLA,IFSHE) MODL 2 C**************************MODL 3 C C*** CALCULATES MATRIX OF ELASTIC RIGIDITIES FOR EACH LAYER C*** OF MINDLIN PLATE C C**************************MODL 8 DIMENSION DPLAN(3,3),DSHER(2,2), MODL 9 PROPS(MMATS,8) MODL 10 YOUNG=PROPS(LPROP,1) MODL 11 POISS=PROPS(LPROP,2) MODL 12 THICK=PROPS(LPROP,3) MODL 13 C*** FORM DPLAN IF(IFPLA.EQ.0) GO TO 10 DO 1 IROWS=1,3 DO 1 JCOLS=1,3 1 DPLAN(IROWS,JCOLS)=0.0 CONST=YOUNG/(1.0-POISS*POISS) MODL 18 DPLAN(1,1)=CONST DPLAN(2,2)=CONST DPLAN(1,2)=CONST*POISS MODL 20 MODL 21 MODL .22 ``` ```csv DPLAN(2,1)=CONST*POISS DPLAN(3,3)=CONST*(1.0-POISS)/2.0 C*** FORM DSHER 10 IF(IFSHE.EQ.0) RETURN DO 3 IROWS=1,2 DO 3 JCOLS=1,2 3 DSHER(IROWS,JCOLS)=0.0 DSHER(1,1)=YOUNG/(2.4+2.4*POISS) DSHER(2,2)=YOUNG/(2.4+2.4*POISS) RETURN END MODL 23 MODL 24 MODL 25 MODL 26 MODL 27 MODL 28 MODL 29 MODL 30 MODL 31 MODL 32 MODL 33 ``` # 9.6.7 Subroutine OUTMPA This subroutine outputs nodal displacements and reactions and also the Gauss point stress resultants and the stresses within each layer. It is very similar to subroutine OUTMP which was described in Section 9.5.7. Statements OUTP 1-3 are replaced by OUTL 1-3 and statements OUTP 56-66 are replaced by statements OUTL 56-67. ```fortran SUBROUTINE OUTMPA (EPSTN,IITER,MTOTG,MTOTV,MVFIX,NELEM, OUTL 1 . NGAUS,NLAPS,NOFIX,NUOTP,NPOIN,NVFIX, OUTL 2 . STRSG,TDISP,TREAC) OUTL 3 C******************************************************************************************OUTL 4 C OUTL 5 C*** OUTPUT DISPLACEMENTS,REACTIONS AND GAUSS POINT STRESSES OUTL 6 C*** IN EACH LAYER FOR EP MINDLIN PLATE ANALYSIS OUTL 7 C OUTL 8 C******************************************************************************************OUTL 9 DIMENSION EPSTN(MTOTG),GPCOD(2,9),NOFIX(MVFIX),NUOTP(2), OUTL 10 . STRSG(5,MTOTG),TDISP(MTOTV),TREAC(MVFIX,3) OUTL 11 KOUTP=NOUTP(1) OUTL 12 IF(IITER.GT.1) KOUTP=NOUTP(2) OUTL 13 C OUTL 14 C*** OUTPUT DISPLACEMENTS OUTL 15 C OUTL 16 IF(KOUTP.LT.1) GO TO 10 OUTL 17 WRITE(6,900) OUTL 18 900 FORMAT(1H0,5X,13HDISPLACEMENTS) OUTL 19 WRITE(6,950) OUTL 20 950 FORMAT(1H0,6X,4HNODE,6X,5HDISP.,8X,7HXZ-ROT.,7X,7HYZ-ROT.) OUTL 21 DO 20 IPOIN=1,NPOIN OUTL 22 NGASH=IPOIN*3 OUTL 23 NGISH=NGASH-3+1 OUTL 24 20 WRITE(6,910) IPOIN,(TDISP(IGASH),IGASH=NGISH,NGASH) OUTL 25 910 FORMAT(I10,3E14.6) OUTL 26 10 CONTINUE OUTL 27 C OUTL 28 C*** OUTPUT REACTIONS OUTL 29 C OUTL 30 IF(KOUTP.LT.2) GO TO 30 OUTL 31 WRITE(6,920) OUTL 32 920 FORMAT(1H0,5X,9HREACTIONS) OUTL 33 WRITE(6,960) OUTL 34 960 FORMAT(1H0,6X,4HNODE,6X,5HFORCE,3X,9HXZ-MOMENT,5X,9HYZ-MOMENT) OUTL 35 DO 40 IVFIX=1,NVFIX OUTL 36 40 WRITE(6,910) NOFIX(IVFIX),(TREAC(IVFIX,IDOFN),IDOFN=1,3) OUTL 37 30 CONTINUE OUTL 38 C OUTL 39 C*** OUTPUT STRESSES OUTL 40 ``` ```csv C IF(KOUTP.LT.3) GO TO 50 REWIND 3 WRITE(6,970) 970 FORMAT(1H0,5X,8HSTRESSES) WRITE(6,980) 980 FORMAT(1H0,4HG.P.,2X,8HX-COORD.,2X,8HY-COORD.,3X,8HX-MOMENT,4X, .8HY-MOMENT,3X,9HXY-MOMENT,3X, .13HEFF.PL.STRAIN) KGAUS=0 DO 60 IELEM=1,NELEM READ(3)GPCOD KELGS=0 WRITE(6,930)IELEM 930 FORMAT(1H0,5X,13HELEMENT NO. =,I5) DO 60 IGAUS=1,NGAUS DO 60 JGAUS=1,NGAUS KELGS=KELGS+1 DO 60 ILAYR=1,NLAPS KGAUS=KGAUS+1 WRITE(6,940)KELGS,(GPCOD(IDIME,KELGS),IDIME=1,2), .(STRSG(ISTRE,KGAUS),ISTRE=1,3),EPSTN(KGAUS) 940 FORMAT(I5,2F10.4,6E12.5) 60 CONTINUE 50 CONTINUE RETURN END OUTL 41 OUTL 42 OUTL 43 OUTL 44 OUTL 45 OUTL 46 OUTL 47 OUTL 48 OUTL 49 OUTL 50 OUTL 51 OUTL 52 OUTL 53 OUTL 54 OUTL 55 OUTL 56 OUTL 57 OUTL 58 OUTL 59 OUTL 60 OUTL 61 OUTL 62 OUTL 63 OUTL 64 OUTL 65 OUTL 66 OUTL 67 ``` # 9.6.8 Subroutine RESMPA This routine evaluates the residual forces for the layered Mindlin plate. It is very similar to RESMP described in Section 9.5.10. ```csv SUBROUTINE RESMPA (ASDIS,COORD,EFFST,ELOAD,EPSTN,LNODS, RESL 1 . MATNO,MELEM,MMATS,MPOIN,MTOTG,MTOTV, RESL 2 . NCRIT,NELEM,NEVAB,NGAUS,NNODE,NLAPS, RESL 3 . PROPS,STRSG) RESL 4 C************************** RESL 5 C RESL 6 C*** EVALUATES EQUIVALENT NODAL FORCES FOR THE STRESSES RESL 7 C*** IN LAYERED MINDLIN PLATES DURING EP ANALYSIS RESL 8 C RESL 9 C************************** RESL 10 DIMENSION ASDIS(MTOTV),AVECT(5),CARTD(2,9), RESL 11 . COORD(MPOIN,2),DERIV(2,9),DESIG(5),DEVIA(4), RESL 12 . DEPTH(26),DVECT(5), RESL 13 . EFFST(MTOTG),ELCOD(2,9), RESL 14 . ELDIS(3,9),ELOAD(MELEM,27),EPSTN(MTOTG),GPCOD(2,9), RESL 15 . LNODS(MELEM,9),MATNO(MELEM),POSGP(4), RESL 16 . PROPS(MMATS,8),SGTOT(5),SHAPE(9),SIEMA(5), RESL 17 . STRES(5),STRSG(5,MTOTG),TOSPB(5),WEIGP(4), RESL 18 . DPLAN(3,3),DSHER(2,2),BFLEI(3,3),BSHEI(2,3), RESL 19 . DUMMY(3,3),FORCE(3),DGRAD(6) RESL 20 NTIME=1 RESL 21 DO 10 IELEM=1,NELEM RESL 22 DO 10 IEVAB=1,NEVAB RESL 23 10 ELOAD(IELEM,IEVAB)=0.0 RESL 24 KGAUS=0 RESL 25 LGAUS=0 RESL 26 DO 20 IELEM=1,NELEM RESL 27 LPROP=MATNO(IELEM) RESL 28 ``` ```txt C C*** COMPUTE COORDINATE AND INCREMENTAL DISPLACEMENTS OF THE C ELEMENT NODAL POINTS C DO 190 INODE =1, NNODE LNODE=IABS(LNODS(IELEM, INODE)) NPOSN=(LNODE-1)*3 DO 30 IDOFN=1,3 NPOSN=NPOSN+1 30 ELDIS(IDOFN, INODE)=ASDIS(NPOSN) DO 180 IDIME=1,2 180 ELCOD(IDIME, INODE)=COORD(LNODE, IDIME) 190 CONTINUE KGASP=0 CALL DEMPA(DEPTH, LPROP, MMATS, NLAPS, PROPS) CALL MDMPA (DPLAN, DSHER, LPROP, MMATS, PROPS, 1, 1) CALL GAUSSQ (NGAUS, POSGP, WEIGP) DO 40 IGAUS=1, NGAUS DO 40 JGAUS=1, NGAUS EXISP=POSGP(IGAUS) ETASP=POSGP(JGAUS) CALL SFR2 (DERIV, ETASP, EXISP, NNODE, SHAPE) KGASP=KGASP+1 CALL JACOB2 (CARTD, DERIV, DJACB, ELCOD, GPCOD, IELEM, KGASP, NNODE, SHAPE) DAREA=DJACB*WEIGP(IGAUS)*WEIGP(JGAUS) DO 400 ISTRE=1,3 400 TOSPB(ISTRE)=0.0 DO 410 ILAYR=1, NLAPS BRING=1.0 KGAUS=KGAUS+1 JLAYR=ILAYR+1 DEPT1=DEPTH(ILAYR) DEPT2=DEPTH(JLAYR) CONST=0.5*(DEPT2+DEPT1) CALL GRADMP (CARTD, DGRAD, ELDIS, 3, NNODE) CALL STRMPA (CARTD, CONST, DPLAN, DGRAD, DSHER, ELDIS, NNODE, SHAPE, STRES, 1, 0) PREYS=PROPS(LPROP, 6)+EPSTN(KGAUS)*PROPS(LPROP, 7) DO 150 ISTRE=1,3 DESIG(ISTRE)=STRES(ISTRE) 150 SIGMA(ISTRE)=STRSG(ISTRE, KGAUS)+STRES(ISTRE) CALL INVMP (DEVIA, NCRIT, SINT3, STEFF, SIGMA, THETA, VARJ2, YIELD) ESPRE=EFFST(KGAUS)-PREYS IF(ESPRE.GE.0.0) GO TO 50 ESCUR=YIELD-PREYS IF(ESCUR.LE.0.0) GO TO 60 RFACT=ESCUR/(YIELD-EFFST(KGAUS)) GO TO 70 50 ESCUR=YIELD-EFFST(KGAUS) IF(ESCUR.LE.0.0) GO TO 60 RFACT=1.0 70 MSTEP=ESCUR*8.0/PROPS(LPROP, 6)+1.0 ASTEP=MSTEP REDUC=1.0-RFACT DO 80 ISTRE=1,3 SGTOT(ISTRE)=STRSG(ISTRE, KGAUS)+REDUC*STRES(ISTRE) 80 STRES(ISTRE)=RFACT*STRES(ISTRE)/ASTEP DO 90 ISTEP=1, MSTEP CALL INVMP (DEVIA, NCRIT, SINT3, STEFF, SGTOT, THETA, VARJ2, YIELD) HARDS=PROPS(LPROP, 7) CALL FLOWMP (ABETA, AVECT, DEVIA, DPLAN, DVECT, HARDS, ``` ```csv NCRIT,SINT3,STEFF,THETA,VARJ2) RESL 94 AGASH=0.0 RESL 95 DO 100 ISTRE=1,3 RESL 96 100 AGASH=AGASH+AVECT(ISTRE)*STRES(ISTRE) RESL 97 DLAMD=AGASH*ABETA RESL 98 IF(DLAMD.LT.0.0) DLAMD=0.0 RESL 99 BGASH=0.0 RESL 100 DO 110 ISTRE=1,3 RESL 101 BGASH=BGASH+AVECT(ISTRE)*SGTOT(ISTRE) RESL 102 110 SGTOT(ISTRE)=SGTOT(ISTRE)+STRES(ISTRE)-DLAMD*DVECT(ISTRE) RESL 103 90 EPSTN(KGAUS)=EPSTN(KGAUS)+DLAMD*BGASH/YIELD RESL 104 DO 120 ISTRE=1,3 RESL 105 120 DESIG(ISTRE)=SGTOT(ISTRE)-STRSG(ISTRE,KGAUS) RESL 106 CALL INVMP (DEVIA,NCRIT,SINT3,STEFF,SGTOT,THETA,VARJ2,YIELD) RESL 107 CURYS=PROPS(LPROP,6)+EPSTN(KGAUS)*PROPS(LPROP,7) RESL 108 IF(YIELD.GT.CURYS) BRING=CURYS/YIELD RESL 109 60 DO 130 ISTRE=1,3 RESL 110 SGTOT(ISTRE)=BRING*(STRSG(ISTRE,KGAUS)+DESIG(ISTRE)) RESL 111 130 STRSG(ISTRE,KGAUS)=SGTOT(ISTRE) RESL 112 EFFST(KGAUS)=BRING*YIELD RESL 113 CONSA=(DEPT2**2-DEPT1**2)/2.0 RESL 114 DO 440 ISTRE=1,3 RESL 115 440 TOSPB(ISTRE)=TOSPB(ISTRE)+SGTOT(ISTRE)*CONSA RESL 116 410 CONTINUE RESL 117 DO 430 ISTRE=1,3 RESL 118 430 SGTOT(ISTRE)=TOSPB(ISTRE) RESL 119 C RESL 120 C*** CALCULATE THE EQUIVALENT NODAL FORCES AND ASSOCIATE WITH THE RESL 121 C ELEMENT NODES RESL 122 DO 140 INODE=1,NNODE RESL 123 C*** ZERO FORCE VECTOR RESL 124 CALL VZERO (3,FORCE) RESL 125 CALL BMATPB (BFLEI,DUMMY,BSHEI,CARTD,INODE,SHAPE, RESL 126 0, 1, 0) RESL 127 FORCE(2)=(BFLEI(1,2)*SGTOT(1)+BFLEI(3,2)*SGTOT(3))*DAREA RESL 128 +FORCE(2) RESL 129 FORCE(3)=(BFLEI(2,3)*SGTOT(2)+BFLEI(3,3)*SGTOT(3))*DAREA RESL 130 +FORCE(3) RESL 131 IPOSN=(INODE-1)*3+1 RESL 132 DO 135 IDOFN=2,3 RESL 133 IPOSN=IPOSN+1 RESL 134 135 ELOAD(IELEM,IPOSN)=ELOAD(IELEM,IPOSN)+FORCE(IDOFN) RESL 135 140 CONTINUE RESL 136 40 CONTINUE RESL 137 C RESL 138 C*** CALCULATE FORCES ASSOCIATED WITH SHEAR DEFORMATION RESL 139 C RESL 140 NGAUM=NGAUS-1 RESL 141 CALL GAUSSQ (NGAUM,POSGP,WEIGP) RESL 142 C RESL 143 C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION RESL 144 C RESL 145 KGASP=0 RESL 146 DO 300 IGAUS=1,NGAUM RESL 147 DO 300 JGAUS=1,NGAUM RESL 148 EXISP=POSGP(IGAUS) RESL 149 ETASP=POSGP(JGAUS) RESL 150 CALL SFR2 (DERIV,ETASP,EXISP,NNODE,SHAPE) RESL 151 KGASP=KGASP+1 RESL 152 CALL JACOB2 (CARTD,DERIV,DJACB,ELCOD,GPCOD,IELEM, RESL 153 KGASP,NNODE,SHAPE) RESL 154 DAREA=DJACB*WEIGP(IGAUS)*WEIGP(JGAUS) RESL 155 DO 610 ISTRE=4,5 RESL 156 610 TOSPB(ISTRE)=0.0 RESL 157 RESL 158 ``` ```csv C C*** LOOP AROUND LAYRS C DO 600 ILAYR=1,NLAPS LGAUS=LGAUS+1 JLAYR=ILAYR+1 DEPT1=DEPTH(ILAYR) DEPT2=DEPTH(JLAYR) CONST=1.0 CALL GRADMP (CARTD,DGRAD,ELDIS, 3,NNODE) CALL STRMPA (CARTD,CONST,DPLAN,DGRAD,DSHER,ELDIS, NNODE,SHAPE,STRES, 0, 1) DO 310 ISTRE=4,5 SGTOT(ISTRE)=STRSG(ISTRE,LGAUS)+STRES(ISTRE) 310 STRSG(ISTRE,LGAUS)=SGTOT(ISTRE) CONSB=DEPT2-DEPT1 DO 620 ISTRE=4,5 620 TOSPB(ISTRE)=TOSPB(ISTRE)+SGTOT(ISTRE)*CONSB 600 CONTINUE DO 605 ISTRE=4,5 605 SGTOT(ISTRE)=TOSPB(ISTRE) C C*** CALCULATE THE EQUIVALENT NODAL FORCES C DO 320 INODE=1,NNODE C*** ZERO FORCE VECTOR CALL VZERO(3,FORCE) CALL BMATPB (BFLEI,DUMMY,BSHEI,CARTD,INODE,SHAPE, 0, 0, 1) FORCE(1)=(BSHEI(1,1)*SGTOT(4)+BSHEI(2,1)*SGTOT(5))*DAREA +FORCE(1) FORCE(2)=(BSHEI(1,2)*SGTOT(4))*DAREA+FORCE(2) FORCE(3)=(BSHEI(2,3)*SGTOT(5))*DAREA+FORCE(3) IPOSN=(INODE-1)*3 DO 315 IDOFN=1,3 IPOSN=IPOSN+1 315 ELOAD(IELEM,IPOSN)=ELOAD(IELEM,IPOSN)+FORCE(IDOFN) 320 CONTINUE 300 CONTINUE 20 CONTINUE RETURN END RESL 159 RESL 160 RESL 161 RESL 162 RESL 163 RESL 164 RESL 165 RESL 166 RESL 167 RESL 168 RESL 169 RESL 170 RESL 171 RESL 172 RESL 173 RESL 174 RESL 175 RESL 176 RESL 177 RESL 178 RESL 179 RESL 180 RESL 181 RESL 182 RESL 183 RESL 184 RESL 185 RESL 186 RESL 187 RESL 188 RESL 189 RESL 190 RESL 191 RESL 192 RESL 193 RESL 194 RESL 195 RESL 196 RESL 197 RESL 198 RESL 199 RESL 200 ``` # 9.6.9 Subroutine STIFMPA This routine evaluates the stiffness matrices for layered elasto-plastic Mindlin plate elements. ```csv SUBROUTINE STIMPA (COORD, EPSTN, IINCS, LNODS, MATNO, MELEM, STFL 1 . MEVAB, MMATS, MPOIN, MTOTG, NCRIT, NELEM, STFL 2 . NEVAB, NGAUS, NNODE, NLAPS, PROPS, STRSG) STFL 3 C**************************STFL 4 C STFL 5 C*** EVALUATE STIFFNESS MATRICES FOR LAYREED ELASTO-PLASTIC STFL 6 C*** MINDLIN PLATE ELEMENTS STFL 7 C STFL 8 C**************************STFL 9 DIMENSION CARTD(2,9), COORD(MPOIN,2), STFL 10 . DERIV(2,9), DEPTH(26), ELCOD(2,9), STFL 11 . EPSTN(MTOTG), ESTIF(27,27), GPCOD(2,9), LNODS(MELEM,9), STFL 12 . MATNO(MELEM), POSGP(4), PROPS(MMATS,8), SHAPE(9), STFL 13 . STRSG(5, MTOTG), WEIGP(4), STFL 14 . DFLEX(3,3), DSHER(2,2), BFLEI(3,3), BFLEJ(3,3), STFL 15 ``` ```asm BSHEI(2,3),BSHEJ(2,3),DUMMY(3,3) STFL 16 REWIND 1 STFL 17 REWIND 3 STFL 18 KGAUS=0 STFL 19 C C*** LOOP OVER EACH ELEMENT STFL 20 C DO 70 IELEM=1,NELEM STFL 21 LPROP=MATNO(IELEM) STFL 22 C C*** EVALUATE THE COORDINATES OF THE ELEMENT NODAL POINTS STFL 23 C DO 10 INODE=1,NNODE STFL 24 LNODE=LNODS(IELEM,INODE) STFL 25 LNODE=IABS(LNODE) STFL 26 DO 10 IDIME=1,2 STFL 27 10 ELCOD(IDIME,INODE)=COORD(LNODE,IDIME) STFL 28 C C*** INITIALIZE THE ELEMENT STIFFNESS MATRIX STFL 29 C DO 20 IEVAB=1,NEVAB STFL 30 DO 20 JEVAB=1,NEVAB STFL 31 20 ESTIF(IEVAB,JEVAB)=0.0 STFL 32 CALL DEMPA(DEPTH,LPROP,MMATS,NLAPS,PROPS) STFL 33 C C*** EVALUATE PART OF STIFFNESS MATRIX STFL 34 C ASSOCIATED WITH BENDING DEFORMATION STFL 35 C KGASP=0 STFL 36 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 37 C C C*** SET UP GAUSSIAN INTEGRATION CONSTANTS STFL 38 C STFL 39 C STFL 40 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 41 C C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 42 C C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 43 C C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 44 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 45 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 46 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 47 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 48 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 49 C C*** ENTER LOOPS FOR AREA NUMERICAL INTEGRATION STFL 50 C CALL GAUSSQ (NGAUS,POSGP,WEIGP) STFL 51 C DO 50 IGAUS=1,NGAUS STFL 52 DO 50 JGAUS=1,NGAUS STFL 53 KGASP=KGASP+1 STFL 54 EXISP=POSGP(IGAUS) STFL 55 ETASP=POSGP(JGAUS) STFL 56 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 57 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 58 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 59 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 60 C CALL SFR2 (DERIV,ETASP,EXISP,NNODE,SHAPE) STFL 61 CALL JACOB2 (CARTD,DERIV,DJACB,ELCOD,GPCOD,IELEM, KGASP,NNODE,SHAPE) STFL 62 DAREA=DJACB*WEIGP(IGAUS)*WEIGP(JGAUS) STFL 63 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 64 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 65 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 66 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 67 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 68 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 69 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 70 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 71 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 72 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 73 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 74 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 75 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 76 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 77 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 78 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 79 C C*** EVALUATE THE SHAPE FUNCTIONS,ELEMENTAL AREA,ETC STFL 80 ``` ```txt 50 CONTINUE C C*** EVALUATE PART OF STIFFNESS MATRIX C ASSOCIATED WITH SHEAR DEFORMATION C KGASP=0 NGAUM=NGAUS-1 C C*** ENTER LOOPS FOR AREA INTEGRATION C C C*** SET UP GAUSSIAN INTEGRATION CONSTANTS C CALL GAUSSQ (NGAUM,POSGP,WEIGP) DO 51 IGAUS=1,NGAUM DO 51 JGAUS=1,NGAUM KGASP=KGASP+1 EXISP=POSGP(IGAUS) ETASP=POSGP(JGAUS) C C*** EVALUATE THE SHAPE FUNCTIONS, ELEMENTAL AREA,ETC C CALL SFR2 (DERIV,ETASP,EXISP,NNODE,SHAPE) CALL JACOB2 (CARTD,DERIV,DJACB,ELCOD,GPCOD,IELEM, KGASP,NNODE,SHAPE) DAREA=DJACB*WEIGP(IGAUS)*WEIGP(JGAUS) C C*** EVALUATE THE B AND DB MATRICES C CALL LAYMPA (DEPTH,DFLEX,DSHER,EPSTN,IINCS,KGAUS,LPROP, MMATS,MTOTG,NCRIT,NLAPS,PROPS,STRSG,0) C C*** EVALUATE ELEMENT STIFFNESSES C DO 31 INODE=1,NNODE CALL BMATPB (BFLEI,DUMMY,BSHEI,CARTD,INODE,SHAPE, 0, 0, 1) DO 31 JNODE=INODE,NNODE CALL BMATPB (BFLEJ,DUMMY,BSHEJ,CARTD,JNODE,SHAPE, 0, 0, 1) 31 CALL SUBMP (BSHEI,BSHEJ,DAREA,DSHER,ESTIF,INODE, JNODE, 3, 2, 3) 51 CONTINUE C C*** CONSTRUCT THE LOWER TRIANGLE OF THE STIFFNESS MATRIX C DO 60 IEVAB=1,NEVAB DO 60 JEVAB=IEVAB,NEVAB 60 ESTIF(JEVAB,IEVAB)=ESTIF(IEVAB,JEVAB) C C*** STORE THE STIFFNESS MATRIX,STRESS MATRIX AND SAMPLING POINT C COORDINATES FOR EACH ELEMENT ON DISC FILE C WRITE(1) ESTIF WRITE(3) GPCOD 70 CONTINUE RETURN END STFL 81 STFL 82 STFL 83 STFL 84 STFL 85 STFL 86 STFL 87 STFL 88 STFL 89 STFL 90 STFL 91 STFL 92 STFL 93 STFL 94 STFL 95 STFL 96 STFL 97 STFL 98 STFL 99 STFL 100 STFL 101 STFL 102 STFL 103 STFL 104 STFL 105 STFL 106 STFL 107 STFL 108 STFL 109 STFL 110 STFL 111 STFL 112 STFL 113 STFL 114 STFL 115 STFL 116 STFL 117 STFL 118 STFL 119 STFL 120 STFL 121 STFL 122 STFL 123 STFL 124 STFL 125 STFL 126 STFL 127 STFL 128 STFL 129 STFL 130 STFL 131 STFL 132 STFL 133 STFL 134 STFL 135 STFL 136 STFL 137 STFL 138 STFL 139 ``` # 9.6.10 Subroutine STRMPA This subroutine evaluates the stresses within each layer. ```csv SUBROUTINE STRMPA (CARTD,CONST,DFLEX,DGRAD,DSHER,ELDIS,NNODE, STRL 1 SHAPE,STRES,IFFLE,IFSHE) STRL 2 C**********STRRL 3 C STRL 4 C*** EVALUATES STRESSES FOR MINDLIN PLATE STRL 5 C STRL 6 C**********STRRL 7 DIMENSION CARTD(2,9),DFLEX(3,3),DGRAD(6),DSHER(2,2), STRL 8 ELDIS(3,9),SHAPE(9),STRES(5) STRL 9 C*** ZERO STRESS VECTOR STRL 10 CALL VZERO (5,STRES) STRL 11 C*** EVALUATE ROTATIONS AT GAUSS POINT, IF NEEDED STRL 12 IF(IFSHE.EQ.0) GOTO 50 STRL 13 XZROT=0.0 STRL 14 YZROT=0.0 STRL 15 DO 30 INODE=1,NNODE STRL 16 XZROT=XZROT+SHAPE(INODE)*ELDIS(2,INODE) STRL 17 30 YZROT=YZROT+SHAPE(INODE)*ELDIS(3,INODE) STRL 18 C*** EVALUATE BENDING STRESS RESULTANTS STRL 19 50 IF(IFFLE.EQ.0) GOTO 60 STRL 20 EFLXX=-DGRAD(2)*CONST STRL 21 EFLYY=-DGRAD(6)*CONST STRL 22 EFLXY=-(DGRAD(3)+DGRAD(5))*CONST STRL 23 STRES(1)=DFLEX(1,1)*EFLXX+DFLEX(1,2)*EFLYY STRL 24 STRES(2)=DFLEX(2,1)*EFLXX+DFLEX(2,2)*EFLYY STRL 25 STRES(3)=DFLEX(3,3)*EFLXY STRL 26 C*** EVALUATE SHEAR STRESS RESULTANTS STRL 27 60 IF(IFSHE.EQ.0) RETURN STRL 28 ESHXX=DGRAD(1)-XZROT STRL 29 ESHYY=DGRAD(4)-YZROT STRL 30 STRES(4)=DSHER(1,1)*ESHXX STRL 31 STRES(5)=DSHER(2,2)*ESHYY STRL 32 RETURN STRL 33 END STRL 34 ``` # 9.7 Examples To test the program, the elasto-plastic analysis of a simply supported plate is performed and 9 noded and Heterosis elements are used. The geometry, material properties of the plate are shown in Fig. 9.6. ![](images/page-380_949931b2d11daf9bfc7dc0bcf8a47e8fa08c56f5adfa3422e63f364437764ab0.jpg)
text_image y L x L = 1.0, E = 10.92, ν = 0.3, t = 0.01, q = 1.0, σ₀ = 1600.0
Fig. 9.6 Geometry and material properties of simply supported square plate.