Operator CHI1
                                             DATE     98/12/28
  
   Opérateur CHI1
   --------------
       TAB2 = CHI1 TAB1 'COMP' VAL1 < 'LOGK' VAL2 > <'ENTH' VAL3 >    ;

     Description :
     -------------
     The CHI1 and CHI2 operators allow the calculation of chemical 
     equilibria in aqueous systems.The terminology is the one of MINEQL.

      All the concentrations are in Mole/Liter

     Contents:
     ---------

       TAB1 is a TABLE type object.The indices of this table are
            'IDEN' 'COMPOM' 'LOGK' <'CHXMX'>  <'BDD'>
            <'CLIM'>  <'NVCOMP'>  <'NVESP'> <'ECHANGE'>
            <'TEMPERATURE'>  <'ENTH'>

       TAB1.IDEN is a LISTENTI type object. The identification numbers
             of components.

       TAB1.CHXMX is a LISTENTI type object. Identification number of 
             the species. If this entry is not present, we keep all the 
             species  whose components are in TAB1.IDEN.

       TAB1.BDD  is a word  'STRASBG' or 'MINEQL' .
             'MINEQL'    database of Mineql.
             'STRASBG'   database of Kindis.
             The default option is 'MINEQL'.

       TAB1.CLIM is a TABLE type object.This TABLE contains chemical
             stress. The indices are the words :
             <'TYP3'> <'COMP3'> <'TYP4'>  <'TYP5'> <'TYP6'>

             TAB1.CLIM.TYP3  is a LISTENTI type object.Identification
                   number of the species at a fixed activity.

             TAB1.CLIM.COMP3 is a LISTENTI type object. Contains for
                  every species of TAB1.CLIM.TYP3 the identification
                  number of component at a fixed activity or 0.

             TAB1.CLIM.TYP4 is a LISTENTI type object.Identification
                  number of precipitated solids which are subject to 
                  dissolution.

             TAB1.CLIM.TYP5 is a LISTENTI type object.Identification 
                  number of dissolved solids which are subject to
                  precipitation.

             TAB1.CLIM.TYP6 is a LISTENTI type object.Identification
                  number of species which are not to be considered.

       TAB1.NVCOMP is a TABLE type object. New components (which are not
             in the database). For n components this TABLE is indexed
             for numbers from  1 to n.
             For component i TAB1.NVCOMP.i is a TABLE indexed by the 
             words:    'IDEN' 'NOM' 'CHARGE'

             TAB1.NVCOMP.i.IDEN  is the identification number of new
                  component i

             TAB1.NVCOMP.i.NOM is a word, the name of this component.

             TAB1.NVCOMP.i.CHARGE electric charge of this component.

       TAB1.NVESP is a TABLE type object.  New species (which are not
             in the database). For n species this TABLE is indexed for
             numbers from  1 to n.
             For species i TAB1.NVESP.i is a TABLE indexed by the words:
                  'IDEN' 'LOGK' <'ITYP'> <'COMP'> <'STOECH'>

             TAB1.NVESP.i.IDEN is the identification number of new
                  species i

             TAB1.NVESP.i.LOGK is a real, logk of the species

             TAB1.NVESP.i.ITYP integer type of species
                               2  all soluble species
                               3  precipitated solids which are not
                                  allowed to dissolve.
                               4  species with fixed activity
                               5  dissolved solids which are subject to
                                  precipitation
                               6  species which are not to be considered
                                  at all.

             TAB1.NVESP.i.COMP is a LISTENTI type object which contains
                              the identifications numbers of components
                              of the new species i.( < 4 for  MINEQL 
                              database  and < 8 for STRASBG database)

             TAB1.NVESP.i.STOECH   is a LISTREEL type object which
                              contains the stoichiometric coefficients
                              of every component.

       TAB1.NVSOSO is a TABLE type objet. New solid-solutions (which are
             not in the database). For n solid-solution this TABLE is 
             indexed for numbers from 1 to n.
             For solid-solution i TAB1.NVSOSO.i is a TABLE indexed by the
             words:
                  'IDEN' <'ITYP'> 'SOLID' <'FRACTIO'>

             TAB1.NVSOSO.i.IDEN is the identification number of new 
                             solid-solution

             TAB1.NVSOSO.i.ITYP integer type of solid-solution.
                             3  precipitated solid-solutions which are
                                not allowed to dissolve.
                             4  species with fixed activity
                             5  dissolved solid-solution which are subject
                                to precipitation
                             6  species which are not to be considered
                                at all.
                    For type 3 and 4, mole fractions must be stated, but
                    not for type 5 and 6.

             TAB1.NVSOSO.i.SOLID is a LISTENTI type object which contains 
                             the identification numbers of pure endmembers 
                             of the solid-solution (<36).
                             These endmembers will set to type 6 (they are 
                             used during the calculation, but have no 
                             physical existence).

             TAB1.NVSOSO.i.FRACTIO is a LISTREEL type object which contains 
                             the mole fractions of every endmember.
                             (If the solid-solution is set to type 3 or 4, 
                             operator chi1 needs mole fractions for the
                             calculation of solid-solution stoichiometric
                             coefficients and logK.
                             If the solid-solution is set to type 5 or 6,
                             operator chi2 is able to calcul mole fractions,
                             stoichiometric coefficient and logK.

       TAB1.ECHANGE      is a LISTENTI type object which contains
             identification number of surface site( ion - exchange).
             The species associated to the component will set to type 6.
             (This species is used during the calculation but has no
             physical existence)
              c1b and c2b are two exchangeable species and one has
             n1 * c1b + n2 * c2b = ns ( total number of sites )
             They are linked by the selectivity coefficient
                k12=(c1b/c1)**n2*(c2/c2b)**n1 .
             One defines two species c1b and c2b with the constants of
             formation  k1=c1b/c1*(cidx)**n1 and  k2=c2b/c2*(cidx)**n2
             (cidx is the concentration of the species associated to the
              component ns)
             k1 and k2 are defined so that k12=(k1)**n2/(k2)**n1.

       TAB1.TEMPERATURE word 'OUI'  'NON' or integer (1 or 2).
              'NON' temperature is not to be considered. Is the default
              option
            - STRASBG database
               'OUI'  logk modification for temperature changes, by 
              interpolation  of tabulated datas.
            - MINEQL database
               1 or 'OUI' we use the 1st Ulich's approximation
                    K(T)=K0+f(H(T)-H(T0))

               2 we use the Ulich's 2nd approximation
                    K(T)=K0+f((H(T)-H(T0)),(Cp(T)-Cp(T0)))

       COMP  key word

       VAL1 file name or logical unit number for components database.

       LOGK  key word

       VAL1 file name or logical unit number for logk database.

       ENTH  key word

       VAL3  file name or logical unit number for database of
             additional thermodynamic informations.




       TAB2 is a TABLE type object, subtype CHIMI1. Its indices are the
               words:   'DESCHI' 'IDEN' <'REDOX'>  <'TEMPE'>

       TAB2.DESCHI is a TABLE type object. Describe the chemical system.
             Its indices are the words:
            'IDX' 'NOM' 'CHARGE' 'IDY' 'NN' 'MATRICEA' 'LOGK' 'IDSURF'
            <'IDZ' 'IDP' 'MATRICEF'>
 
             TAB2.DESCHI.IDX  is a LISTENTI type object.The 
                   identification numbers of components in the problem.
      
             TAB2.DESCHI.NOM  is a LISTMOTS type object. The name of 
                   each component.
      
             TAB2.DESCHI.CHARGE is a LISTENTI type object.The ionic 
                   charge of each component.
      
             TAB2.DESCHI.IDY    is a LISTENTI type object. The
                   identification numbers of species in the problem.
      
             TAB2.DESCHI.NN is a LISTENTI type object of 6 values.
                   Numbers of species in each type.
                   type 1  soluble species which correspond to the
                           components.
                   type 2  all soluble species which are not components.
                   type 3  species with fixed activity
                   type 4   precipitated solids which are subject to
                            dissolution
                   type 5  dissolved solids which are subject to
                             precipitation
                   type 6  species which are not to be considered at all.
      
             TAB2.DESCHI.MATRICEA is a LISTREEL type object. Matrix of
                   stoichiometric coefficients of each species.
      
             TAB2.DESCHI.LOGK  is a LISTREEL type object. Contains the
                   log10 of species formation constant.
      
             TAB2.DESCHI.IDSURF is a LISTENTI type object, nature of 
                   type 2 species.   0 dissolved ,1 fixed ,2 adsorbed

             TAB2.DESCHI.IDZ is a LISTENTI type object. The identification
                   numbers of solid-solution in the problem.

             TAB2.DESCHI.IDP is a LISTENTI type object. The identification
                   numbers of solid-solution pure endmembers in the problem.

             TAB2.DESCHI.MATRICEF is a LISTREEL type object. Matrix of mole
                   fractions of each solid-solution. 

       TAB2.IDEN is a TABLE type object.Its indices are the words:
             'COMP' 'SOLU' 'NOMSOLU' <'PRECI' 'NOMPRECI'> 
             <'SURF' 'NOMSURF'>  <'TYP3' 'NOMTYP3'> <IMP3>
             <'TYP6' 'NOMTYP6'>  <'PARF'> <'REAC'>  <'IMMO'>
             <'SOSO' 'NOMSOSO' 'POLE' 'NOMPOLE'>

             TAB2.IDEN.COMP     is a LISTENTI type object, nature of
                   components.
      
             TAB2.IDEN.SOLU is a LISTENTI type object. Identification
                   number of soluble species.
      
             TAB2.IDEN.NOMSOLU is a LISTMOTS type object.Names allocated
                    by the program to soluble species.
      
             TAB2.IDEN.PRECI is a LISTENTI type object. Identification
                    number of dissolved solids which are subject to
                    precipitation.
      
             TAB2.IDEN.NOMPRECI  is a LISTMOTS type object. Names
                    allocated by the program to these dissolved solids.
      
             TAB2.IDEN.SURF is a LISTENTI type object. Identification 
                   number of surface species.

             TAB2.IDEN.NOMSURF is a LISTMOTS type object.Names allocated
                    by the program to these species.
      
             TAB2.IDEN.TYP3 is a LISTENTI type object. Identification 
                   number of precipitated solids which are not allowed
                   to dissolve.
      
             TAB2.IDEN.NOMTYP3 is a LISTMOTS type object.Names allocated
                    by the program to these species.
      
             TAB1.IDEN.IMP3  is a LISTENTI type object.Identification
                   number of the species at a fixed activity.

             TAB2.IDEN.TYP6  is a LISTENTI type object. Identification
                   number of species which are not to be considered at
                   all.
      
             TAB2.IDEN.NOMTYP6 is a LISTMOTS type object.Names allocated
                    by the program to these species.
      
             TAB2.IDEN.PARF  is a LISTENTI type object. Identification 
                   number of non reactive components.
      
             TAB2.IDEN.REAC  is a LISTENTI type object. Identification 
                    number of reactive components.
      
             TAB2.IDEN.IMMO  is a LISTENTI type object. Identification
                   number of non transported components.

             TAB2.IDEN.SOSO is a LISTENTI type object. Identification
                   number of solid-solution.

             TAB2.IDEN.NOMSOSO is a LISTMOTS type object. Names allocated
                   by the program to these solid-solutions.

             TAB2.IDEN.POLE is a LISTENTI type object. Identification
                   number of solid-solution pure endmembers.

             TAB2.IDEN.NOMPOLE is a LISTMOTS type object. Names allocated 
                   by the program to these solid-solution pure endmembers.

       TAB2.REDOX is a TABLE type object. Contains the data for redox.
             Its indices are the words: 'I1' 'I2' 'A1' 'A2'

             TAB2.REDOX.I1  is a LISTENTI type object. Identification 
                   number of moving component.
      
             TAB2.REDOX.I2  is a LISTENTI type object. Identification 
                   number of component linked to moving component.
      
             TAB2.REDOX.A1 is a LISTREEL object type.The stoichiometric
                      coefficient of electron e-.
      
             TAB2.REDOX.A2 is a LISTREEL object type.The stoichiometric
                      coefficient of proton H+.

       TAB2.TEMPE  is a TABLE type object. Contains additional
               thermodynamic information for selected species. Its
               indices are the words:
               'DELTAH' 'DELCP' 'APPROX'  for database MINEQL
               'COEF' 'LOGK' 'TMIN' 'TMAX' 'NVT' 'NUMT' for database
                   STRASBG.

             TAB2.TEMPE.DELTAH is a LISTREEL type. Variation of enthalpy

             TAB2.TEMPE.DELCP   is a LISTREEL type. Variation of heat
                   capacity.

             TAB2.TEMPE.APPROX integer (1 or 2). Approximation method.

             TAB2.TEMPE.COEF   is a LISTREEL type. Interpolation
                   coefficients. for every selected species, there are
                   4 values for each of the 8 referenced temperatures.

             TAB2.TEMPE.LOGK is a LISTREEL type object. Values of LOGK
                   at the temperature of reference ( 8 values for each
                   species ).

             TAB2.TEMPE.TMIN is a LISTREEL type object.Minimum value of
                   temperature for every selected species.

             TAB2.TEMPE.TMAX is a LISTREEL type object.Maximum value of
                   temperature for every selected species.

             TAB2.TEMPE.NVT is a LISTENTI type object. Number of values 
                    of temperature for every selected species.

             TAB2.TEMPE.NUMT is a LISTENTI type object. Identification
                   number for every selected species.