<simulation>
  
<header>
    
<title lang="french">Simulation de titrage acido-basique en milieu
    aqueux
</title>
    
<title lang="english">Simulation of acid-alkali titration in water</title>
    
<title lang="german">Simulation einer Säure-Base-Titration in
    Wasser
</title>
    
<title lang="spanish">Simulación de una titulacion acido-básico en agua</title>
    
<author>André Pauss, Stéphane Mottelet, Ivan Guillot, Guillaume Barbaud, UTC</author>
    
<date>August 24th, 2005</date>
    
<keywords>simulation,scilab,xml, pH</keywords>
    
<keywords lang="german">Simulation, Scilab, XML, pH</keywords>
    
<keywords lang="spanish">Simulación, Scilab, XML, pH</keywords>
  
</header>
  
<notes lang="french">
    
<p>Cette simulation permet de simuler le titrage d'un acide par un titrant
    choisi parmi une liste proposée. Le pH, les différentes formes de l'espèce
    titrée, ainsi que l'avancement de la réaction sont tracés en fonction en
    fonction du volume de titrant. Tous les paramètres (caractéristiques des
    espèces titrantes et titrées, volumes initiaux, concentration initiales,
    eau de dilution, nombre de points intermédiaires pour le calcul, ...)
    peuvent etre modifiés.
</p>
  
</notes>
  
<notes lang="english">
    
<p>This simulation allows to simulate the titration of an analyte by a
    titrant chosen among a proposed list of chemicals. The pH, the different
    forms of the analyte, as well as the advancement of the reaction are
    plotted against the titrant volume. All the parameters (characteristics of
    the chemicals, initial volumes and concentrations, dilution water, number
    of steps for the calculation, ...) can be adjusted as wished.
</p>
  
</notes>
  
<notes lang="german">
    
<p>Diese Simulation ermöglicht eine Titration einer Säure durch einen
    Titraten welcher aus einer Liste ausgewählt wird zu simulieren. Der pH,
    die verschiedenen Formen der titrierten Form sowie der Fortschritt der
    Reaktion werden graphisch dargestellt, Funktion des Volumens des
    Titranten. Alle Parameter (Charakteristiken der chemischen Substanzen,
    Anfangs-volumen und -konzentrationen, Verdünnungswasser, Anzahl der
    Messpunkte für die Graphiken und Rechnungen,...) können modifiziert
    werden.
</p>
  
</notes>
  
<notes lang="spanish">
    
<p>Esta simulación permite simular la titulación de un acido por un titulante elegido en una lista propuesta.   El pH, las diferentes formas de la especie titulada, y también la progresión de la reacción son puestas en un grafico en función del volumen del titulante. Todos los parámetros (características de la especie titulada y la que titula, los volúmenes iníciales, concentraciones iníciales, agua de dilución, número de puntos intermediarios para el cálculo, ...) pueden ser modificados </p>
  
</notes>
  
<parameters><section>
      
<title lang="french">Caractéristiques de l'espèce à titrer</title>
      
<title lang="english">Characteristics of the analyte</title>
      
<title lang="german">Charakteristikes der titrierten Form</title>
      
<title lang="spanish">Características de la especie a titular</title>
      
<point label="p1" state="hidden"><x1 label="x1">
          
<value>0</value>
        
</x1><x2 label="y1">
          
<value>0</value>
        
</x2><constraints>
          
<curve ref="advancement_2" />
        
</constraints></point>
      
<scalar increment="1" label="n_analyte" max="3" min="1" scale="1" state="normal"><name lang="french">Nombre de fonctions acides</name><name lang="english">Number of acid protons</name><name lang="german">Anzahl an Säureprotonen</name><name lang="spanish">Numero de funciones acidas</name><notes lang="french">
          
<p>3 fonctions acides au maximum pour cette simulation</p>
        
</notes><notes lang="english">
          
<p>In this simulation, up to 3 acid functions</p>
        
</notes><notes lang="german">
          
<p>Maximal bis zu 3 Säureprotonen für diese Simulation</p>
        
