Heterogeneous Chemical Equilibrium with Calcium Carbonate

CaptionResourceCreateNotebook

Solid calcium carbonate ((Subscript[CaCO, 3])) decomposes into solid calcium oxide (CaO) and gaseous carbon dioxide ((Subscript[CO, 2])) in a constant-volume container at high temperatures. Carbon dioxide is assumed to be an ideal gas, and the two solids are assumed to be in separate phases. You can vary the number of moles of (Subscript[CaCO, 3]), CaO, and (Subscript[CO, 2]) added to the constant-volume container using sliders. The container displays the equilibrium pressure; the color intensity of the gas phase increases as the number of moles of (Subscript[CO, 2]) increases. The bar graph on the right shows the number of moles present at equilibrium. The equilibrium constant (Subscript[K, eq]) changes as the temperature changes using the slider. The equilibrium constant is equal to the (Subscript[CO, 2]) pressure (in bar) divided by the standard-state pressure of 1 bar. Note that adding more CaO when CaO is already in the container (or adding more (Subscript[CaCO, 3]) when (Subscript[CaCO, 3]) is already in the container) at equilibrium does not change equilibrium because increasing the number of moles of a pure solid does not change its fugacity.

Initialization CodeResourceCreateNotebook

If you provide initialization code, include a SaveDefinitions->True option in the Manipulate.

ManipulateResourceCreateNotebook

