c@a
c@versb
C-----------------------------------------------------------------------
C
CVERS                  Code_Saturne version 1.3
C                      ------------------------
C
C     This file is part of the Code_Saturne Kernel, element of the
C     Code_Saturne CFD tool.
C
C     Copyright (C) 1998-2008 EDF S.A., France
C
C     contact: saturne-support@edf.fr
C
C     The Code_Saturne Kernel is free software; you can redistribute it
C     and/or modify it under the terms of the GNU General Public License
C     as published by the Free Software Foundation; either version 2 of
C     the License, or (at your option) any later version.
C
C     The Code_Saturne Kernel is distributed in the hope that it will be
C     useful, but WITHOUT ANY WARRANTY; without even the implied warranty
C     of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
C     GNU General Public License for more details.
C
C     You should have received a copy of the GNU General Public License
C     along with the Code_Saturne Kernel; if not, write to the
C     Free Software Foundation, Inc.,
C     51 Franklin St, Fifth Floor,
C     Boston, MA  02110-1301  USA
C
C-----------------------------------------------------------------------
c@verse
                        SUBROUTINE CPTHP1
C                       *****************
C     -------------------------------------------------------------
     & ( MODE  , EH     , XESP   , F1MC   , F2MC   ,
     &   TP     )
C     -------------------------------------------------------------
C***********************************************************************
C FONCTION :
C --------
c@foncb
CFONC CALCUL DE LA TEMPERATURE DU GAZ
CFONC   EN FONCTION DE L'ENTHALPIE DU GAZ ET DES CONCENTRATIONS
CFONC   SI MODE = 1
CFONC CALCUL DE L'ENTHALPIE DU GAZ
CFONC   EN FONCTION DE LA TEMPERATURE DU GAZ ET DES CONCENTRATIONS
CFONC   SI MODE = -1
CFONC
c@fonce
C                             ARGUMENTS
c@argub
c@argub
CARGU .______________.____._____.______________________________________.
CARGU !    NOM       !TYPE!MODE !                   ROLE               !
CARGU !______________!____!_____!______________________________________!
CARGU ! EH           ! TR !  -> ! ENTHALPIE DU GAZ                     !
CARGU !              !    !     ! (J/kg de melange gazeux)             !
CARGU ! XESP         ! TR !  -> ! FRACTION MASSIQUE DES ESPECES        !
CARGU ! F1MC         ! TR !  -> ! f1 moyen                             !
CARGU ! F2MC         ! TR !  -> ! f2 moyen                             !
CARGU ! TP           ! TR ! <-  ! TEMPERATURE DU GAZ (Kelvin)          !
CARGU !______________!____!_____!______________________________________!
c@argue
C
c@commb
CCOMM                             COMMONS
CCOMM .______________.____._____.______________________________________.
CCOMM !    NOM       !TYPE!MODE !                   ROLE               !
CCOMM !______________!____!_____!______________________________________!
CCOMM !______________!____!_____!______________________________________!
c@comme
C
C     TYPE : E (ENTIER), R (REEL), A (ALPHAMNUMERIQUE), T (TABLEAU)
C            L (LOGIQUE)   .. ET TYPES COMPOSES (EX : TR TABLEAU REEL)
C     MODE : -> DONNEE, <- RESULTAT, <-> DONNEE MODIFIEE,
C            - TABLEAU DE TRAVAIL
C***********************************************************************
C
      IMPLICIT NONE
C
C**********************************************************************
C     DONNEES EN COMMON
C**********************************************************************
C
      INCLUDE "paramx.h"
      INCLUDE "numvar.h"
      INCLUDE "optcal.h"
      INCLUDE "cstphy.h"
      INCLUDE "cstnum.h"
      INCLUDE "entsor.h"
      INCLUDE "ppppar.h"
      INCLUDE "ppthch.h"
      INCLUDE "coincl.h"
      INCLUDE "cpincl.h"
      INCLUDE "ppincl.h"
C
C***********************************************************************
C
C ARGUMENTS
C
      INTEGER          MODE
      DOUBLE PRECISION EH,TP
      DOUBLE PRECISION XESP(NGAZEM)
      DOUBLE PRECISION F1MC(NCHARM),F2MC(NCHARM)
C
C VARIABLES LOCALES
C
      INTEGER          I , ICHA
