Download shmacr.eso

Back to the list

   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