WOLFRAM NOTEBOOK

Quantum Chemistry

Out[]=
Chemistry is the study of electrons and their interactions in atoms and molecules. Quantum mechanics, specifically the Schrödinger equation, describes electrons and their interactions in atoms and molecules. Combining quantum mechanics and chemistry gives rise to quantum chemistry, which allows for the prediction and explanation of chemical properties.
In analogy to the hierarchy of representations in chemistry, there is a hierarchy of approximations known as model chemistries for solving the Schrödinger equation. Molecular mechanics (MM) is the simplest type of model chemistry and is accessible in the Wolfram Language via the
MoleculeValue
and
MoleculeModify
functions.Computing the electronic energy of a molecule at a particular set of molecular coordinates is known as a single point calculation.
Create a methane molecule and view the atom indices:
molCH4=Molecule
methane
CHEMICAL
;MoleculePlot3D[molCH4,AtomLabelsAutomatic,AtomLabelStyleDirective[Orange,Bold,16]]
Out[]=
Run a single point calculation for methane using the Merck Molecular Force Field, version 1994 (MMFF94):
MoleculeValue[molCH4,"MMFFEnergy"]
Out[]=
0.5992
kcal
th
/mol
Compute the MM energy for methane using MMFF94, MMFF94s and the universal force field (UFF) model chemistries:
MoleculeValue[molCH4,{"MMFFEnergy","MMFFsEnergy","UFFEnergy"}]
Out[]=
0.5992
kcal
th
/mol
,
0.5992
kcal
th
/mol
,
0.0173019
kcal
th
/mol
The molecular ground state corresponds to the lowest energy arrangement of the atoms in a molecule. Adjusting the geometry in order to minimize the electronic energy is known as a geometry optimization.
Run a geometry optimization on methane using MMFF94 and the Broyden–Fletcher–Goldfarb–Shanno (BFGS) optimizer:
optCH4=MoleculeModify[molCH4,{"EnergyMinimizeAtomCoordinates","MMFF94"}]
Out[]=
Molecule
Formula: C
H
4
Atoms: 5 Bonds: 4
Compare the initial and optimized MM energy:
MoleculeValue[{molCH4,optCH4},"MMFFEnergy"]
Out[]=
0.5992
kcal
th
/mol
,
0.0263826
kcal
th
/mol
Define a function for visualizing the molecular coordinates:
ClearAll@MolecularCoordinates;MolecularCoordinates[mol_]:=TableForm[Normal[mol["AtomCoordinates"]],(*UseNormaltoturntheQuantityArrayintoan
N
atom
by3matrix*)TableHeadings{Map[Row[#," "]&,AtomList[mol,All,{"AtomIndex","AtomicSymbol"}]],Map[Style[#,Italic]&,{"x","y","z"}]},TableAlignmentsCenter]
Compare the initial and optimized molecular coordinates:
Map[MolecularCoordinates[#]&,{molCH4,optCH4}]
Out[]=
x
y
z
1C
0.000115361
Å
-0.0000644059
Å
-0.000023318
Å
2H
-0.0698724
Å
1.09314
Å
0.196968
Å
3H
-0.534044
Å
-0.241997
Å
-0.946041
Å
4H
-0.466211
Å
-0.558814
Å
0.842109
Å
5H
1.07001
Å
-0.292263
Å
-0.0930131
Å
,
x
y
z
1C
-3.41848×
-7
10
Å
4.35226×
-7
10
Å
6.48849×
-8
10
Å
2H
-0.0686723
Å
1.0728
Å
0.193074
Å
3H
-0.524022
Å
-0.23709
Å
-0.928487
Å
4H
-0.457171
Å
-0.548637
Å
0.826373
Å
5H
1.04986
Å
-0.287075
Å
-0.09096
Å
Comparing molecular coordinates quickly becomes tedious. The bond lengths are a more chemically intuitive means to compare changes in the molecular coordinates.
Compute the methane bond lengths for the initial coordinates:
Grid[{BondList[molCH4],BondList[molCH4,All,"BondLength"]},Frame->All]
Out[]=
Bond[{1,2},Single]
Bond[{1,3},Single]
Bond[{1,4},Single]
Bond[{1,5},Single]
1.11301
Å
1.11302
Å
1.11304
Å
1.11297
Å
Compute the methane bond lengths for the optimized coordinates:
Grid[{BondList[optCH4],BondList[optCH4,All,"BondLength"]},Frame->All]
Out[]=
Bond[{1,2},Single]
Bond[{1,3},Single]
Bond[{1,4},Single]
Bond[{1,5},Single]
1.0922
Å
1.0922
Å
1.0922
Å
1.0922
Å
Out[]=
Close
Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.