This document has resources for people new to computational quantum chemistry. Mainly directed for people starting at our lab.
This list is currently quite rough looking, I'm constantly making updates :)
List of abbreviations:
- DFT - Density functional theory
- QC - Quantum chemistry
- QM - Quantum mechanics
- MD - Molecular dynamics
- Szabo, Ostlund: Modern Quantum Chemistry
- Quite dense
- Jensen: Introduction to Computational Chemistry
- Accessible
- Bachrach: Computational Organic Chemistry
- Nice examples, easy to read
- Cramer: Essential of Computational Chemistry
- Nice explanations, accessible
- Helgaker, Jorgensen, Olsen: Molecular Electronic-Structure Theory
- Very dense, a reference book
- Reiher: Relativistic Quantum Chemistry
- Berendsen: Simulating the Physical World
- Simulating materials, describes different models needed for different scales very well
- All the heavy computational work is done on remote computers
- All these computers run on linux
- DigitalOcean (provides virtual private servers for websites etc) has good tutorials: link
- Terminal basics
- Learn to use shell efficiently
- mkdir, mv, cp, ls, pwd, ...
- Basic Linux Navigation and File Management
- Learn to use shell efficiently
- Connect with ssh if you use linux/mac, with putty etc on Windows
- Copying files done with SCP
- The calculations require a lot of resources
- CSC provides computational resources for us
- Taito supercluster
- Sisu supercomputer
- A lot of chemistry software preinstalled
- Access to several databases
- Cambridge Structural Database System
- X-ray structures of molecules, useful toolkits for searching structures
- Web interface WebCSD
- Search with DOI etc
- The .cif files can be opened with avogadro, chemcraft, ...
- Cambridge Structural Database System
- Clusters have a lot of users, workload manager is used to allocate resources
- Define the resources you need
- Amount of cores, memory, time, ...
- SLURM workload manager is used in our environments
- Batch job file
- Used to define the calculation
- Resources and software needed
- Used to define the calculation
- CSCs tutorial
- Here's another tutorial
- Batch job file
- Basis sets
- BO approximation
- HF
- Electron correlation
- DFT
- Functionals
- Build the molecule with some visual tool (see below)
- Create an input file
- Each QC program has their own
- Send the job to queue
- Check results
- Errors are usually due to
- faulty input file
- not enough resources, such as time, memory
- convergence problems
- several ways to proceed, see Jensen's book
- Collect and analyze results
- Spreadsheets, Python, ...
-
Classical simulations
- Potential is defined as a sum of bond, angle, dihedral, van der Waals, electrostatic terms
- Parameters from experiments, QC calculations
- No quantum mechanical effects
- Bond breaking, polarization, ...
- Potential is defined as a sum of bond, angle, dihedral, van der Waals, electrostatic terms
-
Not very useful in our stuff, we mostly look at small molecules
-
- On CSC
- Active community, good forum
- ORCA input library is amazing. Easy to get started with this!
- Free for scientists! :)
- Good for spectroscopy
- DLPNO-CCSD(T) method!
-
- On CSC
- Fast!
- No typical input files
- Jobs are set up using the interactive define-script
- Not very user friendly, must be scripted away when running large-scale calculations
- Jobs are set up using the interactive define-script
-
- On CSC
- Open-source! :)
- Good for LARGE problems, scales to thousands of processors
- GROMACS
- The manual is a good intro to MD!
-
- Open source, quite powerful
- Best tool for building molecules, UFF force field for preoptimization
- Conformation search
- Visualization of orbitals, vibrations, Bader analysis, ...
-
- Excellent and scriptable program, heavily used in MD field
-
- Good for many manipulations, visualization
- Not free, 150 days free trial period
- MultiWFN
- Excellent tool for wave function analysis
- Pretty much everything is implemented
- Takes as an input eg. a molden-file
- NCIPlot
- Visual analysis of weak interactions
- Best choice in my opinion!
- I use it for everything: scientific computing, workflow automation, web development, deep learning, home automation...
- One of the most popular languages
- Excellent resources available!
- Slow for number crunching
- Can be used as front-end for C, Fortran through libraries
- So many resources!
- Programming intros
- Full stack python
- /r/python subreddit, check the side panel!
- Jupyter Notebooks: Very nice graphical user interface
- Each notebook consists of cells
- May contain code, markdown text, latex
- Can be run separately
- Inline plotting
- Can be shared
- See Johansson's Scientific python lectures, excellent intro to python, notebooks, the scientific stack
-
- linear algebra calculations and much more
-
- special functions, integrals, a lot of numerical tools
-
- plotting, excellent for visualizations *Pandas
- "excel", data structures, good for data manipulation, analysis
-
- Machine learning, regression, statistics
-
- Deep learning, cool stuff
- sed
- awk
- gnuplot
- "Information technologies for chemistry"
- Relational databases (MySQL, sqlite, postgreSQL, ...)
- Non-relational (MongoDB, ...)
- Pandas is quite good in my opinion