1 : C SHMACR SOURCE MAGN 05/02/18 21:16:22 5031 2 : SUBROUTINE SHMACR(QSI,ETA,DZE,MELE,SHP,IRET) 3 : C======================================================================= 4 : C 5 : C FONCTIONS DE FORME ET LEUR DERIVEES CENTREP1 6 : C 7 : C======================================================================= 8 : IMPLICIT REAL*8(A-H,O-Z) 9 : PARAMETER(UNDEMI=.5D0,DEUX=2.D0) 10 : PARAMETER(TROIS=3.D0,QUATRE=4.D0) 11 : DIMENSION SHP(6,*) 12 : C======================================================================= 13 : C QSI ETA DZE COORDONNEES REDUITES DU POINT DE GAUSS 14 : C 15 : C SHP FONCTIONS DE FORME SHP(1,INO) FONCTIONS DE FORME DU ND INO 16 : C SHP(2,INO) DERIVEES PR RPPRT A QSI 17 : C SHP(3,INO) DERIVEES PR RPPRT A ETA 18 : C SHP(4,INO) DERIVEES PR RPPRT A DZE 19 : C SHP(5,INO) DERIVEES PR RPPRT A 4 20 : C COORDONNEES BARYCENTRIQUES 21 : C CAS DE DIMENSION 2 22 : C 3 NOEUDS TRIANGLE 23 : C======================================================================= 24 : IRET=1 25 : 26 : C CAS MACRO pour un element geometrique de type TRI6 27 : IF(MELE.EQ.224.OR.MELE.EQ.231) THEN 28 : 29 : SHP(1,1)=0.D0 30 : SHP(1,2)=0.D0 31 : SHP(1,3)=0.D0 32 : SHP(1,4)=0.D0 33 : SHP(1,5)=0.D0 34 : SHP(1,6)=0.D0 35 : SHP(2,1)=0.D0 36 : SHP(2,2)=0.D0 37 : SHP(2,3)=0.D0 38 : SHP(2,4)=0.D0 39 : SHP(2,5)=0.D0 40 : SHP(2,6)=0.D0 41 : SHP(3,1)=0.D0 42 : SHP(3,2)=0.D0 43 : SHP(3,3)=0.D0 44 : SHP(3,4)=0.D0 45 : SHP(3,5)=0.D0 46 : SHP(3,6)=0.D0 47 : IF (QSI.GE.0.D0.AND.QSI.LE.0.5D0) THEN 48 : IF (ETA.LE.(0.5D0-QSI)) THEN 49 : * Omega1 50 : SHP(1,1)=2.D0*(0.5D0-QSI-ETA) 51 : SHP(1,2)=2.D0*QSI 52 : SHP(1,6)=2.D0*ETA 53 : SHP(2,1)=-2.D0 54 : SHP(2,2)=2.D0 55 : SHP(2,6)=0.D0 56 : SHP(3,1)=-2.D0 57 : SHP(3,2)=0.D0 58 : SHP(3,6)=2.D0 59 : ELSEIF (ETA.GE.0.5D0.AND.ETA.LE.(1.D0-QSI)) THEN 60 : * Omega3 61 : SHP(1,4)=2.D0*QSI 62 : SHP(1,5)=2.D0*(ETA-0.5D0) 63 : SHP(1,6)=2.D0*(1.0D0-QSI-ETA) 64 : SHP(2,4)=2.D0 65 : SHP(2,5)=0.D0 66 : SHP(2,6)=-2.D0 67 : SHP(3,4)=0.D0 68 : SHP(3,5)=2.D0 69 : SHP(3,6)=-2.D0 70 : ELSEIF (ETA.LE.0.5D0.AND.ETA.GE.(0.5D0-QSI)) THEN 71 : * Omega4 72 : SHP(1,2)=1.D0-2.D0*ETA 73 : SHP(1,4)=2.D0*(QSI+ETA-0.5D0) 74 : SHP(1,6)=1.D0-2.D0*QSI 75 : SHP(2,2)=0.D0 76 : SHP(2,4)=2.D0 77 : SHP(2,6)=-2.D0 78 : SHP(3,2)=-2.D0 79 : SHP(3,4)=2.D0 80 : SHP(3,6)=0.D0 81 : ENDIF 82 : ELSEIF (QSI.GE.0.5D0.AND.QSI.LE.1.D0) THEN 83 : IF (ETA.LE.(1.D0-QSI)) THEN 84 : * Omega2 85 : SHP(1,2)=2.D0*(1.D0-QSI-ETA) 86 : SHP(1,3)=2.D0*(QSI-0.5D0) 87 : SHP(1,4)=2.D0*ETA 88 : SHP(2,2)=-2.D0 89 : SHP(2,3)=2.D0 90 : SHP(2,4)=0.D0 91 : SHP(3,2)=-2.D0 92 : SHP(3,3)=0.D0 93 : SHP(3,4)=2.D0 94 : ENDIF 95 : ENDIF 96 : C CAS MACRO pour un element geometrique de type QUA9 97 : ELSEIF(MELE.EQ.225.OR.MELE.EQ.232) THEN 98 : 99 : SHP(1,1)=0.D0 100 : SHP(1,2)=0.D0 101 : SHP(1,3)=0.D0 102 : SHP(1,4)=0.D0 103 : SHP(1,5)=0.D0 104 : SHP(1,6)=0.D0 105 : SHP(1,7)=0.D0 106 : SHP(1,8)=0.D0 107 : SHP(1,9)=0.D0 108 : SHP(2,1)=0.D0 109 : SHP(2,2)=0.D0 110 : SHP(2,3)=0.D0 111 : SHP(2,4)=0.D0 112 : SHP(2,5)=0.D0 113 : SHP(2,6)=0.D0 114 : SHP(2,7)=0.D0 115 : SHP(2,8)=0.D0 116 : SHP(2,9)=0.D0 117 : SHP(3,1)=0.D0 118 : SHP(3,2)=0.D0 119 : SHP(3,3)=0.D0 120 : SHP(3,4)=0.D0 121 : SHP(3,5)=0.D0 122 : SHP(3,6)=0.D0 123 : SHP(3,7)=0.D0 124 : SHP(3,8)=0.D0 125 : SHP(3,9)=0.D0 126 : IF (QSI.GE.-1.D0.AND.QSI.LE.0.D0) THEN 127 : IF (ETA.GE.-1.D0.AND.ETA.LE.0.D0) THEN 128 : * Omega1 129 : SHP(1,1)=QSI*ETA 130 : SHP(1,2)=-ETA*(1.D0+QSI) 131 : SHP(1,8)=-QSI*(1.D0+ETA) 132 : SHP(1,9)=(1.D0+QSI)*(1.D0+ETA) 133 : SHP(2,1)=ETA 134 : SHP(3,1)=QSI 135 : SHP(2,2)=-ETA 136 : SHP(3,2)=-(1.D0+QSI) 137 : SHP(2,8)=-(1.D0+ETA) 138 : SHP(3,8)=-QSI 139 : SHP(2,9)=1.D0+ETA 140 : SHP(3,9)=1.D0+QSI 141 : ELSEIF (ETA.GE.0.D0.AND.ETA.LE.1.D0) THEN 142 : * Omega4 143 : SHP(1,6)=ETA*(1.D0+QSI) 144 : SHP(1,7)=-QSI*ETA 145 : SHP(1,8)=-QSI*(1.D0-ETA) 146 : SHP(1,9)=(1.D0+QSI)*(1.D0-ETA) 147 : SHP(2,6)=ETA 148 : SHP(3,6)=1.D0+QSI 149 : SHP(2,7)=-ETA 150 : SHP(3,7)=-QSI 151 : SHP(2,8)=-(1.D0-ETA) 152 : SHP(3,8)=QSI 153 : SHP(2,9)=1.D0-ETA 154 : SHP(3,9)=-(1.D0+QSI) 155 : ENDIF 156 : ELSEIF (QSI.GE.0.D0.AND.QSI.LE.1.D0) THEN 157 : IF (ETA.GE.-1.D0.AND.ETA.LE.0.D0) THEN 158 : * Omega2 159 : SHP(1,2)=-ETA*(1.D0-QSI) 160 : SHP(1,3)=-QSI*ETA 161 : SHP(1,4)=QSI*(1.D0+ETA) 162 : SHP(1,9)=(1.D0-QSI)*(1.D0+ETA) 163 : SHP(2,2)=ETA 164 : SHP(3,2)=-(1.D0-QSI) 165 : SHP(2,3)=-ETA 166 : SHP(3,3)=-QSI 167 : SHP(2,4)=1.D0+ETA 168 : SHP(3,4)=QSI 169 : SHP(2,9)=-(1.D0+ETA) 170 : SHP(3,9)=1.D0-QSI 171 : ELSEIF (ETA.GE.0.D0.AND.ETA.LE.1.D0) THEN 172 : * Omega3 173 : SHP(1,4)=QSI*(1.D0-ETA) 174 : SHP(1,5)=QSI*ETA 175 : SHP(1,6)=ETA*(1.D0-QSI) 176 : SHP(1,9)=(1.D0-QSI)*(1.D0-ETA) 177 : SHP(2,4)=1.D0-ETA 178 : SHP(3,4)=-QSI 179 : SHP(2,5)=ETA 180 : SHP(3,5)=QSI 181 : SHP(2,6)=-ETA 182 : SHP(3,6)=1.D0-QSI 183 : SHP(2,9)=-(1.D0-ETA) 184 : SHP(3,9)=-(1.D0-QSI) 185 : ENDIF 186 : ENDIF 187 : 188 : * WRITE(6,*)'SHP:',SHP(1,1),SHP(1,2),SHP(1,3),SHP(1,4) 189 : * WRITE(6,*) SHP(1,5),SHP(1,6),SHP(1,7),SHP(1,8),SHP(1,9) 190 : 191 : ENDIF 192 : 193 : RETURN 194 : END 195 : 196 :
© Cast3M 2003 - All rights reserved.
Disclaimer