</notes><notes lang="spanish">
          
<p>Funciones acidas al máximo para esta simulación</p>
        
</notes><value>2</value></scalar>
      
<scalar increment="1" label="m_analyte" max="2" min="-2" scale="1" state="normal"><name lang="french">Charge de la forme la plus acide</name><name lang="english">Electric charge of the most acid form</name><name lang="german">Ladung der Säurehaltigsten Form</name><name lang="spanish">Carga de la forma màs acida </name><notes lang="french">
          
<p>de -2 à +2. Exemples : HCl : 0, NH4+ : +1, Na+ : +1.</p>
        
</notes><notes lang="english">
          
<p>from -2 to +2. Examples : HCl : 0, NH4+ : +1, Na+ : +1.</p>
        
</notes><notes lang="german">
          
<p>von -2 bis +2. Beispiele: HCl : 0, NH4+ : +1, Na+ : +1.</p>
        
</notes><notes lang="spanish">
          
<p>de -2 hasta +2. Ejemplos : HCl : 0, NH4+ : +1, Na+ : +1.</p>
        
</notes><value>0</value></scalar>
      
<scalar increment="0.2" label="pKa1_analyte" max="20" min="-5" scale="1" state="normal"><name lang="french">pKa1</name><name lang="english">pKa1</name><name lang="german">pKs1</name><name lang="spanish">pKa1</name><notes lang="french">
          
<p>De -5 à 20 par pas de 0.2.</p>
        
</notes><notes lang="english">
          
<p>From -5 to 20, by step of 0.2.</p>
        
</notes><notes lang="german">
          
<p>Von -5 bis 20, in 0.2er Schritten.</p>
        
</notes><notes lang="spanish">
          
<p> De -5 hasta 20 por paso de 0,2 .</p>
        
</notes><value>2</value></scalar>
      
<scalar increment="0.2" label="pKa2_analyte" max="20" min="-5" scale="1" state="normal"><name>pKa2</name><name lang="french">pKa2</name><name lang="english">pKa2</name><name lang="german">pKs2</name><name lang="spanish">pKa2</name><notes lang="french">
          
<p>De -5 à 20, par pas de 0.2. Pour un monoacide, un pKa d'au moins
          20 permet mathématiquement d'ignorer les fonctions acides
          inexistantes. Le second pKa doit etre supérieur au premier, mais le
          programme ne vérifie pas si vous introduisez des valeurs
          aberrantes.
</p>
        
</notes><notes lang="english">
          
<p>From -5 to 20, by step of 0.2. For a monoacid, a pKa greater or
          equal to 20 permits to ignore mathematically the non-existent
          acidities. This second pKa must be greater than the first one, but
          the program does not check if you select chemically abnormal
          values.
</p>
        
</notes><notes lang="german">
          
<p>Von -5 bis 20, mit 0.2er Schritten. Bei Monosäuren erlaubt ein
          pKs von mindestens 20, die inexistenten Säureprotonen mathematisch
          zu ignorieren. Der zweite pKs muss größer sein als der erste, jedoch
          überprüft das Programm nicht ob chemisch anormale Werte eingegeben
          werden.
</p>
        
</notes><notes lang="spanish">
          
<p>De -5 hasta 20, por paso de 0,2. Para un mono ácido, un pKa de mínimo 20     permite matemáticamente ignorar las funciones acidas     inexistentes. El segundo pKa debe ser superior al primero, pero el programa     no comprueba si usted introduce valores inadecuados.</p>
        
</notes><value>6</value></scalar>
      
<scalar increment="0.2" label="pKa3_analyte" max="20" min="-5" scale="1" state="normal"><name>pKa3</name><name lang="french">pKa3</name><name lang="english">pKa3</name><name lang="german">pKs3</name><name lang="spanish">pKa3</name><notes lang="french">
          
