comput
C COMPUT SOURCE CB215821 20/11/04 21:15:47 10766 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C----------------------------------------------------------------------- C C DESCRIPTION FONCTIONNELLE : C ------------------------- C C Version du module externe COMPUT integree au code pour eviter tout C probleme d'edition de lien et pour permettre le passage de tests C de non regression. C C En utilisation normale, ce module doit etre surcharge par celui C de meme nom fourni par l'utilisateur. C C Si cette version de UMAT est appelee, cela signifie qu'il n'y a C pas eu surcharge par le module utilisateur. C => risque d'erreur non controlee a l'execution. C C----------------------------------------------------------------------- C C DESCRIPTION DE L'INTERFACE : C -------------------------- C ENTREE : IVERI : INTEGER, indicateur de verification C IVERI=1 : On fait les verifications puis C retour a l'appelant sans faire C de calcul C IVERI=0 : On ne fait pas les verifications C On calcule directement la composante C demandee C ENTREE : NOMCMP : Nom de la composante a evaluer C ENTREE : NOMPAR : Noms des parametres C ENTREE : VALPAR : REAL*8(NPARA), valeurs des parametres C ENTREE : NPARA : INTEGER, nombre de parametres C SORTIE : VALCMP : REAL*8, valeur de la composante C SORTIE : IERUT : INTEGER, code retour C IERUT= 0 : OK C IERUT<>0 : NOOK C Les cas d'erreur pris en charge par la C programmation de l'utilisateur doivent C faire l'objet d'une affectation de IERUT C differente de 0 C C----------------------------------------------------------------------- C C Fonction du module COMPUT 'bouchon' : C ----------------------------------- C Evaluation externe des composantes du modele 'FLUAGE' 'POLYNOMIAL' C externalise pour TOUTATIS (ILOI=22) C C Codification des erreurs : C ------------------------ C 1/ Erreurs en phase de verification : 1 =< IERUT =< 112 C C IERUT= 1 : composante non reconnue C C IERUT= 11 : composante 'YOUN', mauvais nombre de parametres C IERUT= 12 : composante 'YOUN', mauvais noms de parametres C C IERUT= 21 : composante 'NU ', mauvais nombre de parametres C IERUT= 22 : composante 'NU ', mauvais noms de parametres C C IERUT= 31 : composante 'ALPH', mauvais nombre de parametres C IERUT= 32 : composante 'ALPH', mauvais noms de parametres C C IERUT= 41 : composante 'SMAX', mauvais nombre de parametres C IERUT= 42 : composante 'SMAX', mauvais noms de parametres C C IERUT= 51 : composante 'AF0 ', mauvais nombre de parametres C IERUT= 52 : composante 'AF0 ', mauvais noms de parametres C C IERUT= 61 : composante 'AF1 ', mauvais nombre de parametres C IERUT= 62 : composante 'AF1 ', mauvais noms de parametres C C IERUT= 71 : composante 'AF2 ', mauvais nombre de parametres C IERUT= 72 : composante 'AF2 ', mauvais noms de parametres C C IERUT= 81 : composante 'AF3 ', mauvais nombre de parametres C IERUT= 82 : composante 'AF3 ', mauvais noms de parametres C C IERUT= 91 : composante 'AF4 ', mauvais nombre de parametres C IERUT= 92 : composante 'AF4 ', mauvais noms de parametres C C IERUT=101 : composante 'AF5 ', mauvais nombre de parametres C IERUT=102 : composante 'AF5 ', mauvais noms de parametres C C IERUT=111 : composante 'AF6 ', mauvais nombre de parametres C IERUT=112 : composante 'AF6 ', mauvais noms de parametres C C 2/ Erreurs en phase de calcul : 201 =< IERUT =< 313 C C IERUT=201 : composante non reconnue (en toute rigueur cette C erreur ne doit pas se produire) C C IERUT=211 : composante 'YOUN', temp. inferieure au zero absolu C IERUT=212 : composante 'YOUN', valeur illicite de 'PORO' C IERUT=213 : composante 'YOUN', valeur illicite de 'YOGC' C C IERUT=221 : composante 'NU ', temp. inferieure au zero absolu C IERUT=222 : composante 'NU ', valeur illicite de 'PORO' C IERUT=223 : composante 'NU ', valeur illicite de 'YOGC' C C IERUT=231 : composante 'ALPH', temp. inferieure au zero absolu C IERUT=232 : composante 'ALPH', valeur illicite de 'ALPC' C C IERUT=241 : composante 'SMAX', temp. inferieure au zero absolu C IERUT=242 : composante 'SMAX', valeur illicite de 'PORO' C IERUT=243 : composante 'SMAX', valeur illicite de 'YOGC' C C IERUT=251 : composante 'AF0 ', valeur illicite de 'TFIS' C IERUT=252 : composante 'AF0 ', valeur illicite de 'TUO2' C IERUT=253 : composante 'AF0 ', valeur illicite de 'FACF' C C IERUT=261 : composante 'AF1 ', valeur illicite de 'TFIS' C IERUT=262 : composante 'AF1 ', valeur illicite de 'TUO2' C IERUT=263 : composante 'AF1 ', valeur illicite de 'FACF' C IERUT=264 : composante 'AF1 ', valeur illicite de 'DSIU' C IERUT=265 : composante 'AF1 ', valeur illicite de 'DGRA' C C IERUT=271 : composante 'AF2 ', valeur illicite de 'TFIS' C IERUT=272 : composante 'AF2 ', valeur illicite de 'TUO2' C IERUT=273 : composante 'AF2 ', valeur illicite de 'FACF' C C IERUT=281 : composante 'AF3 ', valeur illicite de 'TFIS' C IERUT=282 : composante 'AF3 ', valeur illicite de 'TUO2' C IERUT=283 : composante 'AF3 ', valeur illicite de 'FACF' C IERUT=284 : composante 'AF3 ', valeur illicite de 'DSIU' C C IERUT=291 : composante 'AF4 ', valeur illicite de 'TFIS' C IERUT=292 : composante 'AF4 ', valeur illicite de 'TUO2' C IERUT=293 : composante 'AF4 ', valeur illicite de 'FACF' C C IERUT=301 : composante 'AF5 ', valeur illicite de 'TFIS' C IERUT=302 : composante 'AF5 ', valeur illicite de 'TUO2' C IERUT=303 : composante 'AF5 ', valeur illicite de 'FACF' C C IERUT=311 : composante 'AF6 ', valeur illicite de 'TFIS' C IERUT=312 : composante 'AF6 ', valeur illicite de 'TUO2' C IERUT=313 : composante 'AF6 ', valeur illicite de 'FACF' C C----------------------------------------------------------------------- C Arguments de l'interface C -INC PPARAM INTEGER IVERI, NPARA, IERUT CHARACTER*(*)NOMPAR(NPARA) CHARACTER*(*)NOMCMP C C Datas pour definir les parametrages de reference des composantes C INTEGER NPYOUN, NPNU, NPALPH, NPSMAX, & NPAF0, NPAF1, NPAF2, NPAF3, NPAF4, NPAF5, NPAF6 PARAMETER (NPYOUN=3, NPNU=3, NPALPH=2, NPSMAX=3, & NPAF0=3, NPAF1=5, NPAF2=3, NPAF3=4, NPAF4=3, & NPAF5=3, NPAF6=3) CHARACTER*(LOCOMP) PAYOUN(NPYOUN), PANU(NPNU), PAALPH(NPALPH), & PASMAX(NPSMAX), & PAAF0(NPAF0), PAAF1(NPAF1), PAAF2(NPAF2), & PAAF3(NPAF3), PAAF4(NPAF4), PAAF5(NPAF5), & PAAF6(NPAF6) DATA PAYOUN/'T ','PORO','YOGC'/ DATA PANU /'T ','PORO','YOGC'/ DATA PAALPH/'T ','ALPC'/ DATA PASMAX/'T ','PORO','YOGC'/ DATA PAAF0 /'TFIS','TUO2','FACF'/ DATA PAAF1 /'TFIS','TUO2','FACF','DSIU','DGRA'/ DATA PAAF2 /'TFIS','TUO2','FACF'/ DATA PAAF3 /'TFIS','TUO2','FACF','DSIU'/ DATA PAAF4 /'TFIS','TUO2','FACF'/ DATA PAAF5 /'TFIS','TUO2','FACF'/ DATA PAAF6 /'TFIS','TUO2','FACF'/ C C Variables locales C INTEGER IPARA C C Fonctions externes C C C C---------------------- Debut du code executable ----------------------- C C IERUT=0 VALCMP=0.D0 C C======================================================================= C 1 - Verifications puis retour a l'appelant sans faire de calcul C======================================================================= C IF (IVERI.EQ.1) THEN C IF (NOMCMP.EQ.'YOUN') THEN IF (NPARA.NE.NPYOUN) THEN IERUT= 11 GOTO 999 ENDIF DO 1 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAYOUN(IPARA)) THEN IERUT= 12 GOTO 999 ENDIF 1 CONTINUE C ELSE IF (NOMCMP.EQ.'NU ') THEN IF (NPARA.NE.NPNU) THEN IERUT= 21 GOTO 999 ENDIF DO 2 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PANU(IPARA)) THEN IERUT= 22 GOTO 999 ENDIF 2 CONTINUE C ELSE IF (NOMCMP.EQ.'ALPH') THEN IF (NPARA.NE.NPALPH) THEN IERUT= 31 GOTO 999 ENDIF DO 3 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAALPH(IPARA)) THEN IERUT= 32 GOTO 999 ENDIF 3 CONTINUE C ELSE IF (NOMCMP.EQ.'SMAX') THEN IF (NPARA.NE.NPSMAX) THEN IERUT= 41 GOTO 999 ENDIF DO 4 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PASMAX(IPARA)) THEN IERUT= 42 GOTO 999 ENDIF 4 CONTINUE C ELSE IF (NOMCMP.EQ.'AF0 ') THEN IF (NPARA.NE.NPAF0) THEN IERUT= 51 GOTO 999 ENDIF DO 5 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF0(IPARA)) THEN IERUT= 52 GOTO 999 ENDIF 5 CONTINUE C ELSE IF (NOMCMP.EQ.'AF1 ') THEN IF (NPARA.NE.NPAF1) THEN IERUT= 61 GOTO 999 ENDIF DO 6 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF1(IPARA)) THEN IERUT= 62 GOTO 999 ENDIF 6 CONTINUE C ELSE IF (NOMCMP.EQ.'AF2 ') THEN IF (NPARA.NE.NPAF2) THEN IERUT= 71 GOTO 999 ENDIF DO 7 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF2(IPARA)) THEN IERUT= 72 GOTO 999 ENDIF 7 CONTINUE C ELSE IF (NOMCMP.EQ.'AF3 ') THEN IF (NPARA.NE.NPAF3) THEN IERUT= 81 GOTO 999 ENDIF DO 8 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF3(IPARA)) THEN IERUT= 82 GOTO 999 ENDIF 8 CONTINUE C ELSE IF (NOMCMP.EQ.'AF4 ') THEN IF (NPARA.NE.NPAF4) THEN IERUT= 91 GOTO 999 ENDIF DO 9 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF4(IPARA)) THEN IERUT= 92 GOTO 999 ENDIF 9 CONTINUE C ELSE IF (NOMCMP.EQ.'AF5 ') THEN IF (NPARA.NE.NPAF5) THEN IERUT=101 GOTO 999 ENDIF DO 10 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF5(IPARA)) THEN IERUT=102 GOTO 999 ENDIF 10 CONTINUE C ELSE IF (NOMCMP.EQ.'AF6 ') THEN IF (NPARA.NE.NPAF6) THEN IERUT=111 GOTO 999 ENDIF DO 11 IPARA=1,NPARA IF (NOMPAR(IPARA).NE.PAAF6(IPARA)) THEN IERUT=112 GOTO 999 ENDIF 11 CONTINUE C ELSE IERUT= 1 ENDIF C C======================================================================= C 2 - Calcul de la composante demandee C======================================================================= C ELSE C IF (NOMCMP.EQ.'YOUN') THEN C ELSE IF (NOMCMP.EQ.'NU ') THEN C ELSE IF (NOMCMP.EQ.'ALPH') THEN C ELSE IF (NOMCMP.EQ.'SMAX') THEN C ELSE IF (NOMCMP.EQ.'AF0 ') THEN C ELSE IF (NOMCMP.EQ.'AF1 ') THEN C ELSE IF (NOMCMP.EQ.'AF2 ') THEN C ELSE IF (NOMCMP.EQ.'AF3 ') THEN C ELSE IF (NOMCMP.EQ.'AF4 ') THEN C ELSE IF (NOMCMP.EQ.'AF5 ') THEN C ELSE IF (NOMCMP.EQ.'AF6 ') THEN C ELSE IERUT=201 ENDIF C ENDIF C 999 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales