Download inichi1.procedur

Back to the list

   1 : * INICHI1   PROCEDUR  AURI      98/12/29    21:18:08     3419           
   2 :           DEBPROC INICHI1 TB2*OBJET BASE1*MOT BASE2*MOT ;
   3 : *********************************************************************
   4 : *        ENTREE ET MODIFICATION DES DONNEES DE CHI1
   5 : *********************************************************************
   6 : FMBASE= TB2%ACCES GBDD ;
   7 : MESS ' Format de la base de données ' FMBASE
   8 :  ' Voulez vous le modifier ?'   ;
   9 : OBTE  MFMT ;
  10 : SI (EGA MFMT 'OUI' ) ;
  11 : SI ( EGA FMBASE 'STRASBG' ) ;
  12 : TB2%GBDD (MOT 'STRASBG') ;
  13 : MESS '                        On utilise le format STRASBG ' ;
  14 : FINSI ;
  15 : SI ( EGA FMBASE 'MINEQL' ) ;
  16 : TB2%GBDD (MOT 'MINEQL') ;
  17 : MESS '                        On utilise le format MINEQL '   ;
  18 : FINSI ;
  19 : FINSI ;
  20 : SI ( EGA MFMT 'MINEQL' ) ;
  21 : TB2%GBDD (MOT 'MINEQL') ;
  22 : MESS '                        On utilise le format MINEQL '  ;
  23 : FINSI ;
  24 : SI ( EGA MFMT 'STRASBG' ) ;
  25 : TB2%GBDD (MOT 'STRASBG') ;
  26 : MESS '                        On utilise le format STRASBG ' ;
  27 : FINSI ;
  28 :  MESS ' Voulez vous tenir compte de la température ? ' ;
  29 : OBTE  MTMP ;
  30 :  SI (EGA MTMP 'OUI' ) ;
  31 : TB2%GTEMPERA (MOT 'OUI') ;
  32 : FINSI ;
  33 : ILEC= VRAI ;
  34 : 'SI' ('EGA' ('TYPE' (TB2.'IDEN')) 'LISTENTI' );
  35 : ILEC=FAUX ;
  36 :  'MESS' 'Liste des composants choisis ' ; LIST TB2.'IDEN' ;
  37 : 'MESS' 'Voulez vous entrer une autre liste de composants ?' ;
  38 : OBTE  MIDEN ;
  39 : SI (EGA MIDEN 'OUI' ) ;
  40 : ILEC= VRAI ;
  41 : FINSI ;
  42 : 'FINSI' ;
  43 : 'SI' ILEC ;
  44 : 'MESS' 'Entrez la liste des composants  ' ;
  45 : OBTE  LICOMP*LISTENTI ;
  46 :  TB2%GIDEN LICOMP ;
  47 : FINSI ;
  48 :            TB3=CHI1 TB2 'COMP' BASE1 'LOGK' BASE2 ;
  49 : MESS ' NOM DES COMPOSANTS '  ; LIST (TB3.DESCHI.NOM) ;
  50 : MESS ' LISTE DES ESPECES '  ; LIST (TB3.DESCHI.IDY) ;
  51 : MESS ' Voulez vous connaitre la composition de ces espèces ?' ;
  52 : OBTE  II1 ;
  53 : SI (EGA II1 'OUI' ) ;
  54 : **********************************************************************
  55 : *    affichage de la composition des espèces
  56 :  NBESP= DIME ( TB3.DESCHI.IDY) ;
  57 :  NBCOMP= DIME ( TB3.DESCHI.IDX) ;
  58 :  DECALE= MOT '                                 ' ;
  59 :  REPE BOUESP1 NBESP ;
  60 :  NUMESP= EXTR ( TB3.DESCHI.IDY) &BOUESP1 ;
  61 :  LOGKESP= EXTR ( TB3.DESCHI.LOGK) &BOUESP1 ;
  62 :  MESS ' ESPECE ' NUMESP  ' LOGK ' LOGKESP  ' COMPOSITION :' ;
  63 :  REPE BOUCMP1 NBCOMP ;
  64 : NOCMP= EXTR (TB3.DESCHI.NOM)   &BOUCMP1 ;
  65 : NUAAA= NBESP*(&BOUCMP1 - 1) + &BOUESP1 ;
  66 : AAA= EXTR (TB3.DESCHI.MATRICEA) NUAAA ;
  67 : SI ( NEG AAA 0. ) ;
  68 : MESS DECALE AAA  NOCMP ;
  69 : FINSI ;
  70 : FIN BOUCMP1 ;
  71 : FIN BOUESP1 ;
  72 : **********************************************************************
  73 : FINSI ;
  74 : *
  75 : REPE BNVCMP ;
  76 :  MESS ' Voulez vous entrer un nouveau composant ? ' ;
  77 : OBTE  MESPC ;
  78 :  SI (EGA MESPC 'OUI' ) ;
  79 :  TABCOMP= OBJET LINVCOMP ;
  80 :  'MESS' 'Entrez son identificateur ' ;
  81 :  'OBTE' COMIDEN*ENTIER ;
  82 :  'MESS' 'Composant' COMIDEN ' Entrez son nom' ;
  83 :   'OBTE' COMNOM*MOT ;
  84 :  'MESS' 'Composant' COMIDEN ' Entrez sa charge ';
  85 :   'OBTE' COMCHAR*ENTIER ;
  86 :  TABCOMP%COM_IDEN COMIDEN ;
  87 :  TABCOMP%COM_NOM COMNOM   ;
  88 :  TABCOMP%COM_CHAR COMCHAR ;
  89 :  TB2%GNVCOMP &BNVCMP TABCOMP ;
  90 :  'SINO';
  91 :   'QUIT' BNVCMP ;
  92 :  'FINS';
  93 : FIN BNVCMP ;
  94 : *
  95 : *
  96 : REPE BNVESP ;
  97 :  MESS ' Voulez vous entrer une nouvelle espèce ? ' ;
  98 : OBTE  MESPC ;
  99 :  SI (EGA MESPC 'OUI' ) ;
 100 :  TABESP1= OBJET LIESPECE ;
 101 :  'MESS' 'Entrez son identificateur ' ;
 102 :  'OBTE' ESPIDEN*ENTIER ;
 103 :  'MESS' 'Espèce' ESPIDEN ' Entrez son LOGK' ;
 104 :  'OBTE' ESPLOGK*FLOTTANT ;
 105 :  'MESS' 'Espèce' ESPIDEN ' Entrez son type' ;
 106 :  'OBTE' ESPITYP*ENTIER ;
 107 :  'MESS' 'Espèce' ESPIDEN ' Entrez la liste de ses composants ' ;
 108 :  'OBTE' ESPCOMP*LISTENTI ;
 109 :  'MESS' 'Espèce' ESPIDEN ' Entrez les coefficients stoechiomètriques'
 110 :  ' correspondants' ;
 111 :  'OBTE' ESPSTOE*LISTREEL ;
 112 :  TABESP1%ESP_IDEN ESPIDEN ;
 113 :  TABESP1%ESP_LOGK ESPLOGK ;
 114 :  TABESP1%ESP_ITYP ESPITYP ;
 115 :  TABESP1%ESP_COMP ESPCOMP ;
 116 :  TABESP1%ESP_STOE ESPSTOE ;
 117 :  TB2%GNVESP &BNVESP TABESP1 ;
 118 :  'SINO';
 119 :   'QUIT' BNVESP ;
 120 :  'FINS';
 121 : FIN BNVESP ;
 122 : *
 123 : *
 124 : REPE BNVSOS ;
 125 :  MESS ' Voulez vous entrer une nouvelle solution solide ? ' ;
 126 : OBTE  MESPC ;
 127 :  SI (EGA MESPC 'OUI' ) ;
 128 :  TABSOSO= OBJET LIRSOSO ;
 129 :  'MESS' 'Entrez son identificateur ' ;
 130 :  'OBTE' SOSIDEN*ENTIER ;
 131 :  'MESS' 'Espèce' SOSIDEN ' Entrez son type' ;
 132 :  'OBTE' SOSITYP*ENTIER ;
 133 :  'MESS' 'Espèce' SOSIDEN ' Entrez les identifiants des poles ' ;
 134 :  'OBTE' SOSSOLI*LISTENTI ;
 135 :  'SI' (SOSITYP > 2) ;
 136 :  'SI' (SOSITYP < 5) ;
 137 :  'MESS' 'Espèce' SOSIDEN ' Entrez les fractions molaires '
 138 :  ' correspondantes' ;
 139 :  'OBTE' SOSFRAC*LISTREEL ;
 140 :  TABSOSO%SOS_FRAC SOSFRAC ;
 141 :  'FINSI' ;
 142 :  'FINSI' ;
 143 :  TABSOSO%SOS_IDEN SOSIDEN ;
 144 :  TABSOSO%SOS_ITYP SOSITYP ;
 145 :  TABSOSO%SOS_SOLI SOSSOLI ;
 146 :  TB2%GNVSOSO &BNVSOS TABSOSO ;
 147 :  'SINO';
 148 :   'QUIT' BNVSOS ;
 149 :  'FINS';
 150 : FIN BNVSOS ;
 151 : *
 152 : 'SI' ('EXIS' TB2 'CHXMX') ;
 153 :  'MESS' 'Liste des minéraux choisis ' ; LIST TB2.'CHXMX' ;
 154 :  'MESS' 'Voulez vous annuler cette liste ?' ;
 155 : OBTE  II1 ;
 156 : SI (EGA II1 'OUI' ) ;
 157 :  TB2%'OUBLIER' CHXMX ;
 158 : FINSI ;
 159 : 'MESS' 'Voulez vous entrer une autre liste des minéraux choisis ? ' ;
 160 : 'SINON' ;
 161 : 'MESS' 'Voulez vous entrer la liste des minéraux choisis ?' ;
 162 : FINSI ;
 163 : OBTE  MCHX ;
 164 : SI (EGA MCHX 'OUI' ) ;
 165 : 'MESS' 'Entrez les identificateurs correspondants' ;
 166 : OBTE  LCHXMX*LISTENTI ;
 167 :  TB2%GCHXMX LCHXMX ;
 168 : FINSI ;
 169 : *
 170 : 'SI' ('EXIS' TB2 'ECHANGE') ;
 171 :  'MESS' 'Liste des sites de surface par échange ionique ' ;
 172 :  LIST TB2.'ECHANGE' ;
 173 :  'MESS' 'Voulez vous annuler cette liste ?' ;
 174 : OBTE  II1 ;
 175 : SI (EGA II1 'OUI' ) ;
 176 :  TB2%'OUBLIER' ECHANGE ;
 177 : FINSI ;
 178 : 'MESS' 'Voulez vous entrer une autre liste d échange ? ' ;
 179 : 'SINON' ;
 180 : 'MESS' 'Voulez vous entrer la liste des sites de surface par'
 181 :    ' échange ionique' ;
 182 : FINSI ;
 183 : OBTE  MCHX ;
 184 : SI (EGA MCHX 'OUI' ) ;
 185 : 'MESS' 'Entrez les identificateurs correspondants' ;
 186 : OBTE  LECHMX*LISTENTI ;
 187 :  TB2%GECHANGE LECHMX ;
 188 : FINSI ;
 189 : *
 190 : 'SI' ('EXIS' TB2 'CLIM') ;
 191 : 'SI' ('EXIS' (TB2.'CLIM') TYP6 );
 192 :  'MESS' 'Liste des espèces de type 6 ' ; LIST TB2.'CLIM'.'TYP6' ;
 193 :  'MESS' 'Voulez vous annuler cette liste ?' ;
 194 : OBTE  II1 ;
 195 : SI (EGA II1 'OUI' ) ;
 196 :  TB2.CLIM%'OUBLIER' TYP6 ;
 197 : FINSI ;
 198 : 'MESS' 'Voulez vous entrer une autre liste des espèces TYP6 ? ' ;
 199 : 'SINON' ;
 200 : 'MESS' 'Voulez vous entrer la liste des espèces TYP6 ?' ;
 201 : FINSI ;
 202 : 'SINON' ;
 203 : 'MESS' 'Voulez vous entrer la liste des espèces TYP6 ?' ;
 204 : FINSI ;
 205 : OBTE  MTY6 ;
 206 : SI (EGA MTY6 'OUI' ) ;
 207 : 'MESS' 'Entrez les identificateurs correspondants' ;
 208 : OBTE  LMTY6*LISTENTI ;
 209 :  TB2%GCLIM TYP6 LMTY6 ;
 210 : FINSI ;
 211 : 'SI' ('EXIS' TB2 'CLIM') ;
 212 : 'SI' ('EXIS' (TB2.'CLIM') TYP3 );
 213 :  'MESS' 'Liste des espèces à activité imposé ' ;
 214 :  LIST TB2.'CLIM'.'TYP3' ;
 215 :  'MESS' 'Voulez vous annuler cette liste ?' ;
 216 : OBTE  II1 ;
 217 : SI (EGA II1 'OUI' ) ;
 218 :  TB2.CLIM%'OUBLIER' TYP3 ;
 219 : FINSI ;
 220 : 'MESS' 'Voulez vous entrer une autre liste d espèces  à activité ?'
 221 :  'imposé ' ;
 222 : 'SINON' ;
 223 : 'MESS' 'Voulez vous imposer l activité de certaines espèces ?' ;
 224 : FINSI ;
 225 : 'SINON' ;
 226 : 'MESS' 'Voulez vous imposer l activité de certaines espèces ?' ;
 227 : FINSI ;
 228 : OBTE  MTY3 ;
 229 : SI (EGA MTY3 'OUI' ) ;
 230 : 'MESS' 'Entrez les identificateurs correspondants' ;
 231 : OBTE  LMTY3*LISTENTI ;
 232 :  TB2%GCLIM TYP3 LMTY3 ;
 233 : LLX=TB2%ACCES GIDEN ;
 234 : NIDX= DIME LLX ;
 235 : NBTY3= DIME LMTY3 ;
 236 : REPE BCMP1 NBTY3 ;
 237 : NUM3= EXTR LMTY3 &BCMP1  ;
 238 : ILICM3=VRAI ;
 239 : REPE BCMP2 NIDX ;
 240 : IIX= EXTR LLX &BCMP2 ;
 241 : SI (EGA IIX NUM3) ;
 242 : ILICM3= FAUX   ;
 243 : QUITTER BCMP2 ;
 244 : FINSI ;
 245 : FIN BCMP2 ;
 246 : SI ILICM3 ;
 247 : QUITTER BCMP1 ;
 248 : FINSI ;
 249 : FIN BCMP1 ;
 250 : SI ILICM3 ;
 251 : 'MESS' 'Il faut entrer la liste des composants immobiles' ;
 252 : OBTE LCOMP3*LISTENTI ;
 253 : TB2%GCLIM COMP3 LCOMP3 ;
 254 : FINSI ;
 255 : FINSI ;
 256 :           FINP ;
 257 :  

© Cast3M 2003 - All rights reserved.
Disclaimer