Skip to content

Commit 0776088

Browse files
committed
inital commit setting up main README
0 parents  commit 0776088

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

README.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Underdevelopment
2+
3+
###TODO:
4+
- [ ] add links
5+
- [ ] add project inputs
6+
- [ ] add project readme's
7+
- [ ] expand git intro
8+
9+
# C++ Programming Tutorial in Chemistry
10+
This tutorial is intended to touch on many, but certainly not all, of the fundamentals of C++ programming with an emphasis on quantum chemistry. Although I hope this section will get you started, it is not a substitute for a more complete reference manual. For more C++ language details, you may find the standard text by Josuttis [buy it](http://www.amazon.com/C-Standard-Library-Tutorial-Reference/dp/0201379260) useful or, for VT users, get it [on-line from the campus library](http://proquest.safaribooksonline.com/0201379260) or a decent on-line tutorial such as [this one](http://www.cplusplus.com/doc/tutorial/) or [this one](http://www.cprogramming.com/tutorial.html).
11+
12+
If you are new to programming, one way to approach this tutorial is to read through the subsections of "The Fundamentals" list first, then proceed with Project #1, using the earlier material as a reference. If you are already experienced with programming, you may be able to start immediately with Project #1. If you already have experience with electronic structure theory programs, then you may be ready for the Hartee-Fock programming project or even more advanced topics.
13+
14+
# Getting Started
15+
This repository is organized into several projects, each with its own directory.
16+
In each one you will find a `README.md` file like this one with instructions,
17+
and output for you to check your implementation against.
18+
These projects will also require some input files that will be discussed
19+
in each project as they become relevant.
20+
These input files can be found in the `inputs` directory.
21+
Within `input` there are directories for several different molecule/basis-set
22+
combinations where you will find integrals, molecular geometries and other files to use as input to your programs.
23+
24+
The wiki for this repository has some discussion of useful topics.
25+
Reading over the topics in the [wiki](addlink) is a good way to familiarize yourself with concepts you will use to complete these projects.
26+
The Fundamentals list below has links to pages within the wiki.
27+
28+
To begin work on the projects you can create a `clone` of this repository.
29+
First navigate to the directory where you would like to keep your programming projects. Then create the clone by this command
30+
```shell
31+
git clone [email protected]:CrawfordGroup/ProgrammingProjects.git
32+
```
33+
Now you should see a directory called `ProgrammingProjects` inside you will find all of the files that you can see on github.
34+
35+
# The Fundamentals (Updated: 29 August 2014)
36+
- An initial example
37+
- What is a "Compilation"
38+
- Code Comments
39+
- Data Types and Variables
40+
- Operators
41+
- Control Statements
42+
- Input/Output
43+
- Functions
44+
- Variable Scope and Reference Types
45+
- Memory Allocation
46+
- Classes and Objects
47+
- Overloading and Templates
48+
49+
# Quantum Chemistry Programming Projects
50+
- Project #1: Molecular Geometry/rotational constant analysis.
51+
- Project #2: Harmonic Vibrational analysis
52+
- Project #3: The Hartree-Fock self-consistent field (SCF) procedure.
53+
- Project #4: The second-order Moller-Plesset perturbation (MP2) energy.
54+
- Project #5: The coupled cluster singles and doubles (CCSD) energy.
55+
- Project #6: A perturbative triples correction to CCSD [CCSD(T)].
56+
- Project #7: Connecting your code to PSI4.
57+
- Project #8: DIIS extrapolation for the SCF procedure.
58+
- Project #9: Using symmetry in the SCF procedure.
59+
- Project #10: DIIS extrapolation for solving the CC amplitude equations.
60+
- Project #11: An "out of core" SCF procedure.
61+
- Project #12: Excited Electronic States: CIS and TDHF/RPA
62+
- Project #13: the Davidson-Liu Algorithm: CIS
63+
- Project #14: Excited Electronic States: EOM-CCSD (*In Preparation*)
64+

0 commit comments

Comments
 (0)