#Variable declaration
InitCH3COOH1=0.2 #Initial concentration of CH3COOH solution, M
#Let 'x' be the equilibrium concentration of the [H+] and [CH3COO-] ions after dissociation of [CH3COOH], M
Ka=1.8*10**-5 #equilibrium constant of acid, M
InitCH3COONa=0.3 #Initial concentration of CH3COONa solution and is equal to conc of Na+ and CH3COO- as it completely dissociates, M
InitCH3COOH2=0.2 #Initial concentration of CH3COOH solution, M
#Calculation
#(a)
import math
x1=math.sqrt(Ka*InitCH3COOH1) #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*x/(0.2-x), which reduces to x*x/0.2, as x<<0.2 (approximation)
pH1=-math.log10(x1) #since x is the conc. of [H+] ions
#(b)
#Let 'x' be the equilibrium concentration of the [H+] and hence conc of [CH3COO-] ions is '0.3 + x', M
x2=Ka*InitCH3COOH2/InitCH3COONa #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(0.3+x)/(0.2-x), which reduces to x*0.3/0.2(approximation)
pH2=-math.log10(x2) #since x is the conc. of [H+] ions
#Result
print"(a) the pH of CH3COOH solution is ",round(pH1,2)
print"(b) the pH of CH3COOH and CH3COONa solution is :",round(pH2,2)
#Variable declaration
Ka=1.8*10**-5 #ionisation constant of acid
InitCH3COONa=1 #Initial concentration of CH3COONa solution and is equal to conc of Na+ and CH3COO- as it completely dissociates, M
InitCH3COOH=1 #Initial concentration of CH3COOH solution, M
HCl=0.1 #moles of HCl added to 1L solution
#Calculation
import math
#(a)
x=Ka*InitCH3COOH/InitCH3COONa #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(1+x)/(1-x), which reduces to x(approximation)
pH=-math.log10(x) #since x is the conc. of [H+] ions
#(b)
CH3COO=InitCH3COONa-HCl #conc of CH3COO- ions, M
CH3COOH=InitCH3COOH+HCl #conc of CH3COOH, M
x2=Ka*CH3COOH/CH3COO #from the definition of ionisation constant Ka=[H+]*[CH3COO-]/[CH3COOH]=x*(0.9+x)/(1.1-x), which reduces to x*0.9/1.1(approximation)
pH2=-math.log10(x2) #since x is the conc. of [H+] ions
#Result
print"(a) the pH of CH3COOH and CH3COONa solution is :",round(pH,2)
print"(b) the pH of solution after adding HCl is :",round(pH2,2)
#Variable declaration
InitCH3COOH=0.1 #Initial concentration of CH3COOH solution, M
VCH3COOH=25 #volumeof CH3COOH, mL
nCH3COOH=InitCH3COOH*VCH3COOH/1000
Ka=1.8*10**-5 #equilibrium constant of acid, M
Kb=5.6*10**-10 #equilibrium constant of base, M
N=0.1 #Initial concentration of NaOH solution, M
V=10 #Initial volume of NaOH solution, mL
#Calculation
#(a)
n=N*V/1000 #Initial moles of NaOH solution
import math
nCH3COOH_tit=nCH3COOH-n #moles of CH3COOH after titration
nCH3COO=n #moles of CH3COO after titration
H=nCH3COOH_tit*Ka/nCH3COO #conc of H+ ions, M
pH=-math.log10(H) #since H is the conc. of [H+] ions
#Result
print"(a) the pH of the solution is :",round(pH,2)
#Calculation
#(b)
V2=25.0 #Initial volume of NaOH solution, mL
n2=N*V2/1000.0 #Initial moles of NaOH solution
nCH3COOH_tit2=nCH3COOH-n2 #moles of CH3COOH after titration
nCH3COO2=n2 #moles of CH3COO- ions after titration
V_total=V2+VCH3COOH #total volume after titration
CH3COO=nCH3COO2/V_total*1000 #conc of CH3COO- ions, M
x=math.sqrt(Kb*CH3COO) #from the definition of ionisation constant Kb=[OH-]*[CH3COOH]/[CH3COO-]=x*x/(0.05-x), which reduces to x*x/0.05, as x<<0.05 (approximation)
pOH=-math.log10(x) #since x is the conc. of [OH-] ions
pH2=14.0-pOH
#Result
print"(b) the pH of the solution is :",round(pH2,2)
#Calculation
#(c)
N=0.1 #Initial concentration of NaOH solution, M
V=35 #Initial volume of NaOH solution, mL
n=N*V/1000 #Initial moles of NaOH solution
n_tit=n-nCH3COOH #moles of NaOH after titration
nCH3COO=nCH3COOH #moles of CH3COO- ions after titration
V_total=V+VCH3COOH #total volume
OH=n_tit/V_total*1000 #conc of OH- ions, M
pOH=-math.log10(OH) #since OH is the conc. of [OH-] ions
pH=14-pOH
#Result
print"(c) the pH of the solution is :",round(pH,2)
#Variable declaration
InitNH3=0.1 #Initial concentration of NH3 solution, M
VNH3=25 #volume of NH3, mL
nNH3=InitNH3*VNH3/1000
Ka=5.6*10**-10 #equilibrium constant of acid, M
N=0.1 #Initial concentration, M
#Calculation
import math
V=VNH3/InitNH3*N #Initial volume, mL
V_total=V+VNH3 #total volume of the mixture, mL
n_NH4Cl=nNH3 #moles of NH4Cl
NH4Cl=n_NH4Cl/V_total*1000 #conc of NH4+ ions formed, M
x=math.sqrt(Ka*NH4Cl) #from the definition of ionisation constant Ka=[H+]*[NH3]/[NH4+]=x*x/(NH4+-x), which reduces to x*x/NH4+, as x<<NH4+ (approximation)
pH=-math.log10(x) #since x is the conc. of [H+] ions
#Result
print"The pH of the solution at equivalent point is :",round(pH,2)
#Variable declaration
solubility=0.67 #solubility of CaSO4, g/L
#Calculation
M=136.2 #mol mass of CaSO4, g
s=solubility/M #concentration, M
Ksp=s**2 #solubility product
#Result
print"The Ksp of CaSO4 is :%.1e"%Ksp
#Variable declaration
Ksp=2.2*10**-20 #solubility product
M=97.57 #mol mass of Cu(OH)2, g
#Calculation
s=(Ksp/4.0)**(1.0/3.0) #concentration, M
solubility=s*M #solubility of Cu(OH)2, g/L
#Result
print"The solubility of Cu(OH)2 is :%.2e"%solubility,"g/L"
#ALTERNATIVE METHOD:
#Variable declaration
Kspt=2.2*10**-20 #Ksp value from table 16.2
M=97.75 #Molar mass of Cu(OH)2
#Calculation
from scipy.optimize import fsolve
def f(s):
Cu2=s
OH_=2*s
return(Kspt-(Cu2*(OH_**2)))
s=fsolve(f,1)
solubility=round(s,8)*M
#Result
print "Alternative method: Solubility of Cu(OH)2=%.1e"%solubility,"g/L"
#Variable declaration
Ksp=1.1*10**-10 #solubility product of BaSO4
#for Ba2+ ion
N=0.004 #normality, M
V=200 #vol in mL
n=N*V/1000 #moles
#for K2SO4sol
N1=0.008 #normality, M
V1=600 #vol in mL
#Calculation
n1=N1*V1/1000 #moles
Nnew=n*1000/(V+V1) #conc of Ba2+ ions in final sol
N1new=n1*1000/(V+V1) #conc of SO4 2- ions in final sol
Q=Nnew*N1new #as Q=[Ba2+][SO4 2-]
#Result
print"Q=",Q
if(Q>Ksp): #determination of precipitation
print"Q>Ksp, The solution is supersaturated and hence a precipitate will form"
else:
print"Q<Ksp, The solution is not supersaturated and hence a precipitate will not form"
#Variable declaration
Br=0.02 #conc of Ag+ ions, M
Ksp1=7.7*10**-13 #solubility product of AgBr
Ksp2=1.6*10**-10 #solubility product of AgCl
Cl=0.02 #conc of Cl- ions, M
#Calculation
#for Br
Ag1=Ksp1/Br #conc of Ag+ ions at saturated state, M
#for Cl
Ag2=Ksp2/Cl #conc of Ag+ ions at saturated state, M
#Result
print "[Ag+]=",Ag2,"M"
print"To precipitate Br- without precipitating Cl- the concentration of Ag must be greater than %.1e"%Ag1,"M but less than",Ag2,"M"
#Variable declaration
N_AgNO3=6.5*10**-3 #normality of AgNO3, M
AgCl=143.4 #mol mass of AgCl, g
Ksp=1.6*10**-10 #solubility product of AgCl
#Calculation
Ag=N_AgNO3 #conc of Ag+ ions as 's' is negligible, M
s=Ksp/Ag #as Ksp=[Ag+][Cl-], molar solubility of AgCl, M
solubility=s*AgCl #solubility of AgCl in AgBr solution, g/L
#Result
print"The solubility of AgCl in AgBr solution is :%.2e"%solubility,"g/L"
#Variable declaration
FeCl2=0.003 #normality of FeCl2, M
Fe=FeCl2 #as Fe2+ is strong electrolyte, conc of Fe2+=conc of FeCl2, M
Ksp=1.6*10**-14 #solubility product of FeCl2
Kb=1.8*10**-5 #ionisation constant of base
#Calculation
import math
OH=math.sqrt(Ksp/Fe) #as Ksp=[Fe2+][OH-]**2, conc of OH- ions, M
x=(OH**2)/Kb+OH #as Kb=[NH4+][OH-]/[NH3]
#Result
print"To initiate precipitation the conc of NH3 must be slightly greater than :%.1e"%x,"M"
#Variable declaration
CuSO4=0.2 #normality of CuSO4, M
NH3=1.2 #initial conc of NH3, M
VNH3=1 #volume of NH3, L
Kf=5*10**13 #formation constant
#Calculation
CuNH34=CuSO4 #conc of Cu(NH3)4 2+, M
NH3=NH3-4*CuNH34 #conc of NH3 after formation of complex, as 4 moles of NH3 react to form 1 mole complex, M
x=CuNH34/(NH3**4*Kf) #as Kf=[Cu(SO4)3 2+]/[Cu2+][NH3]**4
#Result
print"The conc of Cu2+ ions in equilibrium is :%.1e"%x,"M"
#Variable declaration
InitNH3=1 #initial conc of NH3, M
Ksp=1.6*10**-10 #solubility product of AgCl
Kf=1.5*10**7 #formation constant of complex
#Calculation
K=Ksp*Kf #overall equilibrium constant
import math
s=math.sqrt(K)/(1+2*InitNH3*math.sqrt(K)) #molar solubility of AgCl, M
#Result
print"Amount of AgCl which can be dissolved in 1 L of 1 M NH3 sol in equilibrium is :",round(s,3),"M"