<p>De -5 à 20 par pas de 0.2. Pour un monoacide ou un diacide, un
          pKa d'au moins 20 permet mathématiquement d'ignorer les fonctions
          acides inexistantes. Le troisième pKa doit etre supérieur aux deux
          premiers, mais le programme ne vérifie pas si vous introduisez des
          valeurs aberrantes.
</p>
        
</notes><notes lang="english">
          
<p>From -5 to 20, by step of 0.2. For a monoacid or a diacid, a pKa
          greater or equal to 20 permits to ignore mathematically the
          non-existent acidities. This third pKa must be greater than the
          first and the second, but the program does not check if you select
          chemically abnormal values.
</p>
        
</notes><notes lang="german">
          
<p>Von -5 bis 20, mit 0.2er Schritten. Bei Monosäuren und Disäuren
          erlaubt ein pKs von mindestens 20, die inexistenten Säureprotonen
          mathematisch zu ignorieren. Der dritte pKs muss größer sein als der
          erste und der zweite, jedoch überprüft das Programm nicht ob
          chemisch anormale Werte eingegeben werden.
</p>
        
</notes><notes lang="spanish">
          
<p>De -5 hasta 20, por paso de 0,2. Para un mono ácido o un di acido, un pKa de mínimo 20     permite matemáticamente ignorar las funciones acidas     inexistentes. El tercer pKa debe ser superior a los dos primeros, pero el programa     no comprueba si usted introduce valores inadecuados.</p>
        
</notes><value>20</value></scalar>
    
</section><section>
      
<title lang="french">Sélection du titrant (paramètres non
      modifiables)
</title>
      
<title lang="english">Choice of the titrant (fixed data)</title>
      
<title lang="german">Auswahl des Titranten</title>
      
<title lang="spanish">Elección del titulante (parámetros no modificables)</title>
      
<database label="titrant">
        
<scalar increment="1" label="n_titrant" max="3" min="0" scale="1"><name lang="french">Nombre de fonctions acides</name><name lang="english">Number of acid protons</name><name lang="german">Anzahl an Säureprotonen</name><name lang="spanish">Numero de funciones acidas</name><notes lang="french">
            
<p>3 fonctions acides au maximum pour cette simulation</p>
          
</notes><notes lang="english">
            
<p>In this simulation, up to 3 acid functions</p>
          
</notes><notes lang="german">
            
<p>Maximal bis zu 3 Säureprotonen für diese Simulation</p>
          
</notes><notes lang="spanish">
            
<p>Funciones acidas al máximo para esta simulación</p>
          
</notes><value>1</value></scalar>
        
<scalar increment="1" label="m_titrant" max="2" min="-2" scale="1"><name lang="french">Charge de la forme la plus acide</name><name lang="english">Electric charge of the most acid form</name><name lang="german">Elektrische Ladung der säurehaltigsten
          Form
</name><name lang="spanish">Carga de la forma màs acida</name><notes lang="french">
            
<p>De -2 à +2. Exemples : HCl : 0, NH4+ : +1, Na+ : +1.</p>
          
</notes><notes lang="english">
            
<p>From -2 to +2. Examples : HCl : 0, NH4+ : +1, Na+ : +1.</p>
          
</notes><notes lang="german">
            
<p>Von -2 bis +2. Beispiele : HCl : 0, NH4+ : +1, Na+ : +1.</p>
          
</notes><notes lang="spanish">
            
<p>Desde -2 hasta +2. Ejemplos : HCl : 0, NH4+ : +1, Na+ : +1.</p>
          
</notes><value>0</value></scalar>
        
<scalar increment="0.1" label="pKa1_titrant" max="20" min="-10" scale="1"><name lang="french">pKa1</name><name lang="english">pKa1</name><name lang="german">pKs1</name><name lang="spanish">pKa1</name><notes lang="french">
            
<p>pKa = - log Ka</p>
          
</notes><notes lang="english">
            
<p>pKa = - log Ka</p>
          
</notes><notes lang="german">
            
<p>pKs = - log Ks</p>
          
</notes><notes lang="spanish">
            
<p>pKa = - log Ka</p>
          
