Download pb403.eso

Back to the list

   1 : C PB403     SOURCE    MAGN      10/05/19    21:15:07     6676           
   2 :       SUBROUTINE PB403(XREF,X,Y,Z,PG,FN,GR,FM,GM,ND,NP,MP,NPG,NOM2)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : C***********************************************************************
   6 : C
   7 : C     CALCULE LES FONCTIONS DE FORME D'UN : TET4
   8 : C
   9 : C***********************************************************************
  10 :       CHARACTER*4 NOM2
  11 :       REAL*8 XREF(ND,NP),X(NPG),Y(NPG),Z(NPG)
  12 :       DIMENSION FN(NP,NPG),GR(ND,NP,NPG),PG(NPG)
  13 :       DIMENSION FM(MP,NPG),GM(ND,MP,NPG)
  14 : C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  15 :       CO=6.D0 ** (1.D0/3.D0)
  16 :       UNSCO=1.D0/CO
  17 :       XXXX=-1.D0*UNSCO
  18 : C
  19 :       XREF(1,1)=0.D0
  20 :       XREF(2,1)=0.D0
  21 :       XREF(3,1)=0.D0
  22 : 
  23 :       XREF(1,2)=CO
  24 :       XREF(2,2)=0.D0
  25 :       XREF(3,2)=0.D0
  26 : 
  27 :       XREF(1,3)=0.D0
  28 :       XREF(2,3)=CO
  29 :       XREF(3,3)=0.D0
  30 : 
  31 :       XREF(1,4)=0.D0
  32 :       XREF(2,4)=0.D0
  33 :       XREF(3,4)=CO
  34 : C
  35 : 
  36 : C Verification des coordonnées
  37 : C     IF(.TRUE.)THEN
  38 :       IF(.FALSE.)THEN
  39 :       DO 11 L=1,NP
  40 :       X(L)=XREF(1,L)
  41 :       Y(L)=XREF(2,L)
  42 :       Z(L)=XREF(3,L)
  43 :  11   CONTINUE
  44 : 
  45 :       DO 12 L=1,NP
  46 : C
  47 :          FN(1,L)=1.D0-(X(L)+Y(L)+Z(L))*UNSCO
  48 :          FN(2,L)=X(L)*UNSCO
  49 :          FN(3,L)=Y(L)*UNSCO
  50 :          FN(4,L)=Z(L)*UNSCO
  51 : C
  52 :       write(6,1033)L,FN(1,L),FN(2,L),FN(3,L),FN(4,L)
  53 :  12   CONTINUE
  54 :  1033 FORMAT(1X,I4,' FN',10(1X,1PD11.4))
  55 :       ENDIF
  56 : C Fin Vérification
  57 : 
  58 :       IF(NPG.EQ.1)THEN
  59 :          XXXX=0.25D0*CO
  60 : C
  61 :          X(1)=XXXX
  62 :          Y(1)=XXXX
  63 :          Z(1)=XXXX
  64 :          PG(1)=1.D0
  65 :       ENDIF
  66 :       IF(NPG.EQ.4)THEN
  67 :          AL=.5854101966249684D0*CO
  68 :          BE=.1381966011250105D0*CO
  69 : C
  70 :          X(1)=BE
  71 :          Y(1)=BE
  72 :          Z(1)=BE
  73 :          PG(1)=0.25D0
  74 : C
  75 :          X(2)=AL
  76 :          Y(2)=BE
  77 :          Z(2)=BE
  78 :          PG(2)=0.25D0
  79 : C
  80 :          X(3)=BE
  81 :          Y(3)=AL
  82 :          Z(3)=BE
  83 :          PG(3)=0.25D0
  84 : C
  85 :          X(4)=BE
  86 :          Y(4)=BE
  87 :          Z(4)=AL
  88 :          PG(4)=0.25D0
  89 : C
  90 :       ENDIF
  91 : C
  92 :       DO 1 L=1,NPG
  93 : C
  94 :          FN(1,L)=1.D0-(X(L)+Y(L)+Z(L))*UNSCO
  95 :          FN(2,L)=X(L)*UNSCO
  96 :          FN(3,L)=Y(L)*UNSCO
  97 :          FN(4,L)=Z(L)*UNSCO
  98 : C
  99 :          GR(1,1,L)=XXXX
 100 :          GR(2,1,L)=XXXX
 101 :          GR(3,1,L)=XXXX
 102 : C
 103 :          GR(1,2,L)=UNSCO
 104 :          GR(2,2,L)=0.D0
 105 :          GR(3,2,L)=0.D0
 106 : C
 107 :          GR(1,3,L)=0.D0
 108 :          GR(2,3,L)=UNSCO
 109 :          GR(3,3,L)=0.D0
 110 : C
 111 :          GR(1,4,L)=0.D0
 112 :          GR(2,4,L)=0.D0
 113 :          GR(3,4,L)=UNSCO
 114 : C
 115 : 
 116 :       IF(NOM2.EQ.'P1P1')THEN
 117 :       FM(1,L)=FN(1,L)
 118 :       FM(2,L)=FN(2,L)
 119 :       FM(3,L)=FN(3,L)
 120 :       FM(4,L)=FN(4,L)
 121 : C
 122 :          GM(1,1,L)=XXXX
 123 :          GM(2,1,L)=XXXX
 124 :          GM(3,1,L)=XXXX
 125 : C
 126 :          GM(1,2,L)=UNSCO
 127 :          GM(2,2,L)=0.D0
 128 :          GM(3,2,L)=0.D0
 129 : C
 130 :          GM(1,3,L)=0.D0
 131 :          GM(2,3,L)=UNSCO
 132 :          GM(3,3,L)=0.D0
 133 : C
 134 :          GM(1,4,L)=0.D0
 135 :          GM(2,4,L)=0.D0
 136 :          GM(3,4,L)=UNSCO
 137 : C
 138 :       ELSE
 139 :       FM(1,L)=1.D0
 140 :       GM(1,1,L)=0.D0
 141 :       GM(2,1,L)=0.D0
 142 :       GM(3,1,L)=0.D0
 143 :       ENDIF
 144 : 
 145 :  1    CONTINUE
 146 : 
 147 : C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 148 : C     WRITE(6,100)
 149 : C     WRITE(6,101)
 150 : C     WRITE(6,1002)FN
 151 : C     WRITE(6,1002)GR
 152 : C     WRITE(6,101)
 153 :       RETURN
 154 :  1002 FORMAT(10(1X,1PD11.4))
 155 :  1001 FORMAT(20(1X,I5))
 156 :  100  FORMAT(1H1)
 157 :  101  FORMAT(1X,'... SUB PB403 ... FN,GR,FOM,GM ',9(10H..........)/)
 158 :       END
 159 :  
 160 :  
 161 :  
 162 :  
 163 :  
 164 :  

© Cast3M 2003 - All rights reserved.
Disclaimer