Dosage d' un Multiacide

(P Reinhardt, LCT, UPMC)

Clear["Global`*"]

L' acide

pKa1=2.5;
pKa2=5.0 ;
pKa3=9.0;
c0=1.;
V0=1.;

La base ajoutée

c1=1.;
V1= 15.;

Le calcul

c1=c1*V1/(V0+V1);
c0=c0*V0/(V0+V1);
Ka1=10.^-pKa1;
Ka2=10.^-pKa2;
Ka3=10.^-pKa3;
Ke=10.^-14;

c1 est la concentration des contre-ions, Na+ par exemple.

solution=SortBy[Solve[{H3O*OH==Ke,AH2*H3O/AH3==Ka1,AH*H3O/AH2==Ka2,A*H3O/AH==Ka3,AH3+AH2+AH+A==c0,OH+AH2+2 AH+3 A==H3O+c1},{AH3,AH2,AH,A,OH,H3O}],Last];
solution[[5]]
pHtmp=H3O/.solution
pH=pHtmp[[5]]
pH=-Log[10,pHtmp[[5]]];

Affichage du pH

Print[" pH = " ,pH]