Forelesning 1: Programmering i kjemi#

Periodesystemet og periodiske egenskaper#

# Installere biblioteker i Jupyter Notebook
#!pip install mendeleev chemlib pandas seaborn
# Klasser og objekter
liste = [] # Objekt av klassen "list"
liste.append(1) # Funksjoner som brukes på objekter, kalles "metoder"
<class 'list'>
from mendeleev import element

vanadium = element(23)
print(vanadium.boiling_point, vanadium.symbol, vanadium.electronegativity(), vanadium.name)
3680.15 V 1.63 Vanadium
  • Oppgave: Modifiser programmet slik at det skriver ut informasjonen (navn, symbol og elektronegativitet) om de 18 letteste grunnstoffene.

for Z in range(1,19):
    grunnstoff = element(Z)
    navn = grunnstoff.name
    symbol = grunnstoff.symbol
    elneg = grunnstoff.electronegativity()
    print(f"Navn: {navn}, Symbol: {symbol}, Elektronegativitet: {elneg}")
Navn: Hydrogen, Symbol: H, Elektronegativitet: 2.2
Navn: Helium, Symbol: He, Elektronegativitet: None
Navn: Lithium, Symbol: Li, Elektronegativitet: 0.98
Navn: Beryllium, Symbol: Be, Elektronegativitet: 1.57
Navn: Boron, Symbol: B, Elektronegativitet: 2.04
Navn: Carbon, Symbol: C, Elektronegativitet: 2.55
Navn: Nitrogen, Symbol: N, Elektronegativitet: 3.04
Navn: Oxygen, Symbol: O, Elektronegativitet: 3.44
Navn: Fluorine, Symbol: F, Elektronegativitet: 3.98
Navn: Neon, Symbol: Ne, Elektronegativitet: None
Navn: Sodium, Symbol: Na, Elektronegativitet: 0.93
Navn: Magnesium, Symbol: Mg, Elektronegativitet: 1.31
Navn: Aluminum, Symbol: Al, Elektronegativitet: 1.61
Navn: Silicon, Symbol: Si, Elektronegativitet: 1.9
Navn: Phosphorus, Symbol: P, Elektronegativitet: 2.19
Navn: Sulfur, Symbol: S, Elektronegativitet: 2.58
Navn: Chlorine, Symbol: Cl, Elektronegativitet: 3.16
Navn: Argon, Symbol: Ar, Elektronegativitet: None
import matplotlib.pyplot as plt
import numpy as np
atomnummer = []
elektronegativitet = []

for Z in range(3,11):
    grunnstoff = element(Z)
    atomnummer.append(Z)
    elektronegativitet.append(grunnstoff.electronegativity())
plt.scatter(atomnummer, elektronegativitet, color = "hotpink")
plt.xlabel("Atomnummer")
plt.ylabel("Elektronegativitet")
plt.show()
../../_images/bf3583e13bb5120b7882e1bdcdd9ab6e00a85e7a8a877f12fdad8255fe51f567.png
  • Oppgave: Plott listene mot hverandre. Modifiser programmet slik at det kun plotter grunnstoffene i andre periode. Forklar trenden du ser.

Elektronegativitet i gruppe 1#

Oppgave: Plott elektronegativitet som funksjon av atomnummer for grunnstoffene i gruppe 1.

Støkiometriske beregninger#

Stoffmengdeberegninger#

from chemlib import Compound, Reaction
H2 = Compound("H2")
I2 = Compound("I2")
HI = Compound("HI")
reaksjon = Reaction([H2, I2], [HI])
reaksjon.is_balanced
False
reaksjon.balance()
reaksjon.is_balanced
True
reaksjon.formula
'1H₂ + 1I₂ --> 2H₁I₁'
  • Oppgave: Bruk chemlib til å balansere ufullstendig forbrenning av benzen (vi får vann og CO)