Download astiff.eso

Back to the list

   1 : C ASTIFF    SOURCE    BECC      11/05/26    21:15:01     6981           
   2 :       SUBROUTINE ASTIFF(
   3 :      &     RHO, P, GAMMA, PC, A,
   4 :      &     LOGDEB, LOGAN)
   5 : *
   6 : *************************************************************************
   7 : *
   8 : * project           :  CAST3M; Europlexus...
   9 : *
  10 : * name              :  a_stiff
  11 : *
  12 : * description       :  euler equations for a mixture of stiffened gases
  13 : *                      flux in the non-reactive case.
  14 : *
  15 : *                      computation of the sound speed.
  16 : *
  17 : * language          :  fortran 77
  18 : *
  19 : * author            :  a. beccantini den/dm2s/sfme/ltmf
  20 : *
  21 : *************************************************************************
  22 : *
  22 : * called by         :
  23 : *
  24 : *
  25 : *************************************************************************
  26 : *
  27 : ***** input
  28 : *
  29 : *     pc, gam        =  properties of the stiffened gas
  30 : *
  31 : *     rho, p,        = density, pressure
  32 : *
  33 : *     logdeb         = debugging ?
  34 : *
  35 : ***** output
  36 : *
  37 : *     a              = sound speed
  38 : *
  39 : *     logan          = anomaly ?
  40 : *
  41 : *
  42 : *************************************************************************
  43 : *
  44 : *     26/11/2009      created
  45 : *     25/05/2011      evolution in CAST3M
  46 : *
  47 : *************************************************************************
  48 : *
  49 : * n.b.: all variables are declared
  50 : *
  51 : C      IMPLICIT NONE
  52 :       IMPLICIT INTEGER(I-N)
  53 :       REAL*8  RHO, P, PC, GAMMA, A
  54 : *
  55 :       LOGICAL LOGDEB, LOGAN
  56 : *
  57 :       IF (LOGDEB ) THEN
  58 :          IF (GAMMA .LE. 1.0D0) THEN
  59 :             WRITE(*,*) 'GAMMA =', GAMMA
  60 :             LOGAN = .TRUE.
  61 :             GOTO 9999
  62 :          ENDIF
  63 :          IF ((P .LE. 0.0D0) .OR. (PC .LE. 0.0D0)) THEN
  64 :             WRITE(*,*) 'P = ', P, ' PC = ', PC
  65 :             LOGAN = .TRUE.
  66 :             GOTO 9999
  67 :          ENDIF
  68 :          IF ((RHO .LE. 0.0D0)) THEN
  69 :             WRITE(*,*) 'RHO = ', RHO
  70 :             LOGAN = .TRUE.
  71 :             GOTO 9999
  72 :          ENDIF
  73 :       ENDIF
  74 :       A = GAMMA * (P + PC) / RHO
  75 :       A = A ** 0.5D0
  76 : *
  77 :  9999 RETURN
  78 :       END
  79 :  

© Cast3M 2003 - All rights reserved.
Disclaimer