mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-07 06:33:39 +01:00
MP2 OK
This commit is contained in:
parent
28e6fda242
commit
73a5cf6ca2
12
Makefile
12
Makefile
@ -1,12 +1,18 @@
|
|||||||
# Frontend to dune.
|
# Frontend to dune.
|
||||||
|
|
||||||
|
DIRS=$(shell ls */README.org | sed "s|/README.org||g")
|
||||||
|
DOCS=$(patsubst %, docs/%.html, $(DIRS))
|
||||||
|
|
||||||
.PHONY: default build install uninstall test clean
|
.PHONY: default build install uninstall test clean
|
||||||
|
|
||||||
default: build
|
default: tangle build doc
|
||||||
|
|
||||||
tangle:
|
|
||||||
|
|
||||||
doc:
|
docs/%.html: %/README.org
|
||||||
|
- ./bin/tangle.sh $*
|
||||||
|
- ./bin/build_doc.sh $*
|
||||||
|
|
||||||
|
doc: $(DOCS)
|
||||||
|
|
||||||
build:
|
build:
|
||||||
dune build
|
dune build
|
||||||
|
@ -21,7 +21,8 @@ let of_nuclei_and_basis_filename ?(kind=`Gaussian) ?operators ?(cartesian=false)
|
|||||||
{ ao_basis ; cartesian }
|
{ ao_basis ; cartesian }
|
||||||
| _ -> failwith "of_nuclei_and_basis_filename needs to be called with `Gaussian"
|
| _ -> failwith "of_nuclei_and_basis_filename needs to be called with `Gaussian"
|
||||||
|
|
||||||
let not_implemented = Util.not_implemented
|
let not_implemented () =
|
||||||
|
Util.not_implemented "Only Gaussian is implemented"
|
||||||
|
|
||||||
let ao_basis t = t.ao_basis
|
let ao_basis t = t.ao_basis
|
||||||
|
|
||||||
|
@ -24,4 +24,6 @@ CONFIG="--load docs/htmlize.el --load docs/config.el"
|
|||||||
|
|
||||||
emacs --batch $CONFIG docs/${DIR}.org -f org-html-export-to-html
|
emacs --batch $CONFIG docs/${DIR}.org -f org-html-export-to-html
|
||||||
|
|
||||||
|
rm docs/${DIR}.org
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,88 +14,11 @@ fi
|
|||||||
|
|
||||||
DIR=${1%/}
|
DIR=${1%/}
|
||||||
|
|
||||||
cat << EOF > ${PWD}/tmpfile_$DIR
|
|
||||||
(package-initialize)
|
|
||||||
(add-to-list 'package-archives
|
|
||||||
'("gnu" . "https://elpa.gnu.org/packages/"))
|
|
||||||
(add-to-list 'package-archives
|
|
||||||
'("melpa-stable" . "https://stable.melpa.org/packages/"))
|
|
||||||
(add-to-list 'package-archives
|
|
||||||
'("melpa" . "https://melpa.org/packages/"))
|
|
||||||
(setq package-archive-priorities '(("melpa-stable" . 100)
|
|
||||||
("melpa" . 50)
|
|
||||||
("gnu" . 10)))
|
|
||||||
(require 'cl)
|
|
||||||
(let* ((required-packages
|
|
||||||
'(dash
|
|
||||||
htmlize
|
|
||||||
ess
|
|
||||||
evil
|
|
||||||
gnuplot
|
|
||||||
tuareg
|
|
||||||
tramp
|
|
||||||
bibtex-completion
|
|
||||||
org-ref
|
|
||||||
org-gnome
|
|
||||||
org-evil
|
|
||||||
org-bullets
|
|
||||||
org-mime
|
|
||||||
magit
|
|
||||||
rustic
|
|
||||||
auctex))
|
|
||||||
|
|
||||||
(missing-packages (remove-if #'package-installed-p required-packages)))
|
|
||||||
(when missing-packages
|
|
||||||
(message "Missing packages: %s" missing-packages)
|
|
||||||
(package-refresh-contents)
|
|
||||||
(dolist (pkg missing-packages)
|
|
||||||
(package-install pkg)
|
|
||||||
(message "Package %s has been installed" pkg))))
|
|
||||||
|
|
||||||
(setq org-alphabetical-lists t)
|
|
||||||
(setq org-src-fontify-natively t)
|
|
||||||
|
|
||||||
(setq org-src-preserve-indentation t)
|
|
||||||
(setq org-confirm-babel-evaluate nil)
|
|
||||||
|
|
||||||
(org-babel-do-load-languages
|
|
||||||
'org-babel-load-languages
|
|
||||||
'(
|
|
||||||
(emacs-lisp . t)
|
|
||||||
(shell . t)
|
|
||||||
(python . t)
|
|
||||||
(C . t)
|
|
||||||
(ocaml . t)
|
|
||||||
(gnuplot . t)
|
|
||||||
(latex . t)
|
|
||||||
(ditaa . t)
|
|
||||||
(dot . t)
|
|
||||||
(org . t)
|
|
||||||
(makefile . t)
|
|
||||||
))
|
|
||||||
|
|
||||||
(setq pwd (file-name-directory buffer-file-name))
|
|
||||||
(setq name (file-name-nondirectory (substring buffer-file-name 0 -4)))
|
|
||||||
(setq lib (concat pwd "lib/"))
|
|
||||||
(setq testdir (concat pwd "test/"))
|
|
||||||
(setq mli (concat lib name ".mli"))
|
|
||||||
(setq ml (concat lib name ".ml"))
|
|
||||||
(setq c (concat lib name ".c"))
|
|
||||||
(setq test-ml (concat testdir name ".ml"))
|
|
||||||
|
|
||||||
(org-babel-tangle)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
||||||
cd $DIR
|
cd $DIR
|
||||||
|
|
||||||
for i in *.org
|
for i in *.org
|
||||||
do
|
do
|
||||||
echo "--- $i ----"
|
echo "--- $i ----"
|
||||||
emacs --batch ./$i --load=../tmpfile_$DIR
|
emacs --batch ./$i --load=../docs/config_tangle.el -f org-babel-tangle
|
||||||
done
|
done
|
||||||
|
|
||||||
rm ../tmpfile_$DIR
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
(* This type should be used for all charges in the program (electrons, nuclei,...). *)
|
(* This type should be used for all charges in the program (electrons, nuclei,...). *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../charge.org::*Type][Type:2]] *)
|
(* [[file:~/QCaml/common/charge.org::*Type][Type:2]] *)
|
||||||
type t = float
|
type t = float
|
||||||
(* Type:2 ends here *)
|
(* Type:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../charge.org::*Conversions][Conversions:2]] *)
|
(* [[file:~/QCaml/common/charge.org::*Conversions][Conversions:2]] *)
|
||||||
external of_float : float -> t = "%identity"
|
external of_float : float -> t = "%identity"
|
||||||
external to_float : t -> float = "%identity"
|
external to_float : t -> float = "%identity"
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ let to_string x =
|
|||||||
"0.0"
|
"0.0"
|
||||||
(* Conversions:2 ends here *)
|
(* Conversions:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../charge.org::*Simple operations][Simple operations:2]] *)
|
(* [[file:~/QCaml/common/charge.org::*Simple%20operations][Simple operations:2]] *)
|
||||||
let gen_op op =
|
let gen_op op =
|
||||||
fun a b ->
|
fun a b ->
|
||||||
op (to_float a) (to_float b)
|
op (to_float a) (to_float b)
|
||||||
@ -39,7 +39,7 @@ let ( / ) = gen_op ( /. )
|
|||||||
let is_null t = t == 0.
|
let is_null t = t == 0.
|
||||||
(* Simple operations:2 ends here *)
|
(* Simple operations:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../charge.org::*Printers][Printers:2]] *)
|
(* [[file:~/QCaml/common/charge.org::*Printers][Printers:2]] *)
|
||||||
let pp ppf x =
|
let pp ppf x =
|
||||||
Format.fprintf ppf "@[%s@]" (to_string x)
|
Format.fprintf ppf "@[%s@]" (to_string x)
|
||||||
(* Printers:2 ends here *)
|
(* Printers:2 ends here *)
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
(* Type *)
|
(* Type *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../charge.org::*Type][Type:1]] *)
|
(* [[file:~/QCaml/common/charge.org::*Type][Type:1]] *)
|
||||||
type t
|
type t
|
||||||
(* Type:1 ends here *)
|
(* Type:1 ends here *)
|
||||||
|
|
||||||
(* Conversions *)
|
(* Conversions *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../charge.org::*Conversions][Conversions:1]] *)
|
(* [[file:~/QCaml/common/charge.org::*Conversions][Conversions:1]] *)
|
||||||
val of_float : float -> t
|
val of_float : float -> t
|
||||||
val to_float : t -> float
|
val to_float : t -> float
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ val to_string: t -> string
|
|||||||
(* Simple operations *)
|
(* Simple operations *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../charge.org::*Simple operations][Simple operations:1]] *)
|
(* [[file:~/QCaml/common/charge.org::*Simple%20operations][Simple operations:1]] *)
|
||||||
val ( + ) : t -> t -> t
|
val ( + ) : t -> t -> t
|
||||||
val ( - ) : t -> t -> t
|
val ( - ) : t -> t -> t
|
||||||
val ( * ) : t -> float -> t
|
val ( * ) : t -> float -> t
|
||||||
@ -33,6 +33,6 @@ val is_null : t -> bool
|
|||||||
(* Printers *)
|
(* Printers *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../charge.org::*Printers][Printers:1]] *)
|
(* [[file:~/QCaml/common/charge.org::*Printers][Printers:1]] *)
|
||||||
val pp : Format.formatter -> t -> unit
|
val pp : Format.formatter -> t -> unit
|
||||||
(* Printers:1 ends here *)
|
(* Printers:1 ends here *)
|
||||||
|
@ -39,7 +39,7 @@ let leadz i = leadz i |> Int32.to_int
|
|||||||
* | ~pow~ | Fast implementation of the power function for small integer powers |
|
* | ~pow~ | Fast implementation of the power function for small integer powers |
|
||||||
* | ~chop~ | In ~chop a f~, evaluate ~f~ only if the absolute value of ~a~ is larger than ~Constants.epsilon~, and return ~a *. f ()~. |
|
* | ~chop~ | In ~chop a f~, evaluate ~f~ only if the absolute value of ~a~ is larger than ~Constants.epsilon~, and return ~a *. f ()~. |
|
||||||
* | ~float_of_int_fast~ | Faster implementation of float_of_int for small positive ints |
|
* | ~float_of_int_fast~ | Faster implementation of float_of_int for small positive ints |
|
||||||
* | ~not_implemented~ | Fails with error message if some functionality is not implemented |
|
* | ~not_implemented~ | Fails if some functionality is not implemented |
|
||||||
* | ~of_some~ | Extracts the value of an option | *)
|
* | ~of_some~ | Extracts the value of an option | *)
|
||||||
|
|
||||||
|
|
||||||
@ -123,8 +123,9 @@ let chop f g =
|
|||||||
else f *. (g ())
|
else f *. (g ())
|
||||||
|
|
||||||
|
|
||||||
let not_implemented () =
|
exception Not_implemented of string
|
||||||
failwith "Not implemented"
|
let not_implemented string =
|
||||||
|
raise (Not_implemented string)
|
||||||
|
|
||||||
|
|
||||||
let of_some = function
|
let of_some = function
|
||||||
|
@ -35,8 +35,11 @@ val chop : float -> (unit -> float) -> float
|
|||||||
val pow : float -> int -> float
|
val pow : float -> int -> float
|
||||||
val float_of_int_fast : int -> float
|
val float_of_int_fast : int -> float
|
||||||
|
|
||||||
val not_implemented : unit -> 'a
|
|
||||||
val of_some : 'a option -> 'a
|
val of_some : 'a option -> 'a
|
||||||
|
|
||||||
|
exception Not_implemented of string
|
||||||
|
val not_implemented : string -> 'a
|
||||||
|
(* @raise Not_implemented. *)
|
||||||
(* General functions:1 ends here *)
|
(* General functions:1 ends here *)
|
||||||
|
|
||||||
(* Functions related to the Boys function *)
|
(* Functions related to the Boys function *)
|
||||||
|
@ -213,8 +213,11 @@ val chop : float -> (unit -> float) -> float
|
|||||||
val pow : float -> int -> float
|
val pow : float -> int -> float
|
||||||
val float_of_int_fast : int -> float
|
val float_of_int_fast : int -> float
|
||||||
|
|
||||||
val not_implemented : unit -> 'a
|
|
||||||
val of_some : 'a option -> 'a
|
val of_some : 'a option -> 'a
|
||||||
|
|
||||||
|
exception Not_implemented of string
|
||||||
|
val not_implemented : string -> 'a
|
||||||
|
(* @raise Not_implemented. *)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
| ~fact~ | Factorial function. |
|
| ~fact~ | Factorial function. |
|
||||||
@ -223,7 +226,7 @@ val of_some : 'a option -> 'a
|
|||||||
| ~pow~ | Fast implementation of the power function for small integer powers |
|
| ~pow~ | Fast implementation of the power function for small integer powers |
|
||||||
| ~chop~ | In ~chop a f~, evaluate ~f~ only if the absolute value of ~a~ is larger than ~Constants.epsilon~, and return ~a *. f ()~. |
|
| ~chop~ | In ~chop a f~, evaluate ~f~ only if the absolute value of ~a~ is larger than ~Constants.epsilon~, and return ~a *. f ()~. |
|
||||||
| ~float_of_int_fast~ | Faster implementation of float_of_int for small positive ints |
|
| ~float_of_int_fast~ | Faster implementation of float_of_int for small positive ints |
|
||||||
| ~not_implemented~ | Fails with error message if some functionality is not implemented |
|
| ~not_implemented~ | Fails if some functionality is not implemented |
|
||||||
| ~of_some~ | Extracts the value of an option |
|
| ~of_some~ | Extracts the value of an option |
|
||||||
|
|
||||||
#+begin_src ocaml :tangle (eval ml) :exports none
|
#+begin_src ocaml :tangle (eval ml) :exports none
|
||||||
@ -306,8 +309,9 @@ let chop f g =
|
|||||||
else f *. (g ())
|
else f *. (g ())
|
||||||
|
|
||||||
|
|
||||||
let not_implemented () =
|
exception Not_implemented of string
|
||||||
failwith "Not implemented"
|
let not_implemented string =
|
||||||
|
raise (Not_implemented string)
|
||||||
|
|
||||||
|
|
||||||
let of_some = function
|
let of_some = function
|
||||||
|
239
docs/ao.html
Normal file
239
docs/ao.html
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<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>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Atomic Orbitals</h1>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="orgb54ee80"><span class="org-string">"Atomic basis set"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
2339
docs/common.html
Normal file
2339
docs/common.html
Normal file
File diff suppressed because it is too large
Load Diff
@ -71,6 +71,7 @@ with class 'color and highest min-color value."
|
|||||||
|
|
||||||
(setq org-html-htmlize-output-type 'css) ; default: 'inline-css
|
(setq org-html-htmlize-output-type 'css) ; default: 'inline-css
|
||||||
(setq org-html-htmlize-font-prefix "org-") ; default: "org-"
|
(setq org-html-htmlize-font-prefix "org-") ; default: "org-"
|
||||||
|
(setq org-confirm-babel-evaluate nil)
|
||||||
|
|
||||||
(setq c "c")
|
(setq c "c")
|
||||||
(setq ml "ml")
|
(setq ml "ml")
|
||||||
|
71
docs/config_tangle.el
Executable file
71
docs/config_tangle.el
Executable file
@ -0,0 +1,71 @@
|
|||||||
|
;; Thanks to Tobias's answer on Emacs Stack Exchange:
|
||||||
|
;; https://emacs.stackexchange.com/questions/38437/org-mode-batch-export-missing-syntax-highlighting
|
||||||
|
|
||||||
|
(package-initialize)
|
||||||
|
(add-to-list 'package-archives
|
||||||
|
'("gnu" . "https://elpa.gnu.org/packages/"))
|
||||||
|
(add-to-list 'package-archives
|
||||||
|
'("melpa-stable" . "https://stable.melpa.org/packages/"))
|
||||||
|
(add-to-list 'package-archives
|
||||||
|
'("melpa" . "https://melpa.org/packages/"))
|
||||||
|
(setq package-archive-priorities '(("melpa-stable" . 100)
|
||||||
|
("melpa" . 50)
|
||||||
|
("gnu" . 10)))
|
||||||
|
(require 'cl)
|
||||||
|
(let* ((required-packages
|
||||||
|
'(dash
|
||||||
|
htmlize
|
||||||
|
ess
|
||||||
|
evil
|
||||||
|
gnuplot
|
||||||
|
tuareg
|
||||||
|
tramp
|
||||||
|
bibtex-completion
|
||||||
|
org-ref
|
||||||
|
org-gnome
|
||||||
|
org-evil
|
||||||
|
org-bullets
|
||||||
|
org-mime
|
||||||
|
magit
|
||||||
|
rustic
|
||||||
|
auctex))
|
||||||
|
|
||||||
|
(missing-packages (remove-if #'package-installed-p required-packages)))
|
||||||
|
(when missing-packages
|
||||||
|
(message "Missing packages: %s" missing-packages)
|
||||||
|
(package-refresh-contents)
|
||||||
|
(dolist (pkg missing-packages)
|
||||||
|
(package-install pkg)
|
||||||
|
(message "Package %s has been installed" pkg))))
|
||||||
|
|
||||||
|
(setq org-alphabetical-lists t)
|
||||||
|
(setq org-src-fontify-natively t)
|
||||||
|
|
||||||
|
(setq org-src-preserve-indentation t)
|
||||||
|
(setq org-confirm-babel-evaluate nil)
|
||||||
|
|
||||||
|
(org-babel-do-load-languages
|
||||||
|
'org-babel-load-languages
|
||||||
|
'(
|
||||||
|
(emacs-lisp . t)
|
||||||
|
(shell . t)
|
||||||
|
(python . t)
|
||||||
|
(C . t)
|
||||||
|
(ocaml . t)
|
||||||
|
(gnuplot . t)
|
||||||
|
(latex . t)
|
||||||
|
(ditaa . t)
|
||||||
|
(dot . t)
|
||||||
|
(org . t)
|
||||||
|
(makefile . t)
|
||||||
|
))
|
||||||
|
|
||||||
|
(setq pwd (file-name-directory buffer-file-name))
|
||||||
|
(setq name (file-name-nondirectory (substring buffer-file-name 0 -4)))
|
||||||
|
(setq lib (concat pwd "lib/"))
|
||||||
|
(setq testdir (concat pwd "test/"))
|
||||||
|
(setq mli (concat lib name ".mli"))
|
||||||
|
(setq ml (concat lib name ".ml"))
|
||||||
|
(setq c (concat lib name ".c"))
|
||||||
|
(setq test-ml (concat testdir name ".ml"))
|
||||||
|
|
239
docs/gaussian.html
Normal file
239
docs/gaussian.html
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Gaussian</title>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Gaussian</h1>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org5fcfd15"><span class="org-string">"Gaussian basis sets"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
239
docs/gaussian_integrals.html
Normal file
239
docs/gaussian_integrals.html
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<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>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Gaussian integrals</h1>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="orgf36fc27"><span class="org-string">"Integrals on the Gaussian basis sets"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
239
docs/linear_algebra.html
Normal file
239
docs/linear_algebra.html
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<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>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Linear Algebra</h1>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org6e8c657"><span class="org-string">"Linear algebra utilities of QCaml libraries."</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
379
docs/mo.html
Normal file
379
docs/mo.html
Normal file
@ -0,0 +1,379 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<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>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Molecular orbitals</h1>
|
||||||
|
<div id="table-of-contents">
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
<div id="text-table-of-contents">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org9d1c0a9">1. Frozen core</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org1c7c95a">1.1. Type</a></li>
|
||||||
|
<li><a href="#orgb2586e7">1.2. Creation</a></li>
|
||||||
|
<li><a href="#org482997a">1.3. Access</a></li>
|
||||||
|
<li><a href="#orga5d7816">1.4. Printers</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org7d44fe6"><span class="org-string">"Molecular orbitals"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="outline-container-org9d1c0a9" class="outline-2">
|
||||||
|
<h2 id="org9d1c0a9"><span class="section-number-2">1</span> Frozen core</h2>
|
||||||
|
<div class="outline-text-2" id="text-1">
|
||||||
|
<p>
|
||||||
|
Defines how the core electrons are frozen, for each atom.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org1c7c95a" class="outline-3">
|
||||||
|
<h3 id="org1c7c95a"><span class="section-number-3">1.1</span> Type</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-1">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org2ed636d"><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
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgb2586e7" class="outline-3">
|
||||||
|
<h3 id="orgb2586e7"><span class="section-number-3">1.2</span> Creation</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-2">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> kind <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-module">Particles.Nuclei.</span>t <span class="org-tuareg-font-lock-operator">-></span> t
|
||||||
|
|
||||||
|
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">of_int_list</span> <span class="org-tuareg-font-lock-operator">:</span> int list <span class="org-tuareg-font-lock-operator">-></span> t
|
||||||
|
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">of_int_array</span> <span class="org-tuareg-font-lock-operator">:</span> int array <span class="org-tuareg-font-lock-operator">-></span> t
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>make</code></td>
|
||||||
|
<td class="org-left">Creates a <code>Frozen_core.t</code> with the same kind for all atoms</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>of_int_array</code></td>
|
||||||
|
<td class="org-left">Creates a <code>Frozen_core.t</code> giving the number of frozen electrons per atom</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>of_int_list</code></td>
|
||||||
|
<td class="org-left">Creates a <code>Frozen_core.t</code> giving the number of frozen electrons per atom</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<pre class="example" id="org7332159">
|
||||||
|
let f = Frozen_core.(make Small nuclei) ;;
|
||||||
|
val f : Frozen_core.t = [|0; 2; 2; 0|]
|
||||||
|
|
||||||
|
let f = Frozen_core.(of_int_list [0; 2; 2; 0])
|
||||||
|
val f : Frozen_core.t = [|0; 2; 2; 0|]
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org482997a" class="outline-3">
|
||||||
|
<h3 id="org482997a"><span class="section-number-3">1.3</span> Access</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-3">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">num_elec</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></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">-></span> int
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>num_elec</code></td>
|
||||||
|
<td class="org-left">Number of frozen electrons</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>num_mos</code></td>
|
||||||
|
<td class="org-left">Number of frozen molecular orbitals</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<pre class="example" id="org1d3352f">
|
||||||
|
Frozen_core.num_elec f ;;
|
||||||
|
- : int = 4
|
||||||
|
|
||||||
|
Frozen_core.num_mos f ;;
|
||||||
|
- : int = 2
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orga5d7816" class="outline-3">
|
||||||
|
<h3 id="orga5d7816"><span class="section-number-3">1.4</span> Printers</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-4">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">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">-></span> t <span class="org-tuareg-font-lock-operator">-></span> unit
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
239
docs/operators.html
Normal file
239
docs/operators.html
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Operators</title>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Operators</h1>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org0a9530e"><span class="org-string">"Parameteried operators, such as F12 and range-separation"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
1048
docs/particles.html
Normal file
1048
docs/particles.html
Normal file
File diff suppressed because it is too large
Load Diff
361
docs/perturbation.html
Normal file
361
docs/perturbation.html
Normal file
@ -0,0 +1,361 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Perturbation</title>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Perturbation</h1>
|
||||||
|
<div id="table-of-contents">
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
<div id="text-table-of-contents">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org4a19d89">1. MP2</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org9ac9790">1.1. Type</a></li>
|
||||||
|
<li><a href="#org0b288bd">1.2. Creation</a></li>
|
||||||
|
<li><a href="#org0bf5c08">1.3. Access</a></li>
|
||||||
|
<li><a href="#org10bdc37">1.4. Printers</a></li>
|
||||||
|
<li><a href="#org38093b0">1.5. Tests</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="org8cc608d"><span class="org-string">"Perturbation theory"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="outline-container-org4a19d89" class="outline-2">
|
||||||
|
<h2 id="org4a19d89"><span class="section-number-2">1</span> MP2</h2>
|
||||||
|
<div class="outline-text-2" id="text-1">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org9ac9790" class="outline-3">
|
||||||
|
<h3 id="org9ac9790"><span class="section-number-3">1.1</span> Type</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-1">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org0b288bd" class="outline-3">
|
||||||
|
<h3 id="org0b288bd"><span class="section-number-3">1.2</span> Creation</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-2">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">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">-></span> <span class="org-tuareg-font-lock-module">Mo.Basis.</span>t <span class="org-tuareg-font-lock-operator">-></span> t
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>make</code></td>
|
||||||
|
<td class="org-left">Creates an MP2 data structure</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<pre class="example" id="org3955144">
|
||||||
|
let mp2 =
|
||||||
|
Mp2.make ~frozen_core:(Mo.Frozen_core.(make Small molecule)) mo_basis
|
||||||
|
;;
|
||||||
|
- : Mp2.t : <abstr>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org0bf5c08" class="outline-3">
|
||||||
|
<h3 id="org0bf5c08"><span class="section-number-3">1.3</span> Access</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-3">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">energy</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></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">-></span> <span class="org-tuareg-font-lock-module">Mo.Basis.</span>t
|
||||||
|
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">frozen_core</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-module">Mo.Frozen_core.</span>t
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>energy</code></td>
|
||||||
|
<td class="org-left">Returns the MP2 energy</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>mo_basis</code></td>
|
||||||
|
<td class="org-left">Returns the MO basis on which the MP2 energy was computed</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>frozen_core</code></td>
|
||||||
|
<td class="org-left">Returns the frozen<sub>core</sub> scheme used to compute the MP2 energy</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<pre class="example" id="orgabe71c7">
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org10bdc37" class="outline-3">
|
||||||
|
<h3 id="org10bdc37"><span class="section-number-3">1.4</span> Printers</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-4">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">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">-></span> t <span class="org-tuareg-font-lock-operator">-></span> unit
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org38093b0" class="outline-3">
|
||||||
|
<h3 id="org38093b0"><span class="section-number-3">1.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-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
368
docs/simulation.html
Normal file
368
docs/simulation.html
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"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-01 Fri 16:38 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Simulation</title>
|
||||||
|
<meta name="generator" content="Org mode" />
|
||||||
|
<meta name="author" content="Anthony Scemama" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.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-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>
|
||||||
|
<script type="text/javascript">
|
||||||
|
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.add("code-highlighted");
|
||||||
|
target.classList.add("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.classList.remove("code-highlighted");
|
||||||
|
target.classList.remove("code-highlighted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
// @license-end
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">Simulation</h1>
|
||||||
|
<div id="table-of-contents">
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
<div id="text-table-of-contents">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#orgf303bc5">1. Simulation</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#org2e878c8">1.1. Type</a></li>
|
||||||
|
<li><a href="#org0ad2cbd">1.2. Access</a></li>
|
||||||
|
<li><a href="#orgee1bf18">1.3. Creation</a></li>
|
||||||
|
<li><a href="#org7e516a7">1.4. Printers</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="orgd63cdb3"><span class="org-string">"Data describing a simulation (AOs, operators, nuclear coordinate,...)"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="outline-container-orgf303bc5" class="outline-2">
|
||||||
|
<h2 id="orgf303bc5"><span class="section-number-2">1</span> Simulation</h2>
|
||||||
|
<div class="outline-text-2" id="text-1">
|
||||||
|
<p>
|
||||||
|
Contains the state of the simulation.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="orgb80da13"><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">Operators</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org2e878c8" class="outline-3">
|
||||||
|
<h3 id="org2e878c8"><span class="section-number-3">1.1</span> Type</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-1">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml" id="orgd92e1cd"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org0ad2cbd" class="outline-3">
|
||||||
|
<h3 id="org0ad2cbd"><span class="section-number-3">1.2</span> Access</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-2">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">nuclei</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-module">Nuclei.</span>t
|
||||||
|
<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">-></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">electrons</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-module">Electrons.</span>t
|
||||||
|
<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">-></span> <span class="org-tuareg-font-lock-module">Ao.Basis.</span>t
|
||||||
|
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">nuclear_repulsion</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></span> float
|
||||||
|
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">operators</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-module">Operator.</span>t list
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left" />
|
||||||
|
|
||||||
|
<col class="org-left" />
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>nuclei</code></td>
|
||||||
|
<td class="org-left">Nuclear coordinates used in the smiulation</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>charge</code></td>
|
||||||
|
<td class="org-left">Total charge (electrons + nuclei)</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>electrons</code></td>
|
||||||
|
<td class="org-left">Electrons used in the simulation</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>ao_basis</code></td>
|
||||||
|
<td class="org-left">Atomic basis set</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>nuclear_repulsion</code></td>
|
||||||
|
<td class="org-left">Nuclear repulsion energy</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left"><code>operators</code></td>
|
||||||
|
<td class="org-left">List of extra operators (range-separation, f12, etc)</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgee1bf18" class="outline-3">
|
||||||
|
<h3 id="orgee1bf18"><span class="section-number-3">1.3</span> Creation</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-3">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?multiplicity</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-></span> <span class="org-tuareg-font-lock-label">?charge</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-></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">-></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">-></span>
|
||||||
|
<span class="org-tuareg-font-lock-module">Ao.Basis.</span>t <span class="org-tuareg-font-lock-operator">-></span> t
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Defaults:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>multiplicity : <code>1</code></li>
|
||||||
|
<li>charge : <code>0</code></li>
|
||||||
|
<li>operators : <code>[]</code></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org7e516a7" class="outline-3">
|
||||||
|
<h3 id="org7e516a7"><span class="section-number-3">1.4</span> Printers</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-4">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">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">-></span> t <span class="org-tuareg-font-lock-operator">-></span> unit
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: Anthony Scemama</p>
|
||||||
|
<p class="date">Created: 2021-01-01 Fri 16:38</p>
|
||||||
|
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -32,7 +32,7 @@ let matrix t = function
|
|||||||
| "x4" -> t.(12)
|
| "x4" -> t.(12)
|
||||||
| "y4" -> t.(13)
|
| "y4" -> t.(13)
|
||||||
| "z4" -> t.(14)
|
| "z4" -> t.(14)
|
||||||
| _ -> Util.not_implemented ()
|
| _ -> Util.not_implemented "Multipole"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,18 +95,14 @@ let mo_class_array t =
|
|||||||
|
|
||||||
let fci ~frozen_core mo_basis =
|
let fci ~frozen_core mo_basis =
|
||||||
let mo_num = Basis.size mo_basis in
|
let mo_num = Basis.size mo_basis in
|
||||||
let ncore = (Nuclei.small_core @@ Simulation.nuclei @@ Basis.simulation mo_basis) / 2 in
|
let ncore = Frozen_core.num_mos frozen_core in
|
||||||
of_list (
|
of_list (
|
||||||
if frozen_core then
|
|
||||||
List.concat [
|
List.concat [
|
||||||
Util.list_range 1 ncore
|
Util.list_range 1 ncore
|
||||||
|> List.map (fun i -> Core i) ;
|
|> List.map (fun i -> Core i) ;
|
||||||
Util.list_range (ncore+1) mo_num
|
Util.list_range (ncore+1) mo_num
|
||||||
|> List.map (fun i -> Active i)
|
|> List.map (fun i -> Active i)
|
||||||
]
|
]
|
||||||
else
|
|
||||||
Util.list_range 1 mo_num
|
|
||||||
|> List.map (fun i -> Active i)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
let cas_sd mo_basis ~frozen_core n m =
|
let cas_sd mo_basis ~frozen_core n m =
|
||||||
@ -117,19 +113,11 @@ let cas_sd mo_basis ~frozen_core n m =
|
|||||||
let n_alfa_in_cas = (n - n_unpaired)/2 + n_unpaired in
|
let n_alfa_in_cas = (n - n_unpaired)/2 + n_unpaired in
|
||||||
let last_inactive = n_alfa - n_alfa_in_cas in
|
let last_inactive = n_alfa - n_alfa_in_cas in
|
||||||
let last_active = last_inactive + m in
|
let last_active = last_inactive + m in
|
||||||
let ncore =
|
let ncore = min (Frozen_core.num_mos frozen_core) last_inactive in
|
||||||
if frozen_core then
|
|
||||||
(Nuclei.small_core @@ Simulation.nuclei @@ Basis.simulation mo_basis) / 2
|
|
||||||
|> min last_inactive
|
|
||||||
else 0
|
|
||||||
in
|
|
||||||
of_list (
|
of_list (
|
||||||
List.concat [
|
List.concat [
|
||||||
if ncore > 0 then
|
|
||||||
Util.list_range 1 ncore
|
Util.list_range 1 ncore
|
||||||
|> List.map (fun i -> Core i)
|
|> List.map (fun i -> Core i) ;
|
||||||
else
|
|
||||||
[] ;
|
|
||||||
Util.list_range (ncore+1) last_inactive
|
Util.list_range (ncore+1) last_inactive
|
||||||
|> List.map (fun i -> Inactive i) ;
|
|> List.map (fun i -> Inactive i) ;
|
||||||
Util.list_range (last_inactive+1) last_active
|
Util.list_range (last_inactive+1) last_active
|
||||||
|
@ -15,12 +15,12 @@ val of_list : mo_class list -> t
|
|||||||
|
|
||||||
val to_list : t -> mo_class list
|
val to_list : t -> mo_class list
|
||||||
|
|
||||||
val fci : frozen_core:bool -> Basis.t -> t
|
val fci : frozen_core:Frozen_core.t -> Basis.t -> t
|
||||||
(** Creates the MO classes for FCI calculations : all [Active]. The
|
(** Creates the MO classes for FCI calculations : all [Active]. The
|
||||||
[n] lowest MOs are [Core] if [frozen_core = true].
|
[n] lowest MOs are [Core] if [frozen_core = true].
|
||||||
*)
|
*)
|
||||||
|
|
||||||
val cas_sd: Basis.t -> frozen_core:bool -> int -> int -> t
|
val cas_sd: Basis.t -> frozen_core:Frozen_core.t -> int -> int -> t
|
||||||
(** [cas_sd mo_basis n m ] creates the MO classes for CAS(n,m) + SD
|
(** [cas_sd mo_basis n m ] creates the MO classes for CAS(n,m) + SD
|
||||||
calculations. lowest MOs are [Core], then all the next MOs are [Inactive],
|
calculations. lowest MOs are [Core], then all the next MOs are [Inactive],
|
||||||
then [Active], then [Virtual].
|
then [Active], then [Virtual].
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(* [[file:../frozen_core.org::*Type][Type:3]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Type][Type:3]] *)
|
||||||
type kind =
|
type kind =
|
||||||
| All_electron
|
| All_electron
|
||||||
| Small
|
| Small
|
||||||
@ -21,7 +21,7 @@ type t = int array
|
|||||||
* #+end_example *)
|
* #+end_example *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Creation][Creation:2]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Creation][Creation:2]] *)
|
||||||
let make_ae nuclei =
|
let make_ae nuclei =
|
||||||
Array.map (fun _ -> 0) nuclei
|
Array.map (fun _ -> 0) nuclei
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ let of_int_list = Array.of_list
|
|||||||
* #+end_example *)
|
* #+end_example *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Access][Access:2]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Access][Access:2]] *)
|
||||||
let num_elec t =
|
let num_elec t =
|
||||||
Array.fold_left ( + ) 0 t
|
Array.fold_left ( + ) 0 t
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ let num_mos t =
|
|||||||
(num_elec t) / 2
|
(num_elec t) / 2
|
||||||
(* Access:2 ends here *)
|
(* Access:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Printers][Printers:2]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Printers][Printers:2]] *)
|
||||||
let pp ppf t =
|
let pp ppf t =
|
||||||
Format.fprintf ppf "@[[|";
|
Format.fprintf ppf "@[[|";
|
||||||
Array.iter (fun x -> Format.fprintf ppf "@,@[%d@]" x) t;
|
Array.iter (fun x -> Format.fprintf ppf "@,@[%d@]" x) t;
|
||||||
|
@ -2,21 +2,21 @@
|
|||||||
*
|
*
|
||||||
* #+NAME: types *)
|
* #+NAME: types *)
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::types][types]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::types][types]] *)
|
||||||
type kind =
|
type kind =
|
||||||
| All_electron
|
| All_electron
|
||||||
| Small
|
| Small
|
||||||
| Large
|
| Large
|
||||||
(* types ends here *)
|
(* types ends here *)
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Type][Type:2]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Type][Type:2]] *)
|
||||||
type t
|
type t
|
||||||
(* Type:2 ends here *)
|
(* Type:2 ends here *)
|
||||||
|
|
||||||
(* Creation *)
|
(* Creation *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Creation][Creation:1]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Creation][Creation:1]] *)
|
||||||
val make : kind -> Particles.Nuclei.t -> t
|
val make : kind -> Particles.Nuclei.t -> t
|
||||||
|
|
||||||
val of_int_list : int list -> t
|
val of_int_list : int list -> t
|
||||||
@ -26,7 +26,7 @@ val of_int_array : int array -> t
|
|||||||
(* Access *)
|
(* Access *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Access][Access:1]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Access][Access:1]] *)
|
||||||
val num_elec : t -> int
|
val num_elec : t -> int
|
||||||
val num_mos : t -> int
|
val num_mos : t -> int
|
||||||
(* Access:1 ends here *)
|
(* Access:1 ends here *)
|
||||||
@ -34,6 +34,6 @@ val num_mos : t -> int
|
|||||||
(* Printers *)
|
(* Printers *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../frozen_core.org::*Printers][Printers:1]] *)
|
(* [[file:~/QCaml/mo/frozen_core.org::*Printers][Printers:1]] *)
|
||||||
val pp : Format.formatter -> t -> unit
|
val pp : Format.formatter -> t -> unit
|
||||||
(* Printers:1 ends here *)
|
(* Printers:1 ends here *)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(* [[file:../nuclei.org::*Type][Type:2]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Type][Type:2]] *)
|
||||||
open Common
|
open Common
|
||||||
|
|
||||||
type t = (Element.t * Coordinate.t) array
|
type t = (Element.t * Coordinate.t) array
|
||||||
@ -15,7 +15,7 @@ open Xyz_ast
|
|||||||
* | ~of_filename~ | Detects the type of file (xyz, z-matrix) and reads the file | *)
|
* | ~of_filename~ | Detects the type of file (xyz, z-matrix) and reads the file | *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Conversion][Conversion:2]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Conversion][Conversion:2]] *)
|
||||||
let of_xyz_lexbuf lexbuf =
|
let of_xyz_lexbuf lexbuf =
|
||||||
let data =
|
let data =
|
||||||
Xyz_parser.input Nuclei_lexer.read_all lexbuf
|
Xyz_parser.input Nuclei_lexer.read_all lexbuf
|
||||||
@ -126,7 +126,7 @@ let to_xyz_string t =
|
|||||||
* | ~large_core~ | Number of core electrons in the large core model | *)
|
* | ~large_core~ | Number of core electrons in the large core model | *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Query][Query:2]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Query][Query:2]] *)
|
||||||
let formula t =
|
let formula t =
|
||||||
let dict = Hashtbl.create 67 in
|
let dict = Hashtbl.create 67 in
|
||||||
Array.iter (fun (e,_) ->
|
Array.iter (fun (e,_) ->
|
||||||
@ -176,7 +176,7 @@ let large_core a =
|
|||||||
Array.fold_left (fun accu (e,_) -> accu + (Element.large_core e)) 0 a
|
Array.fold_left (fun accu (e,_) -> accu + (Element.large_core e)) 0 a
|
||||||
(* Query:2 ends here *)
|
(* Query:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Printers][Printers:2]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Printers][Printers:2]] *)
|
||||||
let pp ppf t =
|
let pp ppf t =
|
||||||
Format.fprintf ppf "@[%s@]" (to_string t)
|
Format.fprintf ppf "@[%s@]" (to_string t)
|
||||||
(* Printers:2 ends here *)
|
(* Printers:2 ends here *)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* #+NAME: types *)
|
* #+NAME: types *)
|
||||||
|
|
||||||
(* [[file:../nuclei.org::types][types]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::types][types]] *)
|
||||||
open Common
|
open Common
|
||||||
|
|
||||||
type t = (Element.t * Coordinate.t) array
|
type t = (Element.t * Coordinate.t) array
|
||||||
@ -11,7 +11,7 @@ type t = (Element.t * Coordinate.t) array
|
|||||||
(* Conversion *)
|
(* Conversion *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Conversion][Conversion:1]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Conversion][Conversion:1]] *)
|
||||||
val of_xyz_string : string -> t
|
val of_xyz_string : string -> t
|
||||||
val to_xyz_string : t -> string
|
val to_xyz_string : t -> string
|
||||||
val of_xyz_file : string -> t
|
val of_xyz_file : string -> t
|
||||||
@ -27,7 +27,7 @@ val of_filename : string -> t
|
|||||||
(* TODO Query *)
|
(* TODO Query *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Query][Query:1]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Query][Query:1]] *)
|
||||||
val formula : t -> string
|
val formula : t -> string
|
||||||
val repulsion : t -> float
|
val repulsion : t -> float
|
||||||
val charge : t -> Charge.t
|
val charge : t -> Charge.t
|
||||||
@ -38,6 +38,6 @@ val large_core : t -> int
|
|||||||
(* Printers *)
|
(* Printers *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Printers][Printers:1]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Printers][Printers:1]] *)
|
||||||
val pp : Format.formatter -> t -> unit
|
val pp : Format.formatter -> t -> unit
|
||||||
(* Printers:1 ends here *)
|
(* Printers:1 ends here *)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* an xyz file. *)
|
* an xyz file. *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Lexer][Lexer:1]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Lexer][Lexer:1]] *)
|
||||||
{
|
{
|
||||||
open Xyz_parser
|
open Xyz_parser
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* an ~xyz_file~ data structure. *)
|
* an ~xyz_file~ data structure. *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Parser][Parser:2]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Parser][Parser:2]] *)
|
||||||
open Common
|
open Common
|
||||||
|
|
||||||
type nucleus =
|
type nucleus =
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
(* Tests *)
|
(* Tests *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../nuclei.org::*Tests][Tests:1]] *)
|
(* [[file:~/QCaml/particles/nuclei.org::*Tests][Tests:1]] *)
|
||||||
open Common
|
open Common
|
||||||
open Particles
|
open Particles
|
||||||
open Alcotest
|
open Alcotest
|
||||||
|
@ -1,21 +1,31 @@
|
|||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Type][Type:2]] *)
|
||||||
|
type t = {
|
||||||
|
energy : float ;
|
||||||
|
mo_basis : Mo.Basis.t ;
|
||||||
|
frozen_core : Mo.Frozen_core.t ;
|
||||||
|
}
|
||||||
|
(* Type:2 ends here *)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(* | ~make~ | Creates an MP2 data structure |
|
||||||
|
*
|
||||||
|
* #+begin_example
|
||||||
|
* let mp2 =
|
||||||
|
* Mp2.make ~frozen_core:(Mo.Frozen_core.(make Small molecule)) mo_basis
|
||||||
|
* ;;
|
||||||
|
* - : Mp2.t : <abstr>
|
||||||
|
* #+end_example *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Creation][Creation:2]] *)
|
||||||
open Linear_algebra
|
open Linear_algebra
|
||||||
|
|
||||||
type t = float
|
let make_rmp2 mo_basis mo_class =
|
||||||
|
|
||||||
|
let epsilon = Mo.Basis.mo_energies mo_basis in
|
||||||
|
let eri = Mo.Basis.ee_ints mo_basis in
|
||||||
|
|
||||||
let make ~frozen_core hf =
|
|
||||||
let mo_basis =
|
|
||||||
Mo.Basis.of_hartree_fock hf
|
|
||||||
in
|
|
||||||
let epsilon =
|
|
||||||
Mo.Basis.mo_energies mo_basis
|
|
||||||
in
|
|
||||||
let mo_class =
|
|
||||||
Mo.Class.cas_sd mo_basis ~frozen_core 0 0
|
|
||||||
|> Mo.Class.to_list
|
|
||||||
in
|
|
||||||
let eri =
|
|
||||||
Mo.Basis.ee_ints mo_basis
|
|
||||||
in
|
|
||||||
let inactives =
|
let inactives =
|
||||||
List.filter (fun i ->
|
List.filter (fun i ->
|
||||||
match i with Mo.Class.Inactive _ -> true | _ -> false) mo_class
|
match i with Mo.Class.Inactive _ -> true | _ -> false) mo_class
|
||||||
@ -24,7 +34,6 @@ let make ~frozen_core hf =
|
|||||||
match i with Mo.Class.Virtual _ -> true | _ -> false) mo_class
|
match i with Mo.Class.Virtual _ -> true | _ -> false) mo_class
|
||||||
in
|
in
|
||||||
|
|
||||||
let rmp2 () =
|
|
||||||
List.fold_left (fun accu b ->
|
List.fold_left (fun accu b ->
|
||||||
match b with Mo.Class.Virtual b ->
|
match b with Mo.Class.Virtual b ->
|
||||||
let eps = -. (epsilon%.(b)) in
|
let eps = -. (epsilon%.(b)) in
|
||||||
@ -52,11 +61,43 @@ let make ~frozen_core hf =
|
|||||||
) 0. virtuals
|
) 0. virtuals
|
||||||
| _ -> accu
|
| _ -> accu
|
||||||
) 0. virtuals
|
) 0. virtuals
|
||||||
|
|
||||||
|
|
||||||
|
let make ~frozen_core mo_basis =
|
||||||
|
|
||||||
|
let mo_class =
|
||||||
|
Mo.Class.cas_sd mo_basis ~frozen_core 0 0
|
||||||
|
|> Mo.Class.to_list
|
||||||
in
|
in
|
||||||
|
|
||||||
|
let energy =
|
||||||
match Mo.Hartree_fock.kind hf with
|
match Mo.Basis.mo_type mo_basis with
|
||||||
| Mo.Hartree_fock.RHF -> rmp2 ()
|
| RHF -> make_rmp2 mo_basis mo_class
|
||||||
| _ -> failwith "Not implemented"
|
| ROHF -> Common.Util.not_implemented "ROHF MP2"
|
||||||
|
| UHF -> Common.Util.not_implemented "UHF MP2"
|
||||||
|
| _ -> invalid_arg "MP2 needs RHF or ROHF MOs"
|
||||||
|
in
|
||||||
|
{ energy ; mo_basis ; frozen_core }
|
||||||
|
(* Creation:2 ends here *)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(* | ~energy~ | Returns the MP2 energy |
|
||||||
|
* | ~mo_basis~ | Returns the MO basis on which the MP2 energy was computed |
|
||||||
|
* | ~frozen_core~ | Returns the frozen_core scheme used to compute the MP2 energy |
|
||||||
|
*
|
||||||
|
* #+begin_example
|
||||||
|
*
|
||||||
|
* #+end_example *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Access][Access:2]] *)
|
||||||
|
let energy t = t.energy
|
||||||
|
let mo_basis t = t.mo_basis
|
||||||
|
let frozen_core t = t.frozen_core
|
||||||
|
(* Access:2 ends here *)
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Printers][Printers:2]] *)
|
||||||
|
let pp ppf t =
|
||||||
|
Format.fprintf ppf "@[E(MP2)=%f@]" t.energy
|
||||||
|
(* Printers:2 ends here *)
|
||||||
|
29
perturbation/lib/mp2.mli
Normal file
29
perturbation/lib/mp2.mli
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
(* Type *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Type][Type:1]] *)
|
||||||
|
type t
|
||||||
|
(* Type:1 ends here *)
|
||||||
|
|
||||||
|
(* Creation *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Creation][Creation:1]] *)
|
||||||
|
val make : frozen_core:Mo.Frozen_core.t -> Mo.Basis.t -> t
|
||||||
|
(* Creation:1 ends here *)
|
||||||
|
|
||||||
|
(* Access *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Access][Access:1]] *)
|
||||||
|
val energy : t -> float
|
||||||
|
val mo_basis : t -> Mo.Basis.t
|
||||||
|
val frozen_core : t -> Mo.Frozen_core.t
|
||||||
|
(* Access:1 ends here *)
|
||||||
|
|
||||||
|
(* Printers *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Printers][Printers:1]] *)
|
||||||
|
val pp : Format.formatter -> t -> unit
|
||||||
|
(* Printers:1 ends here *)
|
180
perturbation/mp2.org
Normal file
180
perturbation/mp2.org
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
#+begin_src elisp tangle: no :results none :exports none
|
||||||
|
(setq pwd (file-name-directory buffer-file-name))
|
||||||
|
(setq name (file-name-nondirectory (substring buffer-file-name 0 -4)))
|
||||||
|
(setq lib (concat pwd "lib/"))
|
||||||
|
(setq testdir (concat pwd "test/"))
|
||||||
|
(setq mli (concat lib name ".mli"))
|
||||||
|
(setq ml (concat lib name ".ml"))
|
||||||
|
(setq test-ml (concat testdir name ".ml"))
|
||||||
|
(org-babel-tangle)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* MP2
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args: :noweb yes :comments both
|
||||||
|
:END:
|
||||||
|
|
||||||
|
** Type
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval mli)
|
||||||
|
type t
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval ml) :exports none
|
||||||
|
type t = {
|
||||||
|
energy : float ;
|
||||||
|
mo_basis : Mo.Basis.t ;
|
||||||
|
frozen_core : Mo.Frozen_core.t ;
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Creation
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval mli)
|
||||||
|
val make : frozen_core:Mo.Frozen_core.t -> Mo.Basis.t -> t
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
| ~make~ | Creates an MP2 data structure |
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
let mp2 =
|
||||||
|
Mp2.make ~frozen_core:(Mo.Frozen_core.(make Small molecule)) mo_basis
|
||||||
|
;;
|
||||||
|
- : Mp2.t : <abstr>
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval ml) :exports none
|
||||||
|
open Linear_algebra
|
||||||
|
|
||||||
|
let make_rmp2 mo_basis mo_class =
|
||||||
|
|
||||||
|
let epsilon = Mo.Basis.mo_energies mo_basis in
|
||||||
|
let eri = Mo.Basis.ee_ints mo_basis in
|
||||||
|
|
||||||
|
let inactives =
|
||||||
|
List.filter (fun i ->
|
||||||
|
match i with Mo.Class.Inactive _ -> true | _ -> false) mo_class
|
||||||
|
and virtuals =
|
||||||
|
List.filter (fun i ->
|
||||||
|
match i with Mo.Class.Virtual _ -> true | _ -> false) mo_class
|
||||||
|
in
|
||||||
|
|
||||||
|
List.fold_left (fun accu b ->
|
||||||
|
match b with Mo.Class.Virtual b ->
|
||||||
|
let eps = -. (epsilon%.(b)) in
|
||||||
|
accu +.
|
||||||
|
List.fold_left (fun accu a ->
|
||||||
|
match a with Mo.Class.Virtual a ->
|
||||||
|
let eps = eps -. (epsilon%.(a)) in
|
||||||
|
accu +.
|
||||||
|
List.fold_left (fun accu j ->
|
||||||
|
match j with Mo.Class.Inactive j ->
|
||||||
|
let eps = eps +. epsilon%.(j) in
|
||||||
|
accu +.
|
||||||
|
List.fold_left (fun accu i ->
|
||||||
|
match i with Mo.Class.Inactive i ->
|
||||||
|
let eps = eps +. epsilon%.(i) in
|
||||||
|
let ijab = Four_idx_storage.get_phys eri i j a b
|
||||||
|
and abji = Four_idx_storage.get_phys eri a b j i in
|
||||||
|
let abij = ijab in
|
||||||
|
accu +. ijab *. ( abij +. abij -. abji) /. eps
|
||||||
|
| _ -> accu
|
||||||
|
) 0. inactives
|
||||||
|
| _ -> accu
|
||||||
|
) 0. inactives
|
||||||
|
| _ -> accu
|
||||||
|
) 0. virtuals
|
||||||
|
| _ -> accu
|
||||||
|
) 0. virtuals
|
||||||
|
|
||||||
|
|
||||||
|
let make ~frozen_core mo_basis =
|
||||||
|
|
||||||
|
let mo_class =
|
||||||
|
Mo.Class.cas_sd mo_basis ~frozen_core 0 0
|
||||||
|
|> Mo.Class.to_list
|
||||||
|
in
|
||||||
|
|
||||||
|
let energy =
|
||||||
|
match Mo.Basis.mo_type mo_basis with
|
||||||
|
| RHF -> make_rmp2 mo_basis mo_class
|
||||||
|
| ROHF -> Common.Util.not_implemented "ROHF MP2"
|
||||||
|
| UHF -> Common.Util.not_implemented "UHF MP2"
|
||||||
|
| _ -> invalid_arg "MP2 needs RHF or ROHF MOs"
|
||||||
|
in
|
||||||
|
{ energy ; mo_basis ; frozen_core }
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Access
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval mli)
|
||||||
|
val energy : t -> float
|
||||||
|
val mo_basis : t -> Mo.Basis.t
|
||||||
|
val frozen_core : t -> Mo.Frozen_core.t
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
| ~energy~ | Returns the MP2 energy |
|
||||||
|
| ~mo_basis~ | Returns the MO basis on which the MP2 energy was computed |
|
||||||
|
| ~frozen_core~ | Returns the frozen_core scheme used to compute the MP2 energy |
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval ml) :exports none
|
||||||
|
let energy t = t.energy
|
||||||
|
let mo_basis t = t.mo_basis
|
||||||
|
let frozen_core t = t.frozen_core
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
** Printers
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval mli)
|
||||||
|
val pp : Format.formatter -> t -> unit
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval ml) :exports none
|
||||||
|
let pp ppf t =
|
||||||
|
Format.fprintf ppf "@[E(MP2)=%f@]" t.energy
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Tests
|
||||||
|
|
||||||
|
#+begin_src ocaml :tangle (eval test-ml) :exports none
|
||||||
|
open Alcotest
|
||||||
|
open Particles
|
||||||
|
|
||||||
|
let wd = Common.Qcaml.root ^ Filename.dir_sep ^ "test"
|
||||||
|
|
||||||
|
let tests =
|
||||||
|
[ "HF Water", `Quick, fun () ->
|
||||||
|
let nuclei =
|
||||||
|
wd ^ Filename.dir_sep ^ "water.xyz"
|
||||||
|
|> Nuclei.of_xyz_file
|
||||||
|
in
|
||||||
|
let basis_filename =
|
||||||
|
wd ^ Filename.dir_sep ^ "cc-pvdz"
|
||||||
|
in
|
||||||
|
let ao_basis =
|
||||||
|
Ao.Basis.of_nuclei_and_basis_filename ~kind:`Gaussian
|
||||||
|
~cartesian:false ~nuclei basis_filename
|
||||||
|
in
|
||||||
|
|
||||||
|
let simulation = Simulation.make ~nuclei ao_basis in
|
||||||
|
|
||||||
|
let hf = Mo.Hartree_fock.make ~guess:`Huckel simulation in
|
||||||
|
Format.printf "%a" (Mo.Hartree_fock.pp) hf;
|
||||||
|
check (float 2.e-10) "Energy" (-76.0267987005) (Mo.Hartree_fock.energy hf);
|
||||||
|
|
||||||
|
let mo_basis = Mo.Basis.of_hartree_fock hf in
|
||||||
|
|
||||||
|
let frozen_core = Mo.Frozen_core.(make Small nuclei) in
|
||||||
|
|
||||||
|
let e_mp2 = Perturbation.Mp2.make ~frozen_core mo_basis in
|
||||||
|
|
||||||
|
check (float 1.e-9) "MP2" (-0.2016211415) (e_mp2)
|
||||||
|
]
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
@ -1,3 +1,7 @@
|
|||||||
|
(* Tests *)
|
||||||
|
|
||||||
|
|
||||||
|
(* [[file:~/QCaml/perturbation/mp2.org::*Tests][Tests:1]] *)
|
||||||
open Alcotest
|
open Alcotest
|
||||||
open Particles
|
open Particles
|
||||||
|
|
||||||
@ -16,12 +20,19 @@ let tests =
|
|||||||
Ao.Basis.of_nuclei_and_basis_filename ~kind:`Gaussian
|
Ao.Basis.of_nuclei_and_basis_filename ~kind:`Gaussian
|
||||||
~cartesian:false ~nuclei basis_filename
|
~cartesian:false ~nuclei basis_filename
|
||||||
in
|
in
|
||||||
|
|
||||||
let simulation = Simulation.make ~nuclei ao_basis in
|
let simulation = Simulation.make ~nuclei ao_basis in
|
||||||
|
|
||||||
let hf = Mo.Hartree_fock.make ~guess:`Huckel simulation in
|
let hf = Mo.Hartree_fock.make ~guess:`Huckel simulation in
|
||||||
Format.printf "%a" (Mo.Hartree_fock.pp) hf;
|
Format.printf "%a" (Mo.Hartree_fock.pp) hf;
|
||||||
check (float 2.e-10) "Energy" (-76.0267987005) (Mo.Hartree_fock.energy hf);
|
check (float 2.e-10) "Energy" (-76.0267987005) (Mo.Hartree_fock.energy hf);
|
||||||
let e_mp2 = Perturbation.Mp2.make ~frozen_core:true hf in
|
|
||||||
Printf.printf "%s\n" (string_of_float e_mp2);
|
let mo_basis = Mo.Basis.of_hartree_fock hf in
|
||||||
|
|
||||||
|
let frozen_core = Mo.Frozen_core.(make Small nuclei) in
|
||||||
|
|
||||||
|
let e_mp2 = Perturbation.Mp2.make ~frozen_core mo_basis in
|
||||||
|
|
||||||
check (float 1.e-9) "MP2" (-0.2016211415) (e_mp2)
|
check (float 1.e-9) "MP2" (-0.2016211415) (e_mp2)
|
||||||
]
|
]
|
||||||
|
(* Tests:1 ends here *)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
(* [[file:../simulation.org::*Simulation][Simulation:2]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Simulation][Simulation:2]] *)
|
||||||
open Common
|
open Common
|
||||||
open Particles
|
open Particles
|
||||||
open Operators
|
open Operators
|
||||||
(* Simulation:2 ends here *)
|
(* Simulation:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Type][Type:2]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Type][Type:2]] *)
|
||||||
type t = {
|
type t = {
|
||||||
charge : Charge.t;
|
charge : Charge.t;
|
||||||
electrons : Electrons.t;
|
electrons : Electrons.t;
|
||||||
@ -24,7 +24,7 @@ type t = {
|
|||||||
* | ~operators~ | List of extra operators (range-separation, f12, etc) | *)
|
* | ~operators~ | List of extra operators (range-separation, f12, etc) | *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Access][Access:2]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Access][Access:2]] *)
|
||||||
let nuclei t = t.nuclei
|
let nuclei t = t.nuclei
|
||||||
let charge t = t.charge
|
let charge t = t.charge
|
||||||
let electrons t = t.electrons
|
let electrons t = t.electrons
|
||||||
@ -41,7 +41,7 @@ let operators t = t.operators
|
|||||||
* - operators : ~[]~ *)
|
* - operators : ~[]~ *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Creation][Creation:2]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Creation][Creation:2]] *)
|
||||||
let make
|
let make
|
||||||
?(multiplicity=1)
|
?(multiplicity=1)
|
||||||
?(charge=0)
|
?(charge=0)
|
||||||
@ -65,7 +65,7 @@ let make
|
|||||||
{ charge ; nuclei ; electrons ; ao_basis ; operators}
|
{ charge ; nuclei ; electrons ; ao_basis ; operators}
|
||||||
(* Creation:2 ends here *)
|
(* Creation:2 ends here *)
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Printers][Printers:2]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Printers][Printers:2]] *)
|
||||||
let pp ppf t =
|
let pp ppf t =
|
||||||
let formula = Nuclei.formula t.nuclei in
|
let formula = Nuclei.formula t.nuclei in
|
||||||
let n_aos = Ao.Basis.size t.ao_basis in
|
let n_aos = Ao.Basis.size t.ao_basis in
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* #+NAME: open *)
|
* #+NAME: open *)
|
||||||
|
|
||||||
(* [[file:../simulation.org::open][open]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::open][open]] *)
|
||||||
open Common
|
open Common
|
||||||
open Particles
|
open Particles
|
||||||
open Operators
|
open Operators
|
||||||
@ -17,14 +17,14 @@ open Operators
|
|||||||
*
|
*
|
||||||
* #+NAME: types *)
|
* #+NAME: types *)
|
||||||
|
|
||||||
(* [[file:../simulation.org::types][types]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::types][types]] *)
|
||||||
type t
|
type t
|
||||||
(* types ends here *)
|
(* types ends here *)
|
||||||
|
|
||||||
(* Access *)
|
(* Access *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Access][Access:1]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Access][Access:1]] *)
|
||||||
val nuclei : t -> Nuclei.t
|
val nuclei : t -> Nuclei.t
|
||||||
val charge : t -> Charge.t
|
val charge : t -> Charge.t
|
||||||
val electrons : t -> Electrons.t
|
val electrons : t -> Electrons.t
|
||||||
@ -36,7 +36,7 @@ val operators : t -> Operator.t list
|
|||||||
(* Creation *)
|
(* Creation *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Creation][Creation:1]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Creation][Creation:1]] *)
|
||||||
val make : ?multiplicity:int -> ?charge:int ->
|
val make : ?multiplicity:int -> ?charge:int ->
|
||||||
?operators:Operator.t list-> nuclei:Nuclei.t ->
|
?operators:Operator.t list-> nuclei:Nuclei.t ->
|
||||||
Ao.Basis.t -> t
|
Ao.Basis.t -> t
|
||||||
@ -45,6 +45,6 @@ val make : ?multiplicity:int -> ?charge:int ->
|
|||||||
(* Printers *)
|
(* Printers *)
|
||||||
|
|
||||||
|
|
||||||
(* [[file:../simulation.org::*Printers][Printers:1]] *)
|
(* [[file:~/QCaml/simulation/simulation.org::*Printers][Printers:1]] *)
|
||||||
val pp : Format.formatter -> t -> unit
|
val pp : Format.formatter -> t -> unit
|
||||||
(* Printers:1 ends here *)
|
(* Printers:1 ends here *)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(* [[file:../install_printers.org::*Intall printers][Intall printers:3]] *)
|
(* [[file:~/QCaml/top/install_printers.org::*Intall%20printers][Intall printers:3]] *)
|
||||||
let printers =
|
let printers =
|
||||||
[
|
[
|
||||||
"Common.Angular_momentum.pp" ;
|
"Common.Angular_momentum.pp" ;
|
||||||
|
Loading…
Reference in New Issue
Block a user