1 : C CARAMK SOURCE AM 13/12/16 21:15:24 7825 2 : 3 : C======================================================================= 4 : C= C A R A M K = 5 : C= ----------- = 6 : C= = 7 : C= Fonction : = 8 : C= ---------- = 9 : C= Recuperation des noms de caracteristiques geometriques obligatoi- = 10 : C= res et facultatives suivant le type d'element (formulation) = 11 : C= = 12 : C= Parametres : (E)=Entree (S)=Sortie = 13 : C= ------------ = 14 : C= MFOR (E) Formulation consideree = 15 : C= IFOR (E) Mode de calcul traite (=IFOUR dans CCOPTIO) = 16 : C= MELT (E) Numero de l'element fini dans NOMTP (cf. CCHAMP) = 17 : C= CMATE (E) Utilise dans le cas des POUTRES = 18 : C= IVECT (S) =1 si une caracteristique est un vecteur (POINT) = 19 : C= MOCARA (S) Segment NOMID des noms des caracteristiques = 20 : C= NBROBL (S) Nombre de caracteristiques OBLIGATOIRES = 21 : C= NBRFAC (S) Nombre de caracteristiques FACULTATIVES = 22 : C= NBRTOT (S) Nombre total de caracteristiques (=NBROBL+NBRFAC) = 23 : C= MOTYPE (S) Segment NOTYPE des types des caracteristiques = 24 : C= NBTYPE (S) Nombre de types differents = 25 : C= = 26 : C= Remarque : Les segments MOCARA et MOTYPE sont ACTIFs lorsque l'on = 27 : C= ---------- quitte le sousprogramme. = 28 : C======================================================================= 29 : 30 : SUBROUTINE CARAMK (MFOR,IFOR,MELT,CMATE,IVECT,MOCARA,NBROBL, 31 : . NBRFAC,NBRTOT,MOTYPE,NBTYPE) 32 : 33 : IMPLICIT INTEGER(I-N) 34 : IMPLICIT REAL*8 (A-H,O-Z) 35 : 36 : C*OF -> a mettre dans un INCLUDE (SMINFO ?) 37 : SEGMENT NOMID 38 : CHARACTER*8 LESOBL(NBROBL),LESFAC(NBRFAC) 39 : ENDSEGMENT 40 : 41 : SEGMENT NOTYPE 42 : CHARACTER*16 TYPE(NBTYPE) 43 : ENDSEGMENT 44 : C*OF -> fin INCLUDE (SMINFO ?) 45 : 46 : CHARACTER*8 CMATE 47 : 48 : C ==== 49 : C 0. - Valeurs par defaut 50 : C ==== 51 : IVECT=0 52 : NBROBL=0 53 : NBRFAC=0 54 : NBTYPE=0 55 : C ==== 56 : C 1. - Formulation MASSIVE en CONTRAINTES PLANES : epaisseur 57 : C ==== 58 : IF ((MFOR.EQ.1.OR.MFOR.EQ.31.OR.(MELT.GE.79.AND.MELT.LE.83)) 59 : . .AND.IFOR.EQ.-2) THEN 60 : NBRFAC=1 61 : SEGINI,NOMID 62 : LESFAC(1)='DIM3' 63 : NBTYPE=1 64 : SEGINI,NOTYPE 65 : TYPE(1)='REAL*8' 66 : C ==== 67 : C 2. - Formulation COQUE : epaisseur(s) et excentrement 68 : C ==== 69 : ELSE IF (MFOR.EQ.3.OR.MFOR.EQ.5.OR.MFOR.EQ.9) THEN 70 : NBROBL=1 71 : IF (MFOR.EQ.3.AND.IFOR.EQ.-2) THEN 72 : NBRFAC=2 73 : ELSE 74 : NBRFAC=1 75 : ENDIF 76 : SEGINI,NOMID 77 : LESOBL(1)='EPAI' 78 : LESFAC(1)='EXCE' 79 : IF (MFOR.EQ.3.AND.IFOR.EQ.-2) LESFAC(2)='DIM3' 80 : NBTYPE=1 81 : SEGINI,NOTYPE 82 : TYPE(1)='REAL*8' 83 : C ==== 84 : C 3. - Formulation BARRE : section 85 : C ==== 86 : ELSE IF (MFOR.EQ.27) THEN 87 : NBROBL=1 88 : SEGINI,NOMID 89 : LESOBL(1)='SECT' 90 : NBTYPE=1 91 : SEGINI,NOTYPE 92 : TYPE(1)='REAL*8' 93 : C ==== 94 : C 4. - Formulation BARRE EXCENTREE : section, excentrements et 95 : C orientation de l'element 96 : C ==== 97 : ELSE IF (MFOR.EQ.49) THEN 98 : NBROBL=6 99 : SEGINI,NOMID 100 : LESOBL(1)='SECT' 101 : LESOBL(2)='EXCZ' 102 : LESOBL(3)='EXCY' 103 : LESOBL(4)='VX ' 104 : LESOBL(5)='VY ' 105 : LESOBL(6)='VZ ' 106 : NBTYPE=1 107 : SEGINI,NOTYPE 108 : TYPE(1)='REAL*8' 109 : C ==== 110 : C 5. - Element de LIAISON LIA2 : raideurs locales et orientation 111 : C ==== 112 : ELSE IF (MFOR.EQ.51) THEN 113 : NBROBL=9 114 : SEGINI,NOMID 115 : LESOBL(1)='RLUX' 116 : LESOBL(2)='RLUY' 117 : LESOBL(3)='RLUZ' 118 : LESOBL(4)='RLRX' 119 : LESOBL(5)='RLRY' 120 : LESOBL(6)='RLRZ' 121 : LESOBL(7)='VX ' 122 : LESOBL(8)='VY ' 123 : LESOBL(9)='VZ ' 124 : NBTYPE=1 125 : SEGINI,NOTYPE 126 : TYPE(1)='REAL*8' 127 : C ==== 128 : C 6. - Formulation POUTRE 129 : C ==== 130 : ELSE IF (MFOR.EQ.7) THEN 131 : IF (CMATE.EQ.'SECTION') THEN 132 : IVECT=1 133 : NBRFAC=1 134 : SEGINI,NOMID 135 : LESFAC='VECT' 136 : NBTYPE=1 137 : SEGINI,NOTYPE 138 : TYPE(1)='POINTEURPOINT ' 139 : ELSE IF (IFOR.EQ.-2.OR.IFOR.EQ.-1.OR.IFOR.EQ.-3) THEN 140 : NBROBL=2 141 : NBRFAC=1 142 : SEGINI,NOMID 143 : LESOBL(1)='SECT' 144 : LESOBL(2)='INRZ' 145 : LESFAC(1)='SECY' 146 : NBTYPE=1 147 : SEGINI,NOTYPE 148 : TYPE(1)='REAL*8' 149 : ELSE 150 : IVECT=1 151 : NBROBL=4 152 : NBRFAC=3 153 : SEGINI,NOMID 154 : LESOBL(1)='TORS' 155 : LESOBL(2)='INRY' 156 : LESOBL(3)='INRZ' 157 : LESOBL(4)='SECT' 158 : LESFAC(1)='SECY' 159 : LESFAC(2)='SECZ' 160 : LESFAC(3)='VECT' 161 : NBTYPE=7 162 : SEGINI,NOTYPE 163 : TYPE(1)='REAL*8' 164 : TYPE(2)='REAL*8' 165 : TYPE(3)='REAL*8' 166 : TYPE(4)='REAL*8' 167 : TYPE(5)='REAL*8' 168 : TYPE(6)='REAL*8' 169 : TYPE(7)='POINTEURPOINT ' 170 : ENDIF 171 : C ==== 172 : C 7. - Formulation TUYAU 173 : C ==== 174 : ELSE IF (MFOR.EQ.13) THEN 175 : IVECT=1 176 : NBROBL=2 177 : NBRFAC=3 178 : SEGINI,NOMID 179 : LESOBL(1)='EPAI' 180 : LESOBL(2)='RAYO' 181 : LESFAC(1)='RACO' 182 : LESFAC(2)='CISA' 183 : LESFAC(3)='VECT' 184 : NBTYPE=5 185 : SEGINI,NOTYPE 186 : TYPE(1)='REAL*8' 187 : TYPE(2)='REAL*8' 188 : TYPE(3)='REAL*8' 189 : TYPE(4)='REAL*8' 190 : TYPE(5)='POINTEURPOINT ' 191 : C ==== 192 : C 8. - Formulation LINESPRING 193 : C ==== 194 : ELSE IF (MFOR.EQ.15) THEN 195 : NBROBL=5 196 : SEGINI,NOMID 197 : LESOBL(1)='EPAI' 198 : LESOBL(2)='FISS' 199 : LESOBL(3)='VX ' 200 : LESOBL(4)='VY ' 201 : LESOBL(5)='VZ ' 202 : NBTYPE=1 203 : SEGINI,NOTYPE 204 : TYPE(1)='REAL*8' 205 : C ==== 206 : C 9. - Formulation TUYAU FISSURE 207 : C ==== 208 : ELSE IF (MFOR.EQ.17) THEN 209 : NBROBL=9 210 : SEGINI,NOMID 211 : LESOBL(1)='RAYO' 212 : LESOBL(2)='EPAI' 213 : LESOBL(3)='VX ' 214 : LESOBL(4)='VY ' 215 : LESOBL(5)='VZ ' 216 : LESOBL(6)='VXF ' 217 : LESOBL(7)='VYF ' 218 : LESOBL(8)='VZF ' 219 : LESOBL(9)='ANGL' 220 : NBTYPE=1 221 : SEGINI,NOTYPE 222 : TYPE(1)='REAL*8' 223 : C ===== 224 : C 10. - Elements HOMOGENEISEs 225 : C ===== 226 : ELSE IF (MFOR.EQ.37) THEN 227 : IF (IFOR.EQ.1.OR.IFOR.EQ.0) THEN 228 : NBROBL=4 229 : SEGINI,NOMID 230 : LESOBL(1)='SCEL' 231 : LESOBL(2)='SFLU' 232 : LESOBL(3)='EPS ' 233 : LESOBL(4)='XINE' 234 : ELSE 235 : NBROBL=3 236 : SEGINI,NOMID 237 : LESOBL(1)='SCEL' 238 : LESOBL(2)='SFLU' 239 : LESOBL(3)='EPS ' 240 : ENDIF 241 : NBTYPE=1 242 : SEGINI,NOTYPE 243 : TYPE(1)='REAL*8' 244 : C ===== 245 : C 11. - Elements de type JOINT GENE 246 : C ===== 247 : ELSE IF (MFOR.EQ.55) THEN 248 : NBRFAC=1 249 : SEGINI,NOMID 250 : LESFAC(1)='EPAI' 251 : NBTYPE=1 252 : SEGINI,NOTYPE 253 : TYPE(1)='REAL*8' 254 : C ===== 255 : C 12. - PAR DEFAUT : Segments VIDEs 256 : C ===== 257 : ELSE 258 : SEGINI,NOMID 259 : SEGINI,NOTYPE 260 : ENDIF 261 : 262 : NBRTOT=NBROBL+NBRFAC 263 : MOCARA=NOMID 264 : MOTYPE=NOTYPE 265 : 266 : RETURN 267 : END 268 : 269 : 270 : 271 : 272 : 273 : 274 :
© Cast3M 2003 - All rights reserved.
Disclaimer