|
| |
Buffer solutions: To control pH values in electrolytes.
!------------------------------------------------------!
$buffer-solutions
optional !
buffer-name
character
required !
number-of-ions
integer
required !
ion-valency
double_array required
!
ion-name-1
character
required !
ion-name-2
character
required !
ion-name-3
character
optional ! (only necessary for some buffers,
e.g. PBS)
ion-name-4
character
optional ! (only necessary for some buffers,
e.g. PBS)
pKa
double_array required
! pKa at 25° C ( = 298.15 K)
dpKa_dT
double_array required
! d pKa / d T
z_acid
double_array
required ! charge on the conjugate acid species
$end_buffer-solutions
optional !
!------------------------------------------------------!
Syntax
! name of buffer
buffer-name = ACETATE
! Acetate (sodium acetate + acetic acid) (CH3COO-Na+
+ CH3COOH)
= HEPES
! HEPES (C8H18N2O4S)
= TRIS
! TRIS (C4H11NO3)
= MOPS
! MOPS (C7H15NO4S)
= PBS
! PBS (phosphate buffer)
! number of ions that are contained in the buffer
number-of-ions = 2
! 2 for ACETATE,
HEPES,
TRIS and MOPS
= 4
! 4 for PBS
! valency
of the ions that are contained in the buffer
ion-valency = -1d0 +1d0
! for
ACETATE: (CH3COO)- Na+
= +1d0 -1d0
! for
TRIS: TrisH+
(OH)-
= -1d0 +1d0
! for
MOPS: (C7H14NO4S)-
Na+
= -1d0 -2d0 -3d0 1d0
! for PBS: (H2PO4)-
(HPO4)2- (PO4)3-
Na+
! (the number of expected entries corresponds to number-of-ions)
! name of the ions that are contained in the buffer
!
! CH3COOH <==> (CH3COO)-
+ H+
ion-name-1 = CH3COO^-
! name of ion no. 1 (for ACETATE)
ion-name-2 = Na^+
! name of ion no. 2 (for ACETATE)
!
!
TrisH+ <==> Tris
+ H+
( "NH3+" <==>
"NH2" + H+
)
! Tris + H20 <==> TrisH+
+ (OH)- (
"NH2" + H20 <==> "NH3+"
+ (OH)- )
ion-name-1 = TrisH^+
! name of ion no. 1 (for TRIS)
ion-name-2 = OH^-
! name of ion no. 2 (for TRIS)
!
("SO3H" <==>
"(SO3)-" +
H+)
ion-name-1 = Mops^-
! name of ion no. 1 (for MOPS)
C7H15NO4S <==> (C7H14NO4S)-
+ H+
ion-name-2 = Na^+
! name of ion no. 2 (for MOPS)
ion-name-1 = H2PO4^-
! name of ion no. 1 (for PBS)
NaH2PO4 <==> (H2PO4)-
+ Na+
ion-name-2 = HPO4^2-
! name of ion no. 2 (for PBS)
Na2HPO4 <==> (HPO4)2-
+ 2 Na+
ion-name-3 = PO4^3-
! name of ion no. 3 (for PBS)
(HPO4)2- <==> (PO4)3-
+ H+
ion-name-4 = Na^+
! name of ion no. 4 (for PBS)
! pKa value(s) of buffer reactions
! One can calculate the pH value from the pKa value and
! the concentrations of acid and base (Henderson-Hasselbalch equation):
! pH = pKa
+ log10 ([base]/[acid])
! Example: pH = pKa + log10
([ Cl- ]/[ HCl ])
! HCl + H20
<==> Cl- + H30+
pKa =
4.76d0
! for ACETATE: pKa
at 25° C ( = 298.15 K)
=
7.66d0
! for HEPES: pKa
at 25° C ( = 298.15 K)
= 8.06d0
! for TRIS: pKa
at 25° C ( = 298.15 K)
= 7.31d0
! for MOPS: pKa
at 25° C ( = 298.15 K)
= 2.15d0 7.21d0
12.33d0 ! for PBS: pKa,1 pKa,2 pKa,3
at 25° C ( = 298.15 K)
! d pKa / d T value(s) of pKa
value(s), i.e. temperature dependence of pKa value(s)
! (temperature coefficient, i.e. the rate of change of pKa
with temperature)
! If the buffer solution warms up, the pKa value drops.
! For further details, see
$electrolyte.
dpKa_dT =
-0.0002d0
! for ACETATE: d pKa
/ d T
=
-0.014d0
! for HEPES: d pKa
/ d T
= -0.028d0
! for TRIS: d pKa / d T
= -0.011d0
! for MOPS: d pKa / d T
= 0.0044d0 -0.0028d0 -0.026d0 !
for PBS: d pKa,1 / d T d
pKa,2 / d T d
pKa,3 / d T
! charge on the conjugate acid species
! Note: 'conjugate acid' + H20
<==> 'conjugate base' + H30+
! This value enters the equation for the ionic strength dependence
! of the pKa value (modified pKa
value: pKa' ).
z_acid =
0d0
! for
ACETATE: 0
= CH3COOH
=
0d0
! for
MOPS: 0
= C7H15NO4S
= +1d0
! for
TRIS: +1 =
TrisH+
= 0d0 -1d0
-2d0 ! for PBS:
0 = H3PO4,
-1 = (H2PO4)-
, -2 = (HPO4)2-
Examples: Acetate, MOPS and PBS (phosphate buffer)
The phosphate buffer is special (and thus more complicated) because it
consists of three pKa values (and it thus has four different
ions).
!------------------------------------------------!
$buffer-solutions
!
!
buffer-name = ACETATE
! Acetate (sodium acetate + acetic acid) (CH3COO-Na+
+ CH3COOH)
number-of-ions = 2
! CH3COOH <==> (CH3COO)-
+ H+
ion-valency = -1d0 +1d0
!
ion-name-1 = CH3COO^-
! (CH3COO)-
ion-name-2 = Na^+
! Na+
pKa =
4.76d0
! pKa at 25° C ( = 298.15 K)
dpKa_dT =
-0.0002d0
! d pKa / d T
z_acid =
0d0
! charge on the conjugate acid species (0
= CH3COOH)
!
!
buffer-name = MOPS
! MOPS (C7H15NO4S) +
NaOH
number-of-ions = 2
!
ion-valency = -1d0 +1d0
! (C7H14NO4S)-
Na+
ion-name-1 =
Mops^-
! C7H15NO4S <==> (C7H14NO4S)-
+ H+
ion-name-2 = Na^+
!
pKa =
7.31d0
! pKa at 25° C ( = 298.15 K)
! (Note: This pKa is thermodynamic value. The working pKa'
is 7.20.)
dpKa_dT =
-0.011d0
! d pKa / d T
z_acid =
0d0
! charge on the conjugate acid species (0
= C7H15NO4S)
!
!
buffer-name = PBS
! PBS (phosphate buffer)
number-of-ions = 4
!
ion-valency = -1d0 -2d0
-3d0 1d0 !
(H2PO4)-
(HPO4)2- (PO4)3-
Na+
ion-name-1 =
H2PO4^-
! NaH2PO4 <==> (H2PO4)-
+ Na+
ion-name-2 = HPO4^2-
! Na2HPO4 <==> (HPO4)2-
+ 2 Na+
ion-name-3 = PO4^3-
!
ion-name-4 = Na^+
!
pKa =
2.15d0 7.21d0
12.33d0 ! pKa,1 pKa,2
pKa,3 at 25° C ( = 298.15
K)
dpKa_dT =
0.0044d0 -0.0028d0 -0.026d0 ! d pKa
/ d T
z_acid =
0d0 -1d0
-2d0 ! charge on the conjugate acid
species (0 = H3PO4,
-1 = (H2PO4)-
, -2 = (HPO4)2-)
!
$end_buffer-solutions
!
!------------------------------------------------!
For more details on buffers, please have a look at the excellent book of
R.J. Beynon, J.S. Easterby, "Buffer solutions: The basics", Oxford University
Press (1996).
Rob Beynon also provides a web interface "A recipe calculator for
thermodynamically correct buffers for pH control" at:
http://www.liv.ac.uk/buffers/
Example: Acetate buffer (sodium acetate + acetic acid)
- The following figure shows the pH value as a function of the
concentration of the (CH3COO)
- ions.
Note that this number is equal to the concentration of Na+ ions
(see equations above).
The concentration of the acetate buffer is 0.1 M, i.e. it consists of
- 0.1 M CH3COOH (acetic acid) and
- 0.1 M CH3COO-Na+
(sodium acetate).
The temperature was set to 298.15 K ( = 25° C).
The pKa value at 25° C is 4.76. Note that the pKa
value depends on temperature and ionic strength. Thus for each pH value a
different value of pKa had been calculated
self-consistently => pKa'.
The nextnano³ calculations were performed by looping over the pH
values. Note that the code adds the appropriate concentrations of Cl-
ions (originating from the acid HCl) and Na+ ions (originating
from the base NaOH) automatically.
CH3COO-
+ H3O+ + Cl-
<==> CH3COOH +
H2O + Cl-
CH3COOH + Na+
+ OH- <==> CH3COO-
+ H2O + Na+
The acetate buffer has the best buffering range (i.e. pH = +-1)
at around pKa = 4.76, i.e. it buffers nicely between pH =
3.76 and pH = 5.76.
Below the pH value of 3, the concentration of (CH3COO)-
is negligible and only CH3COOH exists.
Above the pH value of 8, the concentration of CH3COOH is
negligible and only (CH3COO)- exists.
pH value vs. [CH3COO-]

The relation between the pH value, the pKa' value and the
concentration of CH3COO- ions is governed
by the Henderson-Hasselbalch equation.
pH = pKa' + log (
[CH3COO-] / [CH3COOH] )
The concentration of all ions (not only the buffer ions), the ionic
strength, as well as the pKa' value(s) as a function of pH
are contained in this file:
BufferIonConc_vs_pH1D.dat
If you want to obtain the nextnano³ input file (Buffer_Acetate.in)
that calculates the above figure, please submit a support ticket.
Details on the calculations:
ACETATE (sodium acetate +
acetic acid)
[CH3COOH] =
[ACETATE] / ( 1 + 10pH-pKa )
[(CH3COO)-] = [CH3COOH]
* 10pH-pKa !
Henderson-Hasselbalch equation
[Na+]
= [(CH3COO)-]
MOPS
[C7H15NO4S] =
[MOPS] / ( 1 + 10pH-pKa )
[(C7H14NO4S)-] = [C7H15NO4S]
* 10pH-pKa !
Henderson-Hasselbalch equation
[Na+]
= [(C7H14NO4S)-]
(analogous for HEPES and
TRIS)
PBS (phosphate buffer)
[H3PO4] = [PBS] / ( 1 + 10pH-pKa,1
* ( 1 + 10pH-pKa,2 * ( 1 + 10pH-pKa,3
) ) )
[(H2PO4)-] = [H3PO4]
* 10pH-pKa,1
! Henderson-Hasselbalch equation
[(HPO4)2-] = [(H2PO4)-]
* 10pH-pKa,2
! Henderson-Hasselbalch equation
[(PO4)3-] = [(HPO4)2-]
* 10pH-pKa,3
! Henderson-Hasselbalch equation
[Na+] = (1 * [(H2PO4)-]
+ 2 * [(HPO4)2-] + 3 * [(PO4)3-]
The following figure shows the pH value as a functions of the Na+
concentration for a PBS buffer. Note that there are
three buffer ranges.

In this figure, we plot the concentration of the PBS buffer ions, and the
resulting ionic strength as a function of pH.

If you want to obtain the nextnano³ input file (Buffer_PBS.in)
that calculates the above figure, please submit a support ticket.
The entries for $buffer-solutions
that are specified in the database can be overwritten in the input
file. For details, have a look at the input file keyword
$buffer-solutions.
|