</notes><value>4</value></scalar>
        
<scalar increment="0.1" label="pKa2_titrant" max="20" min="-10" scale="1"><name lang="french">pKa2</name><name lang="english">pKa2</name><name lang="german">pKs2</name><name lang="spanish">pKa2</name><notes lang="french">
            
<p>Pour un monoacide, un pKa d'au moins 20 permet mathématiquement
            d'ignorer les fonctions acides inexistantes.
</p>
          
</notes><notes lang="english">
            
<p>For a monacid, a pKa greater or equal to 20 permits to ignore
            mathematically the non-existent acidities
</p>
          
</notes><notes lang="german">
            
<p>Bei Monosäuren erlaubt ein pKs von mindestens 20, die
            inexistenten Säureprotonen mathematisch zu ignorieren.
</p>
          
</notes><notes lang="spanish">
            
<p>Para un mono ácido, un pKa de mínimo 20 permite matemáticamente ignorar las funciones acidas inexistentes.</p>
          
</notes><value>20</value></scalar>
        
<scalar increment="0.1" label="pKa3_titrant" max="20" min="-10" scale="1"><name lang="french">pKa3</name><name lang="english">pKa3</name><name lang="german">pKs3</name><name lang="spanish">pKa3</name><notes lang="french">
            
<p>Pour un monoacide ou un diacide, un pKa d'au moins 20 permet
            mathématiquement d'ignorer les fonctions acides inexistantes
</p>
          
</notes><notes lang="english">
            
<p>For a monacid or a diacid, a pKa greater or equal to 20 permits
            to ignore mathematically the non-existent acidities
</p>
          
</notes><notes lang="german">
            
<p>Bei Monosäuren oder Disäuren erlaubt ein pKs von mindestens 20,
            die inexistenten Säureprotonen mathematisch zu ignorieren.
</p>
          
</notes><notes lang="spanish">
            
<p>Para un mono ácido o un di acido, un pKa de mínimo 20 permite matemáticamente ignorar las funciones acidas inexistentes.</p>
          
</notes><value>20</value></scalar>
        
<record>
          
<name lang="french">Hydroxyde de sodium</name>
          
<name lang="english">Sodium hydroxide</name>
          
<name lang="german">Natriumhydroxid</name>
          
<name lang="spanish">Hidróxido de sodio</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">1</scalar-value>
          
<scalar-value ref="pKa1_titrant">14.8</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Hydroxyde d'ammonium</name>
          
<name lang="english">Ammonium hydroxide</name>
          
<name lang="german">Ammoniumhydroxid</name>
          
<name lang="spanish">Hidróxido de amonio</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">1</scalar-value>
          
<scalar-value ref="pKa1_titrant">9.24</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide carbonique</name>
          
<name lang="english">Carbonic acid</name>
          
<name lang="german">Kohlensäure</name>
          
<name lang="spanish">Acido carbónico</name>
          
<scalar-value ref="n_titrant">2</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">6.35</scalar-value>
          
<scalar-value ref="pKa2_titrant">10.30</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide chlorhydrique</name>
          
<name lang="english">Hydrochloric acid</name>
          
<name lang="german">Salzsäure</name>
          
<name lang="spanish">Acido clorhídrico</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">-7</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide citrique</name>
          
<name lang="english">Citric acid</name>
          
<name lang="german">Zitronensäure</name>
          
<name lang="spanish">Acido cítrico</name>
          
<scalar-value ref="n_titrant">3</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">3.128</scalar-value>
          
<scalar-value ref="pKa2_titrant">4.761</scalar-value>
          
<scalar-value ref="pKa3_titrant">6.394</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide dichloroéthanoique</name>
          
<name lang="english">Dichloroethanoic acid</name>
          
<name lang="german">Dichlorethansäure</name>
          
<name lang="spanish">Acido dicloroetanoico</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">1.29</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide éhanoique (acide acétique)</name>
          
<name lang="english">Ethanoic acid (acetic acid)</name>
          
