fvsmax
C FVSMAX SOURCE CHAT 07/04/20 21:15:17 5723 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C----------------------------------------------------------------------- C DESCRIPTION FONCTIONNELLE : C ------------------------- C Fonction externe d'evaluation de la composante 'SMAX' du modele C 'FLUAGE' 'POLYNOMIAL' externalise pour TOUTATIS C C INTERFACE : C --------- C ENTREE : VALPAR : REAL*8(NPARA), valeurs des parametres C ENTREE : NPARA : INTEGER, nombre de parametres C SORTIE : IERUT : INTEGER, code retour C C CODIFICATION DES ERREURS : C ------------------------ C IERUT=0 : OK C IERUT=241 : temp. inferieure au zero absolu C IERUT=242 : valeur illicite de 'PORO' C IERUT=243 : valeur illicite de 'YOGC' C----------------------------------------------------------------------- C Type de la fonction C C C Arguments de l'interface C INTEGER NPARA, IERUT C C Variables locales C REAL*8 T, PORO, YOUC1, YOUC2 INTEGER IYOGC C C---------------------- Debut du code executable ----------------------- C C Identification des parametres : affectation de variables locales C C C Tests d'erreur sur les parametres C IERUT=0 C IF (T.LT.0.0D0) THEN C........Temperature en Kelvin IERUT = 241 RETURN ELSE IF ((PORO.LT.0.0D0).OR.(PORO.GT.1.0D0)) THEN IERUT = 242 RETURN ELSE IF ((IYOGC.LT.1).OR.(IYOGC.GT.2)) THEN IERUT = 243 RETURN ENDIF C C Calcul de la fonction C IF (T.LT.2610.0D0) THEN YOUC1 = 2.2693D11 - (1.5399D7 * T) - (9.3597D3 * T * T) ELSE YOUC1 = -1.33445D12 + (1.18106D9 * T) - (2.38803D5 * T * T) ENDIF C C.....Si correction de porosite C IF (IYOGC.EQ.2) THEN IF (PORO.LT.0.3D0) THEN YOUC2 = YOUC1 * (1.D0-(2.5D0*PORO)) ELSE YOUC2 = YOUC1 * ((1.D0-PORO)/(1.D0+(6.D0*PORO))) ENDIF C ELSE ENDIF C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales