Download chmest.eso

Back to the list

   1 : C CHMEST    SOURCE    CHAT      05/01/12    21:58:59     5004           
   2 :       SUBROUTINE CHMEST(IDX,IONZ,TOT,NXDIM,XMUNEW)
   3 : C======================================================================         
   4 : C       ISSU DE TRIOEF(TRIEST)
   5 : C OBJET: EVALUATION DE LA FORCE IONIQUE D'APRES LES CONCENTRATIONS              
   6 : C TOTALES EN COMPOSANTS                                                         
   7 : C                                                                               
   8 : C APPELLEE PAR CHIMI2
   9 : C                                                                               
  10 : C METHODE: LA FORCE IONIQUE EST FORCEE A 0 SI L'ELECTRONEUTRALITE N'EST
  11 : C PAS RESPECTEE A PLUS DE 5 %
  12 : C                                                                               
  13 : C   FORTRAN 77
  14 : C                                                                               
  15 : C======================================================================         
  16 :       IMPLICIT INTEGER(I-N)
  17 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  18 :       DIMENSION IDX(NXDIM),IONZ(NXDIM),TOT(NXDIM)
  19 :       XMUNEW=0.D0
  20 :       VI=0.D0
  21 :       VJ=0.D0
  22 :       DO 45 J=1,NXDIM
  23 :       IDXJ=IDX(J)                                                               
  24 :                                                                                 
  25 :       IF (IDXJ.EQ.99) GOTO 40                                                   
  26 :       IF (IDXJ.EQ.80) GOTO 40                                                   
  27 :       IF (IDXJ.EQ.81) GOTO 40                                                   
  28 :       IF (IDXJ.EQ.90) GOTO 40                                                   
  29 :       IF (IDXJ.EQ.91) GOTO 40                                                   
  30 :       IF (IDXJ.EQ.92) GOTO 40                                                   
  31 :       IF (IDXJ.EQ.93) GOTO 40                                                   
  32 :       IF (IDXJ.EQ.94) GOTO 40                                                   
  33 :       IF (IDXJ.EQ.95) GOTO 40                                                   
  34 :       IF (IDXJ.EQ.96) GOTO 40                                                   
  35 : C     GF=FLOAT(IONZ( J))
  36 :       GF=IONZ( J)
  37 : C
  38 :       F1=ABS(TOT(J))*GF
  39 :       IF (F1.LT.0.D0)THEN
  40 :             VI=VI+F1
  41 :             XMUNEW=XMUNEW+0.5D0*F1*GF
  42 :       ELSEIF(F1.GT.0.D0)THEN
  43 :             VJ=VJ+F1
  44 :             XMUNEW=XMUNEW+0.5D0*F1*GF
  45 :       ENDIF
  46 :    40 CONTINUE
  47 :    45 CONTINUE
  48 :                                                                                 
  49 :       IF (XMUNEW.NE.0.D0) THEN
  50 :             F1=(VI+VJ)*2.D0/(ABS(VI)+VJ)
  51 :             IF (F1.GT.0.05D0)THEN
  52 :                   XMUNEW=0.D0
  53 :             ENDIF
  54 :       ENDIF
  55 :       RETURN                                                                    
  56 :       END                                                                       
  57 : C                                                                               
  58 :                                                                                 
  59 :  
  60 :  

© Cast3M 2003 - All rights reserved.
Disclaimer