Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

QuantumChemistry

Symbols

  • ComputeVibrationalModes
  • ElectronicStructurePlot3D
  • ElectronicStructureResult
  • ModelChemistry
  • OptimizeMoleculeGeometry
  • PotentialEnergyScan
  • SinglePointEnergy
WolframChemistry`QuantumChemistry`
ComputeVibrationalModes
​
ComputeVibrationalModes
[mol,modelChemistry]
performs a normal-mode analysis of the molecule.
​
​
ComputeVibrationalModes
[electronicStructureResult]
uses the results from a geometry optimization.
​
Examples  
(1)
Basic Examples  
(1)
Compute the vibrational modes of water:
In[1]:=
mc=
ModelChemistry
["HartreeFock","6-31+G"];​​mol=
OptimizeMoleculeGeometry
[Molecule["water"],mc]["ResultMolecule"];​​res=
ComputeVibrationalModes
[mol,mc]
Out[1]=
ElectronicStructureResult
Molecule:
H
2
O
Calculation type: VibrationalAnalysis
Method: HartreeFock

Find the frequencies:
In[2]:=
res["VibrationalFrequencies"]//Normal
Out[2]=

1705.24
wavenumbers
,
3987.16
wavenumbers
,
4144.47
wavenumbers

Find all available properties:
In[3]:=
res["Properties"]
Out[3]=
{AtomCoordinates,AtomCount,AtomicNumbers,AtomicOrbitalIndices,AtomicOrbitalNames,AtomicOrbitalOverlapMatrix,AtomMasses,BasisFunctionCount,CalculationType,CartesianDisplacementVectors,CoreElectronCount,GaussianBasis,Hessian,InputMolecule,MassWeightedDisplacementVectors,MetaInformation,Method,MolecularMultipoleMoments,MolecularOrbitalCoefficients,MolecularOrbitalCount,MolecularOrbitalEnergies,MolecularOrbitalIndicesOfHOMO,Molecule,Multiplicity,NetCharge,PartialCharges,RotationalConstants,SCFEnergies,VibrationalForceConstants,VibrationalFrequencies,VibrationalTemperatures}
To visualize the animations first we need the displacement vectors for the vibrational modes:
In[4]:=
displacements=res["CartesianDisplacementVectors"]
Out[4]=
QuantityArray
Dimensions: {3,3,3}
Unit: Angstroms

In[5]:=
coords=mol["AtomCoordinates"]
Out[5]=
QuantityArray
Dimensions: {3,3}
Unit: Angstroms

In[6]:=
frequencies=res["VibrationalFrequencies"]
Out[6]=
QuantityArray
Dimensions: {3}
Unit: Wavenumbers

In[7]:=
vp={0.07,-0.58,3.4};​​vv={0,0,1};​​molPlot3D[ωt_,mode_]:=MoleculePlot3D[mol,AtomCoordinates(coords+.2Sin[ωt]displacements〚mode〛),SphericalRegionSphere[{0,0,0},2],ViewVerticalDynamic[vv],ViewPointDynamic[vp]]
In[8]:=
animation[mode_]:=ListAnimate[Table[molPlot3D[ωt,mode],{ωt,0,2π,.1}],AnimationRate200frequencies〚mode〛/Max[frequencies]]
In[9]:=
animation[2]
Out[9]=
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com