<name lang="german">Ethansäure (Essigsäure)</name>
          
<name lang="spanish">Acido etanoico (acido acético)</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">4.756</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide méthanoique (acide formique)</name>
          
<name lang="english">Methanoic acid (formic acid)</name>
          
<name lang="german">Methansäure (Ameisensäure)</name>
          
<name lang="spanish">Acido metanoico (acido fórmico)</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">3.74</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide o-phosphorique</name>
          
<name lang="english">o-phosphoric acid</name>
          
<name lang="german">o-Phosphorsäure</name>
          
<name lang="spanish">Acido o-fosfórico</name>
          
<scalar-value ref="n_titrant">3</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">2.124</scalar-value>
          
<scalar-value ref="pKa2_titrant">7.206</scalar-value>
          
<scalar-value ref="pKa3_titrant">12.658</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide salicylique</name>
          
<name lang="english">Salicylic acid</name>
          
<name lang="german">Salicylsäure</name>
          
<name lang="spanish">Acido salicílico</name>
          
<scalar-value ref="n_titrant">1</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">2.75</scalar-value>
          
<scalar-value ref="pKa2_titrant">20</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
        
<record>
          
<name lang="french">Acide sulfurique</name>
          
<name lang="english">Sulfuric acid</name>
          
<name lang="german">Schwefelsäure</name>
          
<name lang="spanish">Acido sulfúrico</name>
          
<scalar-value ref="n_titrant">2</scalar-value>
          
<scalar-value ref="m_titrant">0</scalar-value>
          
<scalar-value ref="pKa1_titrant">0.34</scalar-value>
          
<scalar-value ref="pKa2_titrant">1.921</scalar-value>
          
<scalar-value ref="pKa3_titrant">20</scalar-value>
        
</record>
      
</database>
    
</section><section>
      
<title lang="french">Concentrations et volumes</title>
      
<title lang="english">Concentrations and volumes</title>
      
<title lang="german">Konzentrationen und Volume</title>
      
<title lang="spanish">Concentraciones y volúmenes</title>
      
<subsection>
        
<scalar increment="0.01" label="initial_conc_analyte" max="1" min="0.01" scale="1" state="normal" unit="mol / L"><name lang="french">Concentration initiale de l'espèce titrée
          (mol/L)
</name><name lang="english">Initial concentration of the analyte
          (mol/L)
</name><name lang="german">Anfangskonzentration der titrierten Form
          (mol/L)
</name><name lang="spanish">Concentración inicial de la especie titulada (mol/L)</name><value>0.1</value></scalar>
        
<scalar increment="1" label="initial_volume_analyte" max="50" min="1" scale="1" state="normal" unit="mL"><name lang="french">Volume initial de solution de l'espèce titrée
          (mL)
</name><name lang="english">Initial volume of the analyte (mL)</name><name lang="german">Anfangsvolumen der titrierten Form (mL)</name><name lang="spanish">Volumen inicial de la especie titulada (mL)</name><value>20</value></scalar>
      
</subsection>
      
<subsection>
        
<scalar increment="0.01" label="mother_conc_titrant" max="1" min="0.01" scale="1" state="normal" unit="mol / L"><name lang="french">Concentration initiale du titrant (mol/L)</name><name lang="english">Initial concentration of the titrant
          (mol/L)
</name><name lang="german">Anfangskonzetration des Titranten (mol/L)</name><name lang="spanish">Concentración inicial del titulante (mol/L)</name><value>0.1</value></scalar>
        
<scalar label="volume_min" scale="1" state="normal" unit="mL"><name lang="french">Volume initial du titrant (mL)</name><name lang="english">Initial volume of the titrant (mL)</name><name lang="german">Anfangsvolumen des Titranten (mL)</name><name lang="spanish">Volumen inicial del titulante (mL)</name><value>0</value></scalar>
      
</subsection>
      
<subsection>
        
<scalar increment="1" label="volume_dilution_water" max="50" min="0" scale="1" state="normal" unit="mL"><name lang="french">Volume de l'éventuelle eau de dilution
          (mL)
