Periodiske egenskaper (kjemi)#
Programmering i kjemi kan handle om datahåndtering og utforsking av kjemiske egenskaper. I kjemi kan det blant annet være hensiktsmessig å fokusere på utforsking av periodiske egenskaper ved hjelp av ulike biblioteker i Python. Noen nyttige biblioteker som kan brukes til utforsking, er:
Mendeleev (grunnstoffer)
Chemlib (grunnstoffer, støkiometri og elektrokjemi)
pHcalc (pH-beregninger)
Du kan installere disse bibliotekene ved å gå inn på “Anaconda Prompt”. Dette er en terminal du har installert dersom du har Anaconda-pakka på datamaskinen din. Mac-brukere kan bare benytte den vanlige terminalen (“Terminal”) som finnes på Mac-en fra før av. I denne terminalen skriver du så:
pip install mendeleev
Følg eventuelle instruksjoner og vent til installasjonen er ferdig. Kjør deretter neste installasjon:
pip install chemlib
Og siste installasjon:
pip install phcalc
Da er du klar til å begynne!
Oppgave#
Vi starter med et enkelt eksempel for å bli kjent med Mendeleev-biblioteket.
from mendeleev import element
Z = 10
grunnstoff = element(Z)
navn = grunnstoff.name
symbol = grunnstoff.symbol
gruppe = grunnstoff.group_id
print("Atomnummer:", Z, "--Navn:", navn, "--Symbol:", symbol, "--Gruppe:", gruppe)
Atomnummer: 10 --Navn: Neon --Symbol: Ne --Gruppe: 18
Oppgave
Utvid programmet slik at det også skriver ut periodenummeret. Du kan enten tippe på hva kommandoen for periode er, eller du kan slå det opp i dokumentasjonen til mendeleev-biblioteket.
Modifiser programmet slik at det skriver ut informasjon om de 18 letteste grunnstoffene.
La oss kombinere mendeleev-biblioteket med løkker og lister slik at vi kan finne informasjon om flere grunnstoffer, i tillegg til at vi kan plotte ulike sammenhenger.
from pylab import *
from mendeleev import element
atomnummer = []
elektronegativitet = []
for i in range(1, 119):
grunnstoff = element(i)
atomnummer.append(grunnstoff.atomic_number)
elektronegativitet.append(grunnstoff.electronegativity())
Oppgave (PRIMM)
Forklar hva programmet ovenfor gjør.
Kjør programmet og print ut lista med atomnummer og lista med elektronegativitet. Gjorde programmet det du tenkte?
Istedenfor å bare printe ut listene, prøv å plotte listene mot hverandre (atomnummer på x-aksen og elektronegativitet på _y_aksen). Bruk gjerne scatter istedenfor plot, slik at vi får punkter og ikke linjer.
Modifiser programmet slik at det kun plotter grunnstoffene i andre periode. Beskriv trenden.
Vi kan gjennomgå hvert element i ei liste slik:
navneliste = ["Arne", "Bjarne", "Mia", "Pia"] for navn in navneliste: print(navn)
Bruk denne måten å gjennomgå lister på til å modifisere programmet slik at det kun plotter grunnstoffene i første gruppe. Beskriv trenden. Gjør det samme for gruppe 18 og beskriv denne trenden også.
Lag et program som skriver ut eller plotter kokepunktet til alle halogenene. Beskriv og forklar trenden i kokepunkt.