Manipulate[
Module[{ΔGa,R1,ΔHa,Ka,R2,V,P0,n2e,ζ,n0f,n1f,n2f,Pf,tank,bar},
ΔGa=-604.03-394.38-(-1128.79);(*kJ/mol*)
R1=8.314*^-3;(*kJ/mol/K*)
ΔHa=-635.09-393.51-(-1206.92);(*kJ/mol*)
Ka=Exp[-((ΔGa)/(R1*298))]*Exp[-((ΔHa)/R1)*((1/T)-(1/298))];

R2=83.14;(*cm3 bar/mol/K*)
V=4525;(*cm3*)
P0=((n2*R2*T)/V);

n2e=If[Abs[P0-Ka]<0.25,((P0*V)/(R2*T)),((Ka*V)/(R2*T))];

ζ=If[Ka>P0∧n2e-n2≥n0,n0,If[Ka<P0∧n1≤Abs[n2e-n2],-n1,n2e-n2],n2e-n2];

n0f=If[n0-ζ≤0.005,0,n0-ζ];
n1f=If[n1+ζ≤0.005,0,n1+ζ];
n2f=If[n2+ζ≤0.005,0,n2+ζ];

Pf=n2f*R2*T/V;

tank=Graphics3D[{
Table[{#1,Sphere[{RandomReal[{-0.75,0.75}],RandomReal[{-0.75,0.75}],0.05},RandomReal@0.1]},{20*#2}]&@@@{{RGBColor[0.07,0.5,1],n0f},{RGBColor[0.4,0.8,0],n1f}},
{EdgeForm[{Thickness@0.01,Black}],Opacity[.4],Blend[{White,Yellow},n2f/2.186],Cylinder[{{0,0,0},{0,0,1.5}}]},
{Gray,Cylinder[{{0,0,1.5},{0,0,1.55}}]},
If[n2f≥0.005,Text[Style[Subscript["CO",2],18],{0,0,0.5*1.5}, 
Background->None]],
Text[Style[Row@{Style["●",25,RGBColor[0.0667,0.5032,1]]," = ",Subscript["CaCO",3],Spacer@5,Style["●",25,RGBColor[0.361,0.8,0]]," = CaO"},18, Background->None],{0,0,-0.5}],
Text[Style[Row@{Style["P",Italic]," = ",NumberForm[Pf,{3,1}]," bar"},18],{0,0,2.15},Background->None]
},Boxed->False,ViewPoint->{.1,-2.1,.1},Lighting->{{"Ambient",LightGray}},PlotRange->{{-1,1},{-1,1},{-0.4,2}},ImagePadding->{{Automatic,Automatic},{20,Automatic}},ImageSize->{305,350},AspectRatio->Full];

bar=BarChart[{n0f,n1f,n2f},ChartStyle->{RGBColor[0.07,0.5,1],RGBColor[0.4,0.8,0],Yellow},PlotRange->{{0.5,3.5},{0,4}},
ChartLabels->(Style[#,Black]&/@{Subscript["CaCO",3],Subscript["CaO"," "],Subscript["CO",2]}),
Frame->{{True,False},{True,False}},FrameLabel->{None,"equilibrium amount (mol)"},
LabelStyle->{18,Black},ImagePadding->{{40,Automatic},{30,Automatic}},ImageSize->{295,350},AspectRatio->Full,
Epilog->{If[#1>0,Text[Style[NumberForm[#1,{3,2}],18],{#2,0.5*#1}]]&@@@{{n0f,1},{n1f,2},{n2f,3}}}];

Grid[{
{Text@Style[Row@{Subsuperscript["CaCO",3,"(s)"]," ⇌ ",Superscript["CaO","(s)"]," + ",Subsuperscript["CO",2,"(g)"]},20]},
{Grid[{{Show[tank],Show[bar]}}]}
},Alignment->Center]
],
Grid[{
{Control[{{T,1364,"temperature (K)"},980,1400,1,Appearance->"Labeled"}],SpanFromLeft},
{Style["add moles to the system:",Bold],SpanFromLeft},
{Control[{{n0,1,Subscript["CaCO",3]},0,2,0.01,Appearance->"Labeled",ImageSize->Small}],
Control[{{n1,1,"CaO"},0,2,0.01,Appearance->"Labeled",ImageSize->Small}],
Control[{{n2,1,Subscript["CO",2]},0,2,0.01,Appearance->"Labeled",ImageSize->Small}]}
},Alignment->Left]
]

SnapshotsResourceCreateNotebook

Source & Additional Information

Contributed By:ResourceCreateNotebook

Rachael L. Baumann

Garrison Vigil

John L. Falconer

DetailsResourceCreateNotebook

For this reaction, the equilibrium constant is equal to the equilibrium pressure (in bar) divided by 1 bar pressure. The equilibrium constant is calculated as a function of temperature using the Van't Hoff equation:

ln((Subscript[K, eq])/(Subscript[K, ref]))=-((Δ(H^o))/R) ((1/T)-(1/(Subscript[T, ref]))),

ln (Subscript[K, ref])=-((Δ(G^o))/(R (Subscript[T, ref]))),

where the subscript ref refers to a reference state, (Subscript[K, eq]) is the equilibrium constant, T is temperature (K), R is the ideal gas constant, Δ(H^o) is the standard enthalpy of reaction (kJ/mol), and Δ(G^o) is the standard Gibbs free energy of reaction (kJ/mol).

P=(Subscript[n, (Subscript[CO, 2])]) R T/V,

ζ=(((Subscript[K, eq]) V)/(R T))-(Subscript[n, (Subscript[CO, 2])]),

(Subscript[n, (Subscript[CaCO, 3]) (f)])=(Subscript[n, (Subscript[CaCO, 3])])-ζ,

(Subscript[n, CaO (f)])=(Subscript[n, CaO])+ζ,

(Subscript[n, (Subscript[CO, 2]) (f)])=(Subscript[n, (Subscript[CO, 2])])+ζ,

where P is the pressure (bar), (Subscript[n, i]) is the number of moles of component i initially in the system, (Subscript[n, i (f)]) is the final number of moles in the system, V is the fixed volume of the container ((cm^3)), and ζ is the extent of reaction.

The screencast video at[1] explains how to use this Demonstration.

References & CitationsResourceCreateNotebook

[1] Heterogeneous Chemical Equilibrium with Calcium Carbonate. www.colorado.edu/learncheme/thermodynamics/HeterogeneousChemicalEquilibriumCaCO3.html.

Submission NotesResourceCreateNotebook

Additional information for the reviewer.

KeywordsResourceCreateNotebook

chemical engineering

thermodynamics

chemical equilibrium

heterogeneous equilibrium

physical chemistry

CategoriesResourceCreateNotebook

Related DemonstrationsResourceCreateNotebook

Chemical Equilibrium in the Haber Process

Gas-Phase Chemical Equilibrium at Constant Pressure or Constant Volume

LinksResourceCreateNotebook

CompatibilityResourceCreateNotebook

Wolfram Language VersionResourceCreateNotebook

14.3+

Cloud SupportResourceCreateNotebook

AR SupportResourceCreateNotebook