</name><name lang="english">Volume of the potential dilution water
          (mL)
</name><name lang="german">Volumen des eventuellen Verdünnungswasser
          (mL)
</name><name lang="spanish">Volumen del eventual agua de dilución (mL)</name><notes lang="french">
            
<p>Usuellement, zéro</p>
          
</notes><notes lang="english">
            
<p>Usually, zero</p>
          
</notes><notes lang="german">
            
<p>Normalerweise, null</p>
          
</notes><notes lang="spanish">
            
<p>Normalmente, 0.</p>
          
</notes><value>0</value></scalar>
      
</subsection>
    
</section><section>
      
<title lang="french">Paramètre pour le calcul</title>
      
<title lang="english">Parameter for the calculation</title>
      
<title lang="german">Parameter für die Rechnung</title>
      
<title lang="spanish">Parámetros para el cálculo</title>
      
<scalar increment="10" label="titration_steps" max="1000" min="10" scale="1" state="normal"><name lang="french">Nombre de valeurs intermédiaires pour le calcul
        (max 1000)
</name><name lang="english">Number of steps (max 1000)</name><name lang="german">Anzahl der Zwischenwerte für die Rechnung (max
        1000)
</name><name lang="spanish">Numero de valores intermediarios para el cálculo (máximo 1000).</name><value>200</value></scalar>
      
<scalar increment="0.25" label="end_point_factor" max="3" min="0.25" scale="1" state="normal"><name lang="french">Facteur multiplicateur pour fixer le volume final
        des courbes de titrage
</name><name lang="english">Multiplying factor to fix the final titrant
        volume for the curves
</name><name lang="german">Multiplikationsfaktor um das Endvolumen der
        Titrationskurven festzulegen
</name><name lang="spanish">Factor multiplicador para fijar el volumen final de las curvas de titulación</name><value>1.5</value></scalar>
    
</section><section>
      
<title lang="french">Points expérimentaux</title>
      
<title lang="english">Experimental data</title>
      
<title lang="german">Versuchspunkte</title>
      
<title lang="spanish">Puntos experimentales</title>
      
<matrix clear="yes" cols="2" label="user_curve_mat" load="yes" rows="64" save="yes" stripcol="no" striprow="yes" widget="normal">
        
<name />
        
<name lang="german" />
        
<name lang="spanish" />
        
<col>
          
<name lang="french">Abscisses (volumes de titrant)</name>
          
<name lang="english">X data (titrant volumes)</name>
          
<name lang="german">X-Achse (Titrantvolumen)</name>
          
<name lang="spanish">Coordenadas X (Volumen del titulante)</name>
          
<value>0</value>
        
</col>
        
<col>
          
<name lang="french">Ordonnées (pH)</name>
          
<name lang="english">Y data (pH values)</name>
          
<name lang="german">Y-Achse (pH)</name>
          
<name lang="spanish">Coordenadas Y (pH)</name>
          
<value />
        
</col>
      
</matrix>
    
</section></parameters>
  
<compute>
    
<defdomain1d label="volume_titrant">
      
<name lang="french">Volume du titrant (mL)</name>
      
<name lang="english">Titrant volume (mL)</name>
      
<name lang="german">Titrantvolumen (mL)</name>
      
<name lang="spanish">Volumen del titulante (mL)</name>
      
<interval discretization="linear" steps="titration_steps">
        
<initialvalue>volume_min</initialvalue>
        
<finalvalue>end_point_factor * n_analyte * initial_conc_analyte *
        initial_volume_analyte / mother_conc_titrant / n_titrant
</finalvalue>
      
</interval>
    
</defdomain1d>
    
<implicitfunction label="ph" method="dichotomic">
      
<refdomain1d ref="volume_titrant" />
      
<unknowns>
        
<unknown label="pH">
          
<name>pH</name>
          
<name lang="english">pH</name>
          
<name lang="german">pH</name>
          
<name lang="spanish">pH</name>
          
