$$$$ @GATTPAR * @GATTPAR PROCEDUR JC220346 12/09/12 21:15:07 7501 'DEBP' @GATTPAR fichier*'MOT' ; * * 'OPTI' 'ACQUERIR' fichier ; * *-- DEBUT DE LECTURE PREMIERE PARTIE DU FICHIER de nom fichier * *-- IDEGE : degre du polynome Em(T) decrivant le module d'Young 'ACQU' BLABLA*'MOT' ; 'ACQU' IDEGE*'ENTIER' ; 'SI' ('<' IDEGE 0) ; 'MESS' 'ERREUR: le degre du polynome relatif au module d Young' ; 'MESS' 'est negatif !' ; 'QUIT' @GATTPAR ; 'FINS' ; * *-- LEE liste des coefficients du polynome relatif au module d'Young * du degre 0 au degre IDEGE LEE='PROG' ; 'REPE' BLOC (IDEGE+1) ; 'ACQU' EEI*'FLOTTANT' ; LEE = LEE 'ET' ('PROG' EEI) ; 'FIN' BLOC ; * *-- IDEGG : degre du polynome Gm(T) decrivant le module de cisaillement 'ACQU' BLABLA*'MOT' ; 'ACQU' IDEGG*'ENTIER' ; 'SI' ('<' IDEGG 0) ; 'MESS' 'ERREUR: le degre du polynome relatif au module de cisaillement' ; 'MESS' 'est negatif !' ; 'QUIT' @GATTPAR ; 'FINS' ; * *-- LGG liste des coefficients du polynome relatif au module de * cisaillement du degre 0 au degre IDEGG LGG='PROG' ; 'REPE' BLOC (IDEGG+1) ; 'ACQU' GGI*'FLOTTANT' ; LGG = LGG 'ET' ('PROG' GGI) ; 'FIN' BLOC ; * *-- IDEGAI : degre du polynome Alpham(T) decrivant *-- le coefficient de dilatation thermique pour T < Talpha 'ACQU' BLABLA*'MOT' ; 'ACQU' IDEGAI*'ENTIER' ; 'SI' ('<' IDEGAI 0) ; 'MESS' 'ERREUR: le degre du polynome relatif au coefficient de dilatation'; 'MESS' 'thermique est negatif !' ; 'QUIT' @GATTPAR ; 'FINS' ; * *-- LALI liste des coefficients du polynome relatif au coefficient de *-- dilatation thermique du degre 0 au degre IDEGAI LALI='PROG' ; 'REPE' BLOC (IDEGAI+1) ; 'ACQU' ALII*'FLOTTANT' ; LALI = LALI 'ET' ('PROG' ALII) ; 'FIN' BLOC ; * *-- IDEGAS : degre du polynome Alpham(T) decrivant *-- le coefficient de dilatation thermique pour T > Talpha 'ACQU' IDEGAS*'ENTIER' ; 'SI' ('<' IDEGAS 0) ; 'MESS' 'ERREUR: le degre du polynome relatif au coefficient de dilatation'; 'MESS' 'thermique est negatif !' ; 'QUIT' @GATTPAR ; 'FINS' ; * *-- LALS liste des coefficients du polynome relatif au coefficient de *-- dilatation thermique du degre 0 au degre IDEGAS LALS='PROG' ; 'REPE' BLOC (IDEGAS+1) ; 'ACQU' ALIS*'FLOTTANT' ; LALS = LALS 'ET' ('PROG' ALIS) ; 'FIN' BLOC ; * *-- TALPHA : temperature de transition pour les deux polynomes decrivant *-- le coefficient de dilatation thermique * 'ACQU' TALPHA*'FLOTTANT' ; * 'SI' ('' ('DIME' LEE) 1) ; 'REPE' BLOC (('DIME' LEE) - 1) ; OEET = OEET + (('EXTR' LEE (&BLOC+1))*(TK**(&BLOC))); 'FIN' BLOC ; 'FINS' ; * 'MESS' 'sur la plage de temperatures' ('MINI' TK) '< T(K) <' ('MAXI' TK) ; 'MESS' 'et pour une porosite nulle' ; MIOEET = 'MINI' OEET ; MAOEET = 'MAXI' OEET ; 'MESS' 'module d Young compris entre' MIOEET 'et' MAOEET ; 'SI' ('' (DIME LGG) 1) ; 'REPE' BLOC (('DIME' LGG) - 1) ; OGGT = OGGT + (('EXTR' LGG (&BLOC+1))*(TK**(&BLOC))); 'FIN' BLOC ; 'FINS' ; * MIOGGT = 'MINI' OGGT ; MAOGGT = 'MAXI' OGGT ; 'MESS' 'module de cisaillement compris entre' MIOGGT 'et' MAOGGT ; 'SI' ('' (DIME LALI) 1) ; 'REPE' BLOC (('DIME' LALI) - 1) ; OALIT = OALIT + (('EXTR' LALI (&BLOC+1))*(TK**(&BLOC))); 'FIN' BLOC ; OALIT = OALIT / (TK - L273); 'FINS' ; * OALST = 'PROG' NTK*('EXTR' LALS 1) ; 'SI' ('>' (DIME LALS) 1) ; 'REPE' BLOC (('DIME' LALS) - 1) ; OALST = OALST + (('EXTR' LALS (&BLOC+1))*(TK**(&BLOC))); 'FIN' BLOC ; OALST = OALST / (TK - L273); 'FINS' ; * ALTI = IPOL TALPHA TK OALIT ; ALTS = IPOL TALPHA TK OALST ; * NTKI = TK 'MASQ' 'INFERIEUR' TALPHA 'SOMM' ; OALIT = 'EXTR' OALIT ('LECT' 1 'PAS' 1 NTKI) ; OALST = 'EXTR' OALST ('LECT' (NTKI+1) 'PAS' 1 NTK) ; OALT = OALIT 'ET' OALST ; * * On tronque ALPHA_moy en dessous de 293K NT293 = TK 'MASQ' 'INFERIEUR' 293. 'SOMM'; XEALTT = 'EXTR' TK ('LECT' (NT293+1) 'PAS' 1 NTK) ; YEALTT = 'EXTR' OALT ('LECT' (NT293+1) 'PAS' 1 NTK) ; * On remplace la partie enlevée par une IPOL entre * ALPHA_moy(T=0) et ALPHA_moy(T=293) AL0 = ('EXTR' LALI 1) / (0. - 273); AL293 = (('EXTR' LALI 1) + (('EXTR' LALI 2)*293.) + (('EXTR' LALI 3)*293.*293.) + (('EXTR' LALI 4)*293.*293.*293.)) / (293. - 273.); XEALTN = (PROG 0. 293.) ET XEALTT; YEALTN = (PROG AL0 AL293) ET YEALTT; * MIOALT = 'MINI' YEALTN ; MAOALT = 'MAXI' YEALTN ; 'MESS' 'coefficient de dilatation compris entre' MIOALT 'et' MAOALT ; 'SI' ('<' MIOALT 0) ; 'MESS' 'ERREUR : coefficient de dilatation negatif !' ; 'QUIT' @GATTPAR ; 'FINS' ; * ERRALT=100.*(ALTS-ALTI)/ ALTS ; 'SI' ('>' ERRALT 1.D-02) ; 'MESS' 'ATTENTION : a la temperature de transition :' TALPHA 'K' ; 'MESS' 'les deux valeurs du coefficient de dilatation thermique' ; 'MESS' 'different de' ERRALT '%' ALTI ALTS ; 'FINS' ; * *-- Construction des evolutions obtenues pour une porosite nulle EEET = 'EVOL' 'MANU' 'T' TK 'YOUN' OEET ; EGGT = 'EVOL' 'MANU' 'T' TK 'G' OGGT ; EALT = 'EVOL' 'MANU' 'T' XEALTN 'ALPH' YEALTN ; * *-- DEBUT DE LECTURE SECONDE PARTIE DU FICHIER de nom fichier * 'ACQU' BLABLA*'MOT' ; 'ACQU' PORY*'FLOTTANT' ; 'ACQU' BLABLA*'MOT' ; 'ACQU' PORG*'FLOTTANT' ; 'ACQU' BLABLA*'MOT' ; 'ACQU' PORA*'FLOTTANT' ; * *-- FIN DE LECTURE SECONDE PARTIE DU FICHIER de nom fichier * *-- Liste de porosites PP = 'PROG' 0. 'PAS' 0.001 0.3 ; NPP = 'DIME' PP ; *-- Construction des ordonnees : partie porosite OEEP = ('PROG' NPP*1.) - (PORY*PP) ; MIOEEP = 'MINI' OEEP ; 'SI' ('