Kort fortalt: Når atomer kombineres for å lage forbindelser, blir det avgitt energi slik at systemet med forbindelser har lavere energi enn summen av energi til individuelle atom som inngår i forbindelsen. Denne energidifferansen er det vi kaller bindingsenergi $E_0$.
En sterk binding er dermed en binding der det kreves høy energi for å bryte bindingen, som er ekvivalent med å separere atomene fra hverandre.
Energipotensialet $E(r)$ illustrert i figuren over, viser at når to atomer er fullstendig separert ($r \rightarrow \infty$) er energien lik null, men den potensielle energien er absoluttverdien av $E_0$. Ved likevektsavstanden $r_0$ er det balanse i attraktive og repulsive krefter, og energien er på det laveste punktet.
Hva er greia: Modeller og relasjoner for energi og kraft i atombindinger inneholder konstanter og enheter litt utenfor det som er helt intuitivt, samtidig som funksjonene er fryktelig oppgira (eksempelvis $Br^{-9}$ tillater ikke mye slark i $r$ før du er Helt på jordet...).
Derfor: vær skikkelig ryddig med hensyn på enheter, og vær forsiktig med estimater og avrunding, med mindre du har god kontroll på relasjonene.
Relevante konstanter
eps0
: Permittivitet i vakuum ($\varepsilon_0$)e
: Elementærladning ($e$) Importerer konstanter fra matek.py
:
from matek import eps0, e
Bindingsenergi er summen av attraktiv og repulsiv energi:
\begin{equation} E = E_A + E_R \tag{1} \end{equation}Attraktiv, (Coulomb, ionisk binding):
\begin{equation} E_A = -\frac{A}{r}, \quad \text{hvor} \quad A = \frac{1}{4 \pi \epsilon_0} (|Z_1|e)(|Z_2|e) \tag{2} \end{equation}Attraktiv, generisk modell der $A$ og $m$ er empiriske konstanter:
\begin{equation} E_A = -\frac{A}{r^m} \tag{3} \end{equation}Repulsiv, generisk modell der $B$ og $n$ er empiriske konstanter:
\begin{equation} E_R = \frac{B}{r^n} \tag{4} \end{equation}En generisk empirisk modell for bindingsenergien der dermed
\begin{equation} E = -\frac{A}{r^m} + \frac{B}{r^n} \tag{5} \end{equation}hvor $A$, $B$, $m$ og $n$ er empirisk bestemte konstanter.
Pass på konsistente enheter. Eksempelvis vil enheten til parameteren $B$ være lik $[\text{Jm}^n]$ i SI systmet. Har vi derimot antatt avstand i $[\text{nm}]$ og energi i $[\text{eV}]$ blir enheten $[\text{eV nm}^n]$.
from math import pi
A = (1/(4*pi*eps0))*(e**2) # fra ligning (2)
print('A= {:.2e} [J m]'.format(A))
print('A= {:.2e} [J nm]'.format(A*1E9))
print('A= {:.6f} [eV nm]'.format(A*1E9/e))
Bindingskraften finner vi som bindingsenergien derivert med hensyn på avstanden $r$:
$$F_A = \frac{dE_A}{dr} = m\frac{A}{r^{m+1}} $$$$F_R = \frac{dE_R}{dr} = - n\frac{B}{r^{n+1}}$$\begin{equation} F = m\frac{A}{r^{m+1}} - n\frac{B}{r^{n+1}} \tag{6} \end{equation}import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
A = 1.436 # [eV nm] når m = 1
B = 5.86E-6 # [eV nm^9] når n = 9
m = 1
n = 9
r=np.linspace(0.2, 1.2, 10000) # 10000 datapunkt fra 0.2 til 1.2 nm
EA = -A/(r**m) # (3)
ER = B/(r**n) # (4)
E = EA + ER # (5)
FA = m*A/(r**(m+1))
FR = -n*B/(r**(n+1))
F = FA + FR # (6)
fig,(ax1,ax2)=plt.subplots(nrows=1, ncols=2,figsize=(10,5))
ax1.plot(r,EA ,'--',color='red',label='$E_A$')
ax1.plot(r,ER ,'--',color='blue',label='$E_R$')
ax1.plot(r,E ,color='black',label='$E$')
ax1.set_xlabel('$r$ [nm]')
ax1.set_ylabel('$E$ [eV]')
ax1.legend(loc='best')
ax1.grid(True)
ax1.set_ylim(-8,5)
ax2.plot(r,FA ,'--',color='red',label='$F_A$')
ax2.plot(r,FR ,'--',color='blue',label='$F_R$')
ax2.plot(r,F ,color='black',label='$F$')
ax2.set_xlabel('$r$ [nm]')
ax2.set_ylabel('$F$ [eV / nm]')
ax2.legend(loc='best')
ax2.grid(True)
ax2.set_ylim(-10,20)
plt.tight_layout()
plt.draw()
Likevektsavstanden $r_0$ finner vi der summen av krefter er null:
\begin{equation} F = m\frac{A}{r^{m+1}} - n\frac{B}{r^{n+1}} = 0 \tag{7} \end{equation}som har løsning
\begin{equation} r_0 = \bigg(\frac{nB}{mA}\bigg)^{\frac{1}{n-m}} \tag{8} \end{equation}Legg merket til at (8) indikerer at $m \ne n$ er en nødvendig betingelse for sammenhenger mellom parameter.
Ved likevekt er $E = E_0$ når $r = r_0$ slik at
\begin{equation} E_0 = -\frac{A}{r_0^m} + \frac{B}{r_0^n} \tag{9} \end{equation}r0 = ( (n*B)/(m*A) )**(1/(n-m)) # (8)
E0 = -A*r0**(-m) + B*r0**(-n) # (9)
print('r0 = {:.4f} nn, E0 = {:.2f} eV'.format(r0,E0))
Minimumsverdi for bindingsenergien kan vi også lett finne fra grafens data:
E_min = min(E)
print('Bindingsenergi = {:.2f} eV'.format(E_min))
Separasjonsavstanden $r_s$ finner vi der kraften har et maksimum:
\begin{equation} \frac{dF}{dr}\bigg |_{r=r_s} = 0 \Rightarrow -(m+1)mA r_s^{-m-2} + (n+1)nB r_s^{-n-2} = 0 \Rightarrow r_s = \bigg( \frac{m(m+1)A}{n(n+1)B} \bigg)^\frac{1}{m-n} \tag{10} \end{equation}Maks kraft $F_s$ blir nå gitt av (6) innsatt for $r = r_s$ fra (10)
rs = ( (m*(m+1)*A)/(n*(n+1)*B) )**(1/(m-n)) # ligning (10)
Fs = m*A*rs**(-m-1) -n*B*rs**(-n-1) # ligning (6) for r=rs
print('Kraft som må til for separasjon er Fs = {:.1f} eV/nm ved avstand rs = {:.3f} nm'.format(Fs,rs))
Bindingens stivhet $k$ ved likevektsavstanden $r_0$ er
\begin{equation} k = \frac{dF}{dr} \bigg |_{r=r_0} =-(m+1)mA r_0^{-m-2} + (n+1)nB r_0^{-n-2} \tag{10} \end{equation}k = -(m+1)*m*A*r0**(-m-2) + (n+1)*n*B*r0**(-n-2) # ligning (10)
print('Bindingens stivhet ved likevekt er k = {:.2f} eV/nm2'.format(k))
Ved små deformasjoner rundt likevektsavstanden, ser vi at energifunksjonen er tilnærmet en parabol, og at kraft versus deformasjon er tilnærmet en rett linje (altså en lineær sammenheng):
parabol = E0 + (1/2)*k*(r-r0)**2
linear = k*(r-r0)
fig,(ax1,ax2)=plt.subplots(nrows=1, ncols=2,figsize=(10,5))
ax1.plot(r,E ,color='black')
ax1.plot(r,parabol,'--',color='red')
ax1.set_xlabel('$r$ [nm]')
ax1.set_ylabel('$E$ [eV]')
ax1.grid(True)
ax1.set_xlim(r0-0.005, r0+0.005) # zoomer inn..
ax1.set_ylim(E0-0.001,E0+0.01) # zoomer inn..
ax2.plot(r,F ,color='black')
ax2.plot(r,linear, '--', color='red' )
ax2.set_xlabel('$r$ [nm]')
ax2.set_ylabel('$F$ [eV / nm]')
ax2.grid(True)
ax2.set_xlim(r0-0.005, r0+0.005) # zoomer inn..
ax2.set_ylim(-5,5) # zoomer inn..
plt.tight_layout()
plt.draw()
Hva er effekten av parametrene $A$, $B$, $m$ og $n$? Se Case studiet: Parameterstudie og kurvetilpasning for atombinding.
Til slutt: samme eksemple men med enheter [J] og [m]:
A = 1.436*e*1E-9 # konverterer til [J m]
B = 5.86E-6*e*(1E-9)**9 # konverterer til [J m^9]
m = 1
n = 9
r=np.linspace(0.2E-9, 1.2E-9, 10000) # 10000 datapunkt fra 0.2E-9 til 1.2E-9 m
EA = -A/(r**m)
ER = B/(r**n)
E = EA + ER
FA = m*A/(r**(m+1))
FR = -n*B/(r**(n+1))
F = FA + FR
fig,(ax1,ax2)=plt.subplots(nrows=1, ncols=2,figsize=(10,5))
ax1.plot(r,EA ,'--',color='red',label='$E_A$')
ax1.plot(r,ER ,'--',color='blue',label='$E_R$')
ax1.plot(r,E ,color='black',label='$E$')
ax1.set_xlabel('r [m]')
ax1.set_ylabel('E [J]')
ax1.legend(loc='best')
ax1.grid(True)
ax1.set_ylim(-1E-18,1E-18)
ax2.plot(r,FA ,'--',color='red',label='$F_A$')
ax2.plot(r,FR ,'--',color='blue',label='$F_R$')
ax2.plot(r,F ,color='black',label='$F$')
ax2.set_xlabel('r [m]')
ax2.set_ylabel('F [N]')
ax2.legend(loc='best')
ax2.grid(True)
ax2.set_ylim(-0.5E-8,0.5E-8)
plt.tight_layout()
plt.draw()