mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-08-24 22:21:46 +02:00
deploy: d2bab284ac
This commit is contained in:
parent
b07fc0604e
commit
f1e633e5f0
341
index.html
341
index.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2020-11-25 Wed 17:44 -->
|
||||
<!-- 2020-12-03 Thu 17:58 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -179,12 +179,6 @@
|
||||
.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">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
@ -261,67 +255,67 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org788dcf2">1. Introduction</a>
|
||||
<li><a href="#org310af82">1. Introduction</a>
|
||||
<ul>
|
||||
<li><a href="#org45357f0">1.1. Language used</a></li>
|
||||
<li><a href="#org859acab">1.2. Source code editing</a></li>
|
||||
<li><a href="#orgf56634d">1.3. Writing in Fortran</a></li>
|
||||
<li><a href="#orgdcf3770">1.4. Coding style</a></li>
|
||||
<li><a href="#orge1e8414">1.5. Design of the library</a>
|
||||
<li><a href="#org087e6be">1.1. Language used</a></li>
|
||||
<li><a href="#org31c12e1">1.2. Source code editing</a></li>
|
||||
<li><a href="#orgc75ef62">1.3. Writing in Fortran</a></li>
|
||||
<li><a href="#orgb112e8c">1.4. Coding style</a></li>
|
||||
<li><a href="#orgcaa0902">1.5. Design of the library</a>
|
||||
<ul>
|
||||
<li><a href="#orgd79bd34">1.5.1. Naming conventions</a></li>
|
||||
<li><a href="#org1a1c883">1.5.2. Application programming interface</a></li>
|
||||
<li><a href="#orgda573e2">1.5.3. Global state</a></li>
|
||||
<li><a href="#org60b8278">1.5.4. Low-level functions</a></li>
|
||||
<li><a href="#org64b09d4">1.5.5. High-level functions</a></li>
|
||||
<li><a href="#orgcf539d6">1.5.6. Numerical precision</a></li>
|
||||
<li><a href="#org746b2d9">1.5.1. Naming conventions</a></li>
|
||||
<li><a href="#org9a31e2a">1.5.2. Application programming interface</a></li>
|
||||
<li><a href="#org90879bd">1.5.3. Global state</a></li>
|
||||
<li><a href="#orgbfa7bca">1.5.4. Low-level functions</a></li>
|
||||
<li><a href="#org861cdf1">1.5.5. High-level functions</a></li>
|
||||
<li><a href="#orgd45293d">1.5.6. Numerical precision</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org053eeaa">1.6. Algorithms</a></li>
|
||||
<li><a href="#org46c45b7">1.7. Rules for the API</a></li>
|
||||
<li><a href="#org4b0a248">1.6. Algorithms</a></li>
|
||||
<li><a href="#org381d564">1.7. Rules for the API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbfbee16">2. Documentation</a>
|
||||
<li><a href="#org78c5f91">2. Documentation</a>
|
||||
<ul>
|
||||
<li><a href="#org7c45883">2.1. <code>qmckl.h</code> header file</a>
|
||||
<li><a href="#org4d4a12c">2.1. <code>qmckl.h</code> header file</a>
|
||||
<ul>
|
||||
<li><a href="#org990754d">2.1.1. Constants</a></li>
|
||||
<li><a href="#orgb081392">2.1.1. Constants</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0cd6c1f">2.2. Memory management</a>
|
||||
<li><a href="#org60b06da">2.2. Memory management</a>
|
||||
<ul>
|
||||
<li><a href="#org0efc7b5">2.2.1. <code>qmckl_malloc</code></a></li>
|
||||
<li><a href="#orgd034755">2.2.2. <code>qmckl_free</code></a></li>
|
||||
<li><a href="#org3dfa705">2.2.1. <code>qmckl_malloc</code></a></li>
|
||||
<li><a href="#orge6f6865">2.2.2. <code>qmckl_free</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga29b490">2.3. Context</a>
|
||||
<li><a href="#org8ef3c07">2.3. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org6406aea">2.3.1. Context</a></li>
|
||||
<li><a href="#org4c112e9">2.3.2. Basis set</a></li>
|
||||
<li><a href="#orgcf5fc58">2.3.3. Precision</a></li>
|
||||
<li><a href="#org1d1904b">2.3.1. Context</a></li>
|
||||
<li><a href="#org4005c51">2.3.2. Basis set</a></li>
|
||||
<li><a href="#orge1d8cf0">2.3.3. Precision</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgac4710b">2.4. Computation of distances</a>
|
||||
<li><a href="#orgad73734">2.4. Computation of distances</a>
|
||||
<ul>
|
||||
<li><a href="#org593c0a1">2.4.1. Squared distance</a></li>
|
||||
<li><a href="#orgd5cdfbc">2.4.1. Squared distance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org60f63fa">2.5. Atomic Orbitals</a>
|
||||
<li><a href="#orgb9a20be">2.5. Atomic Orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgeaad0a9">2.5.1. Polynomials</a></li>
|
||||
<li><a href="#org63ffc6b">2.5.2. Gaussian basis functions</a></li>
|
||||
<li><a href="#org220c96d">2.5.3. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
<li><a href="#orgdebe598">2.5.1. Polynomials</a></li>
|
||||
<li><a href="#orgcac1a08">2.5.2. Gaussian basis functions</a></li>
|
||||
<li><a href="#orgbe95389">2.5.3. <span class="todo TODO">TODO</span> Slater basis functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb37411b">3. Acknowledgments</a></li>
|
||||
<li><a href="#org041b82f">3. Acknowledgments</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org788dcf2" class="outline-2">
|
||||
<h2 id="org788dcf2"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org310af82" class="outline-2">
|
||||
<h2 id="org310af82"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The ultimate goal of QMCkl is to provide a high-performance
|
||||
@ -348,8 +342,8 @@ compiled.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45357f0" class="outline-3">
|
||||
<h3 id="org45357f0"><span class="section-number-3">1.1</span> Language used</h3>
|
||||
<div id="outline-container-org087e6be" class="outline-3">
|
||||
<h3 id="org087e6be"><span class="section-number-3">1.1</span> Language used</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Fortran is one of the most common languages used by the community,
|
||||
@ -373,8 +367,8 @@ justified.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org859acab" class="outline-3">
|
||||
<h3 id="org859acab"><span class="section-number-3">1.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org31c12e1" class="outline-3">
|
||||
<h3 id="org31c12e1"><span class="section-number-3">1.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Any text editor can be used to edit org-mode files. For a better
|
||||
@ -409,8 +403,8 @@ And pandoc can convert multiple markdown formats into org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf56634d" class="outline-3">
|
||||
<h3 id="orgf56634d"><span class="section-number-3">1.3</span> Writing in Fortran</h3>
|
||||
<div id="outline-container-orgc75ef62" class="outline-3">
|
||||
<h3 id="orgc75ef62"><span class="section-number-3">1.3</span> Writing in Fortran</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
The Fortran source files should provide a C interface using
|
||||
@ -428,8 +422,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcf3770" class="outline-3">
|
||||
<h3 id="orgdcf3770"><span class="section-number-3">1.4</span> Coding style</h3>
|
||||
<div id="outline-container-orgb112e8c" class="outline-3">
|
||||
<h3 id="orgb112e8c"><span class="section-number-3">1.4</span> Coding style</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
To improve readability, we maintain a consistent coding style in
|
||||
@ -448,8 +442,8 @@ Coding style can be automatically checked with <a href="https://clang.llvm.org/d
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1e8414" class="outline-3">
|
||||
<h3 id="orge1e8414"><span class="section-number-3">1.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orgcaa0902" class="outline-3">
|
||||
<h3 id="orgcaa0902"><span class="section-number-3">1.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The proposed API should allow the library to:
|
||||
@ -465,8 +459,8 @@ functions (see below).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd79bd34" class="outline-4">
|
||||
<h4 id="orgd79bd34"><span class="section-number-4">1.5.1</span> Naming conventions</h4>
|
||||
<div id="outline-container-org746b2d9" class="outline-4">
|
||||
<h4 id="org746b2d9"><span class="section-number-4">1.5.1</span> Naming conventions</h4>
|
||||
<div class="outline-text-4" id="text-1-5-1">
|
||||
<p>
|
||||
Use <code>qmckl_</code> as a prefix for all exported functions and variables.
|
||||
@ -491,8 +485,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a1c883" class="outline-4">
|
||||
<h4 id="org1a1c883"><span class="section-number-4">1.5.2</span> Application programming interface</h4>
|
||||
<div id="outline-container-org9a31e2a" class="outline-4">
|
||||
<h4 id="org9a31e2a"><span class="section-number-4">1.5.2</span> Application programming interface</h4>
|
||||
<div class="outline-text-4" id="text-1-5-2">
|
||||
<p>
|
||||
The application programming interface (API) is designed to be
|
||||
@ -521,8 +515,8 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda573e2" class="outline-4">
|
||||
<h4 id="orgda573e2"><span class="section-number-4">1.5.3</span> Global state</h4>
|
||||
<div id="outline-container-org90879bd" class="outline-4">
|
||||
<h4 id="org90879bd"><span class="section-number-4">1.5.3</span> Global state</h4>
|
||||
<div class="outline-text-4" id="text-1-5-3">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
@ -549,8 +543,8 @@ versions can be destroyed with <code>qmckl_context_destroy</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org60b8278" class="outline-4">
|
||||
<h4 id="org60b8278"><span class="section-number-4">1.5.4</span> Low-level functions</h4>
|
||||
<div id="outline-container-orgbfa7bca" class="outline-4">
|
||||
<h4 id="orgbfa7bca"><span class="section-number-4">1.5.4</span> Low-level functions</h4>
|
||||
<div class="outline-text-4" id="text-1-5-4">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -565,8 +559,8 @@ if they need temporary memory it should be provided in input.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64b09d4" class="outline-4">
|
||||
<h4 id="org64b09d4"><span class="section-number-4">1.5.5</span> High-level functions</h4>
|
||||
<div id="outline-container-org861cdf1" class="outline-4">
|
||||
<h4 id="org861cdf1"><span class="section-number-4">1.5.5</span> High-level functions</h4>
|
||||
<div class="outline-text-4" id="text-1-5-5">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -584,8 +578,8 @@ the <code>context</code> variable.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf539d6" class="outline-4">
|
||||
<h4 id="orgcf539d6"><span class="section-number-4">1.5.6</span> Numerical precision</h4>
|
||||
<div id="outline-container-orgd45293d" class="outline-4">
|
||||
<h4 id="orgd45293d"><span class="section-number-4">1.5.6</span> Numerical precision</h4>
|
||||
<div class="outline-text-4" id="text-1-5-6">
|
||||
<p>
|
||||
The number of bits of precision required for a function should be
|
||||
@ -599,8 +593,8 @@ variable.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org053eeaa" class="outline-3">
|
||||
<h3 id="org053eeaa"><span class="section-number-3">1.6</span> Algorithms</h3>
|
||||
<div id="outline-container-org4b0a248" class="outline-3">
|
||||
<h3 id="org4b0a248"><span class="section-number-3">1.6</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -613,8 +607,8 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46c45b7" class="outline-3">
|
||||
<h3 id="org46c45b7"><span class="section-number-3">1.7</span> Rules for the API</h3>
|
||||
<div id="outline-container-org381d564" class="outline-3">
|
||||
<h3 id="org381d564"><span class="section-number-3">1.7</span> Rules for the API</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<ul class="org-ul">
|
||||
<li><code>stdint</code> should be used for integers (<code>int32_t</code>, <code>int64_t</code>)</li>
|
||||
@ -626,12 +620,12 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbfbee16" class="outline-2">
|
||||
<h2 id="orgbfbee16"><span class="section-number-2">2</span> Documentation</h2>
|
||||
<div id="outline-container-org78c5f91" class="outline-2">
|
||||
<h2 id="org78c5f91"><span class="section-number-2">2</span> Documentation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org7c45883" class="outline-3">
|
||||
<h3 id="org7c45883"><span class="section-number-3">2.1</span> <code>qmckl.h</code> header file</h3>
|
||||
<div id="outline-container-org4d4a12c" class="outline-3">
|
||||
<h3 id="org4d4a12c"><span class="section-number-3">2.1</span> <code>qmckl.h</code> header file</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
This file produces the <code>qmckl.h</code> header file, which is to be included
|
||||
@ -643,12 +637,12 @@ We also create here the <code>qmckl_f.f90</code> which is the Fortran interface
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org990754d" class="outline-4">
|
||||
<h4 id="org990754d"><span class="section-number-4">2.1.1</span> Constants</h4>
|
||||
<div id="outline-container-orgb081392" class="outline-4">
|
||||
<h4 id="orgb081392"><span class="section-number-4">2.1.1</span> Constants</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org56169de"></a>Success/failure<br />
|
||||
<li><a id="orgc9bc519"></a>Success/failure<br />
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<p>
|
||||
These are the codes returned by the functions to indicate success
|
||||
@ -673,7 +667,7 @@ or failure. All such functions should have as a return type <code>qmckl_exit_cod
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org4078692"></a>Precision-related constants<br />
|
||||
<li><a id="orgf3263cb"></a>Precision-related constants<br />
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -697,8 +691,8 @@ range are defined.
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0cd6c1f" class="outline-3">
|
||||
<h3 id="org0cd6c1f"><span class="section-number-3">2.2</span> Memory management</h3>
|
||||
<div id="outline-container-org60b06da" class="outline-3">
|
||||
<h3 id="org60b06da"><span class="section-number-3">2.2</span> Memory management</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
We override the allocation functions to enable the possibility of
|
||||
@ -714,8 +708,8 @@ optimized libraries to fine-tune the memory allocation.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0efc7b5" class="outline-4">
|
||||
<h4 id="org0efc7b5"><span class="section-number-4">2.2.1</span> <code>qmckl_malloc</code></h4>
|
||||
<div id="outline-container-org3dfa705" class="outline-4">
|
||||
<h4 id="org3dfa705"><span class="section-number-4">2.2.1</span> <code>qmckl_malloc</code></h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
Memory allocation function, letting the library choose how the
|
||||
@ -740,7 +734,7 @@ memory will be allocated, and a pointer is returned to the user.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orge695179"></a>Source<br />
|
||||
<li><a id="orgbab79a9"></a>Source<br />
|
||||
<div class="outline-text-5" id="text-2-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">void</span>* <span style="color: #0000ff;">qmckl_malloc</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">ctx</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">size_t</span> <span style="color: #a0522d;">size</span>) {
|
||||
@ -758,8 +752,8 @@ memory will be allocated, and a pointer is returned to the user.
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd034755" class="outline-4">
|
||||
<h4 id="orgd034755"><span class="section-number-4">2.2.2</span> <code>qmckl_free</code></h4>
|
||||
<div id="outline-container-orge6f6865" class="outline-4">
|
||||
<h4 id="orge6f6865"><span class="section-number-4">2.2.2</span> <code>qmckl_free</code></h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_free</span>(<span style="color: #228b22;">void</span> *<span style="color: #a0522d;">ptr</span>);
|
||||
@ -777,7 +771,7 @@ memory will be allocated, and a pointer is returned to the user.
|
||||
</div>
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org81e882d"></a>Source<br />
|
||||
<li><a id="org43741ca"></a>Source<br />
|
||||
<div class="outline-text-5" id="text-2-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_free</span>(<span style="color: #228b22;">void</span> *<span style="color: #a0522d;">ptr</span>) {
|
||||
@ -790,8 +784,8 @@ memory will be allocated, and a pointer is returned to the user.
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga29b490" class="outline-3">
|
||||
<h3 id="orga29b490"><span class="section-number-3">2.3</span> Context</h3>
|
||||
<div id="outline-container-org8ef3c07" class="outline-3">
|
||||
<h3 id="org8ef3c07"><span class="section-number-3">2.3</span> Context</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This file is written in C because it is more natural to express the
|
||||
@ -807,8 +801,8 @@ context in C than in Fortran.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6406aea" class="outline-4">
|
||||
<h4 id="org6406aea"><span class="section-number-4">2.3.1</span> Context</h4>
|
||||
<div id="outline-container-org1d1904b" class="outline-4">
|
||||
<h4 id="org1d1904b"><span class="section-number-4">2.3.1</span> Context</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<p>
|
||||
The context variable is a handle for the state of the library, and
|
||||
@ -826,7 +820,7 @@ A value of 0 for the context is equivalent to a <code>NULL</code> pointer.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org6233300"></a>Basis set data structure<br />
|
||||
<li><a id="orgf51dad6"></a>Basis set data structure<br />
|
||||
<div class="outline-text-5" id="text-2-3-1-1">
|
||||
<p>
|
||||
Data structure for the info related to the atomic orbitals
|
||||
@ -852,7 +846,7 @@ basis set.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org7069b2f"></a>Source<br />
|
||||
<li><a id="orgaad5c9d"></a>Source<br />
|
||||
<div class="outline-text-5" id="text-2-3-1-2">
|
||||
<p>
|
||||
The tag is used internally to check if the memory domain pointed
|
||||
@ -885,7 +879,7 @@ by a pointer is a valid context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgcc9aaab"></a><code>qmckl_context_check</code><br />
|
||||
<li><a id="org2856c68"></a><code>qmckl_context_check</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-1-3">
|
||||
<p>
|
||||
Checks if the domain pointed by the pointer is a valid context.
|
||||
@ -900,7 +894,7 @@ otherwise.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org17bb333"></a>Source<br />
|
||||
<li><a id="org6e79fdc"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_check</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -920,7 +914,7 @@ otherwise.
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="orgf182e47"></a><code>qmckl_context_create</code><br />
|
||||
<li><a id="orgb8a9a1e"></a><code>qmckl_context_create</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-1-4">
|
||||
<p>
|
||||
To create a new context, use <code>qmckl_context_create()</code>.
|
||||
@ -928,7 +922,7 @@ To create a new context, use <code>qmckl_context_create()</code>.
|
||||
<ul class="org-ul">
|
||||
<li>On success, returns a pointer to a context using the <code>qmckl_context</code> type</li>
|
||||
<li><p>
|
||||
Returns 0 upon failure to allocate the internal data structure
|
||||
Returns <code>0</code> upon failure to allocate the internal data structure
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -939,7 +933,7 @@ Returns 0 upon failure to allocate the internal data structure
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org33c55c4"></a>Source<br />
|
||||
<li><a id="org29746c6"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_create</span>() {
|
||||
@ -963,7 +957,7 @@ Returns 0 upon failure to allocate the internal data structure
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org39e2434"></a>Fortran interface<br />
|
||||
<li><a id="org70b0400"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -978,7 +972,7 @@ Returns 0 upon failure to allocate the internal data structure
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="org8f5559d"></a><code>qmckl_context_copy</code><br />
|
||||
<li><a id="orgd91ee87"></a><code>qmckl_context_copy</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-1-5">
|
||||
<p>
|
||||
This function makes a shallow copy of the current context.
|
||||
@ -999,7 +993,7 @@ for the new context
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgbafe4c7"></a>Source<br />
|
||||
<li><a id="orgd76851b"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_copy</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1032,7 +1026,7 @@ for the new context
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org111a1de"></a>Fortran interface<br />
|
||||
<li><a id="orgf1090d1"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1048,7 +1042,7 @@ for the new context
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="orgd8db9c4"></a><code>qmckl_context_previous</code><br />
|
||||
<li><a id="orgfe1524d"></a><code>qmckl_context_previous</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-1-6">
|
||||
<p>
|
||||
Returns the previous context
|
||||
@ -1068,7 +1062,7 @@ Returns 0 for the 0-valued context
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org14a3308"></a>Source<br />
|
||||
<li><a id="org07ab2e2"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_previous</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1086,7 +1080,7 @@ Returns 0 for the 0-valued context
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgb92aa3d"></a>Fortran interface<br />
|
||||
<li><a id="orgd646550"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1102,7 +1096,7 @@ Returns 0 for the 0-valued context
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="org0453d63"></a><code>qmckl_context_destroy</code><br />
|
||||
<li><a id="org3716aaf"></a><code>qmckl_context_destroy</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-1-7">
|
||||
<p>
|
||||
Destroys the current context, leaving the ancestors untouched.
|
||||
@ -1121,7 +1115,7 @@ Destroys the current context, leaving the ancestors untouched.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgb0537f0"></a>Source<br />
|
||||
<li><a id="orgb8287c6"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_context_destroy</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1141,7 +1135,7 @@ Destroys the current context, leaving the ancestors untouched.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgd9409d5"></a>Fortran interface<br />
|
||||
<li><a id="org6e49d04"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-1-7-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1159,8 +1153,8 @@ Destroys the current context, leaving the ancestors untouched.
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c112e9" class="outline-4">
|
||||
<h4 id="org4c112e9"><span class="section-number-4">2.3.2</span> Basis set</h4>
|
||||
<div id="outline-container-org4005c51" class="outline-4">
|
||||
<h4 id="org4005c51"><span class="section-number-4">2.3.2</span> Basis set</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<p>
|
||||
For H<sub>2</sub> with the following basis set,
|
||||
@ -1208,7 +1202,7 @@ COEFFICIENT = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421,
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org51e3725"></a><code>qmckl_context_update_ao_basis</code><br />
|
||||
<li><a id="org038049f"></a><code>qmckl_context_update_ao_basis</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-2-1">
|
||||
<p>
|
||||
Updates the data describing the AO basis set into the context.
|
||||
@ -1288,7 +1282,7 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org1697fc1"></a>Source<br />
|
||||
<li><a id="org02170fd"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1407,7 +1401,7 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orge1ee807"></a>Fortran interface<br />
|
||||
<li><a id="org63ae508"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1433,11 +1427,11 @@ Updates the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgd0b4c9a"></a><span class="todo TODO">TODO</span> Test<br /></li>
|
||||
<li><a id="org717fa93"></a><span class="todo TODO">TODO</span> Test<br /></li>
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="org0b30925"></a><code>qmckl_context_set_ao_basis</code><br />
|
||||
<li><a id="orgf0d1c4e"></a><code>qmckl_context_set_ao_basis</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-2-2">
|
||||
<p>
|
||||
Sets the data describing the AO basis set into the context.
|
||||
@ -1517,7 +1511,7 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org66f35e1"></a>Source<br />
|
||||
<li><a id="orgef60eb6"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span>
|
||||
@ -1546,7 +1540,7 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgf26671c"></a>Fortran interface<br />
|
||||
<li><a id="orgaf307b9"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1572,14 +1566,14 @@ Sets the data describing the AO basis set into the context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org363ede6"></a><span class="todo TODO">TODO</span> Test<br /></li>
|
||||
<li><a id="orgc6f8e06"></a><span class="todo TODO">TODO</span> Test<br /></li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf5fc58" class="outline-4">
|
||||
<h4 id="orgcf5fc58"><span class="section-number-4">2.3.3</span> Precision</h4>
|
||||
<div id="outline-container-orge1d8cf0" class="outline-4">
|
||||
<h4 id="orge1d8cf0"><span class="section-number-4">2.3.3</span> Precision</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<p>
|
||||
The following functions set and get the expected required
|
||||
@ -1596,7 +1590,7 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org461ae62"></a><code>qmckl_context_update_precision</code><br />
|
||||
<li><a id="orgaafc339"></a><code>qmckl_context_update_precision</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-1">
|
||||
<p>
|
||||
Modifies the parameter for the numerical precision in a given context.
|
||||
@ -1608,7 +1602,7 @@ Modifies the parameter for the numerical precision in a given context.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org7900fa9"></a>Source<br />
|
||||
<li><a id="orgce4f4a5"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_context_update_precision</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">precision</span>) {
|
||||
@ -1627,7 +1621,7 @@ Modifies the parameter for the numerical precision in a given context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org2a32e41"></a>Fortran interface<br />
|
||||
<li><a id="org477fc8f"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1643,7 +1637,7 @@ Modifies the parameter for the numerical precision in a given context.
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a id="orgc9ce7cd"></a><code>qmckl_context_update_range</code><br />
|
||||
<li><a id="orgd1a737a"></a><code>qmckl_context_update_range</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-2">
|
||||
<p>
|
||||
Modifies the parameter for the numerical range in a given context.
|
||||
@ -1655,7 +1649,7 @@ Modifies the parameter for the numerical range in a given context.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgeb8236f"></a>Source<br />
|
||||
<li><a id="orgf142970"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_context_update_range</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">range</span>) {
|
||||
@ -1674,7 +1668,7 @@ Modifies the parameter for the numerical range in a given context.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org468b02d"></a>Fortran interface<br />
|
||||
<li><a id="org7794173"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1690,7 +1684,7 @@ Modifies the parameter for the numerical range in a given context.
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a id="orgb15c1bb"></a><code>qmckl_context_set_precision</code><br />
|
||||
<li><a id="orge53dee8"></a><code>qmckl_context_set_precision</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-3">
|
||||
<p>
|
||||
Returns a copy of the context with a different precision parameter.
|
||||
@ -1702,7 +1696,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org6319507"></a>Source<br />
|
||||
<li><a id="org228a236"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_set_precision</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">precision</span>) {
|
||||
@ -1718,7 +1712,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org0e3b5e2"></a>Fortran interface<br />
|
||||
<li><a id="org0ba6a33"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1734,7 +1728,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a id="org6205d22"></a><code>qmckl_context_set_range</code><br />
|
||||
<li><a id="org6a8d510"></a><code>qmckl_context_set_range</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-4">
|
||||
<p>
|
||||
Returns a copy of the context with a different precision parameter.
|
||||
@ -1746,7 +1740,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgd31b1cd"></a>Source<br />
|
||||
<li><a id="orgd4759db"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_context</span> <span style="color: #0000ff;">qmckl_context_set_range</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">range</span>) {
|
||||
@ -1762,7 +1756,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org8ab200b"></a>Fortran interface<br />
|
||||
<li><a id="orgafefb72"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1779,7 +1773,7 @@ Returns a copy of the context with a different precision parameter.
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="orgc571801"></a><code>qmckl_context_get_precision</code><br />
|
||||
<li><a id="orgdce3c96"></a><code>qmckl_context_get_precision</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-5">
|
||||
<p>
|
||||
Returns the value of the numerical precision in the context
|
||||
@ -1791,7 +1785,7 @@ Returns the value of the numerical precision in the context
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org72764fb"></a>Source<br />
|
||||
<li><a id="org23de896"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">int</span> <span style="color: #0000ff;">qmckl_context_get_precision</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1803,7 +1797,7 @@ Returns the value of the numerical precision in the context
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org08d4ea0"></a>Fortran interface<br />
|
||||
<li><a id="org1e4512c"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1818,7 +1812,7 @@ Returns the value of the numerical precision in the context
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a id="orgeaabc1d"></a><code>qmckl_context_get_range</code><br />
|
||||
<li><a id="orgfba719e"></a><code>qmckl_context_get_range</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-6">
|
||||
<p>
|
||||
Returns the value of the numerical range in the context
|
||||
@ -1830,7 +1824,7 @@ Returns the value of the numerical range in the context
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org04185bc"></a>Source<br />
|
||||
<li><a id="org81d6185"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">int</span> <span style="color: #0000ff;">qmckl_context_get_range</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1842,7 +1836,7 @@ Returns the value of the numerical range in the context
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org1a2d559"></a>Fortran interface<br />
|
||||
<li><a id="orgf807c64"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1858,7 +1852,7 @@ Returns the value of the numerical range in the context
|
||||
</ol>
|
||||
</li>
|
||||
|
||||
<li><a id="orgb5f92d9"></a><code>qmckl_context_get_epsilon</code><br />
|
||||
<li><a id="orgc1e3973"></a><code>qmckl_context_get_epsilon</code><br />
|
||||
<div class="outline-text-5" id="text-2-3-3-7">
|
||||
<p>
|
||||
Returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision
|
||||
@ -1870,7 +1864,7 @@ Returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org8842eea"></a>Source<br />
|
||||
<li><a id="org8b4937e"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">double</span> <span style="color: #0000ff;">qmckl_context_get_epsilon</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>) {
|
||||
@ -1882,7 +1876,7 @@ Returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org6781acb"></a>Fortran interface<br />
|
||||
<li><a id="org2264bee"></a>Fortran interface<br />
|
||||
<div class="outline-text-6" id="text-2-3-3-7-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1900,8 +1894,8 @@ Returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgac4710b" class="outline-3">
|
||||
<h3 id="orgac4710b"><span class="section-number-3">2.4</span> Computation of distances</h3>
|
||||
<div id="outline-container-orgad73734" class="outline-3">
|
||||
<h3 id="orgad73734"><span class="section-number-3">2.4</span> Computation of distances</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Function for the computation of distances between particles.
|
||||
@ -1917,12 +1911,12 @@ Function for the computation of distances between particles.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org593c0a1" class="outline-4">
|
||||
<h4 id="org593c0a1"><span class="section-number-4">2.4.1</span> Squared distance</h4>
|
||||
<div id="outline-container-orgd5cdfbc" class="outline-4">
|
||||
<h4 id="orgd5cdfbc"><span class="section-number-4">2.4.1</span> Squared distance</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org54a24bf"></a><code>qmckl_distance_sq</code><br />
|
||||
<li><a id="org1ed02e2"></a><code>qmckl_distance_sq</code><br />
|
||||
<div class="outline-text-5" id="text-2-4-1-1">
|
||||
<p>
|
||||
Computes the matrix of the squared distances between all pairs of
|
||||
@ -1934,7 +1928,7 @@ points in two sets, one point within each set:
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org56ce477"></a>Arguments<br />
|
||||
<li><a id="orga2a8856"></a>Arguments<br />
|
||||
<div class="outline-text-6" id="text-2-4-1-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -2017,7 +2011,7 @@ points in two sets, one point within each set:
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org3b6c283"></a>Requirements<br />
|
||||
<li><a id="org8fc9e2b"></a>Requirements<br />
|
||||
<div class="outline-text-6" id="text-2-4-1-1-2">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not 0</li>
|
||||
@ -2027,7 +2021,7 @@ points in two sets, one point within each set:
|
||||
<li><code>lda</code> >= m if <code>transa</code> is <code>T</code></li>
|
||||
<li><code>ldb</code> >= 3 if <code>transb</code> is <code>N</code></li>
|
||||
<li><code>ldb</code> >= n if <code>transb</code> is <code>T</code></li>
|
||||
<li><code>ldc</code> >= m if <code>transa</code> is =</li>
|
||||
<li><code>ldc</code> >= m</li>
|
||||
<li><code>A</code> is allocated with at least \(3 \times m \times 8\) bytes</li>
|
||||
<li><code>B</code> is allocated with at least \(3 \times n \times 8\) bytes</li>
|
||||
<li><code>C</code> is allocated with at least \(m \times n \times 8\) bytes</li>
|
||||
@ -2035,7 +2029,7 @@ points in two sets, one point within each set:
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org9137702"></a>Performance<br />
|
||||
<li><a id="orgc5ee542"></a>Performance<br />
|
||||
<div class="outline-text-6" id="text-2-4-1-1-3">
|
||||
<p>
|
||||
This function might be more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -2054,7 +2048,7 @@ transposed.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org855b189"></a>Source<br />
|
||||
<li><a id="orgea1c816"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-4-1-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_distance_sq_f</span><span style="color: #000000; background-color: #ffffff;">(context, transa, transb, m, n, A, LDA, B, LDB, C, LDC) result(info)</span>
|
||||
@ -2190,8 +2184,8 @@ transposed.
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org60f63fa" class="outline-3">
|
||||
<h3 id="org60f63fa"><span class="section-number-3">2.5</span> Atomic Orbitals</h3>
|
||||
<div id="outline-container-orgb9a20be" class="outline-3">
|
||||
<h3 id="orgb9a20be"><span class="section-number-3">2.5</span> Atomic Orbitals</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
This files contains all the routines for the computation of the
|
||||
@ -2208,8 +2202,8 @@ values, gradients and Laplacian of the atomic basis functions.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeaad0a9" class="outline-4">
|
||||
<h4 id="orgeaad0a9"><span class="section-number-4">2.5.1</span> Polynomials</h4>
|
||||
<div id="outline-container-orgdebe598" class="outline-4">
|
||||
<h4 id="orgdebe598"><span class="section-number-4">2.5.1</span> Polynomials</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<p>
|
||||
\[
|
||||
@ -2236,7 +2230,7 @@ values, gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org1098576"></a><code>qmckl_ao_power</code><br />
|
||||
<li><a id="orgfc57091"></a><code>qmckl_ao_power</code><br />
|
||||
<div class="outline-text-5" id="text-2-5-1-1">
|
||||
<p>
|
||||
Computes all the powers of the <code>n</code> input data up to the given
|
||||
@ -2249,7 +2243,7 @@ maximum value given in input for each of the \(n\) points:
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orge934aba"></a>Arguments<br />
|
||||
<li><a id="org5e4a5aa"></a>Arguments<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -2302,7 +2296,7 @@ maximum value given in input for each of the \(n\) points:
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org4d46a5b"></a>Requirements<br />
|
||||
<li><a id="orgf244933"></a>Requirements<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-1-2">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not 0</li>
|
||||
@ -2315,7 +2309,7 @@ maximum value given in input for each of the \(n\) points:
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org9ee35d1"></a>Header<br />
|
||||
<li><a id="org3a57db7"></a>Header<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_power</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -2327,7 +2321,7 @@ maximum value given in input for each of the \(n\) points:
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org15f438f"></a>Source<br />
|
||||
<li><a id="org3033b68"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_power_f</span><span style="color: #000000; background-color: #ffffff;">(context, n, X, LMAX, P, ldp) result(info)</span>
|
||||
@ -2369,7 +2363,7 @@ maximum value given in input for each of the \(n\) points:
|
||||
</li>
|
||||
|
||||
|
||||
<li><a id="org94a5bad"></a><code>qmckl_ao_polynomial_vgl</code><br />
|
||||
<li><a id="org173d857"></a><code>qmckl_ao_polynomial_vgl</code><br />
|
||||
<div class="outline-text-5" id="text-2-5-1-2">
|
||||
<p>
|
||||
Computes the values, gradients and Laplacians at a given point of
|
||||
@ -2378,7 +2372,7 @@ all polynomials with an angular momentum up to <code>lmax</code>.
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="org676082a"></a>Arguments<br />
|
||||
<li><a id="orgb6cbdb8"></a>Arguments<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-2-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -2449,7 +2443,7 @@ all polynomials with an angular momentum up to <code>lmax</code>.
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="orgfb70a3b"></a>Requirements<br />
|
||||
<li><a id="org25fb4d1"></a>Requirements<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-2-2">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not 0</li>
|
||||
@ -2474,7 +2468,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org494148f"></a>Error codes<br />
|
||||
<li><a id="org980472b"></a>Error codes<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-2-3">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -2509,7 +2503,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org56f74f8"></a>Header<br />
|
||||
<li><a id="orgcedc47d"></a>Header<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -2522,7 +2516,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org4f292a0"></a>Source<br />
|
||||
<li><a id="org81a6f80"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-5-1-2-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)</span>
|
||||
@ -2660,12 +2654,12 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63ffc6b" class="outline-4">
|
||||
<h4 id="org63ffc6b"><span class="section-number-4">2.5.2</span> Gaussian basis functions</h4>
|
||||
<div id="outline-container-orgcac1a08" class="outline-4">
|
||||
<h4 id="orgcac1a08"><span class="section-number-4">2.5.2</span> Gaussian basis functions</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
</div>
|
||||
<ol class="org-ol">
|
||||
<li><a id="org7cb90c1"></a><code>qmckl_ao_gaussian_vgl</code><br />
|
||||
<li><a id="org3d9c430"></a><code>qmckl_ao_gaussian_vgl</code><br />
|
||||
<div class="outline-text-5" id="text-2-5-2-1">
|
||||
<p>
|
||||
Computes the values, gradients and Laplacians at a given point of
|
||||
@ -2682,7 +2676,7 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
|
||||
<ol class="org-ol">
|
||||
<li><a id="orgd5c2ac4"></a>Arguments<br />
|
||||
<li><a id="org60f6f3d"></a>Arguments<br />
|
||||
<div class="outline-text-6" id="text-2-5-2-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -2741,7 +2735,7 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org80076c6"></a>Requirements<br />
|
||||
<li><a id="org9ed916b"></a>Requirements<br />
|
||||
<div class="outline-text-6" id="text-2-5-2-1-2">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not 0</li>
|
||||
@ -2756,7 +2750,7 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org0ab4665"></a>Header<br />
|
||||
<li><a id="orgfd4f170"></a>Header<br />
|
||||
<div class="outline-text-6" id="text-2-5-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_gaussian_vgl</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -2768,7 +2762,7 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a id="org21ef086"></a>Source<br />
|
||||
<li><a id="org3fa72d4"></a>Source<br />
|
||||
<div class="outline-text-6" id="text-2-5-2-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_gaussian_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, n, A, VGL, ldv) result(info)</span>
|
||||
@ -2840,13 +2834,14 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org220c96d" class="outline-4">
|
||||
<h4 id="org220c96d"><span class="section-number-4">2.5.3</span> <span class="todo TODO">TODO</span> Slater basis functions</h4>
|
||||
<div id="outline-container-orgbe95389" class="outline-4">
|
||||
<h4 id="orgbe95389"><span class="section-number-4">2.5.3</span> <span class="todo TODO">TODO</span> Slater basis functions</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb37411b" class="outline-2">
|
||||
<h2 id="orgb37411b"><span class="section-number-2">3</span> Acknowledgments</h2>
|
||||
|
||||
<div id="outline-container-org041b82f" class="outline-2">
|
||||
<h2 id="org041b82f"><span class="section-number-2">3</span> Acknowledgments</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<img src="https://trex-coe.eu/sites/default/files/inline-images/euflag.jpg" alt="euflag.jpg" />
|
||||
@ -2856,7 +2851,7 @@ Computes the values, gradients and Laplacians at a given point of
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2020-11-25 Wed 17:44</p>
|
||||
<p class="date">Created: 2020-12-03 Thu 17:58</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user