C
      DOUBLE PRECISION YCHX10 , YCHX20 , EHCHX1 , EHCHX2
      DOUBLE PRECISION DEN1   , DEN2
      DOUBLE PRECISION EH0 , EH1
C
C***********************************************************************
C=======================================================================
C 1. CALCUL DE LA TEMPERATURE A PARTIR DE l'ENTHALPIE
C=======================================================================
C
      IF ( MODE .EQ. 1 ) THEN
C
        I = NPO
C
C --- Calcul de l'enthalpie de l'espece gazeuse CHx1m
C                                            et CHx2m a TH(NPO)
        EHCHX1 = ZERO
        EHCHX2 = ZERO
        YCHX10 = ZERO
        YCHX20 = ZERO
        DO ICHA = 1, NCHARB
          DEN1   = 1.D0
     &         / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
          YCHX10 = YCHX10 + DEN1 *
     &         ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          EHCHX1 = EHCHX1 + DEN1 *
     &         ( EHGAZE(ICHX1C(ICHA),I)*
     &         F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          DEN2   = 1.D0
     &         / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
          YCHX20 = YCHX20 + DEN2 *
     &         ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          EHCHX2 = EHCHX2 + DEN2 *
     &         ( EHGAZE(ICHX2C(ICHA),I)*
     &         F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
        ENDDO
        IF ( YCHX10.GT.EPZERO ) THEN
          EHCHX1 = EHCHX1 / YCHX10
        ELSE
          EHCHX1 = EHGAZE(ICHX1,I)
        ENDIF
        IF ( YCHX20.GT.EPZERO ) THEN
          EHCHX2 = EHCHX2 / YCHX20
        ELSE
          EHCHX2 = EHGAZE(ICHX2,I)
        ENDIF
C
C --- Clipping eventuel de TP a TH(NPO) si EH > EH1
C
        EH1 = XESP(ICHX1)*EHCHX1
     &      + XESP(ICHX2)*EHCHX2
     &      + XESP(ICO  )*EHGAZE(ICO ,I)
     &      + XESP(IO2  )*EHGAZE(IO2 ,I)
     &      + XESP(ICO2 )*EHGAZE(ICO2,I)
     &      + XESP(IH2O )*EHGAZE(IH2O,I)
     &      + XESP(IN2  )*EHGAZE(IN2 ,I)
C
        IF ( EH .GE. EH1 ) THEN
          TP = TH(I)
          GOTO 501
        ENDIF
C
        I = 1
C
C --- Calcul de l'enthalpie de l'espece gazeuse CHx1m
C                                            et CHx2m a TH(1)
        EHCHX1 = ZERO
        EHCHX2 = ZERO
        YCHX10 = ZERO
        YCHX20 = ZERO
        DO ICHA = 1, NCHARB
          DEN1   = 1.D0
     &         / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
          YCHX10 = YCHX10 + DEN1 *
     &     ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          EHCHX1 = EHCHX1 + DEN1 *
     &     ( EHGAZE(ICHX1C(ICHA),I)*
     &       F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          DEN2   = 1.D0
     &         / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
          YCHX20 = YCHX20 + DEN2 *
     &     ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          EHCHX2 = EHCHX2 + DEN2 *
     &     ( EHGAZE(ICHX2C(ICHA),I)*
     &       F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
        ENDDO
        IF ( YCHX10.GT.EPZERO ) THEN
          EHCHX1 = EHCHX1 / YCHX10
        ELSE
          EHCHX1 = EHGAZE(ICHX1,I)
        ENDIF
        IF ( YCHX20.GT.EPZERO ) THEN
          EHCHX2 = EHCHX2 / YCHX20
        ELSE
          EHCHX2 = EHGAZE(ICHX2,I)
        ENDIF
C
C --- Clipping eventuel de TP a TH(1) si EH < EH0
C
        EH0 = XESP(ICHX1)*EHCHX1
     &      + XESP(ICHX2)*EHCHX2
     &      + XESP(ICO  )*EHGAZE(ICO ,I)
     &      + XESP(IO2  )*EHGAZE(IO2 ,I)
     &      + XESP(ICO2 )*EHGAZE(ICO2,I)
     &      + XESP(IH2O )*EHGAZE(IH2O,I)
     &      + XESP(IN2  )*EHGAZE(IN2 ,I)
C
        IF ( EH .LE. EH0 ) THEN
          TP= TH(I)
          GOTO 501
        ENDIF
C
C
 500    CONTINUE
        I = I + 1
C
C --- Calcul de l'enthalpie de l'espece gazeuse CHx1m
C                                            et CHx2m pour TH(I-1)
        EHCHX1 = ZERO
        EHCHX2 = ZERO
        YCHX10 = ZERO
        YCHX20 = ZERO
        DO ICHA = 1, NCHARB
          DEN1   = 1.D0
     &           / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
          YCHX10 = YCHX10 + DEN1 *
     &      ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          EHCHX1 = EHCHX1 + DEN1 *
     &      ( EHGAZE(ICHX1C(ICHA),I-1)*
     &        F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          DEN2   = 1.D0
     &           / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
          YCHX20 = YCHX20 + DEN2 *
     &       ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          EHCHX2 = EHCHX2 + DEN2 *
     &       ( EHGAZE(ICHX2C(ICHA),I-1)*
     &         F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
        ENDDO
        IF ( YCHX10.GT.EPZERO ) THEN
          EHCHX1 = EHCHX1 / YCHX10
        ELSE
          EHCHX1 = EHGAZE(ICHX1,I-1)
        ENDIF
        IF ( YCHX20.GT.EPZERO ) THEN
          EHCHX2 = EHCHX2 / YCHX20
        ELSE
          EHCHX2 = EHGAZE(ICHX2,I-1)
        ENDIF
        EH0 = XESP(ICHX1)*EHCHX1
     &      + XESP(ICHX2)*EHCHX2
     &      + XESP(ICO  )*EHGAZE(ICO ,I-1)
     &      + XESP(IO2  )*EHGAZE(IO2 ,I-1)
     &      + XESP(ICO2 )*EHGAZE(ICO2,I-1)
     &      + XESP(IH2O )*EHGAZE(IH2O,I-1)
     &      + XESP(IN2  )*EHGAZE(IN2 ,I-1)
C
C --- Calcul de l'enthalpie de l'espece gazeuse CHx1m
C                                            et CHx2m pour TH(I)
        EHCHX1 = ZERO
        EHCHX2 = ZERO
        YCHX10 = ZERO
        YCHX20 = ZERO
        DO ICHA = 1, NCHARB
          DEN1   = 1.D0
     &           / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
          YCHX10 = YCHX10 + DEN1 *
     &      ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          EHCHX1 = EHCHX1 + DEN1 *
     &      ( EHGAZE(ICHX1C(ICHA),I)*
     &        F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
          DEN2   = 1.D0
     &           / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
          YCHX20 = YCHX20 + DEN2 *
     &       ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          EHCHX2 = EHCHX2 + DEN2 *
     &       ( EHGAZE(ICHX2C(ICHA),I)*
     &         F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
        ENDDO
        IF ( YCHX10.GT.EPZERO ) THEN
          EHCHX1 = EHCHX1 / YCHX10
        ELSE
          EHCHX1 = EHGAZE(ICHX1,I)
        ENDIF
        IF ( YCHX20.GT.EPZERO ) THEN
          EHCHX2 = EHCHX2 / YCHX20
        ELSE
          EHCHX2 = EHGAZE(ICHX2,I)
        ENDIF
C
        EH1 = XESP(ICHX1)*EHCHX1
     &      + XESP(ICHX2)*EHCHX2
     &      + XESP(ICO  )*EHGAZE(ICO ,I)
     &      + XESP(IO2  )*EHGAZE(IO2 ,I)
     &      + XESP(ICO2 )*EHGAZE(ICO2,I)
     &      + XESP(IH2O )*EHGAZE(IH2O,I)
     &      + XESP(IN2  )*EHGAZE(IN2 ,I)
C
        IF ( EH .GE. EH0  .AND. EH .LE. EH1  ) THEN
          TP = TH(I-1) + (EH-EH0) *
     &                 (TH(I)-TH(I-1))/(EH1-EH0)
          GOTO 501
        ENDIF
        GOTO 500
 501    CONTINUE
C
C=======================================================================
C 1. CALCUL DE L'ENTHALPIE A PARTIR DE LA TEMPERATURE
C=======================================================================
C
      ELSE IF ( MODE .EQ. -1 ) THEN
C
        I = NPO
C
C --- Calcul en Max
C
        IF ( TP .GE. TH(I) ) THEN
          EHCHX1 = ZERO
          EHCHX2 = ZERO
          YCHX10 = ZERO
          YCHX20 = ZERO
          DO ICHA = 1, NCHARB
            DEN1   = 1.D0
     &           / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
            YCHX10 = YCHX10 + DEN1 *
     &           ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            EHCHX1 = EHCHX1 + DEN1 *
     &           ( EHGAZE(ICHX1C(ICHA),I)*
     &           F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            DEN2   = 1.D0
     &           / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
            YCHX20 = YCHX20 + DEN2 *
     &           ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
            EHCHX2 = EHCHX2 + DEN2 *
     &           ( EHGAZE(ICHX2C(ICHA),I)*
     &           F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          ENDDO
          IF ( YCHX10.GT.EPZERO ) THEN
            EHCHX1 = EHCHX1 / YCHX10
          ELSE
            EHCHX1 = EHGAZE(ICHX1,I)
          ENDIF
          IF ( YCHX20.GT.EPZERO ) THEN
            EHCHX2 = EHCHX2 / YCHX20
          ELSE
            EHCHX2 = EHGAZE(ICHX2,I)
          ENDIF
          EH = XESP(ICHX1)*EHCHX1
     &       + XESP(ICHX2)*EHCHX2
     &       + XESP(ICO  )*EHGAZE(ICO ,I)
     &       + XESP(IO2  )*EHGAZE(IO2 ,I)
     &       + XESP(ICO2 )*EHGAZE(ICO2,I)
     &       + XESP(IH2O )*EHGAZE(IH2O,I)
     &       + XESP(IN2  )*EHGAZE(IN2 ,I)
          GOTO 601
        ENDIF
C
C Clipping en Min
C
        I = 1
C
        IF ( TP .LE. TH(I) ) THEN
          EHCHX1 = ZERO
          EHCHX2 = ZERO
          YCHX10 = ZERO
          YCHX20 = ZERO
          DO ICHA = 1, NCHARB
            DEN1   = 1.D0
     &           / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
            YCHX10 = YCHX10 + DEN1 *
     &           ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            EHCHX1 = EHCHX1 + DEN1 *
     &           ( EHGAZE(ICHX1C(ICHA),I)*
     &           F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            DEN2   = 1.D0
     &           / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
            YCHX20 = YCHX20 + DEN2 *
     &           ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
            EHCHX2 = EHCHX2 + DEN2 *
     &           ( EHGAZE(ICHX2C(ICHA),I)*
     &           F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          ENDDO
          IF ( YCHX10.GT.EPZERO ) THEN
            EHCHX1 = EHCHX1 / YCHX10
          ELSE
            EHCHX1 = EHGAZE(ICHX1,I)
          ENDIF
          IF ( YCHX20.GT.EPZERO ) THEN
            EHCHX2 = EHCHX2 / YCHX20
          ELSE
            EHCHX2 = EHGAZE(ICHX2,I)
          ENDIF
C
C --- Clipping eventuel de TP a TH(1) si EH < EH0
C
          EH = XESP(ICHX1)*EHCHX1
     &       + XESP(ICHX2)*EHCHX2
     &       + XESP(ICO  )*EHGAZE(ICO ,I)
     &       + XESP(IO2  )*EHGAZE(IO2 ,I)
     &       + XESP(ICO2 )*EHGAZE(ICO2,I)
     &       + XESP(IH2O )*EHGAZE(IH2O,I)
     &       + XESP(IN2  )*EHGAZE(IN2 ,I)
          GOTO 601
        ENDIF
C
C Interpolation dans la table
C
        I = 1
 600    CONTINUE
C
        I = I + 1
        IF ( TP .LE. TH(I) ) THEN
C
C --- Calcul de l'enthalpie de l'espece gazeuse TH(I-1)
C
          EHCHX1 = ZERO
          EHCHX2 = ZERO
          YCHX10 = ZERO
          YCHX20 = ZERO
          DO ICHA = 1, NCHARB
            DEN1   = 1.D0
     &             / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
            YCHX10 = YCHX10 + DEN1 *
     &        ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            EHCHX1 = EHCHX1 + DEN1 *
     &        ( EHGAZE(ICHX1C(ICHA),I-1)*
     &          F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            DEN2   = 1.D0
     &             / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
            YCHX20 = YCHX20 + DEN2 *
     &         ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
            EHCHX2 = EHCHX2 + DEN2 *
     &         ( EHGAZE(ICHX2C(ICHA),I-1)*
     &           F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          ENDDO
          IF ( YCHX10.GT.EPZERO ) THEN
            EHCHX1 = EHCHX1 / YCHX10
          ELSE
            EHCHX1 = EHGAZE(ICHX1,I-1)
          ENDIF
          IF ( YCHX20.GT.EPZERO ) THEN
            EHCHX2 = EHCHX2 / YCHX20
          ELSE
            EHCHX2 = EHGAZE(ICHX2,I-1)
          ENDIF
C
          EH0 = XESP(ICHX1)*EHCHX1
     &        + XESP(ICHX2)*EHCHX2
     &        + XESP(ICO  )*EHGAZE(ICO ,I-1)
     &        + XESP(IO2  )*EHGAZE(IO2 ,I-1)
     &        + XESP(ICO2 )*EHGAZE(ICO2,I-1)
     &        + XESP(IH2O )*EHGAZE(IH2O,I-1)
     &        + XESP(IN2  )*EHGAZE(IN2 ,I-1)
C
C --- Calcul de l'enthalpie de l'espece gazeuse TH(I)
C
          EHCHX1 = ZERO
          EHCHX2 = ZERO
          YCHX10 = ZERO
          YCHX20 = ZERO
          DO ICHA = 1, NCHARB
            DEN1   = 1.D0
     &             / ( A1(ICHA)*WMOLE(ICHX1C(ICHA))+B1(ICHA)*WMOLE(ICO))
            YCHX10 = YCHX10 + DEN1 *
     &        ( F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            EHCHX1 = EHCHX1 + DEN1 *
     &        ( EHGAZE(ICHX1C(ICHA),I)*
     &          F1MC(ICHA)*A1(ICHA)*WMOLE(ICHX1C(ICHA)) )
            DEN2   = 1.D0
     &             / ( A2(ICHA)*WMOLE(ICHX2C(ICHA))+B2(ICHA)*WMOLE(ICO))
            YCHX20 = YCHX20 + DEN2 *
     &         ( F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
            EHCHX2 = EHCHX2 + DEN2 *
     &         ( EHGAZE(ICHX2C(ICHA),I)*
     &           F2MC(ICHA)*A2(ICHA)*WMOLE(ICHX2C(ICHA)) )
          ENDDO
          IF ( YCHX10.GT.EPZERO ) THEN
            EHCHX1 = EHCHX1 / YCHX10
          ELSE
            EHCHX1 = EHGAZE(ICHX1,I)
          ENDIF
          IF ( YCHX20.GT.EPZERO ) THEN
            EHCHX2 = EHCHX2 / YCHX20
          ELSE
            EHCHX2 = EHGAZE(ICHX2,I)
          ENDIF
C
          EH1 = XESP(ICHX1)*EHCHX1
     &        + XESP(ICHX2)*EHCHX2
     &        + XESP(ICO  )*EHGAZE(ICO ,I)
     &        + XESP(IO2  )*EHGAZE(IO2 ,I)
     &        + XESP(ICO2 )*EHGAZE(ICO2,I)
     &        + XESP(IH2O )*EHGAZE(IH2O,I)
     &        + XESP(IN2  )*EHGAZE(IN2 ,I)
C
          EH =  EH0
     &           + (EH1-EH0)*(TP-TH(I-1))/(TH(I)-TH(I-1))
          GOTO 601
        ENDIF
        GOTO 600
C
 601    CONTINUE
C
      ELSE
        WRITE(NFECRA,1000) MODE
        CALL CSEXIT(1)
      ENDIF
C
C--------
C FORMATS
C--------
C
 1000 FORMAT(
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/,
     &'@ @@ ATTENTION : ERREUR DANS CPTHP1                          ',/,
     &'@    *********                                               ',/,
     &'@    VALEUR INCORRECTE DE L''ARGUMENT MODE                   ',/,
     &'@    CE DOIT ETRE UN ENTIER EGAL A 1 OU -1                   ',/,
     &'@    IL VAUT ICI ',I10                                        ,/,
     &'@                                                            ',/,
     &'@  Le calcul ne peut etre execute.                           ',/,
     &'@                                                            ',/,
     &'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',/,
     &'@                                                            ',/)
C
C----
C FIN
C----
C
      RETURN
      END
c@z
