Update documentation

This commit is contained in:
Anthony Scemama 2021-01-28 00:34:26 +01:00
parent d0f61750da
commit 8502befb65
67 changed files with 2621 additions and 936 deletions

View File

@ -1,24 +1,27 @@
#+TITLE: Atomic Orbitals
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Atomic basis set"
#+end_src
#+RESULTS: synopsis
: Atomic basis set
This modules contains the data structures used to characterize the
atomic basis set.
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +59,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
qcaml.particles
@ -67,7 +70,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
(modules_without_implementation ao_dim)
@ -86,4 +89,4 @@ with open(dunetest,'w') as f:

View File

@ -16,7 +16,7 @@
Data structure for Atomic Orbitals.
** Dimensions :noexports:
** Dimensions :noexport:
#+begin_src ocaml :tangle lib/ao_dim.mli :exports none
type t
@ -24,6 +24,7 @@ type t
** Polymorphic types
<<<~Basis.t~>>>
#+NAME: types
#+begin_src ocaml :tangle lib/basis_poly.mli
type t =
@ -37,6 +38,7 @@ type t =
** Types
<<<~Basis.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t
type ao = Ao_dim.t
@ -63,17 +65,24 @@ open Common
#+begin_src ocaml :tangle (eval mli)
val of_nuclei_and_basis_filename :
?kind:[> `Gaussian ] -> ?operators:Operator.t list -> ?cartesian:bool ->
nuclei:Nuclei.t -> string -> t
?kind:[> `Gaussian ] ->
?operators:Operator.t list ->
?cartesian:bool ->
nuclei:Nuclei.t ->
string ->
t
#+end_src
|--------------------------------+------------------------------------------------------------------------------------------------------------------------|
| ~of_nuclei_and_basis_filename~ | Creates the data structure for the atomic orbitals basis from a molecule ~Nuclei.t~ and the name of the basis-set file |
|--------------------------------+------------------------------------------------------------------------------------------------------------------------|
Defaults:
- ~kind~ : ~`Gaussian~
- ~operators~ : ~[]~
- ~cartesian~ : ~false~
Example:
#+begin_example
let b = Ao.Basis.of_nuclei_and_basis_filename ~nuclei filename;;
val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
@ -113,6 +122,7 @@ val cartesian : t -> bool
val values : t -> Coordinate.t -> ao Vector.t
#+end_src
|---------------------+--------------------------------------------------|
| ~size~ | Number of atomic orbitals in the AO basis set |
| ~ao_basis~ | One-electron basis set |
| ~overlap~ | Overlap matrix |
@ -126,6 +136,7 @@ val values : t -> Coordinate.t -> ao Vector.t
| ~f12_over_r12_ints~ | Electron-electron potential integrals |
| ~cartesian~ | If true, use cartesian Gaussians (6d, 10f, ...) |
| ~values~ | Values of the AOs evaluated at a given point |
|---------------------+--------------------------------------------------|
#+begin_src ocaml :tangle (eval ml) :exports none

View File

@ -16,11 +16,11 @@
Data structure for Gaussian Atomic Orbitals:
$$
\[
\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_Ai and the Gaussian part are both centered on
where the polynomial $P_i$ and the Gaussian part are both centered on
nucleus $A$.
** Type
@ -78,6 +78,7 @@ val overlap : t -> Overlap.t
val size : t -> int
#+end_src
|---------------------+--------------------------------------------------|
| ~basis~ | One-electron basis set |
| ~cartesian~ | If true, use cartesian Gaussians (6d, 10f, ...) |
| ~ee_ints~ | Electron-electron potential integrals |
@ -90,6 +91,7 @@ val size : t -> int
| ~ortho~ | Orthonormalization matrix of the overlap |
| ~overlap~ | Overlap matrix |
| ~size~ | Number of atomic orbitals |
|---------------------+--------------------------------------------------|
#+begin_src ocaml :tangle (eval ml) :exports none
let basis t = t.basis
@ -109,10 +111,14 @@ let size t = Matrix.dim1 (Lazy.force t.overlap)
** Computation
#+begin_src ocaml :tangle (eval mli)
val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t
val values : t ->
Coordinate.t ->
Gaussian.Basis.t Vector.t
#+end_src
|----------+--------------------------------------------------------------|
| ~values~ | Returns the values of all the AOs evaluated at a given point |
|----------+--------------------------------------------------------------|
#+begin_src ocaml :tangle (eval ml) :exports none
module Cs = Contracted_shell
@ -136,7 +142,8 @@ let values t point =
val make : basis:Gaussian.Basis.t ->
?operators:Operator.t list ->
?cartesian:bool ->
Nuclei.t -> t
Nuclei.t ->
t
#+end_src
Creates the data structure for atomic orbitals from a Gaussian basis and the
@ -146,6 +153,7 @@ val make : basis:Gaussian.Basis.t ->
- ~operators~ : ~[]~
- ~cartesian~ : ~false~
Example:
#+begin_example
let b = Ao.Basis_gaussian.make ~basis nuclei ;;
val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs

View File

@ -1,4 +1,4 @@
(* Dimensions :noexports: *)
(* Dimensions :noexport: *)
(* [[file:~/QCaml/ao/basis.org::*Dimensions][Dimensions:1]] *)

View File

@ -12,13 +12,16 @@ open Common
(* | ~of_nuclei_and_basis_filename~ | Creates the data structure for the atomic orbitals basis from a molecule ~Nuclei.t~ and the name of the basis-set file |
(* |--------------------------------+------------------------------------------------------------------------------------------------------------------------|
* | ~of_nuclei_and_basis_filename~ | Creates the data structure for the atomic orbitals basis from a molecule ~Nuclei.t~ and the name of the basis-set file |
* |--------------------------------+------------------------------------------------------------------------------------------------------------------------|
*
* Defaults:
* - ~kind~ : ~`Gaussian~
* - ~operators~ : ~[]~
* - ~cartesian~ : ~false~
*
* Example:
* #+begin_example
* let b = Ao.Basis.of_nuclei_and_basis_filename ~nuclei filename;;
* val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
@ -42,7 +45,8 @@ let of_nuclei_and_basis_filename ?(kind=`Gaussian) ?operators ?(cartesian=false)
(* | ~size~ | Number of atomic orbitals in the AO basis set |
(* |---------------------+--------------------------------------------------|
* | ~size~ | Number of atomic orbitals in the AO basis set |
* | ~ao_basis~ | One-electron basis set |
* | ~overlap~ | Overlap matrix |
* | ~multipole~ | Multipole matrices |
@ -54,7 +58,8 @@ let of_nuclei_and_basis_filename ?(kind=`Gaussian) ?operators ?(cartesian=false)
* | ~f12_ints~ | Electron-electron potential integrals |
* | ~f12_over_r12_ints~ | Electron-electron potential integrals |
* | ~cartesian~ | If true, use cartesian Gaussians (6d, 10f, ...) |
* | ~values~ | Values of the AOs evaluated at a given point | *)
* | ~values~ | Values of the AOs evaluated at a given point |
* |---------------------+--------------------------------------------------| *)

View File

@ -1,5 +1,6 @@
(* Types *)
(* Types
*
* <<<~Basis.t~>>> *)
(* [[file:~/QCaml/ao/basis.org::*Types][Types:1]] *)
type t
@ -16,8 +17,12 @@ open Linear_algebra
(* [[file:~/QCaml/ao/basis.org::*Conversions][Conversions:1]] *)
val of_nuclei_and_basis_filename :
?kind:[> `Gaussian ] -> ?operators:Operator.t list -> ?cartesian:bool ->
nuclei:Nuclei.t -> string -> t
?kind:[> `Gaussian ] ->
?operators:Operator.t list ->
?cartesian:bool ->
nuclei:Nuclei.t ->
string ->
t
(* Conversions:1 ends here *)
(* Access *)

View File

@ -24,7 +24,8 @@ type t =
(* | ~basis~ | One-electron basis set |
(* |---------------------+--------------------------------------------------|
* | ~basis~ | One-electron basis set |
* | ~cartesian~ | If true, use cartesian Gaussians (6d, 10f, ...) |
* | ~ee_ints~ | Electron-electron potential integrals |
* | ~ee_lr_ints~ | Electron-electron long-range potential integrals |
@ -35,7 +36,8 @@ type t =
* | ~multipole~ | Multipole matrices |
* | ~ortho~ | Orthonormalization matrix of the overlap |
* | ~overlap~ | Overlap matrix |
* | ~size~ | Number of atomic orbitals | *)
* | ~size~ | Number of atomic orbitals |
* |---------------------+--------------------------------------------------| *)
(* [[file:~/QCaml/ao/basis_gaussian.org::*Access][Access:2]] *)
@ -55,7 +57,9 @@ let size t = Matrix.dim1 (Lazy.force t.overlap)
(* | ~values~ | Returns the values of all the AOs evaluated at a given point | *)
(* |----------+--------------------------------------------------------------|
* | ~values~ | Returns the values of all the AOs evaluated at a given point |
* |----------+--------------------------------------------------------------| *)
(* [[file:~/QCaml/ao/basis_gaussian.org::*Computation][Computation:2]] *)
@ -83,6 +87,7 @@ let values t point =
* - ~operators~ : ~[]~
* - ~cartesian~ : ~false~
*
* Example:
* #+begin_example
* let b = Ao.Basis_gaussian.make ~basis nuclei ;;
* val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs

View File

@ -35,7 +35,9 @@ val size : t -> int
(* [[file:~/QCaml/ao/basis_gaussian.org::*Computation][Computation:1]] *)
val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t
val values : t ->
Coordinate.t ->
Gaussian.Basis.t Vector.t
(* Computation:1 ends here *)
(* Creation *)
@ -45,7 +47,8 @@ val values : t -> Coordinate.t -> Gaussian.Basis.t Vector.t
val make : basis:Gaussian.Basis.t ->
?operators:Operator.t list ->
?cartesian:bool ->
Nuclei.t -> t
Nuclei.t ->
t
(* Creation:1 ends here *)
(* Printers *)

View File

