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()
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)