<guess>0</guess>
          
<lowerbound>0</lowerbound>
          
<upperbound>14</upperbound>
        
</unknown>
      
</unknowns>
      
<equations>
        
<variable label="volume_equivalent">initial_conc_analyte *
        initial_volume_analyte / mother_conc_titrant / n_titrant
</variable>
        
<variable label="concentration_analyte">initial_conc_analyte *
        initial_volume_analyte./(initial_volume_analyte +
        volume_dilution_water + volume_titrant)
</variable>
        
<variable label="concentration_titrant">mother_conc_titrant *
        volume_titrant./(initial_volume_analyte + volume_dilution_water +
        volume_titrant)
</variable>
        
<variable label="advancement">volume_titrant./volume_equivalent</variable>
        
<variable label="advancement_max">end_point_factor *
        n_analyte
</variable>
        
<variable label="Ka1_analyte">10^(-pKa1_analyte)</variable>
        
<variable label="Ka2_analyte">10^(-pKa2_analyte)</variable>
        
<variable label="Ka3_analyte">10^(-pKa3_analyte)</variable>
        
<variable label="Ka1_titrant">10^(-pKa1_titrant)</variable>
        
<variable label="Ka2_titrant">10^(-pKa2_titrant)</variable>
        
<variable label="Ka3_titrant">10^(-pKa3_titrant)</variable>
        
<variable label="H">10.^(-pH)</variable>
        
<variable label="denominator_analyte">H + Ka1_analyte +
        (Ka1_analyte*Ka2_analyte./H) +
        (Ka1_analyte*Ka2_analyte*Ka3_analyte./H./H)
</variable>
        
<variable label="alpha3_analyte">H./denominator_analyte</variable>
        
<variable label="alpha2_analyte">Ka1_analyte./denominator_analyte</variable>
        
<variable label="alpha1_analyte">Ka1_analyte*Ka2_analyte./H./denominator_analyte</variable>
        
<variable label="alpha0_analyte">Ka1_analyte*Ka2_analyte*Ka3_analyte./H./H./denominator_analyte</variable>
        
<variable label="charge_analyte">concentration_analyte.*
        ((alpha3_analyte.*m_analyte) + (alpha2_analyte.*(m_analyte-1)) +
        (alpha1_analyte.*(m_analyte-2)) +
        (alpha0_analyte.*(m_analyte-3)))
</variable>
        
<variable label="denominator_titrant">H + Ka1_titrant +
        (Ka1_titrant*Ka2_titrant./H) +
        (Ka1_titrant*Ka2_titrant*Ka3_titrant./H./H)
</variable>
        
<variable label="alpha3_titrant">H./denominator_titrant</variable>
        
<variable label="alpha2_titrant">Ka1_titrant./denominator_titrant</variable>
        
<variable label="alpha1_titrant">Ka1_titrant*Ka2_titrant./H./denominator_titrant</variable>
        
<variable label="alpha0_titrant">Ka1_titrant*Ka2_titrant*Ka3_titrant./H./H./denominator_titrant</variable>
        
<variable label="charge_titrant">concentration_titrant.*
        ((alpha3_titrant.*m_titrant) + (alpha2_titrant.*(m_titrant-1)) +
        (alpha1_titrant.*(m_titrant-2)) +
        (alpha0_titrant.*(m_titrant-3)))
</variable>
        
<equation>H - (1e-14)./H + charge_analyte + charge_titrant</equation>
      
</equations>
      
<outputs>
        
<output label="alpha3">
          
<name>Hn A</name>
          
<name lang="english">Hn A</name>
          
<name lang="german">Hn S</name>
          
<name lang="spanish">Hn A</name>
          
<value>alpha3_analyte</value>
        
</output>
        
<output label="alpha2">
          
<name>Hn-1 A-</name>
          
<name lang="english">Hn-1 A-</name>
          
<name lang="german">Hn- S-</name>
          
<name lang="spanish">Hn-1 A-</name>
          
<value>alpha2_analyte</value>
        
