10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-11-13 17:43:41 +01:00

Better doc

This commit is contained in:
Anthony Scemama 2021-01-04 23:52:36 +01:00
parent d2b4928352
commit 475635cf6c
5 changed files with 121 additions and 86 deletions

View File

@ -17,10 +17,10 @@
Data structure for Gaussian Atomic Orbitals:
$$
\chi(r) = P(X_A,Y_A,Z_A) \sum_k a_k \exp\left( -\alpha_k (\mathbf{r-R_A})^2 \right)
\chi_i(\mathbf{r}) = P_i(\mathbf{r}) \sum_k c_k \exp\left( -\alpha_k (\mathbf{r-R_A})^2 \right)
$$
where the polynomial $P$ and the Gaussian part are both centered on
where the polynomial $P_Ai and the Gaussian part are both centered on
nucleus $A$.
** Type

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-04 Mon 23:37 -->
<!-- 2021-01-04 Mon 23:51 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Atomic Orbitals</title>
@ -251,36 +251,36 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org85ad534">1. Gaussian basis</a>
<li><a href="#orgdad2461">1. Gaussian basis</a>
<ul>
<li><a href="#orgd5272b4">1.1. Type</a></li>
<li><a href="#orgaf2c5e0">1.2. Access</a></li>
<li><a href="#org2ef05ff">1.3. Computation</a></li>
<li><a href="#orgc96dbf4">1.4. Creation</a></li>
<li><a href="#org2ad4cb4">1.5. Printers</a></li>
<li><a href="#org74f68e8">1.1. Type</a></li>
<li><a href="#orgfdc3c55">1.2. Access</a></li>
<li><a href="#org1c0d454">1.3. Computation</a></li>
<li><a href="#org79e7f88">1.4. Creation</a></li>
<li><a href="#org94dcdb9">1.5. Printers</a></li>
</ul>
</li>
<li><a href="#org0b46c53">2. Basis</a>
<li><a href="#orga689f4e">2. Basis</a>
<ul>
<li><a href="#org92f0c67">2.1. Dimensions&#xa0;&#xa0;&#xa0;<span class="tag"><span class="noexports">noexports</span></span></a></li>
<li><a href="#org30491e1">2.2. Polymorphic types</a></li>
<li><a href="#org7349692">2.3. Types</a></li>
<li><a href="#org7ec971a">2.4. Conversions</a></li>
<li><a href="#orgae6a1f6">2.5. Access</a></li>
<li><a href="#orgaa19d01">2.6. Printers</a></li>
<li><a href="#orgfd1c95a">2.1. Dimensions&#xa0;&#xa0;&#xa0;<span class="tag"><span class="noexports">noexports</span></span></a></li>
<li><a href="#org3d84ea0">2.2. Polymorphic types</a></li>
<li><a href="#org709c411">2.3. Types</a></li>
<li><a href="#org963f093">2.4. Conversions</a></li>
<li><a href="#org72dcc0e">2.5. Access</a></li>
<li><a href="#org4161331">2.6. Printers</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="org9946305"><span class="org-string">"Atomic basis set"</span>
<pre class="src src-ocaml" id="org4eaf45c"><span class="org-string">"Atomic basis set"</span>
</pre>
</div>
<div id="outline-container-org85ad534" class="outline-2">
<h2 id="org85ad534"><span class="section-number-2">1</span> Gaussian basis</h2>
<div id="outline-container-orgdad2461" class="outline-2">
<h2 id="orgdad2461"><span class="section-number-2">1</span> Gaussian basis</h2>
<div class="outline-text-2" id="text-1">
<p>
Data structure for Gaussian Atomic Orbitals:
@ -288,21 +288,21 @@ Data structure for Gaussian Atomic Orbitals:
<p>
\[
\chi(r) = P(X_A,Y_A,Z_A) \sum_k a_k \exp\left( -\alpha_k (\mathbf{r-R_A})^2 \right)
\chi_i(\mathbf{r}) = P_i(\mathbf{r}) \sum_k c_k \exp\left( -\alpha_k (\mathbf{r-R_A})^2 \right)
\]
</p>
<p>
where the polynomial \(P\) and the Gaussian part are both centered on
where the polynomial $P<sub>Ai</sub> and the Gaussian part are both centered on
nucleus \(A\).
</p>
</div>
<div id="outline-container-orgd5272b4" class="outline-3">
<h3 id="orgd5272b4"><span class="section-number-3">1.1</span> Type</h3>
<div id="outline-container-org74f68e8" class="outline-3">
<h3 id="org74f68e8"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-ocaml" id="orgfc52bc7"><span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
<pre class="src src-ocaml" id="orga6cc859"><span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Particles</span>
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Linear_algebra</span>
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Gaussian_integrals</span>
@ -314,8 +314,8 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-orgaf2c5e0" class="outline-3">
<h3 id="orgaf2c5e0"><span class="section-number-3">1.2</span> Access</h3>
<div id="outline-container-orgfdc3c55" class="outline-3">
<h3 id="orgfdc3c55"><span class="section-number-3">1.2</span> Access</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">basis</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Gaussian.Basis.</span>t
@ -406,8 +406,8 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-org2ef05ff" class="outline-3">
<h3 id="org2ef05ff"><span class="section-number-3">1.3</span> Computation</h3>
<div id="outline-container-org1c0d454" class="outline-3">
<h3 id="org1c0d454"><span class="section-number-3">1.3</span> Computation</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">values</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Coordinate.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Gaussian.Basis.</span>t <span class="org-tuareg-font-lock-module">Vector.</span>t
@ -432,8 +432,8 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-orgc96dbf4" class="outline-3">
<h3 id="orgc96dbf4"><span class="section-number-3">1.4</span> Creation</h3>
<div id="outline-container-org79e7f88" class="outline-3">
<h3 id="org79e7f88"><span class="section-number-3">1.4</span> Creation</h3>
<div class="outline-text-3" id="text-1-4">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">basis</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Gaussian.Basis.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span>
@ -456,15 +456,15 @@ Defaults:
<li><code>cartesian</code> : <code>false</code></li>
</ul>
<pre class="example" id="org2235be7">
<pre class="example" id="org2cdf9ac">
let b = Ao.Basis_gaussian.make ~basis nuclei ;;
val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs
</pre>
</div>
</div>
<div id="outline-container-org2ad4cb4" class="outline-3">
<h3 id="org2ad4cb4"><span class="section-number-3">1.5</span> Printers</h3>
<div id="outline-container-org94dcdb9" class="outline-3">
<h3 id="org94dcdb9"><span class="section-number-3">1.5</span> Printers</h3>
<div class="outline-text-3" id="text-1-5">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
@ -474,23 +474,23 @@ val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs
</div>
</div>
<div id="outline-container-org0b46c53" class="outline-2">
<h2 id="org0b46c53"><span class="section-number-2">2</span> Basis</h2>
<div id="outline-container-orga689f4e" class="outline-2">
<h2 id="orga689f4e"><span class="section-number-2">2</span> Basis</h2>
<div class="outline-text-2" id="text-2">
<p>
Data structure for Atomic Orbitals.
</p>
</div>
<div id="outline-container-org92f0c67" class="outline-3">
<h3 id="org92f0c67"><span class="section-number-3">2.1</span> Dimensions&#xa0;&#xa0;&#xa0;<span class="tag"><span class="noexports">noexports</span></span></h3>
<div id="outline-container-orgfd1c95a" class="outline-3">
<h3 id="orgfd1c95a"><span class="section-number-3">2.1</span> Dimensions&#xa0;&#xa0;&#xa0;<span class="tag"><span class="noexports">noexports</span></span></h3>
</div>
<div id="outline-container-org30491e1" class="outline-3">
<h3 id="org30491e1"><span class="section-number-3">2.2</span> Polymorphic types</h3>
<div id="outline-container-org3d84ea0" class="outline-3">
<h3 id="org3d84ea0"><span class="section-number-3">2.2</span> Polymorphic types</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-ocaml" id="org2d5449d"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span> <span class="org-tuareg-font-lock-operator">=</span>
<pre class="src src-ocaml" id="org8858f18"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span> <span class="org-tuareg-font-lock-operator">=</span>
<span class="org-tuareg-font-lock-operator">|</span> <span class="org-tuareg-font-lock-constructor">Unknown</span>
<span class="org-tuareg-font-lock-operator">|</span> <span class="org-tuareg-font-lock-constructor">Gaussian</span> <span class="org-keyword">of</span> <span class="org-tuareg-font-lock-module">Basis_gaussian.</span>t
</pre>
@ -498,8 +498,8 @@ Data structure for Atomic Orbitals.
</div>
</div>
<div id="outline-container-org7349692" class="outline-3">
<h3 id="org7349692"><span class="section-number-3">2.3</span> Types</h3>
<div id="outline-container-org709c411" class="outline-3">
<h3 id="org709c411"><span class="section-number-3">2.3</span> Types</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
@ -514,8 +514,8 @@ Data structure for Atomic Orbitals.
</div>
</div>
<div id="outline-container-org7ec971a" class="outline-3">
<h3 id="org7ec971a"><span class="section-number-3">2.4</span> Conversions</h3>
<div id="outline-container-org963f093" class="outline-3">
<h3 id="org963f093"><span class="section-number-3">2.4</span> Conversions</h3>
<div class="outline-text-3" id="text-2-4">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">of_nuclei_and_basis_filename</span> <span class="org-tuareg-font-lock-operator">:</span>
@ -549,15 +549,15 @@ Defaults:
<li><code>cartesian</code> : <code>false</code></li>
</ul>
<pre class="example" id="orgaf90516">
<pre class="example" id="org8d860d9">
let b = Ao.Basis.of_nuclei_and_basis_filename ~nuclei filename;;
val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
</pre>
</div>
</div>
<div id="outline-container-orgae6a1f6" class="outline-3">
<h3 id="orgae6a1f6"><span class="section-number-3">2.5</span> Access</h3>
<div id="outline-container-org72dcc0e" class="outline-3">
<h3 id="org72dcc0e"><span class="section-number-3">2.5</span> Access</h3>
<div class="outline-text-3" id="text-2-5">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">size</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
@ -655,8 +655,8 @@ val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
</div>
<div id="outline-container-orgaa19d01" class="outline-3">
<h3 id="orgaa19d01"><span class="section-number-3">2.6</span> Printers</h3>
<div id="outline-container-org4161331" class="outline-3">
<h3 id="org4161331"><span class="section-number-3">2.6</span> Printers</h3>
<div class="outline-text-3" id="text-2-6">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
@ -668,7 +668,7 @@ val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-04 Mon 23:37</p>
<p class="date">Created: 2021-01-04 Mon 23:51</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-04 Mon 23:32 -->
<!-- 2021-01-04 Mon 23:47 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>QCaml documentation</title>
@ -229,21 +229,21 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org5867ef0">1. Documentation of Modules</a></li>
<li><a href="#org8320997">1. Documentation of Modules</a></li>
</ul>
</div>
</div>
<div id="orgd9ea58a" class="figure">
<p><img src="./chamo_bg.png" alt="chamo_bg.png" />
</p>
</div>
<p>
QCaml is an OCaml library for writing quantum chemistry codes.
It is written using literate programming with org-mode.
</p>
<div id="org0374b1d" class="figure">
<p><img src="./chamo_bg.png" alt="chamo_bg.png" />
</p>
</div>
<p>
To use it interactively in the top level or in a Jupyter or org-mode
notebook, use
@ -259,30 +259,29 @@ This loads all the sub-libraries provided with QCaml, and installs
the pretty printers.
</p>
<div id="outline-container-org5867ef0" class="outline-2">
<h2 id="org5867ef0"><span class="section-number-2">1</span> Documentation of Modules</h2>
<div id="outline-container-org8320997" class="outline-2">
<h2 id="org8320997"><span class="section-number-2">1</span> Documentation of Modules</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-org">- <span class="org-org-link"><a href="./ao.html">Ao</a></span>
- <span class="org-org-link"><a href="./common.html">Common</a></span>
- <span class="org-org-link"><a href="./gaussian_integrals.html">Gaussian_integrals</a></span>
- <span class="org-org-link"><a href="./gaussian.html">Gaussian</a></span>
- <span class="org-org-link"><a href="./linear_algebra.html">Linear_algebra</a></span>
- <span class="org-org-link"><a href="./mo.html">Mo</a></span>
- <span class="org-org-link"><a href="./operators.html">Operators</a></span>
- <span class="org-org-link"><a href="./particles.html">Particles</a></span>
- <span class="org-org-link"><a href="./perturbation.html">Perturbation</a></span>
- <span class="org-org-link"><a href="./qcaml.html">Qcaml</a></span>
- <span class="org-org-link"><a href="./simulation.html">Simulation</a></span>
- <span class="org-org-link"><a href="./top.html">Top</a></span>
</pre>
</div>
<ul class="org-ul">
<li><a href="./ao.html">Ao</a></li>
<li><a href="./common.html">Common</a></li>
<li><a href="./gaussian_integrals.html">Gaussian integrals</a></li>
<li><a href="./gaussian.html">Gaussian</a></li>
<li><a href="./linear_algebra.html">Linear algebra</a></li>
<li><a href="./mo.html">Mo</a></li>
<li><a href="./operators.html">Operators</a></li>
<li><a href="./particles.html">Particles</a></li>
<li><a href="./perturbation.html">Perturbation</a></li>
<li><a href="./qcaml.html">Qcaml</a></li>
<li><a href="./simulation.html">Simulation</a></li>
<li><a href="./top.html">Top</a></li>
</ul>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-04 Mon 23:32</p>
<p class="date">Created: 2021-01-04 Mon 23:47</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -1,12 +1,11 @@
#+TITLE: QCaml documentation
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
[[./chamo_bg.png]]
QCaml is an OCaml library for writing quantum chemistry codes.
It is written using literate programming with org-mode.
[[./chamo_bg.png]]
To use it interactively in the top level or in a Jupyter or org-mode
notebook, use
@ -19,13 +18,50 @@
* Documentation of Modules
#+NAME: list
#+begin_src sh :exports results :results org
#+NAME: modules
#+begin_src sh :exports none
ls ../*/README.org \
| cut -d '/' -f 2 \
| sed 's/[^.]*/- \[\[.\/&\.html\]\[\u&\]\]/g'
| cut -d '/' -f 2
#+end_src
#+RESULTS: modules
| ao |
| common |
| gaussian_integrals |
| gaussian |
| linear_algebra |
| mo |
| operators |
| particles |
| perturbation |
| qcaml |
| simulation |
| top |
#+NAME: list
#+begin_src python :var modules=modules :exports results :results output drawer
for m in modules:
m = m[0]
m2 = m.replace("_"," ").capitalize()
print(f"- [[./{m}.html][{m2}]]")
#+end_src
#+RESULTS: list
:results:
- [[./ao.html][Ao]]
- [[./common.html][Common]]
- [[./gaussian_integrals.html][Gaussian integrals]]
- [[./gaussian.html][Gaussian]]
- [[./linear_algebra.html][Linear algebra]]
- [[./mo.html][Mo]]
- [[./operators.html][Operators]]
- [[./particles.html][Particles]]
- [[./perturbation.html][Perturbation]]
- [[./qcaml.html][Qcaml]]
- [[./simulation.html][Simulation]]
- [[./top.html][Top]]
:end:

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-04 Mon 23:37 -->
<!-- 2021-01-04 Mon 23:51 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Top-level</title>
@ -226,13 +226,13 @@
<div id="content">
<h1 class="title">Top-level</h1>
<div class="org-src-container">
<pre class="src src-ocaml" id="org358e627"><span class="org-string">"Installs pretty printers for top-level."</span>
<pre class="src src-ocaml" id="org6a155c1"><span class="org-string">"Installs pretty printers for top-level."</span>
</pre>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-04 Mon 23:37</p>
<p class="date">Created: 2021-01-04 Mon 23:51</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>