WolframAlpha.com
WolframCloud.com
All Sites & Public Resources...
Products & Services
Wolfram|One
Mathematica
Wolfram|Alpha Notebook Edition
Programming Lab
Finance Platform
SystemModeler
Wolfram Player
Wolfram Engine
WolframScript
Enterprise Private Cloud
Enterprise Mathematica
Wolfram|Alpha Appliance
Enterprise Solutions
Corporate Consulting
Technical Consulting
Wolfram|Alpha Business Solutions
Resource System
Data Repository
Neural Net Repository
Function Repository
Wolfram|Alpha
Wolfram|Alpha Pro
Problem Generator
API
Data Drop
Products for Education
Mobile Apps
Wolfram Player
Wolfram Cloud App
Wolfram|Alpha for Mobile
Wolfram|Alpha-Powered Apps
Services
Paid Project Support
Wolfram U
Summer Programs
All Products & Services »
Technologies
Wolfram Language
Revolutionary knowledge-based programming language.
Wolfram Cloud
Central infrastructure for Wolfram's cloud products & services.
Wolfram Science
Technology-enabling science of the computational universe.
Wolfram Notebooks
The preeminent environment for any technical workflows.
Wolfram Engine
Software engine implementing the Wolfram Language.
Wolfram Natural Language Understanding System
Knowledge-based broadly deployed natural language.
Wolfram Data Framework
Semantic framework for real-world data.
Wolfram Universal Deployment System
Instant deployment across cloud, desktop, mobile, and more.
Wolfram Knowledgebase
Curated computable knowledge powering Wolfram|Alpha.
All Technologies »
Solutions
Engineering, R&D
Aerospace & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Mechanical Engineering
Operations Research
More...
Finance, Statistics & Business Analysis
Actuarial Sciences
Bioinformatics
Data Science
Econometrics
Financial Risk Management
Statistics
More...
Education
All Solutions for Education
Trends
Machine Learning
Multiparadigm Data Science
Internet of Things
High-Performance Computing
Hackathons
Software & Web
Software Development
Authoring & Publishing
Interface Development
Web Development
Sciences
Astronomy
Biology
Chemistry
More...
All Solutions »
Learning & Support
Learning
Wolfram Language Documentation
Fast Introduction for Programmers
Wolfram U
Videos & Screencasts
Wolfram Language Introductory Book
Webinars & Training
Summer Programs
Books
Need Help?
Support FAQ
Wolfram Community
Contact Support
Premium Support
Premier Service
Technical Consulting
All Learning & Support »
Company
About
Company Background
Wolfram Blog
Events
Contact Us
Work with Us
Careers at Wolfram
Internships
Other Wolfram Language Jobs
Initiatives
Wolfram Foundation
MathWorld
Computer-Based Math
A New Kind of Science
Wolfram Technology for Hackathons
Student Ambassador Program
Wolfram for Startups
Demonstrations Project
Wolfram Innovator Awards
Wolfram + Raspberry Pi
Summer Programs
More...
All Company »
Search
Join
Sign In
Dashboard
Groups
People
Message Boards
Answer
(
Unmark
)
Mark as an Answer
GROUPS:
Chemistry
Wolfram Language
Wolfram Summer School
3
Juan Sebastián Molano Peña
[WSS20] Function to compute the microwave spectrum tables from a molecule
Juan Sebastián Molano Peña, Universidad Icesi
Posted
6 months ago
647 Views
|
0 Replies
|
3 Total Likes
Follow this post
|
Abstract:
This work focused on using Mathematica to build a function to compute the microwave spectrum of a broad range of molecules and also implement functions such as Manipulate[], ListPlot[] and Show[] with the aim to improve the visualization process of the rotationally excited energy levels . We create a interactive framework which allows to compute the rovibronic spectrum of a diatomic molecule, as well as the frequencies of its pure rotational transitions and classify those transitions in R Branch and P Branch. Also, we worked on the computing of the rotational frequencies of some triatomic molecules and sorted those values in a Dataset[]. The motivation of this work arises from the need to create an interactive tool that facilitates the analysis of spectroscopic data and allows the effective connection of these results with the theory of molecular structure. Future work aimed at spectroscopy should allow the automated calculation of spectra for any type of molecule.
Introduction
One of the biggest challenges in molecular spectroscopy is in interpreting the information obtained about the structure or composition of a molecule. While microwave spectroscopy is a useful tool to determine the isotopic composition of the elements that make up a molecule through analyzing its rotational movements, the interpretation of these spectra is challenging due to how this phenomenon depends on molecular geometry. In order to contribute to this interpretation, this work focuses on using Mathematica and its wide range of functions to calculate and graph rovibrational spectra and thus be used as a learning tool that allows us to more effectively understand the impact of geometry when interpreting spectra. At an academic level, I consider that this type of subject is difficult to teach and learn, since it requires a geometric and dynamic analysis in 3D. Therefore, I am very happy to have been able to work on a project like this that I used Mathematica to meet a challenge such as teaching rotational spectroscopy.
Spectrum of a diatomic molecules
Computing the diatomic molecules spectrum is the most simple case for this kind of problems. To perform this we extract the values of some most commons universal constants using the function SemanticInterpretation[] as follow:
h
=
S
e
m
a
n
t
i
c
I
n
t
e
r
p
r
e
t
a
t
i
o
n
[
"
P
l
a
n
c
k
c
o
n
s
t
a
n
t
v
a
l
u
e
"
]
/
/
N
I
n
[
]
:
=
6
.
6
2
6
0
7
×
-
3
4
1
0
s
J
O
u
t
[
]
=
s
l
=
S
e
m
a
n
t
i
c
I
n
t
e
r
p
r
e
t
a
t
i
o
n
[
"
s
p
e
e
d
o
f
l
i
g
h
t
i
n
m
/
s
"
]
/
/
N
I
n
[
]
:
=
2
.
9
9
7
9
2
×
8
1
0
m
/
s
O
u
t
[
]
=
k
b
=
S
e
m
a
n
t
i
c
I
n
t
e
r
p
r
e
t
a
t
i
o
n
[
"
B
o
l
t
z
m
a
n
n
C
o
n
s
t
a
n
t
v
a
l
u
e
"
]
/
/
N
I
n
[
]
:
=
1
.
3
8
0
6
5
×
-
2
3
1
0
J
/
K
O
u
t
[
]
=
“h” is the Planck constant besides we need the value of the speed of light (vacuum) and Boltzmann constant as well.
One of the ways to perform the calculation of these spectra is getting the values of the spectroscopic parameters such as the rotational constants. We used these values reported in a database[1] and set it inside the code .
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
1
]
=
p
a
t
t
C
l
F
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
0
.
5
1
6
4
7
9
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
0
0
4
3
5
7
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
7
8
6
.
1
5
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
6
.
1
6
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
-
>
;
I
n
[
]
:
=
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
2
]
=
p
a
t
t
H
F
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
2
0
.
9
5
6
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
7
9
6
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
4
1
3
8
.
7
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
9
0
.
0
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
;
I
n
[
]
:
=
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
3
]
=
p
a
t
t
I
C
l
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
0
.
1
1
4
1
5
8
7
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
0
0
0
5
3
5
4
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
3
8
4
.
2
9
3
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
1
.
5
0
1
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
;
I
n
[
]
:
=
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
4
]
=
p
a
t
t
C
O
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
1
.
9
3
1
2
7
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
0
1
7
5
1
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
2
1
6
9
.
8
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
1
3
.
2
9
4
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
;
I
n
[
]
:
=
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
5
]
=
p
a
t
t
B
r
F
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
0
.
3
5
5
8
4
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
0
0
2
6
1
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
6
7
0
.
7
5
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
4
.
0
5
4
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
;
I
n
[
]
:
=
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
6
]
=
p
a
t
t
H
C
l
=
D
i
s
p
a
t
c
h
ℬ
e
Q
u
a
n
t
i
t
y
[
1
0
.
5
9
3
4
1
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
α
e
Q
u
a
n
t
i
t
y
[
0
.
3
0
7
1
8
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
Q
u
a
n
t
i
t
y
[
2
9
9
0
.
9
4
6
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
e
e
Q
u
a
n
t
i
t
y
[
5
2
.
8
1
8
6
,
"
C
e
n
t
i
m
e
t
e
r
s
"
^
(
-
1
)
]
,
m
p
;
I
n
[
]
:
=
where each of these parameter mean
ℬ
e is the rotational constant evaluated only in the equilibrium position of diatomic molecule
◼
e is the equilibrium vibration frequency under the harmonic approximation of diatomic molecule
◼
is the vibrational quantum number
◼
J is the rotational quantum number
◼
α
e is the vibration - rotation coupling constant
◼
v is the inertial distortion constant
◼
e
e
◼
Once, with all the parameters loaded we used the Manipulate[] and Module[] functions to generate a interactive framework that contains all the equations derivate from Quantum Mechanics that allow simulating this kind of molecular systems.
M
a
n
i
p
u
l
a
t
e
M
o
d
u
l
e
{
ℰ
r
o
t
,
p
a
r
t
i
F
u
n
R
o
t
,
p
o
p
R
o
t
,
r
o
v
i
b
E
n
e
r
g
y
,
f
r
e
q
u
e
n
c
y
R
o
t
,
f
r
e
q
u
e
n
c
y
P
,
f
r
e
q
u
e
n
c
y
R
,
m
i
c
r
o
w
a
v
e
l
i
n
e
s
,
p
e
a
k
s
P
,
p
e
a
k
s
R
,
s
p
e
c
t
r
u
m
R
,
s
p
e
c
t
r
u
m
P
,
f
r
e
q
u
e
n
c
y
T
a
b
l
e
}
,
ℰ
r
o
t
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
]
:
=
ℰ
r
o
t
[
J
,
,
ℬ
e
,
α
e
,
e
]
=
ℬ
e
-
α
e
+
1
2
J
(
J
+
1
)
-
4
3
ℬ
e
2
e
2
J
2
(
J
+
1
)
s
l
h
;
p
a
r
t
i
F
u
n
R
o
t
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
,
T
_
]
:
=
S
u
m
(
2
j
+
1
)
E
x
p
Q
u
a
n
t
i
t
y
M
a
g
n
i
t
u
d
e
@
-
ℰ
r
o
t
[
j
,
,
ℬ
e
,
α
e
,
e
]
k
b
T
,
{
j
,
0
,
1
0
,
1
}
;
p
o
p
R
o
t
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
,
T
_
]
:
=
E
x
p
Q
u
a
n
t
i
t
y
M
a
g
n
i
t
u
d
e
@
-
ℰ
r
o
t
[
J
,
,
ℬ
e
,
α
e
,
e
]
k
b
T
p
a
r
t
i
F
u
n
R
o
t
[
J
,
,
ℬ
e
,
α
e
,
e
,
T
]
;
r
o
v
i
b
E
n
e
r
g
y
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
,
e
e
_
]
:
=
e
+
1
2
-
e
e
2
+
1
2
+
ℬ
e
-
α
e
+
1
2
J
(
J
+
1
)
-
4
3
ℬ
e
2
e
2
J
2
(
J
+
1
)
;
f
r
e
q
u
e
n
c
y
R
o
t
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
]
:
=
2
(
J
+
1
)
ℬ
e
-
α
e
+
1
2
-
4
4
3
ℬ
e
2
e
3
(
J
+
1
)
;
f
r
e
q
u
e
n
c
y
P
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
,
e
e
_
]
:
=
r
o
v
i
b
E
n
e
r
g
y
[
J
-
1
,
+
1
,
ℬ
e
,
α
e
,
e
,
e
e
]
-
r
o
v
i
b
E
n
e
r
g
y
[
J
,
,
ℬ
e
,
α
e
,
e
,
e
e
]
;
f
r
e
q
u
e
n
c
y
R
[
J
_
,
_
,
ℬ
e
_
,
α
e
_
,
e
_
,
e
e
_
]
:
=
r
o
v
i
b
E
n
e
r
g
y
[
J
+
1
,
+
1
,
ℬ
e
,
α
e
,
e
,
e
e
]
-
r
o
v
i
b
E
n
e
r
g
y
[
J
,
,
ℬ
e
,
α
e
,
e
,
e
e
]
;
m
i
c
r
o
w
a
v
e
l
i
n
e
s
=
T
a
b
l
e
[
{
(
f
r
e
q
u
e
n
c
y
R
o
t
[
J
,
0
,
ℬ
e
,
α
e
,
e
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
)
s
l
,
p
o
p
R
o
t
[
J
,
0
,
ℬ
e
,
α
e
,
e
,
T
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
}
,
{
J
,
0
,
1
0
,
1
}
]
;
f
r
e
q
u
e
n
c
y
T
a
b
l
e
=
M
a
p
A
t
[
U
n
i
t
C
o
n
v
e
r
t
[
#
,
"
M
e
g
a
h
e
r
t
z
"
]
&
,
T
a
b
l
e
[
{
J
,
J
-
1
,
m
i
c
r
o
w
a
v
e
l
i
n
e
s
〚
J
,
1
〛
}
,
{
J
,
1
,
1
1
,
1
}
]
,
{
A
l
l
,
3
}
]
;
p
e
a
k
s
P
=
T
a
b
l
e
[
{
f
r
e
q
u
e
n
c
y
P
[
J
,
0
,
ℬ
e
,
α
e
,
e
,
e
e
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
,
J
(
p
o
p
R
o
t
[
J
,
0
,
ℬ
e
,
α
e
,
e
,
T
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
)
}
,
{
J
,
1
,
2
0
,
1
}
]
;
p
e
a
k
s
R
=
T
a
b
l
e
[
{
f
r
e
q
u
e
n
c
y
R
[
J
,
0
,
ℬ
e
,
α
e
,
e
,
e
e
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
,
(
J
+
1
)
(
p
o
p
R
o
t
[
J
,
0
,
ℬ
e
,
α
e
,
e
,
T
]
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
)
}
,
{
J
,
0
,
2
0
,
1
}
]
;
s
p
e
c
t
r
u
m
R
=
M
a
p
I
n
d
e
x
e
d
[
{
#
2
〚
1
〛
-
1
,
#
1
〚
1
〛
}
&
,
p
e
a
k
s
R
]
;
s
p
e
c
t
r
u
m
P
=
M
a
p
I
n
d
e
x
e
d
[
{
#
2
〚
1
〛
,
#
1
〚
1
〛
}
&
,
p
e
a
k
s
P
]
;
G
r
i
d
[
{
{
S
h
o
w
[
L
i
s
t
P
l
o
t
[
p
e
a
k
s
R
,
P
l
o
t
R
a
n
g
e
{
{
M
i
n
[
p
e
a
k
s
P
〚
;
;
,
1
〛
]
,
M
a
x
[
p
e
a
k
s
R
〚
;
;
,
1
〛
]
}
,
A
l
l
}
,
F
i
l
l
i
n
g
A
x
i
s
,
I
m
a
g
e
S
i
z
e
M
e
d
i
u
m
,
P
l
o
t
S
t
y
l
e
W
h
i
t
e
,
F
i
l
l
i
n
g
S
t
y
l
e
R
e
d
,
F
r
a
m
e
T
r
u
e
,
F
r
a
m
e
L
a
b
e
l
{
"
W
a
v
e
n
u
m
b
e
r
(
-
1
c
m
)
"
,
"
P
o
p
u
l
a
t
i
o
n
"
}
,
P
l
o
t
L
a
b
e
l
S
t
y
l
e
[
"
R
o
v
i
b
r
o
n
i
c
s
p
e
c
t
r
u
m
"
]
,
P
l
o
t
L
e
g
e
n
d
s
R
o
w
[
{
R
e
d
,
"
R
B
r
a
n
c
h
"
}
]
]
,
L
i
s
t
P
l
o
t
[
p
e
a
k
s
P
,
P
l
o
t
R
a
n
g
e
{
{
M
i
n
[
p
e
a
k
s
P
〚
;
;
,
1
〛
]
,
M
a
x
[
p
e
a
k
s
R
〚
;
;
,
1
〛
]
}
,
A
l
l
}
,
F
i
l
l
i
n
g
A
x
i
s
,
I
m
a
g
e
S
i
z
e
M
e
d
i
u
m
,
P
l
o
t
S
t
y
l
e
W
h
i
t
e
,
F
i
l
l
i
n
g
S
t
y
l
e
B
l
u
e
,
F
r
a
m
e
T
r
u
e
,
F
r
a
m
e
L
a
b
e
l
{
"
W
a
v
e
n
u
m
b
e
r
(
-
1
c
m
)
"
,
"
P
o
p
u
l
a
t
i
o
n
"
}
,
P
l
o
t
L
a
b
e
l
S
t
y
l
e
[
"
R
o
v
i
b
r
o
n
i
c
s
p
e
c
t
r
u
m
"
]
,
P
l
o
t
L
e
g
e
n
d
s
R
o
w
[
{
B
l
u
e
,
"
P
B
r
a
n
c
h
"
}
]
]
]
,
m
p
/
.
n
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
}
,
{
L
a
b
e
l
e
d
[
D
a
t
a
s
e
t
[
{
<
|
"
R
B
r
a
n
c
h
"
{
<
|
M
a
p
T
h
r
e
a
d
[
R
u
l
e
,
{
{
"
J
"
,
"
F
r
e
q
u
e
n
c
y
"
}
,
#
}
]
|
>
&
/
@
s
p
e
c
t
r
u
m
R
}
,
"
P
B
r
a
n
c
h
"
{
<
|
M
a
p
T
h
r
e
a
d
[
R
u
l
e
,
{
{
"
J
"
,
"
F
r
e
q
u
e
n
c
y
"
}
,
#
}
]
|
>
&
/
@
s
p
e
c
t
r
u
m
P
}
|
>
}
]
,
S
t
y
l
e
[
"
R
o
v
i
b
r
o
n
i
c
S
p
e
c
t
r
u
m
l
i
n
e
s
"
,
"
T
e
x
t
"
]
,
T
o
p
]
,
L
a
b
e
l
e
d
[
D
a
t
a
s
e
t
[
<
|
M
a
p
T
h
r
e
a
d
[
R
u
l
e
,
{
{
"
J
'
"
,
"
J
"
,
"
F
r
e
q
u
e
n
c
y
"
}
,
#
}
]
|
>
&
/
@
f
r
e
q
u
e
n
c
y
T
a
b
l
e
]
,
S
t
y
l
e
[
"
R
o
t
a
t
i
o
n
a
l
P
u
r
e
T
r
a
n
s
i
t
i
o
n
s
"
,
"
T
e
x
t
"
]
,
T
o
p
]
}
}
]
,
C
o
n
t
r
o
l
[
{
{
k
,
4
,
"
M
o
l
e
c
u
l
e
:
"
}
,
{
1
"
C
l
F
"
,
2
"
H
F
"
,
3
"
I
C
l
"
,
4
"
C
O
"
,
5
"
B
r
F
"
,
6
"
H
C
l
"
}
,
S
e
t
t
e
r
}
]
,
C
o
n
t
r
o
l
[
{
{
T
,
1
5
0
,
"
T
e
m
p
e
r
a
t
u
r
e
(
K
)
"
}
,
1
5
0
,
3
0
0
,
5
0
}
]
I
n
[
]
:
=
O
u
t
[
]
=
Above, we can see that there is a lot of information showed as:
The MoleculePlot3D[] of the respectively diatomic molecule
◼
The Rovibronic spectrum of the molecule (Reds bars are the R branches transitions and the blue ones are the P branches), here we used ListPlot[] and Show[] functions to plot the spectrum
◼
The frequencies of the pure rotational transitions (neglecting the vibrational interactions) are listed as a Dataset[]
◼
The frequencies of the rovibronic spectrum are listed
◼
Using the control panel inside of the Manipulate[] function you can control the temperature variable and change the nature of the molecule as well, you will see the above results respectively for each chosen molecule.
Triatomic Linear molecules
The triatomic system is similar to diatomic but in this case, the fact to added another atom increases the magnitude of the interaction between rotations and vibrations. Therefore, the number of the spectroscopic parameters changes but we set up in the code as follow:
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
1
]
=
p
a
t
t
H
C
N
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
4
4
3
3
6
.
8
0
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
2
7
9
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
2
1
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
0
.
0
0
4
3
5
7
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
1
0
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
2
]
=
p
a
t
t
C
l
C
N
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
5
9
7
0
.
8
2
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
0
.
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
1
6
.
3
9
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
0
.
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
1
5
9
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
3
]
=
p
a
t
t
B
r
C
N
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
4
1
2
0
.
1
9
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
1
5
.
5
4
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
1
1
.
4
9
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
0
.
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
0
8
4
2
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
4
]
=
p
a
t
t
I
C
N
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
3
2
2
5
.
5
3
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
9
.
3
3
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
9
.
5
0
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
0
.
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
0
6
2
6
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
5
]
=
p
a
t
t
O
C
S
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
6
0
8
1
.
4
8
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
2
0
.
5
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
1
0
.
5
9
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
3
6
.
4
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
1
2
8
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
6
]
=
p
a
t
t
S
C
S
e
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
4
0
1
7
.
6
8
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
1
3
.
2
7
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
6
.
9
2
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
0
.
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
0
7
6
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
7
]
=
p
a
t
t
N
N
O
=
D
i
s
p
a
t
c
h
[
{
ℬ
e
Q
u
a
n
t
i
t
y
[
1
2
5
6
1
.
6
4
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
1
Q
u
a
n
t
i
t
y
[
5
1
.
6
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
2
Q
u
a
n
t
i
t
y
[
-
1
2
.
6
,
"
M
e
g
a
h
e
r
t
z
"
]
,
α
3
Q
u
a
n
t
i
t
y
[
1
0
4
,
"
M
e
g
a
h
e
r
t
z
"
]
,
v
Q
u
a
n
t
i
t
y
[
0
.
0
0
5
2
4
,
"
M
e
g
a
h
e
r
t
z
"
]
}
]
;
I
n
[
]
:
=
Now, the selected molecule is HCN.
Similarly to the previous section, we created a interactive framework in which the nature of the triatomic molecule is changing but here only the tables with the frequencies of rotational transitions are displayed.
M
a
n
i
p
u
l
a
t
e
M
o
d
u
l
e
{
ℬ
v
,
l
,
m
i
c
r
o
W
a
v
e
L
i
n
e
s
}
,
ℬ
v
[
ℬ
e
_
,
α
1
_
,
α
2
_
,
α
3
_
]
:
=
ℬ
e
-
α
1
1
2
-
α
2
-
α
3
1
2
;
l
[
J
_
,
ℬ
v
_
,
v
_
,
l
_
]
:
=
(
2
ℬ
v
[
ℬ
e
,
α
1
,
α
2
,
α
3
]
(
J
+
1
)
)
-
4
v
(
3
(
J
+
1
)
-
(
J
+
1
)
2
l
)
;
m
i
c
r
o
W
a
v
e
L
i
n
e
s
=
T
a
b
l
e
[
{
J
+
1
,
J
,
l
[
J
,
ℬ
v
,
v
,
l
]
/
.
t
r
i
N
a
t
u
r
e
M
o
l
e
c
u
l
e
[
k
]
/
.
l
0
}
,
{
J
,
0
,
1
2
}
]
;
L
a
b
e
l
e
d
[
D
a
t
a
s
e
t
[
<
|
M
a
p
T
h
r
e
a
d
[
R
u
l
e
,
{
{
"
J
'
"
,
"
J
"
,
"
F
r
e
q
u
e
n
c
y
"
}
,
#
}
]
|
>
&
/
@
m
i
c
r
o
W
a
v
e
L
i
n
e
s
]
,
S
t
y
l
e
[
"
R
o
t
a
t
i
o
n
a
l
P
u
r
e
T
r
a
n
s
i
t
i
o
n
s
o
f
a
T
r
i
a
t
o
m
i
c
M
o
l
e
c
u
l
e
"
,
"
T
e
x
t
"
]
,
T
o
p
]
,
C
o
n
t
r
o
l
[
{
{
k
,
1
,
"
M
o
l
e
c
u
l
e
:
"
}
,
{
1
"
H
C
N
"
,
2
"
C
l
C
N
"
,
3
"
B
r
C
N
"
,
4
"
I
C
N
"
,
5
"
O
C
S
"
,
6
"
S
C
S
e
"
,
7
"
N
N
O
"
}
,
S
e
t
t
e
r
}
]
I
n
[
]
:
=
O
u
t
[
]
=
Other project insights
Throughout the development of the project, a lot of work was done on the automatic handling of physical units by Mathematica. In addition, emphasis was placed on the automatic extraction of universal constant values and the use of the Dataset[] function to organize the data that was obtained.
Future work
This is just the beginning, there are a lot of work to be done around the molecular spectroscopy. As a suggestion, the next step would be to compute (create an automatic algorithm) all these spectroscopic constants performing quantum mechanics calculations with the aim of improving the accuracy of the data and be able to compute all spectra of any molecule.
In conclusion, this project demonstrated a way to employ Mathematica to study and visualize spectroscopic topics. In my personal opinion, this is a potential tool to be implemented in the academic undergraduate courses and with further improvements this can be employed for an outstanding research project .
References
[1]National Institute of Standards And Technology , Chemistry web book NIST Link: https://webbook.nist.gov/chemistry/form-ser/ (Last revision July 12th 2020)
◼
[2]P. Kisliuk, C.H. Townes, “Molecular Microwave Spectra Tables”, National Bureau of Standars, Vol. 44, 611 p. 1950.
◼
[3]C.H. Townes, A.L. Schwalow, “Microwave Spectroscopy” McGraw-Hill , New York.
◼
[4]Ira. N. L, “Molecular Spectroscopy” John Wiley & Sons, Inc .1975
◼
[5]P.W. Atkins, R.S. Friedman,“Molecular Quantum Mechanics” Third Edition,1996
◼
[6]G.Hezberg, “Molecular Spectra and Molecular Structure I” Princeton, New Jersey,1950
◼
POSTED BY:
Juan Sebastián Molano Peña
Answer
Mark as an Answer
Reply
|
Flag
Reply to this discussion
in reply to
Add Notebook
Community posts can be styled and formatted using the
Markdown syntax
.
Tag limit exceeded
Note: Only the first five people you tag will receive an email notification; the other tagged names will appear as links to their profiles.
Publish anyway
Cancel
Reply Preview
Attachments
Remove
Add a file to this post
Follow this discussion
or
Discard
Group Abstract
Be respectful. Review our
Community Guidelines
to understand your role and responsibilities.
Community Terms of Use
Feedback
Enable JavaScript to interact with content and submit forms on Wolfram websites.
Learn how »