Download facref.eso

Back to the list

   1 : C FACREF    SOURCE    CHAT      05/01/12    23:55:49     5004           
   2 :       SUBROUTINE FACREF(X,ITYP,IFAC)
   3 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
   4 : C
   5 : C      RECHERCHE IFAC NUMERO DE LA FACE OU SE TROUVE LE POINT DE
   6 : C       COORDONNEES X DANS L'ELEMENT DE REFERENCE
   7 : C
   8 : C       ITYP TYPE DE L ELEMENT
   9 : C
  10 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  11 :       IMPLICIT INTEGER(I-N)
  12 :       IMPLICIT REAL*8 (A-H,O-Z)
  13 :       DIMENSION X(*)
  14 :        IFAC=0
  15 :       IF(ITYP.EQ.4.OR.ITYP.EQ.6.OR.ITYP.EQ.7)THEN
  16 : C               L ELEMENT DE REFERENCE EST UN TRIANGLE
  17 :            IF(X(2).EQ.0.D0)THEN
  18 :                IFAC=1
  19 :            ELSEIF((X(1)+X(2)).EQ.1.D0)THEN
  20 :                IFAC=2
  21 :            ELSEIF(X(1).EQ.0.D0)THEN
  22 :                IFAC=3
  23 :            ENDIF
  24 :       ELSEIF(ITYP.EQ.8.OR.ITYP.EQ.11)THEN
  25 : C              L ELEMENT DE REFERENCE EST UN CARRE
  26 :            IF(X(2).EQ.-1.D0)THEN
  27 :                IFAC=1
  28 :            ELSEIF(X(1).EQ.1.D0)THEN
  29 :                IFAC=2
  30 :            ELSEIF(X(2).EQ.1.D0)THEN
  31 :                IFAC=3
  32 :            ELSEIF(X(1).EQ.-1.D0)THEN
  33 :                IFAC=4
  34 :            ENDIF
  35 :       ELSEIF(ITYP.EQ.14)THEN
  36 : C              L ELEMENT DE REFERENCE EST UN CUBE
  37 :            IF(X(3).EQ.-1.D0)THEN
  38 :                IFAC=1
  39 :            ELSEIF(X(3).EQ.1.D0)THEN
  40 :                IFAC=2
  41 :            ELSEIF(X(2).EQ.-1.D0)THEN
  42 :                IFAC=3
  43 :            ELSEIF(X(1).EQ.1.D0)THEN
  44 :                IFAC=4
  45 :            ELSEIF(X(2).EQ.1.D0)THEN
  46 :                IFAC=5
  47 :            ELSEIF(X(1).EQ.-1.D0)THEN
  48 :                IFAC=3
  49 :            ENDIF
  50 :       ELSEIF(ITYP.EQ.16)THEN
  51 : C              L ELEMENT DE REFERENCE EST UN PRISME
  52 :            IF(X(3).EQ.-1.D0)THEN
  53 :                IFAC=1
  54 :            ELSEIF(X(3).EQ.1.D0)THEN
  55 :                IFAC=2
  56 :            ELSEIF(X(2).EQ.0.D0)THEN
  57 :                IFAC=3
  58 :            ELSEIF((X(1)+X(2)).EQ.1.D0)THEN
  59 :                IFAC=4
  60 :            ELSEIF(X(1).EQ.0.D0)THEN
  61 :                IFAC=5
  62 :            ENDIF
  63 :       ELSEIF(ITYP.EQ.23)THEN
  64 : C              L ELEMENT DE REFERENCE EST TETRAEDRE
  65 :            IF(X(2).EQ.0.D0)THEN
  66 :                IFAC=1
  67 :            ELSEIF(X(3).EQ.0.D0)THEN
  68 :                IFAC=2
  69 :            ELSEIF((X(1)+X(2)+X(3)).EQ.1.D0)THEN
  70 :                IFAC=3
  71 :            ELSEIF(X(1).EQ.0.D0)THEN
  72 :                IFAC=4
  73 :            ENDIF
  74 :       ELSE
  74 :            CALL ERREUR(16)
  75 :       ENDIF
  76 :       RETURN
  77 :       END
  78 :  
  79 :  

© Cast3M 2003 - All rights reserved.
Disclaimer