ab initio online training | ab initio online Course | ab initio training online
Exploring C-Chem with numeric MM and Ab-Initio methods
description
Transcript of Exploring C-Chem with numeric MM and Ab-Initio methods
Exploring C-Chem with numeric MM and Ab-Initio methods
Masood Malekghassemi
The Project
Comptuational Chemistry Methods Step 1: Molecular Mechanics
Step 2: Ab-initio quantum chemical methods
Analysis and translation of Ab-initio quantum chemical methods to molecular mechanics rules Step 3: AI
Concepts of Molecular Mechanics
Force field Defines how things interact
Simple particle mechanics, ball and spring model (basically what we did in AI mixed in with Parallel computing + making it look pretty)
Framework for Molecular Mechanics
Identities The different kinds of atoms and/or groups – may
be particular atoms in specific functional groups
Rules Governs the quantization of energy of particular
shapes and orientations of the molecule's constituents
Atoms and Atom Collections Atoms and/or groups governed by rules through
their identities
The Rules
The rules are the main difference between this program and other molecular mechanics programs Provides a generic interface to govern a system
through energetic interactions
Can be generated from arbitrary information
Will be made more generic by having types in themselves be data structures rather than hard-coded enumerations
Molecular Mechanics
Self-Consistent Field Method (SCF) Iterate over various orientations and shapes,
checking for lower energies.
Maximize energy or minimize energy Genetic Algorithms (more easily made parallel in the
future)
Display via dynamically updating 'Rule' view AtomsViewerRule utilizes a 'view' of an Atom Collection
to allow the GUI module to display the simulated system at any point in the simulation
Basics of Ab Initio methods
The underlying methods Schrodinger equation: H*Psi = E*Psi
Pseudo-eigenvalue/eigenfunction form H is a 'matrix' operator, Psi the wave'function', E the
energy 'eigenvalue'.
Solve either Ab Initio or semi-empirically Have finished neither – project may have been too
ambitious in terms of what was necessary to self-teach
*cough*graduate-level-math*cough*
Ab-initio Methods
Uses wavefunctions Represented by various functions
Slater Type Orbitals: N*exp(-a*r) Gaussian Type Orbitals: N*exp(-a*r^2)
General contraction: a linear combination c1*f1(x) + c2*f2(x) ... cn*fn(x)
Solves eqns via variational method Think differential equations, except more epic
Variational Method
The idea is to find minima: The energy of a system with wavefunctions is given
by <Psi|H|Psi> / <Psi|Psi> Psi is parameterized
Find stationary points w.r.t. the parameters
Identify minima
Boom – you have your minimum energy
Perturbation
The N-body problem is impossible to solve analytically Simplify the problem of atoms and electrons to
many 2-body problems
Add in the N-body elements later
Makes life a little bit easier with divide and conquer, essentially.
Artificial Intelligence
The lofty goal of the project (of course it's unaccomplished). Take the numeric values from all-periodic table
calculations and transform them into force field input for molecular mechanics applications.
Not even at the point where I'm thinking about it.
Previous incarnationImages:
Current Project
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
More images
Left: 4p orbital, only partially through (note only 3 nodes)Up: 5f orbital – caught the image while it's refreshing, so you might see an artifact
What It Does So Far:
It used to display the MM portion as it ran Doesn't anymore – old version was lost in mad
Eclipse IDE rampage (no back-ups <_<)
It displays the wavefunctions (based on the spherical harmonic function and a general contraction of gaussian functions).
Can perform overlap and KE integration of wavefunction representations over all space Totally analytical (so much research...)
Mini-CAS
To do the integrations, basically made a partial CAS Represent multi-dimensional polynomials (the crux
of the work)
Integrate/Differentiate said polynomials
Cartesian Gaussian Functions (for GTOs)
Expand the polynomials, are general enough for the following kinds:
Legendre Laguerre Ricola ← my personal misnomer
Mini-CAS
Can perform Jacobi diagonalization of symmetric matrices By extension, gets the eigenvectors (requisite for
EHM + HF)
By extension, it can find the eigenvalues of square matrices (requisite for Ab Initio methods)
Math Library
As for actual programming techniques, there are a few I've employed SFINAE (C++ specific)
ScalarTraits ScalarTraits_Tools HalfInteger specializations
Class definition overloading
Variadic function argument iterators Makes life easier when dealing with tensors in general
Conclusions Overestimated my ability to understand complex
mathematics in the first quarter.
Restarted the molecular mechanics portion 5-6 times in the second and third quarters. Currently have nothing to show from that work – it was
all deleted after I'd screwed with my IDE too much...
Attempted to work on the Ab Initio portions fourth quarter – failed to make it in time for TJSTAR Also got food poisoning the night before <_<