Download chirex.eso

Back to the list

   1 : C CHIREX    SOURCE    CHAT      05/01/12    21:58:07     5004           
   2 :       SUBROUTINE CHIREX(IDSCHI,ID,LINIT,LEND)
   3 : C=======================================================================        
   4 : C     ISSU DE TREXTY DE TRIOEF
   5 : C
   6 : C OBJET: CHANGE LE TYPE D'ESPECE DE L'ESPECE ID                                 
   7 : C                                                                               
   8 : C ARGUMENTS: ID     =N› DE L'ESPECE CONCERNE, APPARTIENT AU TABLEAU IDY         
   9 : C            LINIT  =TYPE D'ESPECE ACTUEL                                       
  10 : C            LEND   =TYPE D'ESPECE FINAL                                        
  11 : C            IDSCHI =SEGMENT DE CHIMI1
  12 : C                                                                               
  13 : C                                                                               
  14 : C CETTE SUBROUTINE MODIFIE CERTAINS TABLEAUX CONCERNANT LES ESPECES,
  15 : C TELS QUE NN, IDY, ETC...                                                      
  16 : C                                                                               
  17 : C======================================================================         
  18 :       IMPLICIT INTEGER(I-N)
  19 :       IMPLICIT REAL*8(A-H,O-Z)
  20 :       CHARACTER*32 NAMINT
  21 :       SEGMENT IDSCHI
  22 :            REAL*8 GK(NYDIM),AA(NYDIM,NXDIM),FF(NZDIM,NPDIM)
  23 :            INTEGER IDX(NXDIM),IDY(NYDIM),IDZ(NZDIM),IDP(NPDIM),NN(6)
  24 :            INTEGER IDECY(NYDIM),IONZ(NXDIM)
  25 :            CHARACTER*32 NAME(NXDIM),NAMESP(NYDIM)
  26 :       ENDSEGMENT
  27 : C                                                                               
  28 : 
  29 :       IF (LINIT.EQ.LEND) RETURN                                                 
  30 :       LINIT1=LINIT                                                              
  31 :       NXDIM=IDX(/1)
  32 :       NYDIM=IDY(/1)
  33 :       NZDIM=IDZ(/1)
  34 :       NPDIM=IDP(/1)
  34 :       CALL CHIADY(IDY,NYDIM,ID,IJ)
  34 :       IF(IJ.EQ.0)CALL ERREUR(22)
  35 : C
  36 :       K=1                                                                       
  37 :       II=0                                                                      
  38 : C
  39 :       DO 940 LL=1,LINIT                                                         
  40 :       II=II+NN(LL)
  41 : 940   CONTINUE
  42 :       III=II-NN(LINIT)+1                                                        
  43 : *      write(6,*)' ii ',ii,' iii ',iii,' IJ ',IJ,' CHIREX '
  44 :       IF (IJ.LT.III.OR.IJ.GT.II)THEN
  44 :            CALL ERREUR(22)
  45 :            RETURN
  46 :       ENDIF
  47 :       IF (LEND.GT.LINIT) GOTO 920                                               
  48 :       K=-1                                                                      
  49 :       II=III                                                                    
  50 : 920   CONTINUE                                                                  
  51 : C
  52 :       NN(LINIT)=NN(LINIT)-1                                                     
  53 :       NN(LEND)=NN(LEND)+1                                                       
  54 : 930   CONTINUE                                                                  
  55 : C                                                                               
  56 : C                                                                               
  57 :       I0=IJ
  58 :       IV=IDY(II)
  59 :       IDY(II)=IDY(I0)
  60 :       IDY(I0)=IV
  61 :       IV=IDECY(II)
  62 :       IDECY(II)=IDECY(I0)
  63 :       IDECY(I0)=IV
  64 : *      WRITE(6,*) '------ IDY(I0): ',IDY(I0)                                     
  65 :       DO 46 J=1,NXDIM
  66 :       V=AA(I0,J)
  67 :       AA(I0,J)=AA(II,J)
  68 :       AA(II,J)=V
  69 :  46   CONTINUE
  70 :       V=GK(I0)
  71 :       GK(I0)=GK(II)                                                             
  72 :       GK(II)=V                                                                  
  73 :       NAMINT=NAMESP(I0)
  74 :       NAMESP(I0)= NAMESP(II)
  75 :       NAMESP(II)=NAMINT
  76 : C
  77 : C
  78 : 
  79 : C                                                                               
  80 :       LINIT=LINIT+K                                                             
  81 :       IJ=II
  82 :       II=II+K*NN(LINIT)                                                         
  83 :       IF (LINIT.NE.LEND) GOTO 930                                               
  84 : C                                                                               
  85 :       LINIT=LINIT1                                                              
  86 :       RETURN                                                                    
  87 :       END                                                                       
  88 : C                                                                               
  89 :  
  90 :  
  91 :  
  92 :  

© Cast3M 2003 - All rights reserved.
Disclaimer