Download numnoe.eso

Back to the list

   1 : C NUMNOE    SOURCE    CHAT      05/01/13    02:03:18     5004           
   2 : C         
   3 :       SUBROUTINE NUMNOE(XYZ,ITYP,INOEU)
   4 : C                                                                               
   5 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
   6 : C                                                                               
   7 : C     RECHERCHE SI LE POINT XYZ EST UN NOEUD DANS LES COORDONNEES
   8 : C       DE REFERENCE
   9 : C     DANS CE CAS CE PROGRAMME DONNE EGALEMENT LE NUMERO DU NOEUD 
  10 : C                         DE L'ELEMENT
  11 : C     INOEU=0  CE N EST PAS UN NOEUD
  12 : C     INOEU#0  C'EST LE NUMERO DU NOEUD
  13 : C                                                                               
  14 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        
  15 : C                                                                               
  16 :       IMPLICIT INTEGER(I-N)
  17 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  18 : C
  19 :       DIMENSION XYZ(3)
  20 : C                                                                               
  21 :       EPS=1.D-10
  22 : C                                                                               
  23 : C        ON CHERCHE SI ON A AFFAIRE    A UN NOEUD DU MAILLAGE
  24 :       INOEU=0
  25 :       IF(ITYP.EQ.4.OR.ITYP.EQ.6.OR.ITYP.EQ.7)THEN
  26 : C              L ELEMENT DE REFERENCE EST UN TRIANGLE
  27 :          IF(ABS(XYZ(1)).LT.EPS)THEN
  28 :             IF(ABS(XYZ(2)).LT.EPS)THEN
  29 :                INOEU=1
  30 :                XYZ(1)=0.D0
  31 :                XYZ(2)=0.D0
  32 :             ELSE
  33 :                INOEU=3
  34 :                XYZ(1)=0.D0
  35 :                XYZ(2)=1.D0
  36 :             ENDIF
  37 :          ELSE
  38 :             INOEU=2
  39 :             XYZ(1)=1.D0
  40 :             XYZ(2)=0.D0
  41 :          ENDIF
  42 : C
  43 :       ELSEIF(ITYP.EQ.8.OR.ITYP.EQ.11)THEN
  44 : C              L ELEMENT DE REFERENCE EST UN CARRE
  45 :             IF(ABS(1.D0+XYZ(1)).LT.EPS)THEN
  46 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
  47 :                   INOEU=1
  48 :                   XYZ(1)=-1.D0
  49 :                   XYZ(2)=-1.D0
  50 :                ELSE
  51 :                   INOEU=4
  52 :                   XYZ(1)=-1.D0
  53 :                   XYZ(2)=1.D0
  54 :                ENDIF
  55 :             ELSE
  56 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
  57 :                   INOEU=2
  58 :                   XYZ(1)=1.D0
  59 :                   XYZ(2)=-1.D0
  60 :                ELSE
  61 :                   INOEU=3 
  62 :                   XYZ(1)=1.D0
  63 :                   XYZ(2)=1.D0  
  64 :                ENDIF
  65 :             ENDIF
  66 : C
  67 :       ELSEIF(ITYP.EQ.16)THEN
  68 : C              L ELEMENT DE REFERENCE EST UN PRISME
  69 :          IF((ABS(XYZ(3)+1.D0).LT.EPS))THEN
  70 :             IF(ABS(XYZ(1)).LT.EPS)THEN
  71 :                IF(ABS(XYZ(2)).LT.EPS)THEN
  72 :                   INOEU=1
  73 :                   XYZ(1)=0.D0
  74 :                   XYZ(2)=0.D0
  75 :                   XYZ(3)=-1.D0
  76 :                ELSE
  77 :                   INOEU=3
  78 :                   XYZ(1)=0.D0
  79 :                   XYZ(2)=1.D0
  80 :                   XYZ(3)=-1.D0
  81 :                ENDIF
  82 :             ELSE
  83 :                INOEU=2
  84 :                XYZ(1)=1.D0
  85 :                XYZ(2)=0.D0
  86 :                XYZ(3)=-1.D0
  87 :             ENDIF
  88 :          ELSE
  89 :             IF(ABS(XYZ(1)).LT.EPS)THEN
  90 :                IF(ABS(XYZ(2)).LT.EPS)THEN
  91 :                   INOEU=4
  92 :                   XYZ(1)=0.D0
  93 :                   XYZ(2)=0.D0
  94 :                   XYZ(3)=1.D0
  95 :                ELSE
  96 :                   INOEU=6
  97 :                   XYZ(1)=0.D0
  98 :                   XYZ(2)=1.D0
  99 :                   XYZ(3)=1.D0
 100 :                ENDIF
 101 :             ELSE
 102 :                INOEU=5
 103 :                XYZ(1)=1.D0
 104 :                XYZ(2)=0.D0
 105 :                XYZ(3)=1.D0
 106 :             ENDIF
 107 :          ENDIF
 108 : C
 109 : C
 110 :       ELSEIF(ITYP.EQ.14)THEN
 111 : C              L ELEMENT DE REFERENCE EST UN CUBE
 112 :          IF(ABS(1.D0+XYZ(3)).LT.EPS)THEN
 113 : C
 114 :             IF(ABS(1.D0+XYZ(1)).LT.EPS)THEN
 115 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
 116 :                   INOEU=1
 117 :                   XYZ(1)=-1.D0
 118 :                   XYZ(2)=-1.D0
 119 :                   XYZ(3)=-1.D0
 120 :                ELSE
 121 :                   INOEU=4
 122 :                   XYZ(1)=-1.D0
 123 :                   XYZ(2)=1.D0
 124 :                   XYZ(3)=-1.D0
 125 :                ENDIF
 126 :             ELSE
 127 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
 128 :                   INOEU=2
 129 :                   XYZ(1)=1.D0
 130 :                   XYZ(2)=-1.D0
 131 :                   XYZ(3)=-1.D0
 132 :                ELSE
 133 :                   INOEU=3   
 134 :                   XYZ(1)=1.D0
 135 :                   XYZ(2)=1.D0
 136 :                   XYZ(3)=-1.D0
 137 :                ENDIF
 138 :             ENDIF
 139 : C     
 140 :          ELSE
 141 : C     
 142 :             IF(ABS(1.D0+XYZ(1)).LT.EPS)THEN
 143 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
 144 :                   INOEU=5
 145 :                   XYZ(1)=-1.D0
 146 :                   XYZ(2)=-1.D0
 147 :                   XYZ(3)=1.D0
 148 :                ELSE
 149 :                   INOEU=8
 150 :                   XYZ(1)=-1.D0
 151 :                   XYZ(2)=1.D0
 152 :                   XYZ(3)=1.D0
 153 :                ENDIF
 154 :             ELSE
 155 :                IF(ABS(1.D0+XYZ(2)).LT.EPS)THEN
 156 :                   INOEU=6
 157 :                   XYZ(1)=1.D0
 158 :                   XYZ(2)=-1.D0
 159 :                   XYZ(3)=1.D0
 160 :                ELSE
 161 :                   INOEU=7   
 162 :                   XYZ(1)=1.D0
 163 :                   XYZ(2)=1.D0
 164 :                   XYZ(3)=1.D0
 165 :                ENDIF
 166 :             ENDIF
 167 :          ENDIF
 168 :       
 169 : C  
 170 :       ELSEIF(ITYP.EQ.23)THEN
 171 : C              L ELEMENT DE REFERENCE EST UN TETRAEDRE
 172 :          IF(ABS(XYZ(3)).LT.EPS)THEN
 173 :             IF(ABS(XYZ(1)).LT.EPS)THEN
 174 :                IF(ABS(XYZ(2)).LT.EPS)THEN
 175 :                   INOEU=1
 176 :                   XYZ(1)=0.D0
 177 :                   XYZ(2)=0.D0
 178 :                   XYZ(3)=0.D0
 179 :                ELSE
 180 :                   INOEU=3
 181 :                   XYZ(1)=0.D0
 182 :                   XYZ(2)=1.D0
 183 :                   XYZ(3)=0.D0
 184 :                ENDIF
 185 :             ELSE
 186 :                INOEU=2
 187 :                XYZ(1)=1.D0
 188 :                XYZ(2)=0.D0
 189 :                XYZ(3)=0.D0
 190 :             ENDIF
 191 :          ELSE
 192 :             INOEU=4
 193 :             XYZ(1)=0.D0
 194 :             XYZ(2)=0.D0
 195 :             XYZ(3)=1.D0
 196 :          ENDIF
 197 : C
 198 :       ENDIF
 199 :       RETURN
 200 :       END                                                                       
 201 :  
 202 :  
 203 :  

© Cast3M 2003 - All rights reserved.
Disclaimer