</output>
        
<output label="alpha1">
          
<name>Hn-2 A=</name>
          
<name lang="english">Hn-2 A=</name>
          
<name lang="german">Hn-2 S=</name>
          
<name lang="spanish">Hn-2 A=</name>
          
<value>alpha1_analyte</value>
        
</output>
        
<output label="alpha0">
          
<name>Hn-3 A3-</name>
          
<name lang="english">Hn-3 A3-</name>
          
<name lang="german">Hn-3 S3-</name>
          
<name lang="spanish">Hn-3 A3-</name>
          
<value>alpha0_analyte</value>
        
</output>
      
</outputs>
    
</implicitfunction>
  
</compute>
  
<graphs>
    
<parametriccurve2d label="advancement_2">
      
<name lang="french">Avancement</name>
      
<name lang="english">Advancement</name>
      
<name lang="german">Fortschritt</name>
      
<name lang="spanish">Progresión</name>
      
<refdomain1d ref="volume_titrant" />
      
<x1 label="__1">
        
<name lang="french">Avancement</name>
        
<name lang="english">Advancement</name>
        
<name lang="german">Fortschritt</name>
        
<name lang="spanish">Progresión</name>
        
<value>advancement</value>
      
</x1>
      
<x2 label="__2">
        
<name lang="french">pH</name>
        
<name lang="english">pH</name>
        
<name lang="german">pH</name>
        
<name lang="spanish">pH</name>
        
<value>pH</value>
      
</x2>
    
</parametriccurve2d>
    
<parametriccurve2d label="user_curve">
      
<name lang="french">Points expérimentaux</name>
      
<name lang="english">Experimental data</name>
      
<name lang="german">Versuchspunkte</name>
      
<name lang="spanish">Puntos experimentales</name>
      
<x1>
        
<name />
        
<name lang="german" />
        
<name lang="spanish" />
        
<value>user_curve_mat(:,1)</value>
      
</x1>
      
<x2>
        
<name />
        
<name lang="german" />
        
<name lang="spanish" />
        
<value>user_curve_mat(:,2)</value>
      
</x2>
    
</parametriccurve2d>
  
</graphs>
  
<display>
    
<window splitx="1" splity="3">
      
<title lang="french">pH obtenu</title>
      
<title lang="english">pH</title>
      
<title lang="german" />
      
<title lang="spanish">pH logrado</title>
      
<axis2d colorbar="off" iso="no" legend="nw" position="left" type="cartesian" xmax="end_point_factor*n_analyte*volume_equivalent" xmin="volume_min" ymax="14" ymin="0">
        
<drawcurve2d color="blue" ref="pH" thickness="2" />
        
<drawcurve2d color="red" linetype="none" marker="triangle-up" ref="user_curve" thickness="1" />
      
</axis2d>
      
<axis2d colorbar="off" iso="no" position="left" type="cartesian" xmax="end_point_factor*n_analyte*volume_equivalent" xmin="volume_min" ymax="1" ymin="0">
        
<drawcurve2d color="cyan" ref="alpha3" thickness="2" />
        
<drawcurve2d color="blue" ref="alpha2" thickness="2" />
        
<drawcurve2d color="red" ref="alpha1" thickness="2" />
        
<drawcurve2d color="green" ref="alpha0" thickness="2" />
      
</axis2d>
      
<axis2d colorbar="off" iso="no" position="left" type="cartesian" xmax="advancement_max" xmin="0" ymax="14" ymin="0">
        
<drawcurve2d color="black" ref="advancement_2" thickness="1" />
        
<drawpoints ref="p1" />
      
</axis2d>
    
</window>
  
</display>
  
<save>
    
<file format="csv" href="essai.csv" labels="pKa1_analyte pKa2_analyte pKa3_analyte n_analyte m_analyte initial_volume_analyte initial_conc_analyte pKa1_titrant pKa2_titrant pKa3_titrant n_titrant m_titrant mother_conc_titrant pH volume_titrant advancement" />
  
</save>
</simulation>