hp48

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
hp48 [2021/03/22 00:14] – créée physixhp48 [2021/03/22 00:25] (Version actuelle) physix
Ligne 1: Ligne 1:
 ====== HP48 ====== ====== HP48 ======
 +
 +{{:jbsim13.zip|JBSim 1.3}}
 +<code>
 +
 +« "JBSIM 1.3 BY J.B." { "Calcul d'un pH" "Dosage" } 1.
 +  IF CHOOSE
 +  THEN { "Calcul d'un pH" "Dosage" } SWAP POS { Vd VM NVAC V H CALCpH EQPH } PURGE { AcideFort
 +    « "Acide Fort" { { "C" "Concentration en acide fort" 0. 6. } } 1. { } { }
 +      IF INFORM
 +      THEN OBJ→ DROP
 +      END -1. 0.
 +    » BaseForte
 +    « "Base Forte" { { "C" "Concentration en base forte" 0. 6. } } 1. { } { }
 +      IF INFORM
 +      THEN OBJ→ DROP
 +      END 1. 0.
 +    » Acidite1
 +    « "1 ACIDITE" { { "CA" "Concentration en [AH]" 0. 6. } { "CB" "Concentration en [A-]" 0. 6. } { "pKa" "-LOG(Constante d'acidite)" 0. 6. } } 1. { } { }
 +      IF INFORM
 +      THEN OBJ→ DROP
 +      END → CA CB pKa
 +      « H CB * CA pKa NEG ALOG *
 + - H pKa NEG ALOG + / 1.
 +      » 0.
 +    » Acidites2
 +    « "2 ACIDITES" { { "C1" "Concentration en AH2" 0. 6. } { "C2" "Concentration en AH-" 0. 6. } { "C3" "Concentration en A2-" 0. 6. } { "pKa1" "-LOG(Constante d'acidite 1)" 0. 6. } { "pKa2" "-LOG(Constante d'acidite 2)" 0. 6. } } 2. { } { }
 +      IF INFORM
 +      THEN OBJ→ DROP
 +      END → C1 C2 C3 pKa1 pKa2
 +      « C2 2. C1 * + H C3 * H C1 *
 + - pKa2 ALOG *
 + - 2. H 2. ^ * C3 * H 2. ^ C2 * + pKa2 pKa1 + ALOG *
 + - NEG 1. H pKa2 ALOG * + H 2. ^ pKa2 pKa1 + ALOG * + / 1.
 +      » 0.
 +    » Acidites3
 +    « "3 ACIDITES" { { "C1" "Concentration en H3A" 0. 6. } { "C2" "Concentration en H2A-" 0. 6. } { "C3" "Concentration en HA2-" 0. 6. } { "C4" "Concentration en A3-" 0. 6. } { "pKa1" "-LOG(Constante d'acidite 1)" 0. 6. } { "pKa2" "-LOG(Constante d'acidite 2)" 0. 6. } { "pKa3" "-LOG(Constante d'acidite 3)" 0. 6. } } 2. { } { }
 +      IF INFORM
 +      THEN OBJ→ DROP
 +      END → C1 C2 C3 C4 pKa1 pKa2 pKa3
 +      « -1. 10. pKa1 NEG pKa2 - pKa3 - ^ 10. pKa2 NEG pKa1 - ^ H * + 10. pKa1 NEG ^ H 2. ^ * + H 3. ^ + / 3. 10. pKa2 NEG pKa3 - ^ * 2. 10. pKa2 NEG ^ * H * + H 2. ^ + * C1 C2 + C3 + C4 + * 10. pKa1 NEG ^ * C2 + 2. C3 * + 3. C4 * + 1.
 +      » 0.
 +    » CH1
 +    « { AcideFort BaseForte Acidite1 Acidites2 Acidites3 Continuer } 1.
 +    » Calcul1pH
 +    « { Vd 10. } | { V 0. } | 'H' { 0. .0000001 1.E-14 } ROOT LOG NEG "pH" →TAG 1.
 +    » Courbe
 +    « (0.,-2.) VM SORT DUP SIZE GET 14. R→C 'V' # 2h { (0.,0.) { 1. 1. } } { FUNCTION } OBJ→ DROP 'Y' 7. →LIST 'PPAR' STO
 +      « 'EQPH' 'H' 0. H 1.E-14 3. →LIST ROOT LOG NEG
 +      » 'EQ' STO PICT PURGE DRAX DRAW
 +    » } → Ch LISTE
 +    « 'H-1.E-14/H' {
 +      «
 +        DO LISTE DUP CH1 POS 1. + GET "BECHER" SWAP EVAL
 +          IF CHOOSE
 +          THEN
 +            IF DUP Continuer SAME
 +            THEN DROP LISTE DUP Calcul1pH POS 1. + GET EVAL
 +            ELSE LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL 3. ROLL * 3. ROLL + SWAP
 +            END
 +          ELSE DROP 1.
 +          END
 +        UNTIL
 +        END
 +      »
 +      «
 +        DO LISTE DUP CH1 POS 1. + GET "BECHER" SWAP EVAL
 +          IF CHOOSE
 +          THEN
 +            IF DUP Continuer SAME
 +            THEN DROP
 +              DO LISTE DUP CH1 POS 1. + GET "BURETTE" SWAP EVAL
 +                IF CHOOSE
 +                THEN
 +                  IF DUP Continuer SAME NOT
 +                  THEN LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL V * Vd V + / 3. ROLL * 3. ROLL + SWAP
 +                  ELSE DROP "VOLUME" { { "LIST V" "LISTE DES PH A CALCULER" 5. } { "Vd" "VOLUME DE SOLUTION A DOSER" 0. 6. } } 1. { } { }
 +                    IF INFORM
 +                    THEN OBJ→ DROP 'Vd' STO DUP 'VM' STO SIZE 'NVAC' STO EVAL 'EQPH' STO 1. 1.
 +                    ELSE DROP 1.
 +                    END
 +                  END
 +                ELSE DROP 1.
 +                END
 +              UNTIL
 +              END
 +            ELSE LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL Vd * Vd V + / 3. ROLL * 3. ROLL + SWAP
 +            END
 +          ELSE DROP 1.
 +          END
 +        UNTIL
 +        END 0. 'H' STO
 +        « 'EQPH' 'H' 0. H 1.E-14 3. →LIST ROOT LOG NEG
 +        » 'CALCpH' STO "   +--------------+" 3. DISP "   | Calcul de pH |" 4. DISP "   | en cours ... |" 5. DISP "   +--------------+" 6. DISP 1. NVAC
 +        FOR M VM M GET DUP 'V' STO CALCpH
 +        NEXT NVAC 2. 2. →LIST →ARRY "Courbe ?" { "Oui" "Non" } 1.
 +        IF CHOOSE
 +        THEN
 +          IF "Oui" SAME
 +          THEN LISTE DUP Courbe POS 1. + GET EVAL
 +          END
 +        END { Vd VM NVAC } PURGE
 +      » } Ch GET EVAL
 +    »
 +  END
 +»
 +
 +</code>
 +
 +===== Installation =====
 +
 +On télécharge le répertoire JBSIM.DIR (ou les fichiers séparément)
 +
 +On tape INSTALL.
 +
 +Le programme demande de choisir le port d'installation (non protégé en écriture).
 +
 +===== Principe =====
 +
 +JBSim se contente de résoudre l'équation en fonction de [H+] (la concentration en ion hydrogène).
 +
 +Pour une solution d'eau distillée on résout l'équation suivante :
 +
 +[H+]=[OH-] <=⇒ [H+]-10E-14/[H+]=0
 +
 +Si on rajoute un monoacide (HCl par exemple), il suffit de rajouter [Cl-]
 +
 +[H+]=[OH-]+[Cl-] <=⇒ [H+]-10E-14/[H+]-Co=0
 +
 +ou Co est la concentration de l'acide.
 +
 +Chaque fois que l'on rajoute une espèce chimique dans la solution, on rajoute un terme a l'équation d'électroneutralité.
 +
 +Le programme a été "code" avec l'utilitaire CODE de Levy après avoir été compressé avec PK de Mika.
 +
 +===== Calcul d'un pH =====
 +
 +<font 10.0pt/inherit;;inherit;;inherit>On lance le programme :</font>
 +
 +{{:8003f2c8cda89aac37bafdc000242e4e.png}}
 +
 +//__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un acide fort (HCl), on procède ainsi :</font> __  //
 +  * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font>
 +
 +{{:670bc79457d8f41fdca2391cdbec7403.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>AcideFort.</font>
 +
 +{{:24c307dedf7ca60be31ff2dceaebc00f.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font>
 +
 +{{:ffd35e92a1cb5707d914972ca605967f.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font>
 +
 +{{:f3f41287cc036a01edb064d62ac8e716.png}}
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calculé et le résultat apparaît sur la pile.</font>
 +
 +{{:c2dddb154bf91e14013c85d03be95a96.png}}
 +
 +//__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un acide faible (CH3COOH), on procède ainsi :</font>__ //
 +  * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [AH] en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On met 0 pour la concentration en [A-] (la concentration de la base conjuguée au départ).</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font>
 +
 +//__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher une base faible (NH3), on procède ainsi :</font>__ //
 +  * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On met 0 pour la concentration en [AH] (la concentration de l'acide conjuguée au départ).</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [A-] en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font>
 +
 +//__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher une solution tampon (CH3COOH 0.1 mol/L et CH3COO- 0.1 mol/L), on procède ainsi :</font>__ //
 +  * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font>
 +
 +{{:670bc79457d8f41fdca2391cdbec7403.png}}
 +
 +{{:e87f4d02bdf786e52a1e94a3b0463ea5.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [AH] en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [A-] en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font>
 +
 +{{:7b3704cb33ee7e34aabe2b9db08ac745.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Le pH s'affiche</font>
 +
 +{{:43ef5f302ab911753ee92ec58bdeaaf7.png}}
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font>
 +
 +//__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un mélange d'acide et de base forts (HCl et NaOH), on procède ainsi :</font>__ //
 +  * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>AcideFort.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>BaseForte.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font>
 +
 +**On rajoute dans la solution tout ce que l'on veut puis on Continue …**
 +
 +===== Dosage =====
 +
 +<font 10.0pt/inherit;;inherit;;inherit>On opère de la même façon que pour le calcul d'un pH :</font>
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>on indique ce que l'on met dans le bêcher.</font>
 +
 +{{:611ab8ad5a3d455a7d7158fbba21599d.png}}
 +
 +{{:c6a83a10c7f73fc24c3a38d291bd3584.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer</font>
 +
 +{{:5bb1bd3b981cf21c0d96276bdbdbb644.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>on indique ce que l'on met dans la burette.</font>
 +
 +{{:d7be2920c64fc713d28f5610d9c1ca07.png}}
 +
 +{{:2b11f1f57f4c77e849a816cca911b4c4.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Continuer</font>
 +
 +{{:b5ff4bd16321cded70c67d7b9676b730.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Indiquer les volumes versés a la burette dont les pH seront calculés en particulier :</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Ex : {0 5 10 15 20 25 30 35 40}</font>
 +
 +{{:8f71dce8ab320b3e187cb16d5462fed2.png}}
 +
 +<font 10.0pt/inherit;;inherit;;inherit>le pH sera calculé pour</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>V = 0, 5, 10, 20, 35, 30, 35, 40 mL</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>et la courbe sera tracée pour un volume total versé de 40mL.</font>
 +
 +<font 10.0pt/inherit;;inherit;;inherit>Si on met {20} un seul pH sera calculé a 20mL et la courbe sera tracée de 0 a 20mL.</font>
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Indiquer le volume initial de la solution du bêcher(ici 10 mL)</font>
 +
 +{{:8f71dce8ab320b3e187cb16d5462fed2.png}}
 +
 +<font 10.0pt/inherit;;inherit;;inherit>NB : les volumes doivent être exprimés dans la même unité (mL ou L).</font>
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Le calcul de pH s'effectue</font>
 +
 +{{:dee09569ba85619a2c4a434cbd8cfcf2.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Indiquer si la courbe doit être affichée</font>
 +  * <font 10.0pt/inherit;;inherit;;inherit>Si oui, elle est tracée</font>
 +
 +{{:83403aee212eed3c099566dd11b956d8.png}}
 +
 +{{:caba941de7eb92a3d6d2a9ee7e453264.png}}
 +
 +  * <font 10.0pt/inherit;;inherit;;inherit>Le pH des différents volume est affiché</font>
 +
 +{{:bd2b490d5f32e5c7a610e1da0fd21178.png}}
  
  
  • hp48.1616368464.txt.gz
  • Dernière modification : 2021/03/22 00:14
  • de physix