@ -1,5 +1,6 @@
(* Polymorphic types
*
* <<<~Basis.t~>>>
* #+NAME: types *)
(* [[file:~/QCaml/ao/basis.org::types][types]] *)

View File

@ -1,15 +1,15 @@
#+TITLE: Common
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summary
#+name: synopsis
#+begin_src ocaml :export output raw
"Utility functions used by all the other directories."
#+begin_src ocaml :exports none :results value
"Utility functions used by all the other directories"
#+end_src
#+RESULTS: synopsis
: Utility functions used by all the other directories.
: Utility functions used by all the other directories
* Dune files :noexport:
@ -19,7 +19,7 @@
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +56,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
str
zarith
@ -65,7 +65,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -76,7 +76,7 @@ with open(dunetest,'w') as f:
functionalities to OCaml, such as support for the ~popcnt~ instruction.
#+name: c-files
#+begin_src elisp
#+begin_src elisp
(c_names
util
)
@ -88,5 +88,5 @@ with open(dunetest,'w') as f:
** Parser
#+name: lex-yacc
#+begin_src elisp
#+begin_src elisp
#+end_src

View File

@ -19,6 +19,7 @@
** Type
<<<~Angular_momentum.t~>>>
#+NAME: types
#+begin_src ocaml :tangle (eval mli)
type t =
@ -64,6 +65,7 @@ val to_string : t -> string
| ~to_int~ | Returns the $l_{max}$ value of the shell |
| ~to_string~ | Converts the angular momentum into a string |
Example:
#+begin_example
Angular_momentum.of_char 'p';;
- : Angular_momentum.t = P
@ -142,6 +144,7 @@ val zkey_array : kind -> Zkey.t array
| ~n_functions~ | Returns the number of cartesian functions in a shell. |
| ~zkey_array~ | Array of ~Zkey.t~, where each element is a a key associated with the the powers of $x,y,z$. |
Example:
#+begin_example
Angular_momentum.(n_functions D) ;;
- : int = 6
@ -245,6 +248,7 @@ val ( + ) : t -> t -> t
val ( - ) : t -> t -> t
#+end_src
Example:
#+begin_example
Angular_momentum.(D + P);;
- : Angular_momentum.t = F

View File

@ -96,6 +96,7 @@ end
** Type
<<<~Bitstring.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t
#+end_src
@ -186,6 +187,7 @@ check_bool "of_x" true (one_x = (of_int x));
check_bool "of_z" true (one_x = (of_z (Z.of_int x)));
#+end_src
Example:
#+begin_example
Bitstring.of_int 15;;
- : Bitstring.t =
@ -231,6 +233,7 @@ let testbit = function
| Many x -> Many.testbit x
#+end_src
Example:
#+begin_example
Bitstring.(shift_left (of_int 15) 2);;
- : Bitstring.t =
@ -296,6 +299,7 @@ let lognot = function
#+end_src
Example:
#+begin_example
Bitstring.(logor (of_int 15) (of_int 73));;
- : Bitstring.t =
@ -333,6 +337,7 @@ let plus_one = function
#+end_src
Example:
#+begin_example
Bitstring.(plus_one (of_int 15));;
- : Bitstring.t =
@ -362,6 +367,7 @@ let popcount = function
#+end_src
Example:
#+begin_example
Bitstring.(trailing_zeros (of_int 12));;
- : int = 2
@ -387,6 +393,7 @@ let rec to_list ?(accu=[]) = function
check_bool "to_list" true ([ 1 ; 3 ; 4 ; 6 ] = (to_list (of_int 45)));
#+end_src
Example:
#+begin_example
Bitstring.(to_list (of_int 45));;
- : int list = [1; 3; 4; 6]
@ -412,6 +419,7 @@ let permutations m n =
aux (Util.binom n m) (minus_one (shift_left_one n m)) []
#+end_src
Example:
#+begin_example
Bitstring.permutations 2 4;;
- : Bitstring.t list =

View File

@ -17,6 +17,7 @@
** Type
<<<~Charge.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t
#+end_src

View File

@ -59,7 +59,7 @@ let multiplicity =
in
#+end_src
** Type
** Types
#+NAME:type
#+begin_src ocaml :tangle (eval mli)
@ -67,7 +67,9 @@ type short_opt = char
type long_opt = string
type optional = Mandatory | Optional
type documentation = string
type argument = With_arg of string | Without_arg | With_opt_arg of string
type argument = | With_arg of string
| Without_arg
| With_opt_arg of string
type description = {
short: short_opt ;
@ -79,9 +81,9 @@ type description = {
#+end_src
- Short option: in the command line, a dash with a single character
- <<<Short option>>>: in the command line, a dash with a single character
(ex: =ls -l=)
- Long option: in the command line, two dashes with a word
- <<<Long option>>>: in the command line, two dashes with a word
(ex: =ls --directory=)
- Command-line options can be ~Mandatory~ or ~Optional~
- Documentation of the option is used in the help function
@ -163,6 +165,7 @@ let output_text t =
Function to build the short description of the command-line
arguments, such as
Example:
#+begin_example
my_program -b <string> [-h] [-u <float>] -x <string> [--]
#+end_example
@ -184,6 +187,7 @@ let output_short x =
Function to build the long description of the command-line
arguments, such as
Example:
#+begin_example
-x --xyz=<string> Name of the file containing the nuclear
coordinates in xyz format

View File

@ -13,7 +13,6 @@
:PROPERTIES:
:header-args: :noweb yes :comments both
:END:
All constants used in the program.
** Thresholds

View File

@ -22,6 +22,7 @@
** Type
<<<~Coordinate.t~>>>
#+NAME: types
#+begin_src ocaml :tangle (eval mli)
type bohr
@ -62,7 +63,7 @@ type axis = X | Y | Z
#+begin_src ocaml :tangle (eval mli)
val make : 'a point -> t
val make_angstrom : 'a point -> angstrom point
val zero : bohr point
val zero : bohr point
#+end_src
| ~make~ | Creates a point in atomic units |
@ -114,14 +115,15 @@ val ( |+ ) : t -> t -> t
val ( |- ) : t -> t -> t
#+end_src
| ~neg~ | Negative of a point |
| ~get~ | Extracts the projection of the coordinate on an axis |
| ~dot~ | Dot product |
| ~norm~ | $\ell{^2}$ norm of the vector |
| ~¦.~ | Scales the vector by a constant |
| ~¦+~ | Adds two vectors |
| ~¦-~ | Subtracts two vectors |
| ~neg~ | Negative of a point |
| ~get~ | Extracts the projection of the coordinate on an axis |
| ~dot~ | Dot product |
| ~norm~ | $\ell{^2}$ norm of the vector |
| $\vert .$ | Scales the vector by a constant |
| $\vert +$ | Adds two vectors |
| $\vert -$ | Subtracts two vectors |
Example:
#+begin_example
Coordinate.neg { x=1. ; y=2. ; z=3. } ;;
- : Coordinate.t = -1.0000 -2.0000 -3.0000

View File

@ -31,6 +31,7 @@ open Powers
* | ~to_int~ | Returns the $l_{max}$ value of the shell |
* | ~to_string~ | Converts the angular momentum into a string |
*
* Example:
* #+begin_example
* Angular_momentum.of_char 'p';;
* - : Angular_momentum.t = P
@ -105,6 +106,7 @@ let of_int = function
(* | ~n_functions~ | Returns the number of cartesian functions in a shell. |
* | ~zkey_array~ | Array of ~Zkey.t~, where each element is a a key associated with the the powers of $x,y,z$. |
*
* Example:
* #+begin_example
* Angular_momentum.(n_functions D) ;;
* - : int = 6
@ -204,7 +206,8 @@ let zkey_array a =
(* #+begin_example
(* Example:
* #+begin_example
* Angular_momentum.(D + P);;
* - : Angular_momentum.t = F
*

View File

@ -1,5 +1,6 @@
(* Type
*
* <<<~Angular_momentum.t~>>>
* #+NAME: types *)
(* [[file:~/QCaml/common/angular_momentum.org::types][types]] *)

View File

@ -114,7 +114,8 @@ let of_z x =
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.of_int 15;;
* - : Bitstring.t =
* ++++------------------------------------------------------------
@ -201,7 +202,8 @@ let plus_one = function
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.(plus_one (of_int 15));;
* - : Bitstring.t =
* ----+-----------------------------------------------------------
@ -233,7 +235,8 @@ let popcount = function
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.(trailing_zeros (of_int 12));;
* - : int = 2
*
@ -257,7 +260,8 @@ let rec to_list ?(accu=[]) = function
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.(to_list (of_int 45));;
* - : int list = [1; 3; 4; 6]
* #+end_example *)

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Bitstring.t~>>> *)
(* [[file:~/QCaml/common/bitstring.org::*Type][Type:1]] *)
type t

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Charge.t~>>> *)
(* [[file:~/QCaml/common/charge.org::*Type][Type:1]] *)
type t

View File

@ -1,8 +1,8 @@
(* - Short option: in the command line, a dash with a single character
(* - <<<Short option>>>: in the command line, a dash with a single character
* (ex: =ls -l=)
* - Long option: in the command line, two dashes with a word
* - <<<Long option>>>: in the command line, two dashes with a word
* (ex: =ls --directory=)
* - Command-line options can be ~Mandatory~ or ~Optional~
* - Documentation of the option is used in the help function
@ -11,12 +11,14 @@
* (~git --log[=<n>]~) *)
(* [[file:~/QCaml/common/command_line.org::*Type][Type:2]] *)
(* [[file:~/QCaml/common/command_line.org::*Types][Types:2]] *)
type short_opt = char
type long_opt = string
type optional = Mandatory | Optional
type documentation = string
type argument = With_arg of string | Without_arg | With_opt_arg of string
type argument = | With_arg of string
| Without_arg
| With_opt_arg of string
type description = {
short: short_opt ;
@ -25,7 +27,7 @@ type description = {
doc : documentation ;
arg : argument ;
}
(* Type:2 ends here *)
(* Types:2 ends here *)
(* Mutable attributes
*
@ -96,6 +98,7 @@ let output_text t =
(* Function to build the short description of the command-line
* arguments, such as
*
* Example:
* #+begin_example
* my_program -b <string> [-h] [-u <float>] -x <string> [--]
* #+end_example *)
@ -120,6 +123,7 @@ let output_short x =
(* Function to build the long description of the command-line
* arguments, such as
*
* Example:
* #+begin_example
* -x --xyz=<string> Name of the file containing the nuclear
* coordinates in xyz format

View File

@ -1,4 +1,4 @@
(* Type
(* Types
*
* #+NAME:type *)
@ -7,7 +7,9 @@ type short_opt = char
type long_opt = string
type optional = Mandatory | Optional
type documentation = string
type argument = With_arg of string | Without_arg | With_opt_arg of string
type argument = | With_arg of string
| Without_arg
| With_opt_arg of string
type description = {
short: short_opt ;

View File

@ -53,14 +53,15 @@ let angstrom_to_bohr { x ; y ; z } =
(* | ~neg~ | Negative of a point |
* | ~get~ | Extracts the projection of the coordinate on an axis |
* | ~dot~ | Dot product |
* | ~norm~ | $\ell{^2}$ norm of the vector |
* | ~¦.~ | Scales the vector by a constant |
* | ~¦+~ | Adds two vectors |
* | ~¦-~ | Subtracts two vectors |
(* | ~neg~ | Negative of a point |
* | ~get~ | Extracts the projection of the coordinate on an axis |
* | ~dot~ | Dot product |
* | ~norm~ | $\ell{^2}$ norm of the vector |
* | $\vert .$ | Scales the vector by a constant |
* | $\vert +$ | Adds two vectors |
* | $\vert -$ | Subtracts two vectors |
*
* Example:
* #+begin_example
* Coordinate.neg { x=1. ; y=2. ; z=3. } ;;
* - : Coordinate.t = -1.0000 -2.0000 -3.0000

View File

@ -1,5 +1,6 @@
(* Type
*
* <<<~Coordinate.t~>>>
* #+NAME: types *)
(* [[file:~/QCaml/common/coordinate.org::types][types]] *)
@ -25,7 +26,7 @@ type axis = X | Y | Z
(* [[file:~/QCaml/common/coordinate.org::*Creation][Creation:1]] *)
val make : 'a point -> t
val make_angstrom : 'a point -> angstrom point
val zero : bohr point
val zero : bohr point
(* Creation:1 ends here *)
(* Conversion *)

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Non_negative_float.t~>> *)
(* [[file:~/QCaml/common/non_negative_float.org::*Type][Type:1]] *)
type t = private float

View File

@ -8,13 +8,14 @@ type t = {
x : int ;
y : int ;
z : int ;
tot : int ;
tot : int ;
}
(* Type:2 ends here *)
(* #+begin_example
(* Example:
* #+begin_example
* Powers.of_int_tuple (2,3,1);;
* - : Powers.t = x^2 + y^3 + z^1
*
@ -24,9 +25,9 @@ type t = {
(* [[file:~/QCaml/common/powers.org::*Conversions][Conversions:2]] *)
let of_int_tuple t =
let of_int_tuple t =
let result =
match t with
match t with
| (x,y,z) -> { x ; y ; z ; tot=x+y+z }
in
if result.x < 0 ||
@ -46,6 +47,7 @@ let to_int_tuple { x ; y ; z ; _ } = (x,y,z)
* | ~incr~ | Returns a new ~Powers.t~ with the power on the given axis incremented |
* | ~decr~ | Returns a new ~Powers.t~ with the power on the given axis decremented. As opposed to ~of_int_tuple~, the values may become negative|
*
* Example:
* #+begin_example
* Powers.get Coordinate.Y (Powers.of_int_tuple (2,3,1));;
* - : int = 3

View File

@ -1,12 +1,13 @@
(* Type *)
(* Type
*
* <<<~Powers.t~>>> *)
(* [[file:~/QCaml/common/powers.org::*Type][Type:1]] *)
type t = private {
x : int ;
y : int ;
z : int ;
tot : int ;
tot : int ;
}
(* Type:1 ends here *)
@ -23,7 +24,7 @@ val to_int_tuple : t -> int * int * int
(* [[file:~/QCaml/common/powers.org::*Operations][Operations:1]] *)
val get : Coordinate.axis -> t -> int
val incr : Coordinate.axis -> t -> t
val incr : Coordinate.axis -> t -> t
val decr : Coordinate.axis -> t -> t
(* Operations:1 ends here *)

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Range.t~>>> *)
(* [[file:~/QCaml/common/range.org::*Type][Type:1]] *)
type t

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Spin.t~>>> *)
(* [[file:~/QCaml/common/spin.org::*Type][Type:1]] *)
type t = Alfa | Beta

View File

@ -1,5 +1,6 @@
(* [[file:~/QCaml/common/util.org::*Erf][Erf:3]] *)
external erf_float : float -> float = "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
external erf_float : float -> float
= "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
(* Erf:3 ends here *)
(* [[file:~/QCaml/common/util.org::*Erfc][Erfc:3]] *)
@ -7,7 +8,8 @@ external erfc_float : float -> float = "erfc_float_bytecode" "erfc_float" [@@unb
(* Erfc:3 ends here *)
(* [[file:~/QCaml/common/util.org::*Gamma][Gamma:3]] *)
external gamma_float : float -> float = "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
external gamma_float : float -> float
= "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
(* Gamma:3 ends here *)
(* [[file:~/QCaml/common/util.org::*Popcnt][Popcnt:3]] *)
@ -362,6 +364,7 @@ let stream_fold f init stream =
* | ~pp_float_2darray_size~ | Printer for matrices with size |
* | ~pp_bitstring~ | Printer for bit strings (used by ~Bitstring~ module) |
*
* Example:
* #+begin_example
* pp_float_array_size:
* [ 6: 1.000000 1.732051 1.732051 1.000000 1.732051 1.000000 ]

View File

@ -1,13 +1,16 @@
(* [[file:~/QCaml/common/util.org::*Erf][Erf:2]] *)
external erf_float : float -> float = "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
external erf_float : float -> float
= "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
(* Erf:2 ends here *)
(* [[file:~/QCaml/common/util.org::*Erfc][Erfc:2]] *)
external erfc_float : float -> float = "erfc_float_bytecode" "erfc_float" [@@unboxed] [@@noalloc]
external erfc_float : float -> float
= "erfc_float_bytecode" "erfc_float" [@@unboxed] [@@noalloc]
(* Erfc:2 ends here *)
(* [[file:~/QCaml/common/util.org::*Gamma][Gamma:2]] *)
external gamma_float : float -> float = "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
external gamma_float : float -> float
= "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
(* Gamma:2 ends here *)
(* [[file:~/QCaml/common/util.org::*Popcnt][Popcnt:2]] *)

View File

@ -1,5 +1,6 @@
(* Types *)
(* Types
*
* <<<~Zkey.t~>>> *)
(* [[file:~/QCaml/common/zkey.org::*Types][Types:1]] *)
type t

View File

@ -1,5 +1,6 @@
(* Type *)
(* Type
*
* <<<~Zmap.t~>>> *)
(* [[file:~/QCaml/common/zmap.org::*Type][Type:1]] *)
include module type of Hashtbl.Make(Zkey)

View File

@ -16,6 +16,7 @@
** Type
<<<~Non_negative_float.t~>>
#+begin_src ocaml :tangle (eval mli)
type t = private float
#+end_src

View File

@ -7,34 +7,35 @@
(setq ml (concat lib name ".ml"))
(setq test-ml (concat testdir name ".ml"))
(org-babel-tangle)
#+end_src
#+end_src
* Powers
:PROPERTIES:
:header-args: :noweb yes :comments both
:END:
Contains powers of x, y and z describing the polynomials in atomic basis sets.
Contains powers of $x$, $y$ and $z$ describing the polynomials in atomic basis sets.
** Type
<<<~Powers.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t = private {
x : int ;
y : int ;
z : int ;
tot : int ;
tot : int ;
}
#+end_src
~tot~ always contains ~x+y+z~.
#+begin_src ocaml :tangle (eval ml) :exports none
type t = {
x : int ;
y : int ;
z : int ;
tot : int ;
tot : int ;
}
#+end_src
@ -42,9 +43,10 @@ type t = {
#+begin_src ocaml :tangle (eval mli)
val of_int_tuple : int * int * int -> t
val to_int_tuple : t -> int * int * int
val to_int_tuple : t -> int * int * int
#+end_src
Example:
#+begin_example
Powers.of_int_tuple (2,3,1);;
- : Powers.t = x^2 + y^3 + z^1
@ -54,9 +56,9 @@ Powers.(to_int_tuple (of_int_tuple (2,3,1)));;
#+end_example
#+begin_src ocaml :tangle (eval ml) :exports none
let of_int_tuple t =
let of_int_tuple t =
let result =
match t with
match t with
| (x,y,z) -> { x ; y ; z ; tot=x+y+z }
in
if result.x < 0 ||
@ -67,14 +69,14 @@ let of_int_tuple t =
result
let to_int_tuple { x ; y ; z ; _ } = (x,y,z)
let to_int_tuple { x ; y ; z ; _ } = (x,y,z)
#+end_src
** Operations
#+begin_src ocaml :tangle (eval mli)
val get : Coordinate.axis -> t -> int
val incr : Coordinate.axis -> t -> t
val incr : Coordinate.axis -> t -> t
val decr : Coordinate.axis -> t -> t
#+end_src
@ -82,6 +84,7 @@ val decr : Coordinate.axis -> t -> t
| ~incr~ | Returns a new ~Powers.t~ with the power on the given axis incremented |
| ~decr~ | Returns a new ~Powers.t~ with the power on the given axis decremented. As opposed to ~of_int_tuple~, the values may become negative|
Example:
#+begin_example
Powers.get Coordinate.Y (Powers.of_int_tuple (2,3,1));;
- : int = 3

View File

@ -24,6 +24,7 @@
** Type
<<<~Range.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t
#+end_src

View File

@ -18,6 +18,7 @@
** Type
<<<~Spin.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t = Alfa | Beta
#+end_src

View File

@ -19,7 +19,8 @@ check_bool "of_z" true (one_x = (of_z (Z.of_int x)));
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.(shift_left (of_int 15) 2);;
* - : Bitstring.t =
* --++++----------------------------------------------------------
@ -59,7 +60,8 @@ check_bool "testbit6" false (testbit (of_z (Z.of_int 8)) 4);
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.(logor (of_int 15) (of_int 73));;
* - : Bitstring.t =
* ++++--+---------------------------------------------------------
@ -90,7 +92,8 @@ check_bool "to_list" true ([ 1 ; 3 ; 4 ; 6 ] = (to_list (of_int 45)));
(* #+begin_example
(* Example:
* #+begin_example
* Bitstring.permutations 2 4;;
* - : Bitstring.t list =
* [++--------------------------------------------------------------;

View File

@ -53,11 +53,13 @@ CAMLprim double erf_float(double x) {
#+end_src
#+begin_src ocaml :tangle (eval mli)
external erf_float : float -> float = "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
external erf_float : float -> float
= "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
#+end_src
#+begin_src ocaml :tangle (eval ml) :exports none
external erf_float : float -> float = "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
external erf_float : float -> float
= "erf_float_bytecode" "erf_float" [@@unboxed] [@@noalloc]
#+end_src
*** Erfc
@ -73,7 +75,8 @@ CAMLprim double erfc_float(double x) {
#+end_src
#+begin_src ocaml :tangle (eval mli)
external erfc_float : float -> float = "erfc_float_bytecode" "erfc_float" [@@unboxed] [@@noalloc]
external erfc_float : float -> float
= "erfc_float_bytecode" "erfc_float" [@@unboxed] [@@noalloc]
#+end_src
#+begin_src ocaml :tangle (eval ml) :exports none
@ -94,11 +97,13 @@ CAMLprim double gamma_float(double x) {
#+end_src
#+begin_src ocaml :tangle (eval mli)
external gamma_float : float -> float = "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
external gamma_float : float -> float
= "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
#+end_src
#+begin_src ocaml :tangle (eval ml) :exports none
external gamma_float : float -> float = "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
external gamma_float : float -> float
= "gamma_float_bytecode" "gamma_float" [@@unboxed] [@@noalloc]
#+end_src
*** Popcnt
@ -627,6 +632,7 @@ val pp_bitstring : int -> Format.formatter -> Z.t -> unit
| ~pp_float_2darray_size~ | Printer for matrices with size |
| ~pp_bitstring~ | Printer for bit strings (used by ~Bitstring~ module) |
Example:
#+begin_example
pp_float_array_size:
[ 6: 1.000000 1.732051 1.732051 1.000000 1.732051 1.000000 ]

View File

@ -21,6 +21,7 @@
The small integers x, y and z are stored compactly in this 126-bits
space:
Example:
#+begin_example
Left Right
3 [--------------------------------------------------------------] [------------------|---------------|---------------|---------------]
@ -41,6 +42,7 @@
** Types
<<<~Zkey.t~>>>
#+begin_src ocaml :tangle (eval mli)
type t

View File

@ -18,6 +18,7 @@
** Type
<<<~Zmap.t~>>>
#+begin_src ocaml :tangle (eval mli)
include module type of Hashtbl.Make(Zkey)
#+end_src

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-20 Wed 23:52 -->
<!-- 2021-01-28 Thu 00:21 -->
<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>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -255,38 +272,43 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org372d71d">1. Gaussian basis</a>
<li><a href="#org10034f2">1. Summary</a></li>
<li><a href="#org5474da5">2. Gaussian basis</a>
<ul>
<li><a href="#org569cf0d">1.1. Type</a></li>
<li><a href="#org1cc0115">1.2. Access</a></li>
<li><a href="#org8d029c7">1.3. Computation</a></li>
<li><a href="#orge9b9a74">1.4. Creation</a></li>
<li><a href="#orgd376854">1.5. Printers</a></li>
<li><a href="#org7b7dfc2">2.1. Type</a></li>
<li><a href="#org9115219">2.2. Access</a></li>
<li><a href="#org7028216">2.3. Computation</a></li>
<li><a href="#org1f24daa">2.4. Creation</a></li>
<li><a href="#orge8bdd89">2.5. Printers</a></li>
</ul>
</li>
<li><a href="#org0efb0c2">2. Basis</a>
<li><a href="#org6b9a069">3. Basis</a>
<ul>
<li><a href="#orgfc56091">2.1. Dimensions&#xa0;&#xa0;&#xa0;<span class="tag"><span class="noexports">noexports</span></span></a></li>
<li><a href="#orga0a6bd2">2.2. Polymorphic types</a></li>
<li><a href="#orgf9a3143">2.3. Types</a></li>
<li><a href="#org1a171c4">2.4. Conversions</a></li>
<li><a href="#org3f1b82a">2.5. Access</a></li>
<li><a href="#org2155877">2.6. Printers</a></li>
<li><a href="#org68c3519">3.1. Polymorphic types</a></li>
<li><a href="#org5764372">3.2. Types</a></li>
<li><a href="#org6ea365f">3.3. Conversions</a></li>
<li><a href="#org867b16c">3.4. Access</a></li>
<li><a href="#orgf5a488a">3.5. Printers</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="org60f1a39"><span class="org-string">"Atomic basis set"</span>
</pre>
</div>
<div id="outline-container-org372d71d" class="outline-2">
<h2 id="org372d71d"><span class="section-number-2">1</span> Gaussian basis</h2>
<div id="outline-container-org10034f2" class="outline-2">
<h2 id="org10034f2"><span class="section-number-2">1</span> Summary</h2>
<div class="outline-text-2" id="text-1">
<p>
This modules contains the data structures used to characterize the
atomic basis set.
</p>
</div>
</div>
<div id="outline-container-org5474da5" class="outline-2">
<h2 id="org5474da5"><span class="section-number-2">2</span> Gaussian basis</h2>
<div class="outline-text-2" id="text-2">
<p>
Data structure for Gaussian Atomic Orbitals:
</p>
@ -297,19 +319,19 @@ Data structure for Gaussian Atomic Orbitals:
</p>
<p>
where the polynomial $P<sub>Ai</sub> and the Gaussian part are both centered on
where the polynomial \(P_i\) and the Gaussian part are both centered on
nucleus \(A\).
</p>
</div>
<div id="outline-container-org569cf0d" class="outline-3">
<h3 id="org569cf0d"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div id="outline-container-org7b7dfc2" class="outline-3">
<h3 id="org7b7dfc2"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<p>
<a id="org99abab3"><code>Gaussian_basis.t</code></a>
<a id="org8bd4ea5"><code>Gaussian_basis.t</code></a>
</p>
<div class="org-src-container">
<pre class="src src-ocaml" id="orgfe8c01d"><span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
<pre class="src src-ocaml" id="org5bf215b"><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>
@ -321,9 +343,9 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-org1cc0115" class="outline-3">
<h3 id="org1cc0115"><span class="section-number-3">1.2</span> Access</h3>
<div class="outline-text-3" id="text-1-2">
<div id="outline-container-org9115219" class="outline-3">
<h3 id="org9115219"><span class="section-number-3">2.2</span> Access</h3>
<div class="outline-text-3" id="text-2-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
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">cartesian</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> bool
@ -413,11 +435,13 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-org8d029c7" class="outline-3">
<h3 id="org8d029c7"><span class="section-number-3">1.3</span> Computation</h3>
<div class="outline-text-3" id="text-1-3">
<div id="outline-container-org7028216" class="outline-3">
<h3 id="org7028216"><span class="section-number-3">2.3</span> Computation</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">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
<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
</pre>
</div>
@ -439,14 +463,15 @@ nucleus \(A\).
</div>
</div>
<div id="outline-container-orge9b9a74" class="outline-3">
<h3 id="orge9b9a74"><span class="section-number-3">1.4</span> Creation</h3>
<div class="outline-text-3" id="text-1-4">
<div id="outline-container-org1f24daa" class="outline-3">
<h3 id="org1f24daa"><span class="section-number-3">2.4</span> Creation</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">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>
<span class="org-tuareg-font-lock-label">?operators</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Operator.</span>t list <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-label">?cartesian</span><span class="org-tuareg-font-lock-operator">:</span>bool <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-module">Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<span class="org-tuareg-font-lock-module">Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span>
t
</pre>
</div>
@ -463,16 +488,19 @@ Defaults:
<li><code>cartesian</code> : <code>false</code></li>
</ul>
<pre class="example" id="org3eab3c8">
<p>
Example:
</p>
<pre class="example" id="orgb9ea620">
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-orgd376854" class="outline-3">
<h3 id="orgd376854"><span class="section-number-3">1.5</span> Printers</h3>
<div class="outline-text-3" id="text-1-5">
<div id="outline-container-orge8bdd89" class="outline-3">
<h3 id="orge8bdd89"><span class="section-number-3">2.5</span> Printers</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">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
</pre>
@ -481,23 +509,22 @@ val b : Ao.Basis_gaussian.t = Gaussian Basis, spherical, 15 AOs
</div>
</div>
<div id="outline-container-org0efb0c2" class="outline-2">
<h2 id="org0efb0c2"><span class="section-number-2">2</span> Basis</h2>
<div class="outline-text-2" id="text-2">
<div id="outline-container-org6b9a069" class="outline-2">
<h2 id="org6b9a069"><span class="section-number-2">3</span> Basis</h2>
<div class="outline-text-2" id="text-3">
<p>
Data structure for Atomic Orbitals.
</p>
</div>
<div id="outline-container-orgfc56091" class="outline-3">
<h3 id="orgfc56091"><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-orga0a6bd2" class="outline-3">
<h3 id="orga0a6bd2"><span class="section-number-3">2.2</span> Polymorphic types</h3>
<div class="outline-text-3" id="text-2-2">
<div id="outline-container-org68c3519" class="outline-3">
<h3 id="org68c3519"><span class="section-number-3">3.1</span> Polymorphic types</h3>
<div class="outline-text-3" id="text-3-1">
<p>
<a id="org221aabc"><code>Basis.t</code></a>
</p>
<div class="org-src-container">
<pre class="src src-ocaml" id="org7556cac"><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="org7f2805d"><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>
@ -505,9 +532,12 @@ Data structure for Atomic Orbitals.
</div>
</div>
<div id="outline-container-orgf9a3143" class="outline-3">
<h3 id="orgf9a3143"><span class="section-number-3">2.3</span> Types</h3>
<div class="outline-text-3" id="text-2-3">
<div id="outline-container-org5764372" class="outline-3">
<h3 id="org5764372"><span class="section-number-3">3.2</span> Types</h3>
<div class="outline-text-3" id="text-3-2">
<p>
<a id="orgaf9bd07"><code>Basis.t</code></a>
</p>
<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>
<span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">ao</span> <span class="org-tuareg-font-lock-operator">=</span> <span class="org-tuareg-font-lock-module">Ao_dim.</span>t
@ -521,13 +551,17 @@ Data structure for Atomic Orbitals.
</div>
</div>
<div id="outline-container-org1a171c4" class="outline-3">
<h3 id="org1a171c4"><span class="section-number-3">2.4</span> Conversions</h3>
<div class="outline-text-3" id="text-2-4">
<div id="outline-container-org6ea365f" class="outline-3">
<h3 id="org6ea365f"><span class="section-number-3">3.3</span> Conversions</h3>
<div class="outline-text-3" id="text-3-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">of_nuclei_and_basis_filename</span> <span class="org-tuareg-font-lock-operator">:</span>
<span class="org-tuareg-font-lock-label">?kind</span><span class="org-tuareg-font-lock-operator">:[&gt;</span> <span class="org-tuareg-font-lock-constructor">`Gaussian</span> <span class="org-tuareg-font-lock-operator">]</span> <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-label">?operators</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Operator.</span>t list <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-label">?cartesian</span><span class="org-tuareg-font-lock-operator">:</span>bool <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-label">nuclei</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> string <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<span class="org-tuareg-font-lock-label">?kind</span><span class="org-tuareg-font-lock-operator">:[&gt;</span> <span class="org-tuareg-font-lock-constructor">`Gaussian</span> <span class="org-tuareg-font-lock-operator">]</span> <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-label">?operators</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Operator.</span>t list <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-label">?cartesian</span><span class="org-tuareg-font-lock-operator">:</span>bool <span class="org-tuareg-font-lock-operator">-&gt;</span>
<span class="org-tuareg-font-lock-label">nuclei</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span>
string <span class="org-tuareg-font-lock-operator">-&gt;</span>
t
</pre>
</div>
@ -556,16 +590,19 @@ Defaults:
<li><code>cartesian</code> : <code>false</code></li>
</ul>
<pre class="example" id="orgd1e8c0c">
<p>
Example:
</p>
<pre class="example" id="org65a225c">
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-org3f1b82a" class="outline-3">
<h3 id="org3f1b82a"><span class="section-number-3">2.5</span> Access</h3>
<div class="outline-text-3" id="text-2-5">
<div id="outline-container-org867b16c" class="outline-3">
<h3 id="org867b16c"><span class="section-number-3">3.4</span> Access</h3>
<div class="outline-text-3" id="text-3-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">size</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ao_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">Basis_poly.</span>t
@ -662,9 +699,9 @@ val b : Ao.Basis.t = Gaussian Basis, spherical, 15 AOs
</div>
<div id="outline-container-org2155877" class="outline-3">
<h3 id="org2155877"><span class="section-number-3">2.6</span> Printers</h3>
<div class="outline-text-3" id="text-2-6">
<div id="outline-container-orgf5a488a" class="outline-3">
<h3 id="orgf5a488a"><span class="section-number-3">3.5</span> Printers</h3>
<div class="outline-text-3" id="text-3-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
</pre>
@ -675,7 +712,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-20 Wed 23:52</p>
<p class="date">Created: 2021-01-28 Thu 00:21</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

File diff suppressed because it is too large Load Diff

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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Gaussian</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -255,42 +272,42 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org493bb5e">1. Atomic shell</a>
<li><a href="#orgf3ada33">1. Summmary</a></li>
<li><a href="#org7457529">2. Atomic shell</a>
<ul>
<li><a href="#org8b57b46">1.1. Type</a></li>
<li><a href="#org6ce19dc">1.2. Access</a></li>
<li><a href="#orgd728205">1.3. Creation</a></li>
<li><a href="#orgae3aa50">1.4. Printers</a></li>
<li><a href="#org0e4fe4d">2.1. Type</a></li>
<li><a href="#orgde1bce4">2.2. Access</a></li>
<li><a href="#org24b2b8e">2.3. Creation</a></li>
<li><a href="#orge729f26">2.4. Printers</a></li>
</ul>
</li>
<li><a href="#orgb8a46dc">2. Atomic shell pair couple</a>
<li><a href="#org8871eba">3. Atomic shell pair couple</a>
<ul>
<li><a href="#orgda54231">2.1. Type</a></li>
<li><a href="#orgce726a0">2.2. Access</a></li>
<li><a href="#org9a8f8ee">2.3. Creation</a></li>
<li><a href="#org4eb55a5">2.4. Printers</a></li>
<li><a href="#org1019362">3.1. Type</a></li>
<li><a href="#org2371d45">3.2. Access</a></li>
<li><a href="#org9169380">3.3. Creation</a></li>
<li><a href="#orgadedc00">3.4. Printers</a></li>
</ul>
</li>
<li><a href="#org9d5af05">3. Atomic shell pair</a>
<li><a href="#org750192c">4. Atomic shell pair</a>
<ul>
<li><a href="#orgc038806">3.1. Type</a></li>
<li><a href="#org66f13a3">3.2. Access</a></li>
<li><a href="#orgbe94db4">3.3. Creation</a></li>
<li><a href="#org5f9e64f">3.4. Printers</a></li>
<li><a href="#org6b2bebd">4.1. Type</a></li>
<li><a href="#org0967ce4">4.2. Access</a></li>
<li><a href="#org176c31a">4.3. Creation</a></li>
<li><a href="#org3f5a744">4.4. Printers</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="orgb7f41e9"><span class="org-string">"Gaussian basis sets"</span>
</pre>
</div>
<div id="outline-container-orgf3ada33" class="outline-2">
<h2 id="orgf3ada33"><span class="section-number-2">1</span> Summmary</h2>
</div>
<div id="outline-container-org493bb5e" class="outline-2">
<h2 id="org493bb5e"><span class="section-number-2">1</span> Atomic shell</h2>
<div class="outline-text-2" id="text-1">
<div id="outline-container-org7457529" class="outline-2">
<h2 id="org7457529"><span class="section-number-2">2</span> Atomic shell</h2>
<div class="outline-text-2" id="text-2">
<p>
Set of contracted Gaussians differing only by the powers of \(x\), \(y\) and \(z\), with a
constant <code>Angular_momentum.t</code>, all centered on the same point.
@ -322,9 +339,9 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
<div id="outline-container-org8b57b46" class="outline-3">
<h3 id="org8b57b46"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div id="outline-container-org0e4fe4d" class="outline-3">
<h3 id="org0e4fe4d"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<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>
@ -334,9 +351,9 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
</div>
<div id="outline-container-org6ce19dc" class="outline-3">
<h3 id="org6ce19dc"><span class="section-number-3">1.2</span> Access</h3>
<div class="outline-text-3" id="text-1-2">
<div id="outline-container-orgde1bce4" class="outline-3">
<h3 id="orgde1bce4"><span class="section-number-3">2.2</span> Access</h3>
<div class="outline-text-3" id="text-2-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">ang_mom</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">Angular_momentum.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">center</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
@ -412,15 +429,15 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</tbody>
</table>
<pre class="example" id="org62fa36c">
<pre class="example" id="org37e8ada">
</pre>
</div>
</div>
<div id="outline-container-orgd728205" class="outline-3">
<h3 id="orgd728205"><span class="section-number-3">1.3</span> Creation</h3>
<div class="outline-text-3" id="text-1-3">
<div id="outline-container-org24b2b8e" class="outline-3">
<h3 id="org24b2b8e"><span class="section-number-3">2.3</span> Creation</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">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?index</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell.</span>t array <span class="org-tuareg-font-lock-operator">-&gt;</span> t
@ -451,9 +468,9 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
</div>
<div id="outline-container-orgae3aa50" class="outline-3">
<h3 id="orgae3aa50"><span class="section-number-3">1.4</span> Printers</h3>
<div class="outline-text-3" id="text-1-4">
<div id="outline-container-orge729f26" class="outline-3">
<h3 id="orge729f26"><span class="section-number-3">2.4</span> Printers</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">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
</pre>
@ -462,9 +479,9 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
</div>
<div id="outline-container-orgb8a46dc" class="outline-2">
<h2 id="orgb8a46dc"><span class="section-number-2">2</span> Atomic shell pair couple</h2>
<div class="outline-text-2" id="text-2">
<div id="outline-container-org8871eba" class="outline-2">
<h2 id="org8871eba"><span class="section-number-2">3</span> Atomic shell pair couple</h2>
<div class="outline-text-2" id="text-3">
<p>
An atomic shell pair couple is the cartesian product between two sets of functions, one
set over electron one and one set over electron two. Both sets are atomic shell
@ -479,9 +496,9 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div>
<div id="outline-container-orgda54231" class="outline-3">
<h3 id="orgda54231"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<div id="outline-container-org1019362" class="outline-3">
<h3 id="org1019362"><span class="section-number-3">3.1</span> Type</h3>
<div class="outline-text-3" id="text-3-1">
<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>
@ -491,9 +508,9 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div>
</div>
<div id="outline-container-orgce726a0" class="outline-3">
<h3 id="orgce726a0"><span class="section-number-3">2.2</span> Access</h3>
<div class="outline-text-3" id="text-2-2">
<div id="outline-container-org2371d45" class="outline-3">
<h3 id="org2371d45"><span class="section-number-3">3.2</span> Access</h3>
<div class="outline-text-3" id="text-3-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">ang_mom</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">Angular_momentum.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_a</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">Atomic_shell.</span>t
@ -577,9 +594,9 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div>
</div>
<div id="outline-container-org9a8f8ee" class="outline-3">
<h3 id="org9a8f8ee"><span class="section-number-3">2.3</span> Creation</h3>
<div class="outline-text-3" id="text-2-3">
<div id="outline-container-org9169380" class="outline-3">
<h3 id="org9169380"><span class="section-number-3">3.3</span> Creation</h3>
<div class="outline-text-3" id="text-3-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">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
</pre>
@ -604,15 +621,15 @@ Default cutoff is \(\epsilon\).
</tbody>
</table>
<pre class="example" id="org2b8686b">
<pre class="example" id="org6444454">
</pre>
</div>
</div>
<div id="outline-container-org4eb55a5" class="outline-3">
<h3 id="org4eb55a5"><span class="section-number-3">2.4</span> Printers</h3>
<div class="outline-text-3" id="text-2-4">
<div id="outline-container-orgadedc00" class="outline-3">
<h3 id="orgadedc00"><span class="section-number-3">3.4</span> Printers</h3>
<div class="outline-text-3" id="text-3-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">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
</pre>
@ -621,9 +638,9 @@ Default cutoff is \(\epsilon\).
</div>
</div>
<div id="outline-container-org9d5af05" class="outline-2">
<h2 id="org9d5af05"><span class="section-number-2">3</span> Atomic shell pair</h2>
<div class="outline-text-2" id="text-3">
<div id="outline-container-org750192c" class="outline-2">
<h2 id="org750192c"><span class="section-number-2">4</span> Atomic shell pair</h2>
<div class="outline-text-2" id="text-4">
<p>
Data structure to represent pairs of atomic shells. The products of
functions in the shell pair are one-electron functions.
@ -634,9 +651,9 @@ An atomic shell pair is an array of pairs of contracted shells.
</p>
</div>
<div id="outline-container-orgc038806" class="outline-3">
<h3 id="orgc038806"><span class="section-number-3">3.1</span> Type</h3>
<div class="outline-text-3" id="text-3-1">
<div id="outline-container-org6b2bebd" class="outline-3">
<h3 id="org6b2bebd"><span class="section-number-3">4.1</span> Type</h3>
<div class="outline-text-3" id="text-4-1">
<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>
@ -646,9 +663,9 @@ An atomic shell pair is an array of pairs of contracted shells.
</div>
</div>
<div id="outline-container-org66f13a3" class="outline-3">
<h3 id="org66f13a3"><span class="section-number-3">3.2</span> Access</h3>
<div class="outline-text-3" id="text-3-2">
<div id="outline-container-org0967ce4" class="outline-3">
<h3 id="org0967ce4"><span class="section-number-3">4.2</span> Access</h3>
<div class="outline-text-3" id="text-4-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">atomic_shell_a</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">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_b</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">Atomic_shell.</span>t
@ -714,9 +731,9 @@ An atomic shell pair is an array of pairs of contracted shells.
</div>
</div>
<div id="outline-container-orgbe94db4" class="outline-3">
<h3 id="orgbe94db4"><span class="section-number-3">3.3</span> Creation</h3>
<div class="outline-text-3" id="text-3-3">
<div id="outline-container-org176c31a" class="outline-3">
<h3 id="org176c31a"><span class="section-number-3">4.3</span> Creation</h3>
<div class="outline-text-3" id="text-4-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">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
</pre>
@ -748,9 +765,9 @@ If an atomic shell pair is not significant, sets the value to <code>None</code>.
</div>
</div>
<div id="outline-container-org5f9e64f" class="outline-3">
<h3 id="org5f9e64f"><span class="section-number-3">3.4</span> Printers</h3>
<div class="outline-text-3" id="text-3-4">
<div id="outline-container-org3f5a744" class="outline-3">
<h3 id="org3f5a744"><span class="section-number-3">4.4</span> Printers</h3>
<div class="outline-text-3" id="text-4-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">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
</pre>
@ -761,7 +778,7 @@ If an atomic shell pair is not significant, sets the value to <code>None</code>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Gaussian integrals</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -229,14 +246,22 @@
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Gaussian integrals</h1>
<div class="org-src-container">
<pre class="src src-ocaml" id="org2519248"><span class="org-string">"Integrals on the Gaussian basis sets"</span>
</pre>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orge4d21a1">1. Summmary</a></li>
</ul>
</div>
</div>
<div id="outline-container-orge4d21a1" class="outline-2">
<h2 id="orge4d21a1"><span class="section-number-2">1</span> Summmary</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</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-08 Fri 23:16 -->
<!-- 2021-01-27 Wed 23:36 -->
<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>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -223,24 +240,20 @@
</script>
</head>
<body>
<div id="content">
<div id="org-div-home-and-up">
<a accesskey="h" href=""> UP </a>
|
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">QCaml documentation</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org5057d67">1. Documentation of Modules</a></li>
</ul>
</div>
</div>
<div id="orga362751" class="figure">
<p><img src="./chamo_bg.png" alt="chamo_bg.png" />
<div id="orgde12e86" class="figure">
<p><img src="./chamo_bg.png" alt="chamo_bg.png" width="400px" />
</p>
</div>
<p>
QCaml is an OCaml library for writing quantum chemistry codes.
QCaml is an OCaml library for writing quantum chemistry codes.
It is written using literate programming with org-mode.
</p>
@ -259,9 +272,11 @@ This loads all the sub-libraries provided with QCaml, and installs
the pretty printers.
</p>
<div id="outline-container-org5057d67" class="outline-2">
<h2 id="org5057d67"><span class="section-number-2">1</span> Documentation of Modules</h2>
<div class="outline-text-2" id="text-1">
<p>
<b>List of modules</b>
</p>
<ul class="org-ul">
<li><a href="./ao.html">Ao</a></li>
<li><a href="./common.html">Common</a></li>
@ -277,11 +292,9 @@ the pretty printers.
<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-08 Fri 23:16</p>
<p class="date">Created: 2021-01-27 Wed 23:36</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -1,9 +1,10 @@
#+TITLE: QCaml documentation
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
#+ATTR_HTML: :width 400px
[[./chamo_bg.png]]
QCaml is an OCaml library for writing quantum chemistry codes.
QCaml is an OCaml library for writing quantum chemistry codes.
It is written using literate programming with org-mode.
To use it interactively in the top level or in a Jupyter or org-mode
@ -15,13 +16,14 @@
This loads all the sub-libraries provided with QCaml, and installs
the pretty printers.
* Documentation of Modules
*List of modules*
#+NAME: modules
#+begin_src sh :exports none
ls ../*/README.org \
| cut -d '/' -f 2
| cut -d '/' -f 2
#+end_src
#+NAME: list

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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Linear Algebra</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -229,14 +246,22 @@
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Linear Algebra</h1>
<div class="org-src-container">
<pre class="src src-ocaml" id="org3aac483"><span class="org-string">"Linear algebra utilities of QCaml libraries."</span>
</pre>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org6e14c98">1. Summmary</a></li>
</ul>
</div>
</div>
<div id="outline-container-org6e14c98" class="outline-2">
<h2 id="org6e14c98"><span class="section-number-2">1</span> Summmary</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Molecular orbitals</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -233,36 +250,36 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org1294b69">1. Frozen core</a>
<li><a href="#orgdaf938b">1. Summmary</a></li>
<li><a href="#org9acb3b3">2. Frozen core</a>
<ul>
<li><a href="#org6b6a0df">1.1. Type</a></li>
<li><a href="#orgd41d207">1.2. Creation</a></li>
<li><a href="#org9bc8cb6">1.3. Access</a></li>
<li><a href="#orga5ea7e6">1.4. Printers</a></li>
<li><a href="#org64a252c">2.1. Type</a></li>
<li><a href="#org987723c">2.2. Creation</a></li>
<li><a href="#orgc89d6d7">2.3. Access</a></li>
<li><a href="#org5c73928">2.4. Printers</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="org7099c5c"><span class="org-string">"Molecular orbitals"</span>
</pre>
<div id="outline-container-orgdaf938b" class="outline-2">
<h2 id="orgdaf938b"><span class="section-number-2">1</span> Summmary</h2>
</div>
<div id="outline-container-org1294b69" class="outline-2">
<h2 id="org1294b69"><span class="section-number-2">1</span> Frozen core</h2>
<div class="outline-text-2" id="text-1">
<div id="outline-container-org9acb3b3" class="outline-2">
<h2 id="org9acb3b3"><span class="section-number-2">2</span> Frozen core</h2>
<div class="outline-text-2" id="text-2">
<p>
Defines how the core electrons are frozen, for each atom.
</p>
</div>
<div id="outline-container-org6b6a0df" class="outline-3">
<h3 id="org6b6a0df"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div id="outline-container-org64a252c" class="outline-3">
<h3 id="org64a252c"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-ocaml" id="orgea93a5d"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">kind</span> <span class="org-tuareg-font-lock-operator">=</span>
<pre class="src src-ocaml" id="org92bd127"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">kind</span> <span class="org-tuareg-font-lock-operator">=</span>
<span class="org-tuareg-font-lock-operator">|</span> <span class="org-tuareg-font-lock-constructor">All_electron</span>
<span class="org-tuareg-font-lock-operator">|</span> <span class="org-tuareg-font-lock-constructor">Small</span>
<span class="org-tuareg-font-lock-operator">|</span> Large
@ -276,9 +293,9 @@ Defines how the core electrons are frozen, for each atom.
</div>
</div>
<div id="outline-container-orgd41d207" class="outline-3">
<h3 id="orgd41d207"><span class="section-number-3">1.2</span> Creation</h3>
<div class="outline-text-3" id="text-1-2">
<div id="outline-container-org987723c" class="outline-3">
<h3 id="org987723c"><span class="section-number-3">2.2</span> Creation</h3>
<div class="outline-text-3" id="text-2-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">make</span> <span class="org-tuareg-font-lock-operator">:</span> kind <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Particles.Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t
@ -313,7 +330,7 @@ Defines how the core electrons are frozen, for each atom.
</tbody>
</table>
<pre class="example" id="org033fa67">
<pre class="example" id="org8539b48">
let f = Frozen_core.(make Small nuclei) ;;
val f : Frozen_core.t = [|0; 2; 2; 0|]
@ -323,9 +340,9 @@ val f : Frozen_core.t = [|0; 2; 2; 0|]
</div>
</div>
<div id="outline-container-org9bc8cb6" class="outline-3">
<h3 id="org9bc8cb6"><span class="section-number-3">1.3</span> Access</h3>
<div class="outline-text-3" id="text-1-3">
<div id="outline-container-orgc89d6d7" class="outline-3">
<h3 id="orgc89d6d7"><span class="section-number-3">2.3</span> Access</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">val</span> <span class="org-function-name">num_elec</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">num_mos</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
@ -353,7 +370,7 @@ val f : Frozen_core.t = [|0; 2; 2; 0|]
</tbody>
</table>
<pre class="example" id="org5c22144">
<pre class="example" id="org5deb173">
Frozen_core.num_elec f ;;
- : int = 4
@ -363,9 +380,9 @@ Frozen_core.num_mos f ;;
</div>
</div>
<div id="outline-container-orga5ea7e6" class="outline-3">
<h3 id="orga5ea7e6"><span class="section-number-3">1.4</span> Printers</h3>
<div class="outline-text-3" id="text-1-4">
<div id="outline-container-org5c73928" class="outline-3">
<h3 id="org5c73928"><span class="section-number-3">2.4</span> Printers</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">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
</pre>
@ -376,7 +393,7 @@ Frozen_core.num_mos f ;;
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

288
docs/org-info.js Normal file
View File

@ -0,0 +1,288 @@
function OrgNode(e,h,f,g,d,b,j){var i=this;i.D=e;i.I=b;i.J=-1;i.H=h;i.L=f;i.HH=false;
i.P=d;i.DRT=false;i.ST=OrgNode.SF;i.TOC=j;i.DEPTH=g;i.F=null;i.CH=new Array();i.NAV="";
i.BS=null;if(null!=i.P){i.P.addChild(this);i.hide();}var a=document.getElementById("text-"+i.I);
if(null==a&&b){var c=b.substring(4);a=document.getElementById("text-"+c);}if(null!=a){i.F=a;
}i.iTF=new Object();i.iTF["#"+i.I]=2;OrgNode.fTI(i.iTF,i.H,1);OrgNode.fTI(i.iTF,i.F,3);
}OrgNode.SF=0;OrgNode.SH=1;OrgNode.SU=2;OrgNode.fTI=function(f,c,e){if(c){var b=c.getElementsByTagName("a");
if(b){for(var d=0;d<b.length;++d){var g=b[d].getAttribute("id");if(g){f["#"+g]=e;
}else{g=b[d].getAttribute("name");if(g){f["#"+g]=e;}}}}}};OrgNode.hE=function(a){if(a&&a.style){a.style.display="none";
a.style.visibility="hidden";}};OrgNode.sE=function(a){if(a&&a.style){a.style.display="block";
a.style.visibility="visible";}};OrgNode.uhE=function(a){a.style.display="";a.style.visibility="";
};OrgNode.isHidden=function(a){if(a.style.display=="none"||a.style.visibility=="hidden"){return true;
}return false;};OrgNode.toggleElement=function(a){if(a.style.display=="none"){a.style.display="block";
a.style.visibility="visible";}else{a.style.display="none";a.style.visibility="hidden";
}};OrgNode.textNodeToIdx=function(b,c){while(b.nodeType!=1||-1==b.attributes.id.value.indexOf("outline-container-")){b=b.parentNode;
}var a=b.attributes.id.value.substr(18);return OrgNode.idxForBaseId(a,c);};OrgNode.idxForBaseId=function(b,d){if(d.I==b){return d;
}for(var a=0;a<d.CH.length;++a){var c=OrgNode.idxForBaseId(idx,d.CH[a]);if(null!=c){return c;
}}return null;};OrgNode.prototype.addChild=function(a){this.CH.push(a);return this.P;
};OrgNode.prototype.hide=function(){OrgNode.hE(this.D);if(this.P){this.P.hide();}};
OrgNode.prototype.show=function(){OrgNode.sE(this.D);if(this.DEPTH>2){this.P.show();
}};OrgNode.prototype.sAC=function(){for(var a=0;a<this.CH.length;++a){this.CH[a].sAC();
}this.show();};OrgNode.prototype.hAC=function(){for(var a=0;a<this.CH.length;++a){this.CH[a].hAC();
}this.hide();};OrgNode.prototype.setLinkClass=function(a){if(this.TOC){if(a){this.TOC.className="current";
}else{this.TOC.className="visited_after_load";}}};OrgNode.prototype.fold=function(b){if(this.P){this.P.DRT=true;
}if(this.DRT){this.DRT=false;this.ST=OrgNode.SU;}if(null!=this.F){if(this.ST==OrgNode.SF){if(this.CH.length){this.ST=OrgNode.SH;
OrgNode.hE(this.F);for(var a=0;a<this.CH.length;++a){this.CH[a].sSt(OrgNode.SH);}}else{if(!b){this.ST=OrgNode.SU;
OrgNode.sE(this.F);}}}else{if(this.ST==OrgNode.SH){this.ST=OrgNode.SU;OrgNode.sE(this.F);
for(var a=0;a<this.CH.length;++a){this.CH[a].sSt(OrgNode.SU);}}else{this.ST=OrgNode.SF;
OrgNode.hE(this.F);for(var a=0;a<this.CH.length;++a){this.CH[a].sSt(OrgNode.SF);}}}}};
OrgNode.prototype.sSt=function(c){var b=this;for(var a=0;a<b.CH.length;++a){b.CH[a].sSt(c);
}switch(c){case OrgNode.SF:OrgNode.hE(b.F);OrgNode.hE(b.D);break;case OrgNode.SH:OrgNode.hE(b.F);
OrgNode.sE(b.D);break;default:OrgNode.sE(b.F);OrgNode.sE(b.D);}b.ST=c;};var org_html_manager={MOUSE_HINT:0,B:null,PLAIN_VIEW:0,CONTENT_VIEW:1,ALL_VIEW:2,INFO_VIEW:3,SLIDE_VIEW:4,VIEW:this.CONTENT_VIEW,LOCAL_TOC:false,LINK_HOME:0,LINK_UP:0,LINKS:"",RUN_MAX:1200,RUN_INTERVAL:100,HIDE_TOC:false,TOC_DEPTH:0,STARTUP_MESSAGE:0,P:null,BU:document.URL,Q:"",R:null,N:null,T:null,IT:false,LOAD_CHECK:null,W:null,S:new Array(),REGEX:/(#)(.*$)/,SIDX:/(^#)(sec-\d+([._]\d+)*$)/,UNTAGX:/<[^>]+>/i,ORGTAGX:/^(.*)<span\s+class=[\'\"]tag[\'\"]>(<span[^>]+>[^<]+<\/span>)+<\/span>/i,TRIMMER:/^(\s*)([^\s].*)(\s*)$/,TOC:null,RUNS:0,H:new Array(50),HI:0,SKIP_H:false,FIXED_TOC:false,C:null,CI:null,CL:null,CO:"50px",OCCUR:"",SCX:"",SC_HLX:new RegExp('(<span class="org-info-js_search-highlight">)([^<]*?)(</span>)',"gi"),Mg:0,MgI:1,MgT:2,Hg:false,Rg:false,RC:"",RC_NULL:"_0",RC_H:"_1",RC_O:"_2",RC_P:"_03",LVM:0,TAB_INDEX:1000,SHO:false,TAGS:{},ST:new Array(),TAGS_INDEX:null,CTO:null,SN_MAP:{},TL:null,HOOKS:{run_hooks:false,onShowSection:[],onReady:[]},setup:function(){var d=this;
if(window.orgInfoHooks){for(var c in orgInfoHooks){d.HOOKS[c]=orgInfoHooks[c];}d.HOOKS.run_hooks=false;
}if(location.search){var e=location.search.substring(1).split("&");for(var c=0;c<e.length;
++c){var f=e[c].indexOf("=");if(-1!=f){var b=e[c].substring(f+1);var a=e[c].substring(0,f);
switch(a){case"TOC":case"TOC_DEPTH":case"MOUSE_HINT":case"HELP":case"VIEW":case"HIDE_TOC":case"LOCAL_TOC":case"OCCUR":d.set(a,decodeURIComponent(b));
break;default:break;}}}}d.VIEW=d.VIEW?d.VIEW:d.PLAIN_VIEW;d.VIEW_BUTTONS=(d.VIEW_BUTTONS&&d.VIEW_BUTTONS!="0")?true:false;
d.STARTUP_MESSAGE=(d.STARTUP_MESSAGE&&d.STARTUP_MESSAGE!="0")?true:false;d.LOCAL_TOC=(d.LOCAL_TOC&&d.LOCAL_TOC!="0")?d.LOCAL_TOC:false;
d.HIDE_TOC=(d.TOC&&d.TOC!="0")?false:true;d.IT=(d.IT&&d.IT!="title_above")?false:true;
if(d.FIXED_TOC&&d.FIXED_TOC!="0"){d.FIXED_TOC=true;d.HIDE_TOC=false;}else{d.FIXED_TOC=false;
}d.LINKS+=((d.LINK_UP&&d.LINK_UP!=document.URL)?'<a href="'+d.LINK_UP+'">Up</a> / ':"")+((d.LINK_HOME&&d.LINK_HOME!=document.URL)?'<a href="'+d.LINK_HOME+'">HOME</a> / ':"")+'<a href="javascript:org_html_manager.showHelp();">HELP</a> / ';
d.LOAD_CHECK=window.setTimeout("OrgHtmlManagerLoadCheck()",50);},trim:function(a){var b=this.TRIMMER.exec(a);
return RegExp.$2;},rT:function(a){if(a){while(a.match(this.UNTAGX)){a=a.substr(0,a.indexOf("<"))+a.substr(a.indexOf(">")+1);
}}return a;},rOT:function(a){if(a.match(this.ORGTAGX)){var b=this.ORGTAGX.exec(a);
return b[1];}return a;},init:function(){var m=this;m.RUNS++;m.B=document.getElementById("content");
if(null==m.B){if(5>m.RUNS){m.LOAD_CHECK=window.setTimeout("OrgHtmlManagerLoadCheck()",m.RUN_INTERVAL);
return;}else{m.B=document.getElementsByTagName("body")[0];}}if(!m.W){m.W=document.createElement("div");
m.W.style.marginBottom="40px";m.W.id="org-info-js-window";}var l=document.getElementById("table-of-contents");
if(!m.initFromTOC()){if(m.RUNS<m.RUN_MAX){m.LOAD_CHECK=window.setTimeout("OrgHtmlManagerLoadCheck()",m.RUN_INTERVAL);
return;}}var d=0;var f=false;if(""!=location.hash){m.BU=m.BU.substring(0,m.BU.indexOf("#"));
for(var e=0;e<m.S.length;++e){if(m.S[e].iTF[location.hash]){d=e;f=1;break;}}}if(""!=location.search){m.Q=m.BU.substring(m.BU.indexOf("?"));
m.BU=m.BU.substring(0,m.BU.indexOf("?"));}m.convertLinks();var j=document.getElementById("postamble");
if(j){m.P=j;}var h=m.B;var c=h.firstChild;if(3==c.nodeType){var g=c.cloneNode(true);
var a=document.createElement("p");a.id="text-before-first-headline";a.appendChild(g);
h.replaceChild(a,c);}m.C=document.createElement("div");m.C.innerHTML='<form action="" style="margin:0px;padding:0px;" onsubmit="org_html_manager.eRC(); return false;"><table id="org-info-js_console" style="width:100%;margin:0px 0px 0px 0px;border-style:none;" cellpadding="0" cellspacing="0" summary="minibuffer"><tbody><tr><td id="org-info-js_console-icon" style="padding:0px 0px 0px 0px;border-style:none;">&#160;</td><td style="width:100%;vertical-align:middle;padding:0px 0px 0px 0px;border-style:none;"><table style="width:100%;margin:0px 0px 0px 0px;border-style:none;" cellpadding="0" cellspacing="2"><tbody><tr><td id="org-info-js_console-label" style="white-space:nowrap;padding:0px 0px 0px 0px;border-style:none;"></td></tr><tr><td style="width:100%;vertical-align:middle;padding:0px 0px 0px 0px;border-style:none;"><input type="text" id="org-info-js_console-input" onkeydown="org_html_manager.getKey();" onclick="this.select();" maxlength="150" style="width:100%;padding:0px;margin:0px 0px 0px 0px;border-style:none;" value=""/></td></tr></tbody></table></td><td style="padding:0px 0px 0px 0px;border-style:none;">&#160;</td></tr></tbody></table></form>';
m.C.style.position="relative";m.C.style.marginTop="-"+m.CO;m.C.style.top="-"+m.CO;
m.C.style.left="0px";m.C.style.width="100%";m.C.style.height="40px";m.C.style.overflow="hidden";
m.C.style.verticalAlign="middle";m.C.style.zIndex="9";m.C.style.border="0px solid #cccccc";
m.C.id="org-info-js_console-container";m.B.insertBefore(m.C,m.B.firstChild);m.Mg=false;
m.CL=document.getElementById("org-info-js_console-label");m.CI=document.getElementById("org-info-js_console-input");
document.onkeypress=OrgHtmlManagerKeyEvent;if(m.VIEW==m.INFO_VIEW){m.iV(d);m.ss(d);
window.setTimeout(function(){window.scrollTo(0,0);},100);}else{if(m.VIEW==m.SLIDE_VIEW){m.sV(d);
m.ss(d);}else{var k=m.VIEW;m.pV(d,1);m.R.DRT=true;m.R_STATE=OrgNode.SU;m.tG();if(k>m.PLAIN_VIEW){m.tG();
}if(k==m.ALL_VIEW){m.tG();}if(f){m.ss(d);}}}if(""!=m.OCCUR){m.CI.value=m.OCCUR;m.RC="o";
m.eRC();}if(m.STARTUP_MESSAGE){m.warn("This page uses org-info.js. Press '?' for more information.",true);
}m.HOOKS.run_hooks=true;m.runHooks("onReady",this.N);},initFromTOC:function(){var k=this;
if(k.RUNS==1||!k.R){var b=document.getElementById("table-of-contents");if(null!=b){var m=null;
var d=0;for(d;m==null&&d<7;++d){m=b.getElementsByTagName("h"+d)[0];}m.onclick=function(){org_html_manager.fold(0);
};m.style.cursor="pointer";if(k.MOUSE_HINT){m.onmouseover=function(){org_html_manager.hH(0);
};m.onmouseout=function(){org_html_manager.unhH(0);};}if(k.FIXED_TOC){m.setAttribute("onclick","org_html_manager.tG();");
k.R=new OrgNode(null,k.B.getElementsByTagName("h1")[0],"javascript:org_html_manager.go(0);",0,null);
k.TOC=new OrgNode(b,m,"javascript:org_html_manager.go(0);",d,null);k.N=k.R;}else{k.R=new OrgNode(null,k.B.getElementsByTagName("h1")[0],"javascript:org_html_manager.go(0);",0,null);
if(k.HIDE_TOC){k.TOC=new OrgNode(b,"","javascript:org_html_manager.go(0);",d,null);
k.N=k.R;OrgNode.hE(b);}else{k.TOC=new OrgNode(b,m,"javascript:org_html_manager.go(0);",d,k.R);
k.TOC.J=0;k.N=k.TOC;k.S.push(k.TOC);}}if(k.TOC){k.TOC.F=document.getElementById("text-table-of-contents");
}}else{return false;}}var j=k.TOC.F.getElementsByTagName("ul")[0];if(!k.ulToOutlines(j)){return false;
}var h=document.getElementById("footnotes");if(h){var a=null;var f=h.childNodes;for(var d=0;
d<f.length;++d){if("footnotes"==f[d].className){a=f[d];break;}}var e=k.S.length;a.onclick=function(){org_html_manager.fold(""+e);
};a.style.cursor="pointer";if(k.MOUSE_HINT){a.onmouseover=function(){org_html_manager.hH(""+e);
};a.onmouseout=function(){org_html_manager.unhH(""+e);};}var g="javascript:org_html_manager.go("+e+")";
var l=new OrgNode(h,a,g,1,k.R,"footnotes");k.S.push(l);}if(k.TOC_DEPTH){k.cutToc(j,1);
}k.T=k.B.getElementsByTagName("h1")[0];if(k.IT&&!k.FIXED_TOC&&k.VIEW!=k.SLIDE_VIEW){k.IT=k.T.cloneNode(true);
k.S[0].D.insertBefore(k.IT,k.S[0].D.firstChild);OrgNode.hE(k.T);}k.build();k.N=k.S[0];
k.B.insertBefore(k.W,k.N.D);return true;},ulToOutlines:function(b){if(b.hasChildNodes()&&!b.scanned_for_org){for(var a=0;
a<b.childNodes.length;++a){if(false==this.liToOutlines(b.childNodes[a])){return false;
}}b.scanned_for_org=1;}return true;},liToOutlines:function(b){if(!b.scanned_for_org){for(var d=0;
d<b.childNodes.length;++d){var e=b.childNodes[d];switch(e.nodeName){case"A":var a=this.mkNodeFromHref(e);
if(false==a){return false;}else{e.href=a;e.tabIndex=this.TAB_INDEX;e.onfocus=function(){org_html_manager.TL=this;
void 0;};if(null==this.TL){this.TL=e;}this.TAB_INDEX++;}break;case"UL":return this.ulToOutlines(e);
break;}}b.scanned_for_org=1;}return true;},cutToc:function(e,f){f++;if(e.hasChildNodes()){for(var d=0;
d<e.childNodes.length;++d){var a=e.childNodes[d];for(var b=0;b<a.childNodes.length;
++b){var g=a.childNodes[b];if(g.nodeName=="UL"){if(f>this.TOC_DEPTH){a.removeChild(g);
}else{this.cutToc(g,f);}}}}}},mkNodeFromHref:function(g){s=g.href;if(s.match(this.REGEX)){var k=this.REGEX.exec(s);
var c=k[2];var l=document.getElementById(c);if(null==l){return(false);}var a=l.parentNode;
var m=this.S.length;var f=a.className.substr(8);l.onclick=function(){org_html_manager.fold(""+m);
};l.style.cursor="pointer";if(this.MOUSE_HINT){l.onmouseover=function(){org_html_manager.hH(""+m);
};l.onmouseout=function(){org_html_manager.unhH(""+m);};}var o="javascript:org_html_manager.go("+m+")";
if(f>this.N.DEPTH){this.N=new OrgNode(a,l,o,f,this.N,c,g);}else{if(f==2){this.N=new OrgNode(a,l,o,f,this.R,c,g);
}else{var b=this.N;while(b.DEPTH>f){b=b.P;}this.N=new OrgNode(a,l,o,f,b.P,c,g);}}this.S.push(this.N);
var n=l.getElementsByTagName("span");if(n){for(var e=0;e<n.length;++e){if(n[e].className=="tag"){var r=n[e].innerHTML.split("&nbsp;");
for(var d=0;d<r.length;++d){var q=this.rT(r[d]);if(!this.TAGS[q]){this.TAGS[q]=new Array();
this.ST.push(q);}this.TAGS[q].push(m);}}else{if(n[e].className.match(this.SECNUMX)){this.SN_MAP[this.trim(n[e].innerHTML)]=this.N;
}}}}this.N.hide();return(o);}return(s);},build:function(){var f=this.T.innerHTML;
var e=0;for(var d=0;d<this.S.length;++d){this.S[d].J=d;var c='<table class="org-info-js_info-navigation" width="100%" border="0" style="border-bottom:1px solid black;"><tr><td colspan="3" style="text-align:left;border-style:none;vertical-align:bottom;"><span style="float:left;display:inline;text-align:left;">Top: <a accesskey="t" href="javascript:org_html_manager.go(0);">'+f+'</a></span><span style="float:right;display:inline;text-align:right;font-size:70%;">'+this.LINKS+'<a accesskey="m" href="javascript:org_html_manager.toggleView('+d+');">toggle view</a></span></td></tr><tr><td style="text-align:left;border-style:none;vertical-align:bottom;width:22%">';
if(d>0){c+='<a accesskey="p" href="'+this.S[d-1].L+'" title="Go to: '+this.rT(this.S[d-1].H.innerHTML)+'">Previous</a> | ';
}else{c+="Previous | ";}if(d<this.S.length-1){c+='<a accesskey="n" href="'+this.S[d+1].L+'" title="Go to: '+this.rT(this.S[d+1].H.innerHTML)+'">Next</a>';
}else{c+="Next";}c+='</td><td style="text-align:center;vertical-align:bottom;border-style:none;width:56%;">';
if(d>0&&this.S[d].P.P){c+='<a href="'+this.S[d].P.L+'" title="Go to: '+this.rT(this.S[d].P.H.innerHTML)+'"><span style="font-variant:small-caps;font-style:italic;">'+this.S[d].P.H.innerHTML+"</span></a>";
}else{c+='<span style="font-variant:small-caps;font-style:italic;">'+this.S[d].H.innerHTML+"</span>";
}c+='</td><td style="text-align:right;vertical-align:bottom;border-style:none;width:22%">';
c+=(d+1)+"</td></tr></table>";this.S[d].BS=document.createElement("div");this.S[d].BS.innerHTML='<div class="org-info-js_header-navigation" style="display:inline;float:right;text-align:right;font-size:70%;font-weight:normal;">'+this.LINKS+'<a accesskey="m" href="javascript:org_html_manager.toggleView('+d+');">toggle view</a></div>';
if(this.S[d].F){this.S[d].D.insertBefore(this.S[d].BS,this.S[d].H);}else{if(this.S[d].D.hasChildNodes()){this.S[d].D.insertBefore(this.S[d].BS,this.S[d].D.firstChild);
}}if(!this.VIEW_BUTTONS){OrgNode.hE(this.S[d].BS);}this.S[d].NAV=c;if(0<this.S[d].CH.length&&this.LOCAL_TOC){var a=document.createElement("div");
a.className="org-info-js_local-toc";c="Contents:<br /><ul>";for(var b=0;b<this.S[d].CH.length;
++b){c+='<li><a href="'+this.S[d].CH[b].L+'">'+this.rT(this.rOT(this.S[d].CH[b].H.innerHTML))+"</a></li>";
}c+="</ul>";a.innerHTML=c;if("above"==this.LOCAL_TOC){if(this.S[d].F){this.S[d].F.insertBefore(a,this.S[d].F.firstChild);
}else{this.S[d].D.insertBefore(a,this.S[d].D.getElementsByTagName("h"+this.S[d].DEPTH)[0].nextSibling);
}}else{if(this.S[d].F){this.S[d].F.appendChild(a);}else{this.S[d].D.appendChild(a);
}}}}this.ST.sort();},set:function(eval_key,eval_val){if("VIEW"==eval_key){var pos=eval_val.indexOf("_");
if(-1!=pos){this.IT=eval_val.substr(pos+1);eval_val=eval_val.substr(0,pos);}var overview=this.PLAIN_VIEW;
var content=this.CONTENT_VIEW;var showall=this.ALL_VIEW;var info=this.INFO_VIEW;var info_title_above=this.INFO_VIEW;
var slide=this.SLIDE_VIEW;eval("this."+eval_key+"="+eval_val+";");}else{if("HELP"==eval_key){eval("this.STARTUP_MESSAGE="+eval_val+";");
}else{if(eval_val){eval("this."+eval_key+"='"+eval_val+"';");}else{eval("this."+eval_key+"=0;");
}}}},convertLinks:function(){var f=(this.HIDE_TOC?0:1);var e;var a=this.S.length-1;
var d=document.getElementsByTagName("a");for(e=0;e<d.length;++e){var c=d[e].href.replace(this.BU,"");
for(var b=0;b<this.S.length;++b){if(this.S[b].iTF[c]){d[e].href="javascript:org_html_manager.go("+b+")";
break;}}}},ss:function(d){var b=this;var f=parseInt(d);var c=b.N;var e="onShowSection";
if(b.HIDE_TOC&&b.N==b.TOC&&!b.FIXED_TOC){OrgNode.hE(b.TOC.D);if(b.PLAIN_VIEW==b.VIEW){b.R.sAC();
for(var a=0;a<b.R.CH.length;++a){b.R.CH[a].ST=OrgNode.SU;b.R.CH[a].fold();}}}if("?/toc/?"!=d&&null!=b.TL){b.TL.blur();
}if("?/toc/?"==d||(!isNaN(f)&&b.S[f])){if("?/toc/?"==d&&b.HIDE_TOC){e="onShowToc";
b.N=b.TOC;b.R.hAC();if(b.INFO_VIEW==b.VIEW){b.W.innerHTML=b.N.D.innerHTML;}else{b.N.sSt(OrgNode.SU);
}window.scrollTo(0,0);}else{b.N=b.S[f];if(b.SLIDE_VIEW==b.VIEW||b.INFO_VIEW==b.VIEW){OrgNode.hE(b.N.BS);
b.N.sSt(OrgNode.SU);for(var a=0;a<b.N.CH.length;++a){b.N.CH[a].hide();}if(b.SLIDE_VIEW==b.VIEW){b.W.innerHTML=b.N.D.innerHTML;
}else{b.W.innerHTML=b.N.NAV+b.N.D.innerHTML;}b.N.hide();if(!b.FIXED_TOC){OrgNode.hE(document.body);
}if(c.J!=b.N.J){if("?/toc/?"!=d){window.location.replace(b.BU+b.Q+b.dT());}}if(!b.FIXED_TOC){OrgNode.sE(document.body);
}}else{if(!b.VIEW_BUTTONS){OrgNode.hE(c.BS);}OrgNode.sE(b.N.BS);b.N.sSt(OrgNode.UNFOLDED);
b.N.show();if(c.J!=b.N.J){window.location.replace(b.BU+b.Q+b.dT());}if(b.N.J==0){window.scrollTo(0,0);
}else{b.N.D.scrollIntoView(true);}}}}c.setLinkClass();b.N.setLinkClass(true);b.runHooks(e,{last:c,current:b.N});
},pV:function(d,a){var c=this;document.onclick=null;document.ondblclick=null;c.VIEW=c.PLAIN_VIEW;
OrgNode.hE(c.W);if(c.IT){OrgNode.hE(c.IT);}OrgNode.sE(c.T);if(c.W.firstChild){c.W.removeChild(c.W.firstChild);
}c.R.sAC();for(var b=0;b<c.R.CH.length;++b){c.R.CH[b].ST=OrgNode.SU;c.R.CH[b].fold();
}if(!a){c.ss(d);}if(c.P){OrgNode.sE(c.P);}if(c.N.J==0){window.scrollTo(0,0);}else{c.N.D.scrollIntoView(true);
}},iV:function(c,a){var b=this;document.onclick=null;document.ondblclick=null;b.VIEW=b.INFO_VIEW;
b.unhH(b.N.J);if(b.IT&&!b.FIXED_TOC){OrgNode.sE(b.IT);OrgNode.hE(b.T);}OrgNode.sE(b.W);
b.R.hAC();if(b.TOC&&!b.FIXED_TOC){OrgNode.hE(b.TOC.D);}if(b.P){OrgNode.sE(b.P);}if(!a){b.ss(c);
}window.scrollTo(0,0);},sV:function(c,a){var b=this;b.VIEW=b.SLIDE_VIEW;b.unhH(b.N.J);
OrgNode.hE(b.T);if(b.IT){OrgNode.hE(b.IT);}if(b.TOC){OrgNode.hE(b.TOC.D);}OrgNode.sE(b.T);
OrgNode.sE(b.W);b.R.hAC();OrgNode.hE(b.TOC.D);if(b.P){OrgNode.hE(b.P);}b.adjustSlide(c);
if(!a){b.ss(c);}},adjustSlide:function(f,g){var k=true;var e=true;var d=false;if(f>this.N.J){d=true;
}if(null==g){d=true;}if(d){for(var a=this.S[f].F.firstChild;null!=a;a=a.nextSibling){if("UL"==a.nodeName){var j=a.getElementsByTagName("li");
for(var c=1;c<j.length;++c){var b=j[c];OrgNode.hE(b);k=false;}}}}else{var h=this.W.getElementsByTagName("ul");
for(var a=0;a<h.length;++a){var j=h[a].getElementsByTagName("li");for(var c=1;c<j.length;
++c){var b=j[c];if(g>0){if(OrgNode.isHidden(b)){OrgNode.uhE(b);if(c<(j.length-1)){k=false;
}if(0<c){e=false;}break;}}else{if(!OrgNode.isHidden(b)){if(1<c){e=false;OrgNode.hE(j[c-1]);
break;}}}}}}if(k){document.onclick=function(){org_html_manager.sCk("org_html_manager.nextSection(org_html_manager.N.J + 1)");
};}else{document.onclick=function(){org_html_manager.sCk("org_html_manager.adjustSlide(org_html_manager.N.J, +1)");
};}if(e){document.ondblclick=function(){org_html_manager.sCk("org_html_manager.previousSection()");
};}else{document.ondblclick=function(){org_html_manager.sCk("org_html_manager.adjustSlide("+this.N.J+", -1)");
};}},toggleView:function(b){var a=this;a.Q="";a.rW();if(a.VIEW==a.INFO_VIEW){a.pV(b);
}else{a.iV(b);}},fold:function(b){var a=this;a.rW();var c=parseInt(b);a.S[c].fold();
if(!a.VIEW_BUTTONS){OrgNode.hE(a.N.BS);}a.N=a.S[c];OrgNode.sE(a.N.BS);},tG:function(){var b=this;
if(b.R.DRT){b.R.ST=OrgNode.SU;}if(OrgNode.SU==b.R.ST){for(var a=0;a<b.R.CH.length;
++a){b.R.CH[a].ST=OrgNode.SU;b.R.CH[a].fold(true);}b.R.ST=OrgNode.SU;b.R.ST=OrgNode.SF;
}else{if(OrgNode.SF==b.R.ST){for(var a=0;a<b.R.CH.length;++a){b.R.CH[a].fold(true);
}b.R.ST=OrgNode.SH;}else{for(var a=0;a<b.R.CH.length;++a){b.R.CH[a].fold();}b.R.ST=OrgNode.SU;
}}b.R.DRT=false;},executeClick:function(func){var t=this;if(t.Rg){t.eR();t.hC();}else{if(t.Mg){t.rW();
}}eval(func);if(null!=t.CTO){t.CTO=null;}},sCk:function(b,a){if(null==a){a=250;}if(null==this.CTO){this.CTO=window.setTimeout("org_html_manager.executeClick("+b+")",a);
}else{window.clearTimeout(this.CTO);this.CTO=null;}},nextSection:function(){var a=this;
var b=a.N.J+1;if(b<a.S.length){a.go(b);}else{a.warn("Already last section.");}},previousSection:function(){var b=this;
var a=b.N.J;if(a>0){b.go(a-1);}else{b.warn("Already first section.");}},go:function(b){var a=this;
if(a.Rg){a.eR();a.hC();}else{if(a.Mg){a.rW();}}if(a.VIEW==a.SLIDE_VIEW){a.adjustSlide(b);
}a.puH(b,a.N.J);a.ss(b);},puH:function(c,a){var b=this;if(!b.SKIP_H){b.H[b.HI]=new Array(c,a);
b.HI=(b.HI+1)%50;}b.SKIP_H=false;b.CI.value="";},poH:function(c){var a=this;if(c){if(a.H[a.HI]){var b=parseInt(a.H[a.HI][0]);
if(!isNaN(b)||"?/toc/?"==a.H[a.HI][0]){a.ss(a.H[a.HI][0]);a.CI.value="";}else{a.SKIP_H=true;
a.CI.value=a.H[a.HI][0];a.getKey();}a.HI=(a.HI+1)%50;a.HBO=0;}else{if(a.HFO&&history.length){history.forward();
}else{a.HFO=1;a.warn("History: No where to foreward go from here. Any key and `B' to move to next file in history.");
}}}else{if(a.H[a.HI-1]){a.HI=a.HI==0?49:a.HI-1;var b=parseInt(a.H[a.HI][1]);if(!isNaN(b)||"?/toc/?"==a.H[a.HI][1]){a.ss(a.H[a.HI][1]);
a.CI.value="";}else{a.SKIP_H=true;a.CI.value=a.H[a.HI][1];a.getKey();}a.HFO=0;}else{if(a.HBO&&history.length){history.back();
}else{a.HBO=1;a.warn("History: No where to back go from here. Any key and `b' to move to previous file in history.");
}}}},warn:function(c,d,b){var a=this;if(null==b){b="";}a.CI.value=b;if(!d){a.CL.style.color="red";
}a.CL.innerHTML="<span style='float:left;'>"+c+"</span><span style='float:right;color:#aaaaaa;font-weight:normal;'>(press any key to proceed)</span>";
a.sC();window.setTimeout(function(){org_html_manager.CI.value=b;},50);},sR:function(e,b,d,a){var c=this;
if(null==d){d="";}if(null==a){a="";}c.RC=e;c.Rg=true;c.CL.innerHTML="<span style='float:left;'>"+b+"</span><span style='float:right;color:#aaaaaa;font-weight:normal;'>("+a+"RET to close)</span>";
c.sC();document.onkeypress=null;c.CI.focus();c.CI.onblur=function(){org_html_manager.CI.focus();
};window.setTimeout(function(){org_html_manager.CI.value=d;},50);},eR:function(c,a){var b=this;
b.Rg=false;b.RC="";b.CI.onblur=null;b.CI.blur();document.onkeypress=OrgHtmlManagerKeyEvent;
},rW:function(){var a=this;a.CL.style.color="#333333";a.hC();},sC:function(){var a=this;
if(!a.Mg){if(a.VIEW==a.PLAIN_VIEW){a.B.removeChild(a.B.firstChild);a.N.D.insertBefore(a.C,a.N.D.firstChild);
a.N.D.scrollIntoView(true);a.Mg=a.MgI;}else{a.Mg=a.MgT;window.scrollTo(0,0);}a.C.style.marginTop="0px";
a.C.style.top="0px";}},hC:function(){var a=this;if(a.Mg){a.C.style.marginTop="-"+a.CO;
a.C.style.top="-"+a.CO;a.CL.innerHTML="";a.CI.value="";if(a.MgI==a.Mg){a.N.D.removeChild(a.N.D.firstChild);
a.B.insertBefore(a.C,a.B.firstChild);if(a.N.J!=0){a.N.D.scrollIntoView();}}a.Mg=false;
}},getKey:function(){var b=this;var c=b.CI.value;if(0==c.length){if(b.Hg){b.showHelp();
return;}if(b.Mg&&!b.Rg){b.rW();}return;}if(b.Mg&&!b.Rg){b.rW();return;}else{if(b.Hg){b.showHelp();
b.CI.value="";return;}else{if(b.Rg){return;}}}b.CI.value="";b.CI.blur();if(b.HIDE_TOC&&b.TOC==b.N&&"v"!=c&&"V"!=c&&"\t"!=c){c="b";
}else{if("\t"==c){return true;}else{c=b.trim(c);}}if(1==c.length){if("b"==c){b.poH();
}else{if("B"==c){b.poH(true);}else{if("c"==c){b.rSH();if(b.VIEW==b.INFO_VIEW||b.VIEW==b.SLIDE_VIEW){b.ss(b.N.J);
}}else{if("i"==c){if(!b.FIXED_TOC){if(b.HIDE_TOC){b.go("?/toc/?");}else{if(0!=b.N.J){b.go(0);
}}}if(null!=b.TL){b.TL.focus();}}else{if("m"==c){b.toggleView(b.N.J);return;}else{if("x"==c){b.sV(b.N.J);
}else{if("n"==c){if(b.N.ST==OrgNode.SF&&b.VIEW==b.PLAIN_VIEW){b.ss(b.N.J);}else{if(b.N.J<b.S.length-1){b.go(b.N.J+1);
}else{b.warn("Already last section.");return;}}}else{if("N"==c){if(b.N.J<b.S.length-1){var e=b.N.DEPTH;
var a=b.N.J+1;while(a<b.S.length-1&&b.S[a].DEPTH>=e){if(b.S[a].DEPTH==e){b.go(a);
return;}++a;}}b.warn("No next sibling.");return;}else{if("p"==c){if(b.N.J>0){b.go(b.N.J-1);
}else{b.warn("Already first section.");return;}}else{if("P"==c){if(b.N.J>0){var e=b.N.DEPTH;
var a=b.N.J-1;while(a>=0&&b.S[a].DEPTH>=e){if(b.S[a].DEPTH==e){b.go(a);return;}--a;
}}b.warn("No previous sibling.");}else{if("q"==c){if(window.confirm("Really close this file?")){window.close();
}}else{if("<"==c||"t"==c){if(0!=b.N.J){b.go(0);}else{window.scrollTo(0,0);}}else{if(">"==c||"E"==c||"e"==c){if((b.S.length-1)!=b.N.J){b.go(b.S.length-1);
}else{b.S[b.S.length-1].D.scrollIntoView(true);}}else{if("v"==c){if(window.innerHeight){window.scrollBy(0,window.innerHeight-30);
}else{if(document.documentElement.clientHeight){window.scrollBy(0,document.documentElement.clientHeight-30);
}else{window.scrollBy(0,document.body.clientHeight-30);}}}else{if("V"==c){if(window.innerHeight){window.scrollBy(0,-(window.innerHeight-30));
}else{if(document.documentElement.clientHeight){window.scrollBy(0,-(document.documentElement.clientHeight-30));
}else{window.scrollBy(0,-(document.body.clientHeight-30));}}}else{if("u"==c){if(b.N.P!=b.R){b.N=b.N.P;
b.ss(b.N.J);}}else{if("W"==c){b.pV(b.N.J);b.R.DRT=true;b.R_STATE=OrgNode.SU;b.tG();
b.tG();b.tG();window.print();}else{if("f"==c){if(b.VIEW!=b.INFO_VIEW){b.N.fold();
b.N.D.scrollIntoView(true);}}else{if("F"==c){if(b.VIEW!=b.INFO_VIEW){b.tG();b.N.D.scrollIntoView(true);
}}else{if("?"==c||"¿"==c){b.showHelp();}else{if("C"==c){if(b.ST.length){b.showTagsIndex();
}else{b.warn("No Tags found.");}}else{if("H"==c&&b.LINK_HOME){window.document.location.href=b.LINK_HOME;
}else{if("h"==c&&b.LINK_UP){window.document.location.href=b.LINK_UP;}else{if("l"==c){if(""!=b.OCCUR){b.sR(b.RC_H,"Choose HTML-link type: 's' = section, 'o' = occur");
}else{b.sR(c,"HTML-link:",'<a href="'+b.BU+b.dT()+'">'+document.title+", Sec. '"+b.rT(b.N.H.innerHTML)+"'</a>","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}return;}else{if("L"==c){if(""!=b.OCCUR){b.sR(b.RC_O,"Choose Org-link type: 's' = section, 'o' = occur");
}else{b.sR(c,"Org-link:","[["+b.BU+b.dT()+"]["+document.title+", Sec. '"+b.rT(b.N.H.innerHTML)+"']]","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}return;}else{if("U"==c){if(""!=b.OCCUR){b.sR(b.RC_P,"Choose Org-link type: 's' = section, 'o' = occur");
}else{b.sR(c,"Plain URL Link:",b.BU+b.dT(),"C-c to copy, ");window.setTimeout(function(){org_html_manager.CI.select();
},100);}return;}else{if("g"==c){b.sR(c,"Enter section number:");return;}else{if("o"==c){if(""!=b.OCCUR){b.sR(c,"Occur:",b.OCCUR,"RET to use previous, DEL ");
}else{b.sR(c,"Occur:",b.OCCUR);}window.setTimeout(function(){org_html_manager.CI.value=org_html_manager.OCCUR;
org_html_manager.CI.select();},100);return;}else{if("s"==c){if(""!=b.OCCUR){b.sR(c,"Search forward:",b.OCCUR,"RET to use previous, DEL ");
}else{b.sR(c,"Search forward:",b.OCCUR);}window.setTimeout(function(){org_html_manager.CI.value=org_html_manager.OCCUR;
org_html_manager.CI.select();},100);return;}else{if("S"==c){if(""==b.OCCUR){c="s";
b.sR(c,"Search forward:");}else{b.RC=c;b.eRC();}return;}else{if("r"==c){if(""!=b.OCCUR){b.sR(c,"Search backwards:",b.OCCUR,"RET to use previous, DEL ");
}else{b.sR(c,"Search backwards:",b.OCCUR);}window.setTimeout(function(){org_html_manager.CI.value=org_html_manager.OCCUR;
org_html_manager.CI.select();},100);return;}else{if("R"==c){if(""==b.OCCUR){c="r";
b.sR(c,"Search backwards:");}else{b.RC=c;b.eRC();}return;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return;
},eRC:function(){var j=this;var a=j.RC;var k=j.trim(j.CI.value);j.eR();if(""==a||""==k){j.hC();
return;}if(a=="g"){var f=j.SN_MAP[k];if(null!=f){j.hC();j.go(f.J);return;}j.warn("Goto section: no such section.",false,k);
return;}else{if(a=="s"){if(""==k){return false;}if(j.SHO){j.rSH();}var g=j.OCCUR;
var e=0;if(k==j.OCCUR){e++;}j.OCCUR=k;j.mSR();for(var d=j.N.J+e;d<j.S.length;++d){if(j.sIO(d)){j.OCCUR=k;
j.hC();j.go(j.S[d].J);return;}}j.warn("Search forwards: text not found.",false,j.OCCUR);
j.OCCUR=g;return;}else{if(a=="S"){for(var d=j.N.J+1;d<j.S.length;++d){if(j.sIO(d)){j.hC();
j.go(j.S[d].J);return;}}j.warn("Search forwards: text not found.",false,j.OCCUR);
return;}else{if(a=="r"){if(""==k){return false;}if(j.SHO){j.rSH();}var g=j.OCCUR;
j.OCCUR=k;var e=0;if(k==j.OCCUR){e++;}j.mSR();for(var d=j.N.J-e;d>-1;--d){if(j.sIO(d)){j.hC();
j.go(j.S[d].J);return;}}j.warn("Search backwards: text not found.",false,j.OCCUR);
j.OCCUR=g;return;}else{if(a=="R"){for(var d=j.N.J-1;d>-1;--d){k=j.rT(j.S[d].H.innerHTML);
if(j.sIO(d)){j.hC();j.go(j.S[d].J);return;}}j.warn("Search backwards: text not found.",false,j.OCCUR);
return;}else{if(a=="o"){if(""==k){return false;}if(j.SHO){j.rSH();}var g=j.OCCUR;
j.OCCUR=k;j.mSR();var b=new Array();for(var d=0;d<j.S.length;++d){if(j.sIO(d)){b.push(d);
}}if(0==b.length){j.warn("Occur: text not found.",false,j.OCCUR);j.OCCUR=g;return;
}j.hC();if(j.PLAIN_VIEW!=j.VIEW){j.pV();}j.R.DRT=true;j.tG();for(var d=0;d<j.S.length;
++d){OrgNode.sE(j.S[d].D);OrgNode.hE(j.S[d].F);}for(var d=(b.length-1);d>=1;--d){OrgNode.sE(j.S[b[d]].F);
}j.ss(b[0]);}else{if(a==j.RC_O){var h=k.charAt(0);if("s"==h){j.sR(j.RC_NULL,"Org-link to this section:","[["+j.BU+j.dT()+"]["+document.title+", Sec. '"+j.rT(j.N.H.innerHTML)+"']]","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{if("o"==h){j.sR(j.RC_NULL,"Org-link, occurences of <i>&quot;"+j.OCCUR+"&quot;</i>:","[["+j.BU+"?OCCUR="+j.OCCUR+"]["+document.title+", occurences of '"+j.OCCUR+"']]","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{j.warn(h+": No such link type!");
}}}else{if(a==j.RC_H){var h=k.charAt(0);if("s"==h){j.sR(j.RC_NULL,"HTML-link to this section:",'<a href="'+j.BU+j.dT()+'">'+document.title+", Sec. '"+j.rT(j.N.H.innerHTML)+"'</a>","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{if("o"==h){j.sR(j.RC_NULL,"HTML-link, occurences of <i>&quot;"+j.OCCUR+"&quot;</i>:",'<a href="'+j.BU+"?OCCUR="+j.OCCUR+'">'+document.title+", occurences of '"+j.OCCUR+"'</a>","C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{j.warn(h+": No such link type!");
}}}else{if(a==j.RC_P){var h=k.charAt(0);if("s"==h){j.sR(j.RC_NULL,"Plain-link to this section:",j.BU+j.dT(),"C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{if("o"==h){j.sR(j.RC_NULL,"Plain-link, occurences of <i>&quot;"+j.OCCUR+"&quot;</i>:",j.BU+"?OCCUR="+j.OCCUR,"C-c to copy, ");
window.setTimeout(function(){org_html_manager.CI.select();},100);}else{j.warn(h+": No such link type!");
}}}}}}}}}}}},dT:function(b){if(null==b){b=this.N;}var c="#"+this.N.I;for(var a in b.iTF){if(!a.match(this.SIDX)){c=a;
break;}}return c;},mSR:function(){var a=this.OCCUR.replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/=/g,"\\=").replace(/\\/g,"\\\\").replace(/\?/g,"\\?").replace(/\)/g,"\\)").replace(/\(/g,"\\(").replace(/\./g,"[^<>]").replace(/\"/g,"&quot;");
this.SCX=new RegExp(">([^<]*)?("+a+")([^>]*)?<","ig");},sIO:function(c){var b=this;
var a=false;if(null!=b.S[c]){if(b.SCX.test(b.S[c].H.innerHTML)){a=true;b.sSH(b.S[c].H);
b.S[c].HH=true;b.SHO=true;}if(b.SCX.test(b.S[c].F.innerHTML)){a=true;b.sSH(b.S[c].F);
b.S[c].HH=true;b.SHO=true;}return a;}return false;},sSH:function(b){var a=b.innerHTML;
b.innerHTML=a.replace(this.SCX,'>$1<span class="org-info-js_search-highlight">$2</span>$3<');
},rSH:function(){var c=this;for(var b=0;b<c.S.length;++b){if(c.S[b].HH){while(c.SC_HLX.test(c.S[b].H.innerHTML)){var a=c.S[b].H.innerHTML;
c.S[b].H.innerHTML=a.replace(c.SC_HLX,"$2");}while(c.SC_HLX.test(c.S[b].F.innerHTML)){var a=c.S[b].F.innerHTML;
c.S[b].F.innerHTML=a.replace(c.SC_HLX,"$2");}c.S[b].HH=false;}}c.SHO=false;},hH:function(b){var a=parseInt(b);
if(this.PLAIN_VIEW==this.VIEW&&this.MOUSE_HINT){if("underline"==this.MOUSE_HINT){this.S[a].H.style.borderBottom="1px dashed #666666";
}else{this.S[a].H.style.backgroundColor=this.MOUSE_HINT;}}},unhH:function(b){var a=parseInt(b);
if("underline"==this.MOUSE_HINT){this.S[a].H.style.borderBottom="";}else{this.S[a].H.style.backgroundColor="";
}},showHelp:function(){var a=this;if(a.Rg){a.eR();}else{if(a.Mg){a.rW();}}a.Hg=a.Hg?0:1;
if(a.Hg){a.LVM=a.VIEW;if(a.PLAIN_VIEW==a.VIEW){a.iV(true);}a.W.innerHTML='Press any key or <a href="javascript:org_html_manager.showHelp();">click here</a> to proceed.<h2>Keyboard Shortcuts</h2><table cellpadding="3" rules="groups" frame="hsides" style="caption-side:bottom;margin:20px;border-style:none;" border="0";><caption><small>org-info.js, v. 0.1.7.1</small></caption><tbody><tr><td><code><b>? / &iquest;</b></code></td><td>show this help screen</td></tr></tbody><tbody><tr><td><code><b></b></code></td><td><b>Moving around</b></td></tr><tr><td><code><b>n / p</b></code></td><td>goto the next / previous section</td></tr><tr><td><code><b>N / P</b></code></td><td>goto the next / previous sibling</td></tr><tr><td><code><b>t / E</b></code></td><td>goto the first / last section</td></tr><tr><td><code><b>g</b></code></td><td>goto section...</td></tr><tr><td><code><b>u</b></code></td><td>go one level up (parent section)</td></tr><tr><td><code><b>i / C</b></code></td><td>show table of contents / tags index</td></tr><tr><td><code><b>b / B</b></code></td><td>go back to last / forward to next visited section.</td></tr><tr><td><code><b>h / H</b></code></td><td>go to main index in this directory / link HOME page</td></tr></tbody><tbody><tr><td><code><b></b></code></td><td><b>View</b></td></tr><tr><td><code><b>m / x</b></code></td><td>toggle the view mode between info and plain / slides</td></tr><tr><td><code><b>f / F</b></code></td><td>fold current section / whole document (plain view only)</td></tr></tbody><tbody><tr><td><code><b></b></code></td><td><b>Searching</b></td></tr><tr><td><code><b>s / r</b></code></td><td>search forward / backward....</td></tr><tr><td><code><b>S / R</b></code></td><td>search again forward / backward</td></tr><tr><td><code><b>o</b></code></td><td>occur-mode</td></tr><tr><td><code><b>c</b></code></td><td>clear search-highlight</td></tr></tbody><tbody><tr><td><code><b></b></code></td><td><b>Misc</b></td></tr><tr><td><code><b>l / L / U</b></code></td><td>display HTML link / Org link / Plain-URL</td></tr><tr><td><code><b>v / V</b></code></td><td>scroll down / up</td></tr><tr><td><code><b>W</b></code></td><td>Print</td></tr></tbody></table><br />Press any key or <a href="javascript:org_html_manager.showHelp();">click here</a> to proceed.';
window.scrollTo(0,0);}else{if(a.PLAIN_VIEW==a.LVM){a.pV();}else{if(a.SLIDE_VIEW==a.LVM){a.sV();
}}a.ss(a.N.J);}},showTagsIndex:function(){var e=this;if(e.Rg){e.eR();}else{if(e.Mg){e.rW();
}}e.Hg=e.Hg?0:1;if(e.Hg){e.LVM=e.VIEW;if(e.PLAIN_VIEW==e.VIEW){e.iV(true);}if(null==e.TAGS_INDEX){e.TAGS_INDEX='Press any key or <a href="javascript:org_html_manager.showTagsIndex();">click here</a> to proceed.<br /><br />Click the headlines to expand the contents.<h2>Index of Tags</h2>';
for(var d=0;d<e.ST.length;++d){var b=e.ST[d];var f="org-html-manager-sorted-tags-"+b;
e.TAGS_INDEX+="<a href=\"javascript:OrgNode.toggleElement(document.getElementById('"+f+"'));\"><h3>"+b+'</h3></a><div id="'+f+'" style="visibility:hidden;display:none;"><ul>';
for(var c=0;c<e.TAGS[b].length;++c){var a=e.TAGS[b][c];e.TAGS_INDEX+='<li><a href="javascript:org_html_manager.ss('+a+');">'+e.S[a].H.innerHTML+"</a></li>";
}e.TAGS_INDEX+="</ul></div>";}e.TAGS_INDEX+='<br />Press any key or <a href="javascript:org_html_manager.showTagsIndex();">click here</a> to proceed.';
}e.W.innerHTML=e.TAGS_INDEX;window.scrollTo(0,0);}else{if(e.PLAIN_VIEW==e.LVM){e.pV();
}else{if(e.SLIDE_VIEW==e.LVM){e.sV();}}e.ss(e.N.J);}},runHooks:function(b,a){if(this.HOOKS.run_hooks&&this.HOOKS[b]){for(var c=0;
c<this.HOOKS[b].length;++c){this.HOOKS[b][c](this,a);}}},addHook:function(a,b){if("run_hooks"!=a){this.HOOKS[a].push(b);
}},removeHook:function(a,c){if(this.HOOKS[a]){for(var b=this.HOOKS[a].length-1;b>=0;
--b){if(this.HOOKS[a][b]==c){this.HOOKS[a].splice(b,1);}}}}};function OrgHtmlManagerKeyEvent(b){var d;
if(!b){b=window.event;}if(b.which){d=b.which;}else{if(b.keyCode){d=b.keyCode;}}if(b.ctrlKey){return;
}var a=String.fromCharCode(d);if(b.shiftKey){org_html_manager.CI.value=org_html_manager.CI.value+a;
}else{org_html_manager.CI.value=org_html_manager.CI.value+a.toLowerCase();}org_html_manager.getKey();
}function OrgHtmlManagerLoadCheck(){org_html_manager.init();}

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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Common</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -255,76 +272,76 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org775ffd4">1. Electrons</a>
<li><a href="#orgc3aa2b1">1. Summmary</a></li>
<li><a href="#orgf4a663e">2. Electrons</a>
<ul>
<li><a href="#org8d7eb03">1.1. Type</a></li>
<li><a href="#org828c0b4">1.2. Creation</a></li>
<li><a href="#org7990560">1.3. Access</a></li>
<li><a href="#orge31a496">1.4. Printers</a></li>
<li><a href="#org810810a">1.5. Tests</a></li>
<li><a href="#org88e7967">2.1. Type</a></li>
<li><a href="#org376ca80">2.2. Creation</a></li>
<li><a href="#orgd1d110c">2.3. Access</a></li>
<li><a href="#org1d2a3d7">2.4. Printers</a></li>
<li><a href="#org7b61e24">2.5. Tests</a></li>
</ul>
</li>
<li><a href="#org192b2be">2. Element</a>
<li><a href="#org918ae65">3. Element</a>
<ul>
<li><a href="#org8abd3f7">2.1. Type</a></li>
<li><a href="#orgfb1e8c0">2.2. Conversion</a></li>
<li><a href="#org7920ab5">2.3. Database information</a></li>
<li><a href="#orgd9e4111">2.4. Printers</a></li>
<li><a href="#org8889a68">3.1. Type</a></li>
<li><a href="#orgc639e8c">3.2. Conversion</a></li>
<li><a href="#org8706da1">3.3. Database information</a></li>
<li><a href="#org95418b5">3.4. Printers</a></li>
</ul>
</li>
<li><a href="#org683f181">3. Atomic mass</a></li>
<li><a href="#org69bdfa4">4. Nuclei</a>
<li><a href="#orgc544cb3">4. Atomic mass</a></li>
<li><a href="#org0dcc52f">5. Nuclei</a>
<ul>
<li><a href="#orgd713019">4.1. Type</a></li>
<li><a href="#org4bd7221">4.2. xyz file lexer/parser</a>
<li><a href="#org83b7fcb">5.1. Type</a></li>
<li><a href="#orgcba845a">5.2. xyz file lexer/parser</a>
<ul>
<li><a href="#org7281519">4.2.1. Lexer</a></li>
<li><a href="#org0b56536">4.2.2. Parser</a></li>
<li><a href="#org196ee2a">5.2.1. Lexer</a></li>
<li><a href="#orgda1a58a">5.2.2. Parser</a></li>
</ul>
</li>
<li><a href="#orgf5cc2de">4.3. Conversion</a></li>
<li><a href="#org070bc98">4.4. <span class="todo TODO">TODO</span> Query</a></li>
<li><a href="#org1ab3f3a">4.5. Printers</a></li>
<li><a href="#org59045e6">4.6. Tests</a></li>
<li><a href="#org4bc334a">5.3. Conversion</a></li>
<li><a href="#org259e4f9">5.4. <span class="todo TODO">TODO</span> Query</a></li>
<li><a href="#org606af7e">5.5. Printers</a></li>
<li><a href="#orgcd3169c">5.6. Tests</a></li>
</ul>
</li>
<li><a href="#org35f99d4">5. Z-matrix</a>
<li><a href="#orgf9d75ec">6. Z-matrix</a>
<ul>
<li><a href="#org74ef0d8">5.1. Type</a></li>
<li><a href="#org4b91a4e">5.2. Conversion</a></li>
<li><a href="#orgbec757c">5.3. Printers</a></li>
<li><a href="#org2ee988d">6.1. Type</a></li>
<li><a href="#org0a2b5eb">6.2. Conversion</a></li>
<li><a href="#org36acab9">6.3. Printers</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="org5e7fdf1"><span class="org-string">"Information relative to particles (electrons and nuclei)."</span>
</pre>
</div>
<div id="outline-container-orgc3aa2b1" class="outline-2">
<h2 id="orgc3aa2b1"><span class="section-number-2">1</span> Summmary</h2>
</div>
<div id="outline-container-org775ffd4" class="outline-2">
<h2 id="org775ffd4"><span class="section-number-2">1</span> Electrons</h2>
<div class="outline-text-2" id="text-1">
<div id="outline-container-orgf4a663e" class="outline-2">
<h2 id="orgf4a663e"><span class="section-number-2">2</span> Electrons</h2>
<div class="outline-text-2" id="text-2">
<p>
Data structure which contains the number of &alpha; and &beta; electrons.
</p>
</div>
<div id="outline-container-org8d7eb03" class="outline-3">
<h3 id="org8d7eb03"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div id="outline-container-org88e7967" class="outline-3">
<h3 id="org88e7967"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-ocaml" id="org777e0db"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
<pre class="src src-ocaml" id="org380f263"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org828c0b4" class="outline-3">
<h3 id="org828c0b4"><span class="section-number-3">1.2</span> Creation</h3>
<div class="outline-text-3" id="text-1-2">
<div id="outline-container-org376ca80" class="outline-3">
<h3 id="org376ca80"><span class="section-number-3">2.2</span> Creation</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
@ -355,16 +372,16 @@ Data structure which contains the number of &alpha; and &beta; electrons.
<tr>
<td class="org-left"><code>of_atoms</code></td>
<td class="org-left">Creates the data relative to electrons for a molecular system described by <a href="#orgc195f64"><code>Nuclei.t</code></a> for a given total charge and spin multiplicity.</td>
<td class="org-left">Creates the data relative to electrons for a molecular system described by <a href="#org117d80f"><code>Nuclei.t</code></a> for a given total charge and spin multiplicity.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org7990560" class="outline-3">
<h3 id="org7990560"><span class="section-number-3">1.3</span> Access</h3>
<div class="outline-text-3" id="text-1-3">
<div id="outline-container-orgd1d110c" class="outline-3">
<h3 id="orgd1d110c"><span class="section-number-3">2.3</span> Access</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">val</span> <span class="org-function-name">charge</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">Charge.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">n_elec</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
@ -412,9 +429,9 @@ Data structure which contains the number of &alpha; and &beta; electrons.
</div>
</div>
<div id="outline-container-orge31a496" class="outline-3">
<h3 id="orge31a496"><span class="section-number-3">1.4</span> Printers</h3>
<div class="outline-text-3" id="text-1-4">
<div id="outline-container-org1d2a3d7" class="outline-3">
<h3 id="org1d2a3d7"><span class="section-number-3">2.4</span> Printers</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">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
</pre>
@ -422,24 +439,24 @@ Data structure which contains the number of &alpha; and &beta; electrons.
</div>
</div>
<div id="outline-container-org810810a" class="outline-3">
<h3 id="org810810a"><span class="section-number-3">1.5</span> Tests</h3>
<div id="outline-container-org7b61e24" class="outline-3">
<h3 id="org7b61e24"><span class="section-number-3">2.5</span> Tests</h3>
</div>
</div>
<div id="outline-container-org192b2be" class="outline-2">
<h2 id="org192b2be"><span class="section-number-2">2</span> Element</h2>
<div class="outline-text-2" id="text-2">
<div id="outline-container-org918ae65" class="outline-2">
<h2 id="org918ae65"><span class="section-number-2">3</span> Element</h2>
<div class="outline-text-2" id="text-3">
<p>
Chemical elements.
</p>
</div>
<div id="outline-container-org8abd3f7" class="outline-3">
<h3 id="org8abd3f7"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<div id="outline-container-org8889a68" class="outline-3">
<h3 id="org8889a68"><span class="section-number-3">3.1</span> Type</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-ocaml" id="orgc857d0f"><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="org2343857"><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">X</span>
<span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">H</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">He</span>
<span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">Li</span><span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">Be</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">B</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">C</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">N</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">O</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">F</span> <span class="org-tuareg-font-lock-operator">|</span><span class="org-tuareg-font-lock-constructor">Ne</span>
@ -456,9 +473,9 @@ Chemical elements.
</div>
</div>
<div id="outline-container-orgfb1e8c0" class="outline-3">
<h3 id="orgfb1e8c0"><span class="section-number-3">2.2</span> Conversion</h3>
<div class="outline-text-3" id="text-2-2">
<div id="outline-container-orgc639e8c" class="outline-3">
<h3 id="orgc639e8c"><span class="section-number-3">3.2</span> Conversion</h3>
<div class="outline-text-3" id="text-3-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">of_string</span> <span class="org-tuareg-font-lock-operator">:</span> string <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">to_string</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> string
@ -518,7 +535,7 @@ Chemical elements.
</tbody>
</table>
<pre class="example" id="org6c6cf9f">
<pre class="example" id="orgce999ba">
Element.of_string "Fe" ;;
- : Element.t = Particles.Element.Fe
@ -537,9 +554,9 @@ Element.(to_string Fe);;
</div>
</div>
<div id="outline-container-org7920ab5" class="outline-3">
<h3 id="org7920ab5"><span class="section-number-3">2.3</span> Database information</h3>
<div class="outline-text-3" id="text-2-3">
<div id="outline-container-org8706da1" class="outline-3">
<h3 id="org8706da1"><span class="section-number-3">3.3</span> Database information</h3>
<div class="outline-text-3" id="text-3-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">covalent_radius</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">Non_negative_float.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">vdw_radius</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">Non_negative_float.</span>t
@ -587,9 +604,9 @@ Element.(to_string Fe);;
</div>
</div>
<div id="outline-container-orgd9e4111" class="outline-3">
<h3 id="orgd9e4111"><span class="section-number-3">2.4</span> Printers</h3>
<div class="outline-text-3" id="text-2-4">
<div id="outline-container-org95418b5" class="outline-3">
<h3 id="org95418b5"><span class="section-number-3">3.4</span> Printers</h3>
<div class="outline-text-3" id="text-3-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">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
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp_long</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
@ -599,34 +616,34 @@ Element.(to_string Fe);;
</div>
</div>
<div id="outline-container-org683f181" class="outline-2">
<h2 id="org683f181"><span class="section-number-2">3</span> Atomic mass</h2>
<div class="outline-text-2" id="text-3">
<div id="outline-container-orgc544cb3" class="outline-2">
<h2 id="orgc544cb3"><span class="section-number-2">4</span> Atomic mass</h2>
<div class="outline-text-2" id="text-4">
<p>
Atomic mass, a non-negative float.
</p>
<div class="org-src-container">
<pre class="src src-ocaml" id="org7467a2c"><span class="org-tuareg-font-lock-governing">include</span> <span class="org-tuareg-font-lock-governing">module type of</span> <span class="org-tuareg-font-lock-module">Common.Non_negative_float</span>
<pre class="src src-ocaml" id="orgb21935a"><span class="org-tuareg-font-lock-governing">include</span> <span class="org-tuareg-font-lock-governing">module type of</span> <span class="org-tuareg-font-lock-module">Common.Non_negative_float</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org69bdfa4" class="outline-2">
<h2 id="org69bdfa4"><span class="section-number-2">4</span> Nuclei</h2>
<div class="outline-text-2" id="text-4">
<div id="outline-container-org0dcc52f" class="outline-2">
<h2 id="org0dcc52f"><span class="section-number-2">5</span> Nuclei</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-orgd713019" class="outline-3">
<h3 id="orgd713019"><span class="section-number-3">4.1</span> Type</h3>
<div class="outline-text-3" id="text-4-1">
<div id="outline-container-org83b7fcb" class="outline-3">
<h3 id="org83b7fcb"><span class="section-number-3">5.1</span> Type</h3>
<div class="outline-text-3" id="text-5-1">
<p>
<a id="orgc195f64"><code>Nuclei.t</code></a>
<a id="org117d80f"><code>Nuclei.t</code></a>
</p>
<div class="org-src-container">
<pre class="src src-ocaml" id="orgf7c74d8"><span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
<pre class="src src-ocaml" id="org9b85d6c"><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">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-module">Element.</span>t <span class="org-tuareg-font-lock-operator">*</span> <span class="org-tuareg-font-lock-module">Coordinate.</span>t<span class="org-tuareg-font-lock-operator">)</span> array
</pre>
@ -634,13 +651,13 @@ Atomic mass, a non-negative float.
</div>
</div>
<div id="outline-container-org4bd7221" class="outline-3">
<h3 id="org4bd7221"><span class="section-number-3">4.2</span> xyz file lexer/parser</h3>
<div class="outline-text-3" id="text-4-2">
<div id="outline-container-orgcba845a" class="outline-3">
<h3 id="orgcba845a"><span class="section-number-3">5.2</span> xyz file lexer/parser</h3>
<div class="outline-text-3" id="text-5-2">
</div>
<div id="outline-container-org7281519" class="outline-4">
<h4 id="org7281519"><span class="section-number-4">4.2.1</span> Lexer</h4>
<div class="outline-text-4" id="text-4-2-1">
<div id="outline-container-org196ee2a" class="outline-4">
<h4 id="org196ee2a"><span class="section-number-4">5.2.1</span> Lexer</h4>
<div class="outline-text-4" id="text-5-2-1">
<p>
<code>nuclei_lexer.mll</code> contains the description of the lexemes used in
an xyz file.
@ -692,9 +709,9 @@ rule read_all <span class="org-tuareg-font-lock-operator">=</span> parse
</div>
</div>
<div id="outline-container-org0b56536" class="outline-4">
<h4 id="org0b56536"><span class="section-number-4">4.2.2</span> Parser</h4>
<div class="outline-text-4" id="text-4-2-2">
<div id="outline-container-orgda1a58a" class="outline-4">
<h4 id="orgda1a58a"><span class="section-number-4">5.2.2</span> Parser</h4>
<div class="outline-text-4" id="text-5-2-2">
<p>
<code>xyz_parser.mly</code> parses nuclear coordinates in xyz format.
</p>
@ -812,9 +829,9 @@ an <code>xyz_file</code> data structure.
</div>
</div>
<div id="outline-container-orgf5cc2de" class="outline-3">
<h3 id="orgf5cc2de"><span class="section-number-3">4.3</span> Conversion</h3>
<div class="outline-text-3" id="text-4-3">
<div id="outline-container-org4bc334a" class="outline-3">
<h3 id="org4bc334a"><span class="section-number-3">5.3</span> Conversion</h3>
<div class="outline-text-3" id="text-5-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">of_xyz_string</span> <span class="org-tuareg-font-lock-operator">:</span> string <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">to_xyz_string</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> string
@ -872,9 +889,9 @@ an <code>xyz_file</code> data structure.
</div>
</div>
<div id="outline-container-org070bc98" class="outline-3">
<h3 id="org070bc98"><span class="section-number-3">4.4</span> <span class="todo TODO">TODO</span> Query</h3>
<div class="outline-text-3" id="text-4-4">
<div id="outline-container-org259e4f9" class="outline-3">
<h3 id="org259e4f9"><span class="section-number-3">5.4</span> <span class="todo TODO">TODO</span> Query</h3>
<div class="outline-text-3" id="text-5-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">formula</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> string
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">repulsion</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float
@ -922,9 +939,9 @@ an <code>xyz_file</code> data structure.
</div>
</div>
<div id="outline-container-org1ab3f3a" class="outline-3">
<h3 id="org1ab3f3a"><span class="section-number-3">4.5</span> Printers</h3>
<div class="outline-text-3" id="text-4-5">
<div id="outline-container-org606af7e" class="outline-3">
<h3 id="org606af7e"><span class="section-number-3">5.5</span> Printers</h3>
<div class="outline-text-3" id="text-5-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
</pre>
@ -932,32 +949,32 @@ an <code>xyz_file</code> data structure.
</div>
</div>
<div id="outline-container-org59045e6" class="outline-3">
<h3 id="org59045e6"><span class="section-number-3">4.6</span> Tests</h3>
<div id="outline-container-orgcd3169c" class="outline-3">
<h3 id="orgcd3169c"><span class="section-number-3">5.6</span> Tests</h3>
</div>
</div>
<div id="outline-container-org35f99d4" class="outline-2">
<h2 id="org35f99d4"><span class="section-number-2">5</span> Z-matrix</h2>
<div class="outline-text-2" id="text-5">
<div id="outline-container-orgf9d75ec" class="outline-2">
<h2 id="orgf9d75ec"><span class="section-number-2">6</span> Z-matrix</h2>
<div class="outline-text-2" id="text-6">
<p>
Z-matrix representation of nuclear coordinates.
</p>
</div>
<div id="outline-container-org74ef0d8" class="outline-3">
<h3 id="org74ef0d8"><span class="section-number-3">5.1</span> Type</h3>
<div class="outline-text-3" id="text-5-1">
<div id="outline-container-org2ee988d" class="outline-3">
<h3 id="org2ee988d"><span class="section-number-3">6.1</span> Type</h3>
<div class="outline-text-3" id="text-6-1">
<div class="org-src-container">
<pre class="src src-ocaml" id="org7111155"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
<pre class="src src-ocaml" id="org2500b30"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org4b91a4e" class="outline-3">
<h3 id="org4b91a4e"><span class="section-number-3">5.2</span> Conversion</h3>
<div class="outline-text-3" id="text-5-2">
<div id="outline-container-org0a2b5eb" class="outline-3">
<h3 id="org0a2b5eb"><span class="section-number-3">6.2</span> Conversion</h3>
<div class="outline-text-3" id="text-6-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">of_string</span> <span class="org-tuareg-font-lock-operator">:</span> string <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">to_xyz</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-operator">(</span><span class="org-tuareg-font-lock-module">Element.</span>t <span class="org-tuareg-font-lock-operator">*</span> float <span class="org-tuareg-font-lock-operator">*</span> float <span class="org-tuareg-font-lock-operator">*</span> float<span class="org-tuareg-font-lock-operator">)</span> array
@ -991,7 +1008,7 @@ Z-matrix representation of nuclear coordinates.
</tbody>
</table>
<pre class="example" id="org4da0c8d">
<pre class="example" id="org4442d9d">
let zmt = Zmatrix.of_string "
n
n 1 nn
@ -1036,9 +1053,9 @@ H -0.568803 -0.793910 1.726048"
</div>
<div id="outline-container-orgbec757c" class="outline-3">
<h3 id="orgbec757c"><span class="section-number-3">5.3</span> Printers</h3>
<div class="outline-text-3" id="text-5-3">
<div id="outline-container-org36acab9" class="outline-3">
<h3 id="org36acab9"><span class="section-number-3">6.3</span> Printers</h3>
<div class="outline-text-3" id="text-6-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">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
</pre>
@ -1049,7 +1066,7 @@ H -0.568803 -0.793910 1.726048"
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</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-20 Wed 23:52 -->
<!-- 2021-01-27 Wed 23:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Perturbation</title>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -233,32 +250,32 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org9499b78">1. MP2</a>
<li><a href="#org4e3f766">1. Summmary</a></li>
<li><a href="#org8e4d6b3">2. MP2</a>
<ul>
<li><a href="#org7af70d6">1.1. Type</a></li>
<li><a href="#orgc9fb258">1.2. Creation</a></li>
<li><a href="#org874a939">1.3. Access</a></li>
<li><a href="#org4363bab">1.4. Printers</a></li>
<li><a href="#org9eebbb5">1.5. Tests</a></li>
<li><a href="#orgafa22a1">2.1. Type</a></li>
<li><a href="#org0f17f3c">2.2. Creation</a></li>
<li><a href="#org6a18ed1">2.3. Access</a></li>
<li><a href="#orgb49bc14">2.4. Printers</a></li>
<li><a href="#orgd6b373f">2.5. Tests</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="org-src-container">
<pre class="src src-ocaml" id="org4748522"><span class="org-string">"Perturbation theory"</span>
</pre>
<div id="outline-container-org4e3f766" class="outline-2">
<h2 id="org4e3f766"><span class="section-number-2">1</span> Summmary</h2>
</div>
<div id="outline-container-org9499b78" class="outline-2">
<h2 id="org9499b78"><span class="section-number-2">1</span> MP2</h2>
<div class="outline-text-2" id="text-1">
<div id="outline-container-org8e4d6b3" class="outline-2">
<h2 id="org8e4d6b3"><span class="section-number-2">2</span> MP2</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-org7af70d6" class="outline-3">
<h3 id="org7af70d6"><span class="section-number-3">1.1</span> Type</h3>
<div class="outline-text-3" id="text-1-1">
<div id="outline-container-orgafa22a1" class="outline-3">
<h3 id="orgafa22a1"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<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>
</pre>
@ -266,9 +283,9 @@
</div>
</div>
<div id="outline-container-orgc9fb258" class="outline-3">
<h3 id="orgc9fb258"><span class="section-number-3">1.2</span> Creation</h3>
<div class="outline-text-3" id="text-1-2">
<div id="outline-container-org0f17f3c" class="outline-3">
<h3 id="org0f17f3c"><span class="section-number-3">2.2</span> Creation</h3>
<div class="outline-text-3" id="text-2-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">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">frozen_core</span><span class="org-tuareg-font-lock-operator">:</span><span class="org-tuareg-font-lock-module">Mo.Frozen_core.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Mo.Basis.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t
</pre>
@ -290,7 +307,7 @@
</tbody>
</table>
<pre class="example" id="orgb08821b">
<pre class="example" id="orgb30baf6">
let mp2 =
Perturbation.Mp2.make ~frozen_core:(Mo.Frozen_core.(make Small nuclei)) mo_basis
;;
@ -299,9 +316,9 @@ val mp2 : Perturbation.Mp2.t = E(MP2)=-0.185523
</div>
</div>
<div id="outline-container-org874a939" class="outline-3">
<h3 id="org874a939"><span class="section-number-3">1.3</span> Access</h3>
<div class="outline-text-3" id="text-1-3">
<div id="outline-container-org6a18ed1" class="outline-3">
<h3 id="org6a18ed1"><span class="section-number-3">2.3</span> Access</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">val</span> <span class="org-function-name">energy</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">mo_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">Mo.Basis.</span>t
@ -335,15 +352,15 @@ val mp2 : Perturbation.Mp2.t = E(MP2)=-0.185523
</tbody>
</table>
<pre class="example" id="org487f614">
<pre class="example" id="org02ea73d">
</pre>
</div>
</div>
<div id="outline-container-org4363bab" class="outline-3">
<h3 id="org4363bab"><span class="section-number-3">1.4</span> Printers</h3>
<div class="outline-text-3" id="text-1-4">
<div id="outline-container-orgb49bc14" class="outline-3">
<h3 id="orgb49bc14"><span class="section-number-3">2.4</span> Printers</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">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
</pre>
@ -351,14 +368,14 @@ val mp2 : Perturbation.Mp2.t = E(MP2)=-0.185523
</div>
</div>
<div id="outline-container-org9eebbb5" class="outline-3">
<h3 id="org9eebbb5"><span class="section-number-3">1.5</span> Tests</h3>
<div id="outline-container-orgd6b373f" class="outline-3">
<h3 id="orgd6b373f"><span class="section-number-3">2.5</span> Tests</h3>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-27 Wed 23:44</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

972
docs/qcaml.css Normal file
View File

@ -0,0 +1,972 @@
/* Adapted from worg.css */
@import url(https://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans+Mono|Droid+Serif);
@media all
{
html {
margin: 0;
font: .9em/1.6em "Droid Serif", Cambria, Georgia, "DejaVu Serif", serif;
background-image: url(/img/org-mode-unicorn-logo-worg.png);
background-attachment: fixed;
background-position: right bottom;
background-repeat: no-repeat;
background-color: white;
}
body {
font-size: 14pt;
line-height: 22pt;
color: black;
margin-top: 0;
}
body #content {
padding-top: 2em;
margin: auto;
max-width: 70%;
background-color: white;
}
body #support {
position: fixed;
top:0;
display:block;
font-size: 12pt;
right:0pt;
text-align: right;
padding: .2em 1em;
background: #EEE;
border-radius: 10px;
}
body .title {
margin-left: 0px;
font-size: 22pt;
}
#org-div-home-and-up{
position: fixed;
right: 0.5em;
margin-top: 70px;
font-family:sans-serif;
}
/* TOC inspired by http://jashkenas.github.com/coffee-script */
#table-of-contents {
margin-top: 105px;
font-size: 10pt;
font-family:sans-serif;
position: fixed;
right: 0em;
top: 0em;
background: white;
line-height: 12pt;
text-align: right;
box-shadow: 0 0 1em #777777;
-webkit-box-shadow: 0 0 1em #777777;
-moz-box-shadow: 0 0 1em #777777;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
/* ensure doesn't flow off the screen when expanded */
max-height: 80%;
overflow: auto; }
#table-of-contents h2 {
font-size: 13pt;
max-width: 9em;
border: 0;
font-weight: normal;
padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 0.05em;
padding-bottom: 0.05em; }
#table-of-contents #text-table-of-contents {
display: none;
text-align: left; }
#table-of-contents:hover #text-table-of-contents {
display: block;
padding: 0.5em;
margin-top: -1.5em; }
#license {
background-color: #eeeeee;
}
h1 {
font-size:2.1em;
padding:0 0 30px 0;
margin-top: 10px;
margin-bottom: 10px;
margin-right: 7%;
color: grey;
}
h2 {
font-family:sans-serif;
font-size:1.45em;
padding:10px 0 10px 0;
color: black;
border-bottom: 1px solid #ddd;
padding-top: 1.5em;
}
.outline-text-2 {
margin-left: 0.1em
}
h3 {
font-family:sans-serif;
font-size:1.3em;
color: grey;
margin-left: 0.6em;
padding-top: 1.5em;
}
/* #A34D32;*/
.outline-text-3 {
margin-left: 0.9em;
}
h4 {
font-family:sans-serif;
font-size:1.2em;
margin-left: 1.2em;
color: #A5573E;
padding-top: 1.5em;
}
.outline-text-4 {
margin-left: 1.45em;
}
a {text-decoration: none; font-weight: 400;}
a:visited {text-decoration: none; font-weight: 400;}
a:hover {text-decoration: underline;}
.todo {
color: #CA0000;
}
.done {
color: #006666;
}
.timestamp-kwd {
color: #444;
}
.tag {
background-color: #ffff;
color: #ffff;
}
li {
margin: .4em;
}
table {
border: 1;
border-color: grey;
}
thead {
border: 0;
}
tbody {
border: 0;
}
tr {
border: 0;
}
td {
border-left: 0px;
border-right: 0px;
border-top: 0px;
border-bottom: 0px;
}
th {
border-left: 0px;
border-right: 0px;
border-top: 1px solid grey;
border-bottom: 1px solid grey;
}
code {
font-size: 100%;
color: black;
padding: 0px 0.2em;
}
img {
border: 0;
}
.share img {
opacity: .4;
-moz-opacity: .4;
filter: alpha(opacity=40);
}
.share img:hover {
opacity: 1;
-moz-opacity: 1;
filter: alpha(opacity=100);
}
pre {
font-family: Droid Sans Mono, Monaco, Consolas, "Lucida Console", monospace;
color: black;
font-size: 90%;
padding: 0.5em;
overflow: auto;
border: none;
background-color: #f2f2f2;
border-radius: 5px;
}
.org-info-box {
clear:both;
margin-left:auto;
margin-right:auto;
padding:0.7em;
}
.org-info-box img {
float:left;
margin:0em 0.5em 0em 0em;
}
.org-info-box p {
margin:0em;
padding:0em;
}
.builtin {
/* font-lock-builtin-face */
color: #f4a460;
}
.comment {
/* font-lock-comment-face */
color: #737373;
}
.comment-delimiter {
/* font-lock-comment-delimiter-face */
color: #666666;
}
.constant {
/* font-lock-constant-face */
color: #db7093;
}
.doc {
/* font-lock-doc-face */
color: #b3b3b3;
}
.function-name {
/* font-lock-function-name-face */
color: #5f9ea0;
}
.headline {
/* headline-face */
color: #ffffff;
background-color: #000000;
font-weight: bold;
}
.keyword {
/* font-lock-keyword-face */
color: #4682b4;
}
.negation-char {
}
.regexp-grouping-backslash {
}
.regexp-grouping-construct {
}
.string {
/* font-lock-string-face */
color: #ccc79a;
}
.todo-comment {
/* todo-comment-face */
color: #ffffff;
background-color: #000000;
font-weight: bold;
}
.variable-name {
/* font-lock-variable-name-face */
color: #ff6a6a;
}
.warning {
/* font-lock-warning-face */
color: #ffffff;
background-color: #cd5c5c;
font-weight: bold;
}
.important {
/* font-lock-warning-face */
background-color: #e3e3f7;
}
.exercise {
/* font-lock-warning-face */
background-color: #e3f7e3;
}
.note {
/* font-lock-warning-face */
background-color: #f7f7d9;
}
pre.a {
color: inherit;
background-color: inherit;
font: inherit;
text-decoration: inherit;
}
pre.a:hover {
text-decoration: underline;
}
/* Styles for org-info.js */
.org-info-js_info-navigation
{
border-style:none;
}
#org-info-js_console-label
{
font-size:10px;
font-weight:bold;
white-space:nowrap;
}
.org-info-js_search-highlight
{
background-color:#ffff00;
color:#000000;
font-weight:bold;
}
#org-info-js-window
{
border-bottom:1px solid black;
padding-bottom:10px;
margin-bottom:10px;
}
.org-info-search-highlight
{
background-color:#adefef; /* same color as emacs default */
color:#000000;
font-weight:bold;
}
.org-bbdb-company {
/* bbdb-company */
font-style: italic;
}
.org-bbdb-field-name {
}
.org-bbdb-field-value {
}
.org-bbdb-name {
/* bbdb-name */
text-decoration: underline;
}
.org-bold {
/* bold */
font-weight: bold;
}
.org-bold-italic {
/* bold-italic */
font-weight: bold;
font-style: italic;
}
.org-border {
/* border */
background-color: #000000;
}
.org-buffer-menu-buffer {
/* buffer-menu-buffer */
font-weight: bold;
}
.org-builtin {
/* font-lock-builtin-face */
color: #da70d6;
}
.org-button {
/* button */
text-decoration: underline;
}
.org-c-nonbreakable-space {
/* c-nonbreakable-space-face */
background-color: #ff0000;
font-weight: bold;
}
.org-calendar-today {
/* calendar-today */
text-decoration: underline;
}
.org-comment {
/* font-lock-comment-face */
color: #b22222;
}
.org-comment-delimiter {
/* font-lock-comment-delimiter-face */
color: #b22222;
}
.org-constant {
/* font-lock-constant-face */
color: #5f9ea0;
}
.org-cursor {
/* cursor */
background-color: #000000;
}
.org-default {
/* default */
color: #000000;
background-color: #ffffff;
}
.org-diary {
/* diary */
color: #ff0000;
}
.org-doc {
/* font-lock-doc-face */
color: #bc8f8f;
}
.org-escape-glyph {
/* escape-glyph */
color: #a52a2a;
}
.org-file-name-shadow {
/* file-name-shadow */
color: #7f7f7f;
}
.org-fixed-pitch {
}
.org-fringe {
/* fringe */
background-color: #f2f2f2;
}
.org-function-name {
/* font-lock-function-name-face */
color: #0000ff;
}
.org-header-line {
/* header-line */
color: #333333;
background-color: #e5e5e5;
}
.org-help-argument-name {
/* help-argument-name */
font-style: italic;
}
.org-highlight {
/* highlight */
background-color: #b4eeb4;
}
.org-holiday {
/* holiday */
background-color: #ffc0cb;
}
.org-info-header-node {
/* info-header-node */
color: #a52a2a;
font-weight: bold;
font-style: italic;
}
.org-info-header-xref {
/* info-header-xref */
color: #0000ff;
text-decoration: underline;
}
.org-info-menu-header {
/* info-menu-header */
font-weight: bold;
}
.org-info-menu-star {
/* info-menu-star */
color: #ff0000;
}
.org-info-node {
/* info-node */
color: #a52a2a;
font-weight: bold;
font-style: italic;
}
.org-info-title-1 {
/* info-title-1 */
font-size: 172%;
font-weight: bold;
}
.org-info-title-2 {
/* info-title-2 */
font-size: 144%;
font-weight: bold;
}
.org-info-title-3 {
/* info-title-3 */
font-size: 120%;
font-weight: bold;
}
.org-info-title-4 {
/* info-title-4 */
font-weight: bold;
}
.org-info-xref {
/* info-xref */
color: #0000ff;
text-decoration: underline;
}
.org-isearch {
/* isearch */
color: #b0e2ff;
background-color: #cd00cd;
}
.org-italic {
/* italic */
font-style: italic;
}
.org-keyword {
/* font-lock-keyword-face */
color: #a020f0;
}
.org-lazy-highlight {
/* lazy-highlight */
background-color: #afeeee;
}
.org-link {
/* link */
color: #0000ff;
text-decoration: underline;
}
.org-link-visited {
/* link-visited */
color: #8b008b;
text-decoration: underline;
}
.org-match {
/* match */
background-color: #ffff00;
}
.org-menu {
}
.org-message-cited-text {
/* message-cited-text */
color: #ff0000;
}
.org-message-header-cc {
/* message-header-cc */
color: #191970;
}
.org-message-header-name {
/* message-header-name */
color: #6495ed;
}
.org-message-header-newsgroups {
/* message-header-newsgroups */
color: #00008b;
font-weight: bold;
font-style: italic;
}
.org-message-header-other {
/* message-header-other */
color: #4682b4;
}
.org-message-header-subject {
/* message-header-subject */
color: #000080;
font-weight: bold;
}
.org-message-header-to {
/* message-header-to */
color: #191970;
font-weight: bold;
}
.org-message-header-xheader {
/* message-header-xheader */
color: #0000ff;
}
.org-message-mml {
/* message-mml */
color: #228b22;
}
.org-message-separator {
/* message-separator */
color: #a52a2a;
}
.org-minibuffer-prompt {
/* minibuffer-prompt */
color: #0000cd;
}
.org-mm-uu-extract {
/* mm-uu-extract */
color: #006400;
background-color: #ffffe0;
}
.org-mode-line {
/* mode-line */
color: #000000;
background-color: #bfbfbf;
}
.org-mode-line-buffer-id {
/* mode-line-buffer-id */
font-weight: bold;
}
.org-mode-line-highlight {
}
.org-mode-line-inactive {
/* mode-line-inactive */
color: #333333;
background-color: #e5e5e5;
}
.org-mouse {
/* mouse */
background-color: #000000;
}
.org-negation-char {
}
.org-next-error {
/* next-error */
background-color: #eedc82;
}
.org-nobreak-space {
/* nobreak-space */
color: #a52a2a;
text-decoration: underline;
}
.org-org-agenda-date {
/* org-agenda-date */
color: #0000ff;
}
.org-org-agenda-date-weekend {
/* org-agenda-date-weekend */
color: #0000ff;
font-weight: bold;
}
.org-org-agenda-restriction-lock {
/* org-agenda-restriction-lock */
background-color: #ffff00;
}
.org-org-agenda-structure {
/* org-agenda-structure */
color: #0000ff;
}
.org-org-archived {
/* org-archived */
color: #7f7f7f;
}
.org-org-code {
/* org-code */
color: #7f7f7f;
}
.org-org-column {
/* org-column */
background-color: #e5e5e5;
}
.org-org-column-title {
/* org-column-title */
background-color: #e5e5e5;
font-weight: bold;
text-decoration: underline;
}
.org-org-date {
/* org-date */
color: #a020f0;
text-decoration: underline;
}
.org-org-done {
/* org-done */
color: #228b22;
font-weight: bold;
}
.org-org-drawer {
/* org-drawer */
color: #0000ff;
}
.org-org-ellipsis {
/* org-ellipsis */
color: #b8860b;
text-decoration: underline;
}
.org-org-formula {
/* org-formula */
color: #b22222;
}
.org-org-headline-done {
/* org-headline-done */
color: #bc8f8f;
}
.org-org-hide {
/* org-hide */
color: #e5e5e5;
}
.org-org-latex-and-export-specials {
/* org-latex-and-export-specials */
color: #8b4513;
}
.org-org-level-1 {
/* org-level-1 */
color: #0000ff;
}
.org-org-level-2 {
/* org-level-2 */
color: #b8860b;
}
.org-org-level-3 {
/* org-level-3 */
color: #a020f0;
}
.org-org-level-4 {
/* org-level-4 */
color: #b22222;
}
.org-org-level-5 {
/* org-level-5 */
color: #228b22;
}
.org-org-level-6 {
/* org-level-6 */
color: #5f9ea0;
}
.org-org-level-7 {
/* org-level-7 */
color: #da70d6;
}
.org-org-level-8 {
/* org-level-8 */
color: #bc8f8f;
}
.org-org-link {
/* org-link */
color: #a020f0;
text-decoration: underline;
}
.org-org-property-value {
}
.org-org-scheduled-previously {
/* org-scheduled-previously */
color: #b22222;
}
.org-org-scheduled-today {
/* org-scheduled-today */
color: #006400;
}
.org-org-sexp-date {
/* org-sexp-date */
color: #a020f0;
}
.org-org-special-keyword {
/* org-special-keyword */
color: #bc8f8f;
}
.org-org-table {
/* org-table */
color: #0000ff;
}
.org-org-tag {
/* org-tag */
font-weight: bold;
}
.org-org-target {
/* org-target */
text-decoration: underline;
}
.org-org-time-grid {
/* org-time-grid */
color: #b8860b;
}
.org-org-todo {
/* org-todo */
color: #ff0000;
}
.org-org-upcoming-deadline {
/* org-upcoming-deadline */
color: #b22222;
}
.org-org-verbatim {
/* org-verbatim */
color: #7f7f7f;
text-decoration: underline;
}
.org-org-warning {
/* org-warning */
color: #ff0000;
font-weight: bold;
}
.org-outline-1 {
/* outline-1 */
color: #0000ff;
}
.org-outline-2 {
/* outline-2 */
color: #b8860b;
}
.org-outline-3 {
/* outline-3 */
color: #a020f0;
}
.org-outline-4 {
/* outline-4 */
color: #b22222;
}
.org-outline-5 {
/* outline-5 */
color: #228b22;
}
.org-outline-6 {
/* outline-6 */
color: #5f9ea0;
}
.org-outline-7 {
/* outline-7 */
color: #da70d6;
}
.org-outline-8 {
/* outline-8 */
color: #bc8f8f;
}
.outline-text-1, .outline-text-2, .outline-text-3, .outline-text-4, .outline-text-5, .outline-text-6 {
/* Add more spacing between section. Padding, so that folding with org-info.js works as expected. */
}
.org-preprocessor {
/* font-lock-preprocessor-face */
color: #da70d6;
}
.org-query-replace {
/* query-replace */
color: #b0e2ff;
background-color: #cd00cd;
}
.org-regexp-grouping-backslash {
/* font-lock-regexp-grouping-backslash */
font-weight: bold;
}
.org-regexp-grouping-construct {
/* font-lock-regexp-grouping-construct */
font-weight: bold;
}
.org-region {
/* region */
background-color: #eedc82;
}
.org-rmail-highlight {
}
.org-scroll-bar {
/* scroll-bar */
background-color: #bfbfbf;
}
.org-secondary-selection {
/* secondary-selection */
background-color: #ffff00;
}
.org-shadow {
/* shadow */
color: #7f7f7f;
}
.org-show-paren-match {
/* show-paren-match */
background-color: #40e0d0;
}
.org-show-paren-mismatch {
/* show-paren-mismatch */
color: #ffffff;
background-color: #a020f0;
}
.org-string {
/* font-lock-string-face */
color: #bc8f8f;
}
.org-texinfo-heading {
/* texinfo-heading */
color: #0000ff;
}
.org-tool-bar {
/* tool-bar */
color: #000000;
background-color: #bfbfbf;
}
.org-tooltip {
/* tooltip */
color: #000000;
background-color: #ffffe0;
}
.org-trailing-whitespace {
/* trailing-whitespace */
background-color: #ff0000;
}
.org-type {
/* font-lock-type-face */
color: #228b22;
}
.org-underline {
/* underline */
text-decoration: underline;
}
.org-variable-name {
/* font-lock-variable-name-face */
color: #b8860b;
}
.org-variable-pitch {
}
.org-vertical-border {
}
.org-warning {
/* font-lock-warning-face */
color: #ff0000;
font-weight: bold;
}
.rss_box {}
.rss_title, rss_title a {}
.rss_items {}
.rss_item a:link, .rss_item a:visited, .rss_item a:active {}
.rss_item a:hover {}
.rss_date {}
pre.src {
position: static;
overflow: visible;
padding-top: 1.2em;
}
label.org-src-name {
font-size: 80%;
font-style: italic;
}
#show_source {margin: 0; padding: 0;}
#postamble {
font-size: 75%;
min-width: 700px;
max-width: 80%;
line-height: 14pt;
margin-left: 20px;
margin-top: 10px;
padding: .2em;
background-color: #ffffff;
z-index: -1000;
}
} /* END OF @media all */
@media screen
{
#table-of-contents {
position: fixed;
margin-top: 105px;
float: right;
border: 1px solid #red;
max-width: 50%;
overflow: auto;
}
} /* END OF @media screen */

8
docs/qcaml.setup Normal file
View File

@ -0,0 +1,8 @@
# -*- mode: org; -*-
#+INFOJS_OPT: toc:t mouse:underline path:org-info.js
#+HTML_HEAD: <link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
#+OPTIONS: H:4 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t

7
docs/theme.setup Normal file
View File

@ -0,0 +1,7 @@
# -*- mode: org; -*-
#+HTML_LINK_HOME: index.html
#+SETUPFILE: qcaml.setup
# SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup

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-20 Wed 23:52 -->
<!-- 2021-01-28 Thu 00:32 -->
<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>
@ -193,12 +193,29 @@
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
org_html_manager.set("LINK_UP", "");
org_html_manager.set("LOCAL_TOC", "1");
org_html_manager.set("VIEW_BUTTONS", "0");
org_html_manager.set("MOUSE_HINT", "underline");
org_html_manager.set("FIXED_TOC", "0");
org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
@ -229,14 +246,22 @@
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Top-level</h1>
<div class="org-src-container">
<pre class="src src-ocaml" id="orgfc71223"><span class="org-string">"Installs pretty printers for top-level."</span>
</pre>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org55c0065">1. Summmary</a></li>
</ul>
</div>
</div>
<div id="outline-container-org55c0065" class="outline-2">
<h2 id="org55c0065"><span class="section-number-2">1</span> Summmary</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2021-01-20 Wed 23:52</p>
<p class="date">Created: 2021-01-28 Thu 00:32</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -1,9 +1,10 @@
#+TITLE: Gaussian
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Gaussian basis sets"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +57,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
qcaml.particles
@ -64,7 +65,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -82,4 +83,4 @@ with open(dunetest,'w') as f:

View File

@ -1,9 +1,10 @@
#+TITLE: Gaussian integrals
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Integrals on the Gaussian basis sets"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +57,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
qcaml.linear_algebra
@ -66,7 +67,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
(modules_without_implementation matrix_on_basis)
@ -85,4 +86,4 @@ with open(dunetest,'w') as f:

View File

@ -1,24 +1,25 @@
#+TITLE: Linear Algebra
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
"Linear algebra utilities of QCaml libraries."
#+begin_src ocaml :exports none :results value
"Linear algebra utilities of QCaml libraries"
#+end_src
#+RESULTS: synopsis
: Linear algebra utilities of QCaml libraries.
: Linear algebra utilities of QCaml libraries
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +57,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
lacaml
@ -64,7 +65,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -82,4 +83,4 @@ with open(dunetest,'w') as f:

View File

@ -1,9 +1,10 @@
#+TITLE: Molecular orbitals
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Molecular orbitals"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,14 +57,14 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.simulation
)
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -81,4 +82,4 @@ with open(dunetest,'w') as f:

View File

@ -1,9 +1,10 @@
#+TITLE: Operators
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Parameteried operators, such as F12 and range-separation"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,14 +57,14 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
)
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -81,4 +82,4 @@ with open(dunetest,'w') as f:

View File

@ -1,24 +1,25 @@
#+TITLE: Common
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
"Information relative to particles (electrons and nuclei)."
#+begin_src ocaml :exports none :results value
"Information relative to particles (electrons and nuclei)"
#+end_src
#+RESULTS: synopsis
: Information relative to particles (electrons and nuclei).
: Information relative to particles (electrons and nuclei)
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,14 +57,14 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
)
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
(modules_without_implementation
@ -92,4 +93,4 @@ with open(dunetest,'w') as f:

View File

@ -1,9 +1,10 @@
#+TITLE: Perturbation
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Perturbation theory"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +57,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.simulation
qcaml.mo
@ -64,7 +65,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -82,4 +83,4 @@ with open(dunetest,'w') as f:

View File

@ -1,9 +1,10 @@
#+TITLE: QCaml
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Main QCaml entry point"
#+end_src
@ -12,12 +13,12 @@
* File generation :noexport:
Use [C-c C-c] on the code below. This will create the dune files
and the =qcaml.ml= file.
#+header: :noweb yes
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var mlfile="lib/qcaml.ml"
#+header: :var dunetest="test/dune"

View File

@ -1,9 +1,10 @@
#+TITLE: Simulation
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
#+begin_src ocaml :exports none :results value
"Data describing a simulation (AOs, operators, nuclear coordinate,...)"
#+end_src
@ -12,13 +13,13 @@
* Dune files :noexport:
** Generate dune files
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var dune="lib/dune"
#+header: :var dunetest="test/dune"
#+begin_src python :exports none :results output none
@ -56,7 +57,7 @@ with open(dunetest,'w') as f:
** Dependencies
#+name: dependencies
#+begin_src elisp
#+begin_src elisp
(libraries
qcaml.common
qcaml.particles
@ -68,7 +69,7 @@ with open(dunetest,'w') as f:
#+end_src
** Modules without implementation
#+name: noimplementation
#+begin_src elisp
#+end_src
@ -86,4 +87,4 @@ with open(dunetest,'w') as f:

View File

@ -1,15 +1,15 @@
#+TITLE: Top-level
#+HTML_LINK_HOME: index.html
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/theme.setup
* Summmary
#+name: synopsis
#+begin_src ocaml :export output raw
"Installs pretty printers for top-level."
#+begin_src ocaml :exports none :results value
"Installs pretty printers for top-level"
#+end_src
#+RESULTS: synopsis
: Installs pretty printers for top-level.
: Installs pretty printers for top-level
* Dune files :noexport:
@ -19,7 +19,7 @@
Use [C-c C-c] on the code below to create the output for the dune files
#+header: :noweb strip-export
#+header: :var name=(file-name-directory buffer-file-name)
#+header: :var name=(file-name-directory buffer-file-name)
#+begin_src python :exports none :results output none
name = name.split('/')[-2]
synopsis = """
@ -34,7 +34,7 @@ with open("lib/dune",'w') as f:
(synopsis {synopsis} )
(modes byte)
(libraries
compiler-libs.toplevel
compiler-libs.toplevel
qcaml
)
)