$$$$ @MISTPAR * @MISTPAR PROCEDUR FABRICE 03/11/13 21:20:16 4732 debproc @MISTPAR fichier*'MOT' SENSIP1*'ENTIER' SENSIP2*'ENTIER' ; *------------------------------------------------------------------------------- * SENSIP1 = numero d'ordre du 1er vecteur de la base d'orthotropie de MISTRAL * dans la base d'orthotropie de CASTEM * SENSIP2 = numero d'ordre du 2eme vecteur de la base d'orthotropie de MISTRAL * dans la base d'orthotropie de CASTEM * Remarque: un numero negatif indique que le vecteur MISTRAL * est de sens oppose au vecteur CASTEM *------------------------------------------------------------------------------- IP1 = abs SENSIP1 ; IP2 = abs SENSIP2 ; si (ega IP1 IP2) ; mess 'ERREUR: les 2 vecteurs sont colineaires !' ; mess 'Corrigez et utilisez a nouveau MISTPAR.' ; finsi ; *------------------------------------------------------------------------------- * LE FICHIER 'fichier' CONTIENT LES PROPRIETES ELASTIQUES et NON LINEAIRES DU * MODELE MISTRAL DANS LA BASE D'ORTHOTROPIE DE MISTRAL. CE PROGRAMME LIT * fichier ET PRODUIT DES LISTES DE REELS CONTENANT LES PROPRIETES NON LINEAIRES. * IL PRODUIT AUSSI LES PROPRIETES ELASTIQUES DANS LA BASE D'ORTHOTROPIE * DE CASTEM CONNAISSANT L'ORIENTATION DE LA BASE D'ORTHOTROPIE DE MISTRAL * / A CELLE DE CASTEM. CETTE ORIENTATION EST DEFINIE PAR LES ENTIERS SENSIP1 * et SENSIP2 (CF. CI-DESSUS). IL S'AGIT D'UNE SIMPLE PERMUTATION DES AXES. * REMARQUE : UN MATERIAU ISOTROPE EST TRAITE COMME UN MATERIAU ORTHOTROPE. *------------------------------------------------------------------------------- * Lecture de 'fichier' cree par le programme en FORTRAN MISTLOI : * option ACQUERIR fichier ; * ACQU NPDILT*'ENTIER' ; PDILT = prog ; repeter bT NPDILT ; ACQU x*'FLOTTANT' ; PDILT = PDILT et (prog x) ; fin bT ; * * PCOEL : proprietes elastiques (YOUNG, POISSON, modules de cisaillement) ACQU NPCOEL*'ENTIER' ; PCOEL = prog ; repeter bE NPCOEL ; ACQU x*'FLOTTANT' ; PCOEL = PCOEL et (prog x) ; fin bE ; * ACQU NDPI*'ENTIER' ; ACQU NDVP*'ENTIER' ; ACQU NXX*'ENTIER' ; ACQU NPSI*'ENTIER' ; NDP = NDPI + NDVP ; * si (NDP > 0) ; * ACQU NPCOHI*'ENTIER' ; PCOHI = prog ; repeter bH NPCOHI ; ACQU x*'FLOTTANT' ; PCOHI = PCOHI et (prog x) ; fin bH ; * si (NDVP > 0) ; ACQU NPECOU*'ENTIER' ; PECOU = prog ; repeter bV NPECOU ; ACQU x*'FLOTTANT' ; PECOU = PECOU et (prog x) ; fin bV ; sinon ; PECOU = prog 0. ; finsi ; * ACQU NPEDIR*'ENTIER' ; PEDIR = prog ; repeter bR NPEDIR ; ACQU x*'FLOTTANT' ; PEDIR = PEDIR et (prog x) ; fin bR ; * ACQU NPRVCE*'ENTIER' ; PRVCE = prog ; repeter bQ NPRVCE ; ACQU x*'FLOTTANT' ; PRVCE = PRVCE et (prog x) ; fin bQ ; * si (NXX > 0) ; ACQU NPECRX*'ENTIER' ; PECRX = prog ; repeter bX NPECRX ; ACQU x*'FLOTTANT' ; PECRX = PECRX et (prog x) ; fin bX ; sinon ; PECRX = prog 0. ; finsi ; * ACQU NPDVDI*'ENTIER' ; PDVDI = prog ; repeter bP NPDVDI ; ACQU x*'FLOTTANT' ; PDVDI = PDVDI et (prog x) ; fin bP ; sinon ; PCOHI = prog 0. ; PECOU = prog 0. ; PEDIR = prog 0. ; PRVCE = prog 0. ; PECRX = prog 0. ; PDVDI = prog 0. ; finsi ; * ACQU NPCROI*'ENTIER' ; PCROI = prog ; repeter bC NPCROI ; ACQU x*'FLOTTANT' ; PCROI = PCROI et (prog x) ; fin bC ; * ACQU NPINCR*'ENTIER' ; PINCR = prog ; repeter bI NPINCR ; ACQU x*'FLOTTANT' ; PINCR = PINCR et (prog x) ; fin bI ; * PNBRE = prog NDPI NDVP NXX NPSI ; * * FIN de lecture de 'fichier' *------------------------------------------------------------------------------- * LISTE DE TEMPERATURES * TK = prog 273.15 pas 100 2273.15 ; nTK = dime TK ; * ISOEL = enti (extr PCOEL 1) ; si (ega ISOEL 1) ; * * materiau isotrope converti en materiau orthotrope * E10 = prog nTK*(extr PCOEL 2) ; E11 = extr PCOEL 3 ; E1 = E10 + (E11*TK) ; E1 = evol manu 'T' TK 'YG1' E1 ; E2 = evol manu 'T' TK 'YG2' (EXTR E1 ORDO) ; E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; NU120 = prog nTK*(extr PCOEL 4) ; NU121 = extr PCOEL 5 ; NU12 = NU120 + (NU121*TK) ; NU12 = evol manu 'T' TK 'NU12' NU12 ; NU23 = evol manu 'T' TK 'NU23'(EXTR NU12 ORDO) ; NU13 = evol manu 'T' TK 'NU13'(EXTR NU12 ORDO) ; un = prog nTK*1 ; MU12 = (EXTR E1 ORDO) / (un + (EXTR NU12 ORDO)) ; MU12 = MU12 / 2. ; MU12 = evol manu 'T' TK 'G12' MU12 ; MU23 = evol manu 'T' TK 'G23' (EXTR MU12 ORDO) ; MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; sinon ; * * materiau orthotrope * E10 = prog nTK*(extr PCOEL 2) ; E11 = extr PCOEL 3 ; E1 = E10 + (E11*TK) ; E1 = evol manu 'T' TK 'YG1' E1 ; E20 = prog nTK*(extr PCOEL 4) ; E21 = extr PCOEL 5 ; E2 = E20 + (E21*TK) ; E2 = evol manu 'T' TK 'YG2' E2 ; E30 = prog nTK*(extr PCOEL 6) ; E31 = extr PCOEL 7 ; E3 = E30 + (E31*TK) ; E3 = evol manu 'T' TK 'YG3' E3 ; * NU120 = prog nTK*(extr PCOEL 8) ; NU121 = extr PCOEL 9 ; NU12 = NU120 + (NU121*TK) ; NU12 = evol manu 'T' TK 'NU12' NU12 ; NU230 = prog nTK*(extr PCOEL 10) ; NU231 = extr PCOEL 11 ; NU23 = NU230 + (NU231*TK) ; NU23 = evol manu 'T' TK 'NU23' NU23 ; NU310 = prog nTK*(extr PCOEL 12) ; NU311 = extr PCOEL 13 ; NU31 = NU310 + (NU311*TK) ; NU31 = evol manu 'T' TK 'NU31' NU31 ; * MU120 = prog nTK*(extr PCOEL 14) ; MU121 = extr PCOEL 15 ; MU12 = MU120 + (MU121*TK) ; MU12 = evol manu 'T' TK 'G12' MU12 ; MU130 = prog nTK*(extr PCOEL 16) ; MU131 = extr PCOEL 17 ; MU13 = MU130 + (MU131*TK) ; MU13 = evol manu 'T' TK 'G13' MU13 ; MU230 = prog nTK*(extr PCOEL 18) ; MU231 = extr PCOEL 19 ; MU23 = MU230 + (MU231*TK) ; MU23 = evol manu 'T' TK 'G23' MU23 ; * * coefficients d'elasticite dans la base d'orthotropie de CASTEM * si (ega IP1 1) ; si (ega IP2 2) ; * IP1=1 IP2=2 IP3=3 NU13 = (EXTR NU31 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; NU13 = evol manu 'T' TK 'NU13' NU13 ; sinon ; * IP1=1 IP2=3 IP3=2 E2mis = E2 ; E2 = evol manu 'T' TK 'YG2' (EXTR E3 ORDO) ; E3 = evol manu 'T' TK 'YG3' (EXTR E2mis ORDO) ; NU13 = evol manu 'T' TK 'NU13' (EXTR NU12 ORDO) ; NU12 = (EXTR NU31 ORDO) * ( (EXTR E1 ORDO)/(EXTR E2 ORDO) ) ; NU12 = evol manu 'T' TK 'NU12' NU12 ; NU23 = (EXTR NU23 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; NU23 = evol manu 'T' TK 'NU23' NU23 ; MU13mis = MU13 ; MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; MU12 = evol manu 'T' TK 'G12' (EXTR MU13mis ORDO) ; finsi ; finsi ; si (ega IP1 2) ; si (ega IP2 1) ; * IP1=2 IP2=1 IP3=3 E2mis = E2 ; E2 = evol manu 'T' TK 'YG2' (EXTR E1 ORDO) ; E1 = evol manu 'T' TK 'YG1' (EXTR E2mis ORDO) ; NU12 = (EXTR NU12 ORDO) * ( (EXTR E1 ORDO)/(EXTR E2 ORDO) ) ; NU12 = evol manu 'T' TK 'NU12' NU12 ; NU13 = evol manu 'T' TK 'NU13' (EXTR NU23 ORDO) ; NU23 = (EXTR NU31 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; NU23 = evol manu 'T' TK 'NU23' NU23 ; MU23mis = MU23 ; MU23 = evol manu 'T' TK 'G23' (EXTR MU13 ORDO) ; MU13 = evol manu 'T' TK 'G13' (EXTR MU23mis ORDO) ; sinon ; * IP1=2 IP2=3 IP3=1 E1mis = E1 ; E1 = evol manu 'T' TK 'YG1' (EXTR E3 ORDO) ; E3 = evol manu 'T' TK 'YG3' (EXTR E2 ORDO) ; E2 = evol manu 'T' TK 'YG2' (EXTR E1mis ORDO) ; NU13 = (EXTR NU23 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; NU13 = evol manu 'T' TK 'NU13' NU13 ; NU23 = evol manu 'T' TK 'NU23' (EXTR NU12 ORDO) ; NU12 = evol manu 'T' TK 'NU12' (EXTR NU31 ORDO) ; MU12mis = MU12 ; MU12 = evol manu 'T' TK 'G12' (EXTR MU13 ORDO) ; MU13 = evol manu 'T' TK 'G13' (EXTR MU23 ORDO) ; MU23 = evol manu 'T' TK 'G23' (EXTR MU12mis ORDO) ; finsi ; finsi ; si (ega IP1 3) ; si (ega IP2 1) ; * IP1=3 IP2=1 IP3=2 E3mis = E3 ; E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; E1 = evol manu 'T' TK 'YG1' (EXTR E2 ORDO) ; E2 = evol manu 'T' TK 'YG2' (EXTR E3mis ORDO) ; NU13 = (EXTR NU12 ORDO) * ( (EXTR E1 ORDO)/(EXTR E3 ORDO) ) ; NU13 = evol manu 'T' TK 'NU13' NU13 ; NU12 = evol manu 'T' TK 'NU12' (EXTR NU23 ORDO) ; NU23 = evol manu 'T' TK 'NU23' (EXTR NU31 ORDO) ; MU13mis = MU13 ; MU13 = evol manu 'T' TK 'G13' (EXTR MU12 ORDO) ; MU12 = evol manu 'T' TK 'G12' (EXTR MU23 ORDO) ; MU23 = evol manu 'T' TK 'G23' (EXTR MU13mis ORDO) ; sinon ; * IP1=3 IP2=2 IP3=1 E3mis = E3 ; E3 = evol manu 'T' TK 'YG3' (EXTR E1 ORDO) ; E1 = evol manu 'T' TK 'YG1' (EXTR E3mis ORDO) ; NU23mis = NU23 ; NU23 = (EXTR NU12 ORDO) * ( (EXTR E2 ORDO)/(EXTR E3 ORDO) ) ; NU23 = evol manu 'T' TK 'NU23' NU23 ; NU12 = (EXTR NU23mis ORDO) * ((EXTR E1 ORDO)/(EXTR E2 ORDO)) ; NU12 = evol manu 'T' TK 'NU12' NU12 ; NU13 = evol manu 'T' TK 'NU13' (EXTR NU31 ORDO) ; MU23mis = MU23 ; MU23 = evol manu 'T' TK 'G23' (EXTR MU12 ORDO) ; MU12 = evol manu 'T' TK 'G12' (EXTR MU23mis ORDO) ; finsi ; finsi ; * fin materiau orthotrope finsi ; *------------------------------------------------------------------------------- finproc PDILT E1 E2 E3 NU12 NU23 NU13 MU12 MU23 MU13 PNBRE PCOHI PECOU PEDIR PRVCE PECRX PDVDI PCROI PINCR ;