1 : C KXL SOURCE CHAT 05/01/13 01:11:42 5004 2 : SUBROUTINE KXL(NOMS,TYPE,XL) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : PARAMETER (NBE=18) 6 : CHARACTER*8 NOMS,LISTE(NBE) 7 : CHARACTER*2 TYPE 8 : DIMENSION XL(3,4) 9 : DATA LISTE/'SEG3 ','TRI6 ','QUA8 ','TRI7 ','QUA9 ', 10 : &'CU27 ','PR21 ','TE15 ','PY19 ', 11 : &'PR18 ','PY14 ', 12 : &'SEG4 ','TR12 ','QU16 ','CU64 ','PR48 ','TE32 ', 13 : &'PY57 '/ 14 : 15 : IF(TYPE.EQ.'P0')THEN 16 : C CENTRE P0 16 : CALL OPTLI(IP,LISTE,NOMS,NBE) 17 : IF(IP.EQ.0)RETURN 18 : GO TO (301,602,802,602,802,2703,2103,1503,1903,2103,1903),IP 19 : 20 : 301 CONTINUE 21 : XL(1,1)=0.5D0 22 : XL(2,1)=0.D0 23 : XL(3,1)=0.D0 24 : RETURN 25 : 26 : 602 CONTINUE 27 : R2=SQRT(2.D0) 28 : XL(1,1)=R2/3.D0 29 : XL(2,1)=R2/3.D0 30 : XL(3,1)=0.D0 31 : RETURN 32 : 33 : 802 CONTINUE 34 : XL(1,1)=0.5D0 35 : XL(2,1)=0.5D0 36 : XL(3,1)=0.D0 37 : RETURN 38 : 39 : 2703 CONTINUE 40 : XL(1,1)=0.5D0 41 : XL(2,1)=0.5D0 42 : XL(3,1)=0.5D0 43 : RETURN 44 : 45 : 2103 CONTINUE 46 : R2=SQRT(2.D0) 47 : XL(1,1)=R2/3.D0 48 : XL(2,1)=R2/3.D0 49 : XL(3,1)=0.5D0 50 : RETURN 51 : 52 : 1503 CONTINUE 53 : R2=SQRT(2.D0) 54 : XL(1,1)=R2/3.D0 55 : XL(2,1)=R2/3.D0 56 : XL(3,1)=R2/3.D0 57 : RETURN 58 : 59 : 1903 CONTINUE 60 : XL(1,1)=0.5D0 61 : XL(2,1)=0.5D0 62 : XL(3,1)=0.5D0 63 : RETURN 64 : 65 : 66 : ELSEIF(TYPE.EQ.'P1')THEN 67 : C CENTRE P1 68 : 68 : CALL OPTLI(IP,LISTE,NOMS,NBE) 69 : IF(IP.EQ.0)RETURN 70 : GO TO (1301,1602,1802,1602,1802,12703,12103,11503, 71 : &11903,12103,11903),IP 72 : 73 : 1301 CONTINUE 74 : XL(1,1)=0.25D0 75 : XL(2,1)=0.D0 76 : XL(3,1)=0.D0 77 : XL(1,2)=0.75D0 78 : XL(2,2)=0.D0 79 : XL(3,2)=0.D0 80 : RETURN 81 : 82 : 1602 CONTINUE 83 : R2=SQRT(2.D0) 84 : XL(1,1)=R2/6.D0 85 : XL(2,1)=R2/6.D0 86 : XL(3,1)=0.D0 87 : XL(1,2)=4.D0*R2/6.D0 88 : XL(2,2)=R2/6.D0 89 : XL(3,2)=0.D0 90 : XL(1,3)=R2/6.D0 91 : XL(2,3)=4.D0*R2/6.D0 92 : XL(3,3)=0.D0 93 : RETURN 94 : 95 : 1802 CONTINUE 96 : XL(1,1)=0.75D0 97 : XL(2,1)=0.75D0 98 : XL(3,1)=0.D0 99 : XL(1,2)=0.25D0 100 : XL(2,2)=0.5D0 101 : XL(3,2)=0.D0 102 : XL(1,3)=0.5D0 103 : XL(2,3)=0.25D0 104 : XL(3,3)=0.D0 105 : RETURN 106 : 107 : 12703 CONTINUE 108 : XL(1,1)=0.75D0 109 : XL(2,1)=0.75D0 110 : XL(3,1)=0.25D0 111 : XL(1,2)=0.25D0 112 : XL(2,2)=0.5D0 113 : XL(3,2)=0.25D0 114 : XL(1,3)=0.5D0 115 : XL(2,3)=0.25D0 116 : XL(3,3)=0.25D0 117 : XL(1,4)=0.5D0 118 : XL(2,4)=0.25D0 119 : XL(3,4)=0.75D0 120 : RETURN 121 : 122 : 12103 CONTINUE 123 : R2=SQRT(2.D0) 124 : XL(1,1)=R2/6.D0 125 : XL(2,1)=R2/6.D0 126 : XL(3,1)=0.25D0 127 : XL(1,2)=2.D0*R2/3.D0 128 : XL(2,2)=R2/6.D0 129 : XL(3,2)=0.75D0 130 : XL(1,3)=R2/6.D0 131 : XL(2,3)=2.D0*R2/3.D0 132 : XL(3,3)=0.25D0 133 : XL(1,4)=R2/3.D0 134 : XL(2,4)=R2/3.D0 135 : XL(3,4)=0.75D0 136 : RETURN 137 : 11503 CONTINUE 138 : R2=SQRT(6.D0) 139 : XL(1,1)=R2*0.25D0 140 : XL(2,1)=R2*0.25D0 141 : XL(3,1)=0.25D0 142 : XL(1,2)=R2*0.75D0 143 : XL(2,2)=R2*0.25D0 144 : XL(3,2)=0.25D0 145 : XL(1,3)=R2*0.75D0 146 : XL(2,3)=R2*0.75D0 147 : XL(3,3)=0.25D0 148 : XL(1,3)=R2*0.25D0 149 : XL(2,3)=R2*0.25D0 150 : XL(3,3)=0.75D0 151 : RETURN 152 : 11903 CONTINUE 153 : RETURN 154 : 155 : ENDIF 156 : END 157 : 158 : 159 : 160 : 161 :
© Cast3M 2003 - All rights reserved.
Disclaimer