Python: Henderson-Hasselbalch-pH mit UliEngineering berechnen

English Deutsch

Du kannst leicht den pH-Wert mit der Henderson-Hasselbalch-Gleichung und der UliEngineering-Python-Bibliothek berechnen:

henderson_hasselbalch_pH.py
from UliEngineering.Chemistry import henderson_hasselbalch_pH

# pH-Wert für Essigsäure-Puffer berechnen (pKa=4.76, Verhältnis=1)
ph = henderson_hasselbalch_pH(4.76, 1.0)
print(f"pH (pKa=4.76, Verhältnis=1): {ph:.2f}")

# pH-Wert für Puffer mit Verhältnis 10 berechnen (mehr konjugierte Base)
ph = henderson_hasselbalch_pH(4.76, 10.0)
print(f"pH (pKa=4.76, Verhältnis=10): {ph:.2f}")

Beispielausgabe

henderson_hasselbalch_pH_output.txt
pH (pKa=4.76, Verhältnis=1): 4.76
pH (pKa=4.76, Verhältnis=10): 5.76

Die Henderson-Hasselbalch-Gleichung setzt den pH-Wert einer Pufferlösung mit dem pKa der schwachen Säure und dem Verhältnis von konjugierter Base zu schwacher Säure in Beziehung. Dies ist grundlegend für die Pufferherstellung, das Verständnis von Säure-Base-Gleichgewichten und die Vorhersage, wie sich der pH-Wert mit der Zusammensetzung in biochemischen und chemischen Systemen ändert.

Henderson-Hasselbalch-pH-Diagramm

Der pH-Wert wird mit der Formel $\text{pH} = \text{p}K_a + \log_{10}\left(\frac{[\text{A}^-]}{[\text{HA}]}\right)$ berechnet, wobei $\text{p}K_a$ die Säuredissoziationskonstante, $[\text{A}^-]$ die Konzentration der konjugierten Base und $[\text{HA}]$ die Konzentration der schwachen Säure ist. Wenn das Verhältnis 1 ergibt, entspricht der pH-Wert dem pKa.

Das obige Diagramm zeigt den pH-Wert in Abhängigkeit des Verhältnisses von konjugierter Base zu schwacher Säure für drei verschiedene Puffersysteme auf einer logarithmischen Skala. Beachte, dass bei einem Verhältnis von 1 (markiert durch die gestrichelte Linie) der pH-Wert dem pKa entspricht. Dies zeigt den linearen Zusammenhang zwischen pH-Wert und dem Logarithmus des Verhältnisses mit einer Steigung von 1. Das Diagramm zeigt, wie eine Änderung der Pufferzusammensetzung den pH-Wert vorhersagbar basierend auf dem pKa der schwachen Säure verschiebt.

Verwandte Beiträge


Diagramm-Estellungsskript

plot_henderson_hasselbalch_ph.py
#!/usr/bin/env python3
import matplotlib.pyplot as plt
import numpy as np
import sys
sys.path.insert(0, '/home/uli/dev/UliEngineering')

from UliEngineering.Chemistry.Henderson import henderson_hasselbalch_pH

# Verhältnisbereich für das Diagramm (log-Skala)
ratio = np.logspace(-3, 3, 200)  # 0.001 bis 1000

# Diagramm erstellen
plt.figure(figsize=(10, 6))

# pH-Wert für verschiedene pKa-Werte berechnen
pKa_values = [4.76, 7.2, 9.25]
colors = ['blue', 'green', 'red']
labels = ['Acetate (pKa=4.76)', 'Phosphate (pKa=7.2)', 'Ammonia (pKa=9.25)']

for pKa, color, label in zip(pKa_values, colors, labels):
    pH = pKa + np.log10(ratio)
    plt.plot(ratio, pH, label=label, color=color, linewidth=2)

plt.xscale('log')
plt.xlabel('Verhältnis konjugierte Base / schwache Säure', fontsize=12)
plt.ylabel('pH', fontsize=12)
plt.title('Henderson-Hasselbalch-pH vs. Pufferverhältnis', fontsize=14, fontweight='bold')
plt.legend(loc='upper left', fontsize=10)
plt.grid(True, alpha=0.3)

# Verhältnis = 1 markieren (pH = pKa)
plt.axvline(x=1.0, color='black', linestyle='--', linewidth=2, label='Verhältnis = 1 (pH = pKa)')
plt.legend(loc='upper left', fontsize=10)

plt.tight_layout()
plt.savefig('henderson_hasselbalch_ph_plot.svg', format='svg', dpi=300)

Check out similar posts by category: Chemistry, Python