| 
    
 |  | 
 
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. 
 |