1 : * @MISTPAR PROCEDUR FABRICE 03/11/13 21:20:16 4732 2 : debproc @MISTPAR fichier*'MOT' SENSIP1*'ENTIER' SENSIP2*'ENTIER' ; 3 : *------------------------------------------------------------------------------- 4 : * SENSIP1 = numero d'ordre du 1er vecteur de la base d'orthotropie de MISTRAL 5 : * dans la base d'orthotropie de CASTEM 6 : * SENSIP2 = numero d'ordre du 2eme vecteur de la base d'orthotropie de MISTRAL 7 : * dans la base d'orthotropie de CASTEM 8 : * Remarque: un numero negatif indique que le vecteur MISTRAL 9 : * est de sens oppose au vecteur CASTEM 10 : *------------------------------------------------------------------------------- 11 : IP1 = abs SENSIP1 ; IP2 = abs SENSIP2 ; 12 : si (ega IP1 IP2) ; 13 : mess 'ERREUR: les 2 vecteurs sont colineaires !' ; 14 : mess 'Corrigez et utilisez a nouveau MISTPAR.' ; 15 : finsi ; 16 : *------------------------------------------------------------------------------- 17 : * LE FICHIER 'fichier' CONTIENT LES PROPRIETES ELASTIQUES et NON LINEAIRES DU 18 : * MODELE MISTRAL DANS LA BASE D'ORTHOTROPIE DE MISTRAL. CE PROGRAMME LIT 19 : * fichier ET PRODUIT DES LISTES DE REELS CONTENANT LES PROPRIETES NON LINEAIRES. 20 : * IL PRODUIT AUSSI LES PROPRIETES ELASTIQUES DANS LA BASE D'ORTHOTROPIE 21 : * DE CASTEM CONNAISSANT L'ORIENTATION DE LA BASE D'ORTHOTROPIE DE MISTRAL 22 : * / A CELLE DE CASTEM. CETTE ORIENTATION EST DEFINIE PAR LES ENTIERS SENSIP1 23 : * et SENSIP2 (CF. CI-DESSUS). IL S'AGIT D'UNE SIMPLE PERMUTATION DES AXES. 24 : * REMARQUE : UN MATERIAU ISOTROPE EST TRAITE COMME UN MATERIAU ORTHOTROPE. 25 : *------------------------------------------------------------------------------- 26 : * Lecture de 'fichier' cree par le programme en FORTRAN MISTLOI : 27 : * 28 : option ACQUERIR fichier ; 29 : * 30 : ACQU NPDILT*'ENTIER' ; 31 : PDILT = prog ; 32 : repeter bT NPDILT ; 33 : ACQU x*'FLOTTANT' ; 34 : PDILT = PDILT et (prog x) ; 35 : fin bT ; 36 : * 37 : * PCOEL : proprietes elastiques (YOUNG, POISSON, modules de cisaillement) 38 : ACQU NPCOEL*'ENTIER' ; 39 : PCOEL = prog ; 40 : repeter bE NPCOEL ; 41 : ACQU x*'FLOTTANT' ; 42 : PCOEL = PCOEL et (prog x) ; 43 : fin bE ; 44 : * 45 : ACQU NDPI*'ENTIER' ; 46 : ACQU NDVP*'ENTIER' ; 47 : ACQU NXX*'ENTIER' ; 48 : ACQU NPSI*'ENTIER' ; 49 : NDP = NDPI + NDVP ; 50 : * 51 : si (NDP > 0) ; 52 : * 53 : ACQU NPCOHI*'ENTIER' ; 54 : PCOHI = prog ; 55 : repeter bH NPCOHI ; 56 : ACQU x*'FLOTTANT' ; 57 : PCOHI = PCOHI et (prog x) ; 58 : fin bH ; 59 : * 60 : si (NDVP > 0) ; 61 : ACQU NPECOU*'ENTIER' ; 62 : PECOU = prog ; 63 : repeter bV NPECOU ; 64 : ACQU x*'FLOTTANT' ; 65 : PECOU = PECOU et (prog x) ; 66 : fin bV ; 67 : sinon ; 68 : PECOU = prog 0. ; 69 : finsi ; 70 : * 71 : ACQU NPEDIR*'ENTIER' ; 72 : PEDIR = prog ; 73 : repeter bR NPEDIR ; 74 : ACQU x*'FLOTTANT' ; 75 : PEDIR = PEDIR et (prog x) ; 76 : fin bR ; 77 : * 78 : ACQU NPRVCE*'ENTIER' ; 79 : PRVCE = prog ; 80 : repeter bQ NPRVCE ; 81 : ACQU x*'FLOTTANT' ; 82 : PRVCE = PRVCE et (prog x) ; 83 : fin bQ ; 84 : * 85 : si (NXX > 0) ; 86 : ACQU NPECRX*'ENTIER' ; 87 : PECRX = prog ; 88 : repeter bX NPECRX ; 89 : ACQU x*'FLOTTANT' ; 90 : PECRX = PECRX et (prog x) ; 91 : fin bX ; 92 : sinon ; 93 : PECRX = prog 0. ; 94 : finsi ; 95 : * 96 : ACQU NPDVDI*'ENTIER' ; 97 : PDVDI = prog ; 98 : repeter bP NPDVDI ; 99 : ACQU x*'FLOTTANT' ; 100 : PDVDI = PDVDI et (prog x) ; 101 : fin bP ; 102 : sinon ; 103 : PCOHI = prog 0. ; 104 : PECOU = prog 0. ; 105 : PEDIR = prog 0. ; 106 : PRVCE = prog 0. ; 107 : PECRX = prog 0. ; 108 : PDVDI = prog 0. ; 109 : finsi ; 110 : * 111 : ACQU NPCROI*'ENTIER' ; 112 : PCROI = prog ; 113 : repeter bC NPCROI ; 114 : ACQU x*'FLOTTANT' ; 115 : PCROI = PCROI et (prog x) ; 116 : fin bC ; 117 : * 118 : ACQU NPINCR*'ENTIER' ; 119 : PINCR = prog ; 120 : repeter bI NPINCR ; 121 : ACQU x*'FLOTTANT' ; 122 : PINCR = PINCR et (prog x) ; 123 : fin bI ; 124 : * 125 : PNBRE = prog NDPI NDVP NXX NPSI ; 126 : * 127 : * FIN de lecture de 'fichier' 128 : *------------------------------------------------------------------------------- 129 : * LISTE DE TEMPERATURES 130 : * 131 : TK = prog 273.15 pas 100 2273.15 ; nTK = dime TK ; 132 : * 133 : ISOEL = enti (extr PCOEL 1) ; 134 : si (ega ISOEL 1) ; 135 : * 136 : * materiau isotrope converti en materiau orthotrope 137 : * 138 : E10 = prog nTK*(extr PCOEL 2) ; 139 : E11 = extr PCOEL 3 ; 140 : E1 = E10 + (E11*TK) ; 141 : E1 = evol manu 'T' TK 'YG1' E1 ; 142 : E2 = evol manu 'T' TK 'YG2' (EXTR E1 ORDO) ; 143 : E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; 144 : NU120 = prog nTK*(extr PCOEL 4) ; 145 : NU121 = extr PCOEL 5 ; 146 : NU12 = NU120 + (NU121*TK) ; 147 : NU12 = evol manu 'T' TK 'NU12' NU12 ; 148 : NU23 = evol manu 'T' TK 'NU23'(EXTR NU12 ORDO) ; 149 : NU13 = evol manu 'T' TK 'NU13'(EXTR NU12 ORDO) ; 150 : un = prog nTK*1 ; 151 : MU12 = (EXTR E1 ORDO) / (un + (EXTR NU12 ORDO)) ; 152 : MU12 = MU12 / 2. ; 153 : MU12 = evol manu 'T' TK 'G12' MU12 ; 154 : MU23 = evol manu 'T' TK 'G23' (EXTR MU12 ORDO) ; 155 : MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; 156 : sinon ; 157 : * 158 : * materiau orthotrope 159 : * 160 : E10 = prog nTK*(extr PCOEL 2) ; 161 : E11 = extr PCOEL 3 ; 162 : E1 = E10 + (E11*TK) ; 163 : E1 = evol manu 'T' TK 'YG1' E1 ; 164 : E20 = prog nTK*(extr PCOEL 4) ; 165 : E21 = extr PCOEL 5 ; 166 : E2 = E20 + (E21*TK) ; 167 : E2 = evol manu 'T' TK 'YG2' E2 ; 168 : E30 = prog nTK*(extr PCOEL 6) ; 169 : E31 = extr PCOEL 7 ; 170 : E3 = E30 + (E31*TK) ; 171 : E3 = evol manu 'T' TK 'YG3' E3 ; 172 : * 173 : NU120 = prog nTK*(extr PCOEL 8) ; 174 : NU121 = extr PCOEL 9 ; 175 : NU12 = NU120 + (NU121*TK) ; 176 : NU12 = evol manu 'T' TK 'NU12' NU12 ; 177 : NU230 = prog nTK*(extr PCOEL 10) ; 178 : NU231 = extr PCOEL 11 ; 179 : NU23 = NU230 + (NU231*TK) ; 180 : NU23 = evol manu 'T' TK 'NU23' NU23 ; 181 : NU310 = prog nTK*(extr PCOEL 12) ; 182 : NU311 = extr PCOEL 13 ; 183 : NU31 = NU310 + (NU311*TK) ; 184 : NU31 = evol manu 'T' TK 'NU31' NU31 ; 185 : * 186 : MU120 = prog nTK*(extr PCOEL 14) ; 187 : MU121 = extr PCOEL 15 ; 188 : MU12 = MU120 + (MU121*TK) ; 189 : MU12 = evol manu 'T' TK 'G12' MU12 ; 190 : MU130 = prog nTK*(extr PCOEL 16) ; 191 : MU131 = extr PCOEL 17 ; 192 : MU13 = MU130 + (MU131*TK) ; 193 : MU13 = evol manu 'T' TK 'G13' MU13 ; 194 : MU230 = prog nTK*(extr PCOEL 18) ; 195 : MU231 = extr PCOEL 19 ; 196 : MU23 = MU230 + (MU231*TK) ; 197 : MU23 = evol manu 'T' TK 'G23' MU23 ; 198 : * 199 : * coefficients d'elasticite dans la base d'orthotropie de CASTEM 200 : * 201 : si (ega IP1 1) ; 202 : si (ega IP2 2) ; 203 : * IP1=1 IP2=2 IP3=3 204 : NU13 = (EXTR NU31 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; 205 : NU13 = evol manu 'T' TK 'NU13' NU13 ; 206 : sinon ; 207 : * IP1=1 IP2=3 IP3=2 208 : E2mis = E2 ; 209 : E2 = evol manu 'T' TK 'YG2' (EXTR E3 ORDO) ; 210 : E3 = evol manu 'T' TK 'YG3' (EXTR E2mis ORDO) ; 211 : NU13 = evol manu 'T' TK 'NU13' (EXTR NU12 ORDO) ; 212 : NU12 = (EXTR NU31 ORDO) * ( (EXTR E1 ORDO)/(EXTR E2 ORDO) ) ; 213 : NU12 = evol manu 'T' TK 'NU12' NU12 ; 214 : NU23 = (EXTR NU23 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; 215 : NU23 = evol manu 'T' TK 'NU23' NU23 ; 216 : MU13mis = MU13 ; 217 : MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; 218 : MU12 = evol manu 'T' TK 'G12' (EXTR MU13mis ORDO) ; 219 : finsi ; 220 : finsi ; 221 : si (ega IP1 2) ; 222 : si (ega IP2 1) ; 223 : * IP1=2 IP2=1 IP3=3 224 : E2mis = E2 ; 225 : E2 = evol manu 'T' TK 'YG2' (EXTR E1 ORDO) ; 226 : E1 = evol manu 'T' TK 'YG1' (EXTR E2mis ORDO) ; 227 : NU12 = (EXTR NU12 ORDO) * ( (EXTR E1 ORDO)/(EXTR E2 ORDO) ) ; 228 : NU12 = evol manu 'T' TK 'NU12' NU12 ; 229 : NU13 = evol manu 'T' TK 'NU13' (EXTR NU23 ORDO) ; 230 : NU23 = (EXTR NU31 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; 231 : NU23 = evol manu 'T' TK 'NU23' NU23 ; 232 : MU23mis = MU23 ; 233 : MU23 = evol manu 'T' TK 'G23' (EXTR MU13 ORDO) ; 234 : MU13 = evol manu 'T' TK 'G13' (EXTR MU23mis ORDO) ; 235 : sinon ; 236 : * IP1=2 IP2=3 IP3=1 237 : E1mis = E1 ; 238 : E1 = evol manu 'T' TK 'YG1' (EXTR E3 ORDO) ; 239 : E3 = evol manu 'T' TK 'YG3' (EXTR E2 ORDO) ; 240 : E2 = evol manu 'T' TK 'YG2' (EXTR E1mis ORDO) ; 241 : NU13 = (EXTR NU23 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; 242 : NU13 = evol manu 'T' TK 'NU13' NU13 ; 243 : NU23 = evol manu 'T' TK 'NU23' (EXTR NU12 ORDO) ; 244 : NU12 = evol manu 'T' TK 'NU12' (EXTR NU31 ORDO) ; 245 : MU12mis = MU12 ; 246 : MU12 = evol manu 'T' TK 'G12' (EXTR MU13 ORDO) ; 247 : MU13 = evol manu 'T' TK 'G13' (EXTR MU23 ORDO) ; 248 : MU23 = evol manu 'T' TK 'G23' (EXTR MU12mis ORDO) ; 249 : finsi ; 250 : finsi ; 251 : si (ega IP1 3) ; 252 : si (ega IP2 1) ; 253 : * IP1=3 IP2=1 IP3=2 254 : E3mis = E3 ; 255 : E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; 256 : E1 = evol manu 'T' TK 'YG1' (EXTR E2 ORDO) ; 257 : E2 = evol manu 'T' TK 'YG2' (EXTR E3mis ORDO) ; 258 : NU13 = (EXTR NU12 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; 259 : NU13 = evol manu 'T' TK 'NU13' NU13 ; 260 : NU12 = evol manu 'T' TK 'NU12' (EXTR NU23 ORDO) ; 261 : NU23 = evol manu 'T' TK 'NU23' (EXTR NU31 ORDO) ; 262 : MU13mis = MU13 ; 263 : MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; 264 : MU12 = evol manu 'T' TK 'G12' (EXTR MU23 ORDO) ; 265 : MU23 = evol manu 'T' TK 'G23' (EXTR MU13mis ORDO) ; 266 : sinon ; 267 : * IP1=3 IP2=2 IP3=1 268 : E3mis = E3 ; 269 : E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; 270 : E1 = evol manu 'T' TK 'YG1' (EXTR E3mis ORDO) ; 271 : NU23mis = NU23 ; 272 : NU23 = (EXTR NU12 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; 273 : NU23 = evol manu 'T' TK 'NU23' NU23 ; 274 : NU12 = (EXTR NU23mis ORDO) * ((EXTR E1 ORDO)/(EXTR E2 ORDO)) ; 275 : NU12 = evol manu 'T' TK 'NU12' NU12 ; 276 : NU13 = evol manu 'T' TK 'NU13' (EXTR NU31 ORDO) ; 277 : MU23mis = MU23 ; 278 : MU23 = evol manu 'T' TK 'G23' (EXTR MU12 ORDO) ; 279 : MU12 = evol manu 'T' TK 'G12' (EXTR MU23mis ORDO) ; 280 : finsi ; 281 : finsi ; 282 : * fin materiau orthotrope 283 : finsi ; 284 : *------------------------------------------------------------------------------- 285 : finproc PDILT E1 E2 E3 NU12 NU23 NU13 MU12 MU23 MU13 286 : PNBRE PCOHI PECOU PEDIR PRVCE PECRX PDVDI PCROI PINCR ; 287 : 288 :
© Cast3M 2003 - All rights reserved.
Disclaimer