The relation between energy quanta of an Einstein solid and the equipartition value of heat capacity

Consider an Einstein solid with quantized energy values $U=q\epsilon$ and $N$ oscillators. I calculated some values of an Einstein solid numerically through a function in R (at the bottom of the post). In an exercise I'm supposed to estimate $\epsilon$.

Apparently the answer is that I can estimate it by showing that $kT/\epsilon$ is approximately $1/3$ when the heat capacity reaches half of its maximum value (this value is called the equipartition value). I find this conclusion really confusing, since the energy quanta don't have anything to do with the heat capacity (or do they?). The exact wording in the solution of the exercise is

Note that in the high-temperature limit the heat capacity approaches the result predicted by the equipartition theorem, $C=Nk$ (since there are two degrees of freedom per oscillator). Below $kT=\epsilon$. however, the heat capacity falls off dramatically. (...) The value of $\epsilon$ can be estimated by noting that the heat capacity reaches half of its equipartition value at $kT\approx\epsilon/3$.

Could anyone please explain how does conclusion works? I can't get a grasp on understanding the relation between the energy quanta and the equipartition value of heat capacity.

The function I wrote to produce a table uses column names such as C_Nk where I in fact mean $C/Nk$, R just doesn't handle slashes in function names so well:

install.packages('gmp');install.packages('Rmpfr');library('gmp');library('Rmpfr')
EinsteinProperties <- function(N){
q_total=100
q=0:q_total
Omega=formatMpfr(chooseMpfr(N+q-1,q),digits=2)
S_k=formatMpfr(log(chooseMpfr(N+q-1,q)),digits=4)
kT_eps=rep(0,length(q))
C_Nk=rep(0,length(q))
for(i in 0:q_total){
if(i>0&&i<q_total){
kT_eps[i+1]=formatMpfr(2/(log(chooseMpfr(N+(i+1)-1,i+1))-log(chooseMpfr(N+(i-1)-1,i-1))),digits=2)
}else if(i==0||i==q_total){
kT_eps[i+1]=0
}
}
for(i in (0:q_total)){
if(i==1){
C_Nk[i+1]=formatMpfr(2/(2/(log(chooseMpfr(N+(i+2)-1,i+2))-log(chooseMpfr(N+(i)-1,i))))/N,digits=2)
} else if(i>1&&i<q_total){
C_Nk[i+1]=formatMpfr(2/(2/(log(chooseMpfr(N+(i+2)-1,i+2))-log(chooseMpfr(N+(i)-1,i)))-2/(log(chooseMpfr(N+(i)-1,i))-log(chooseMpfr(N+(i-2)-1,i-2))))/N,digits=2)
} else {
C_Nk[i+1]=0
}
}
table <- cbind(q,Omega,S_k,kT_eps,C_Nk)
layout(matrix(1:2,1,2))
graph_S_k <- plot(q,S_k,type="l",xlab="U/eps",ylab="S/k",main="Entropy",xlim=c(0,100))
graph_C_Nk <- plot(kT_eps[2:q_total],C_Nk[2:q_total],type="l",xlab="kT/eps",ylab="C/Nk",main="Heat capacity",xlim=c(0,2),ylim=c(0,1))
return(table)
}
EinsteinProperties(50)

• What programming language does handle slashes in variables? – Kyle Kanos Aug 29 '14 at 1:21
• @KyleKanos LaTeX if you want it to ;) – 1010011010 Mar 26 '19 at 13:01

The heat capacity of an Einstein solid is given by $$C = Nk \left(\frac{\epsilon}{kT}\right)^{2} \frac{e^{\epsilon/kT}}{(e^{\epsilon/kT}-1)^{2}},$$ where $N$ is the number of degrees of freedom. So the value of the energy quantum $\epsilon$, or more precisely the ratio $x\equiv\epsilon/kT$ matters! The above equation tends to the equipartition value $Nk$ as $x \rightarrow 0$, and the half maximum corresponds the value of $x$ satisfying $$x^{2}\frac{e^{x}}{(e^{x}-1)^{2}} =\frac{1}{2}.$$ It turns out that the solution is $x_{\rm{half}} = 2.98287\ldots \approx 3$, and this is the origin of the relation $kT/\epsilon\approx 1/3$ given to you.
• I've asked a followup question since the next problem derives the same formula (so I reckon I can't use it now): physics.stackexchange.com/questions/133077/… - Anyway, I'm still not getting why it should be half and not say, three quarter, or a quarter etc. The chosen value of $C$ just seems baseless to me. – 1010011010 Aug 29 '14 at 10:18