mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-28 11:24:46 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@8d190de55a 🚀
This commit is contained in:
parent
56b548d9c0
commit
9389243426
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<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>
|
||||
@ -356,7 +356,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
166
qmckl.html
166
qmckl.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>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,30 +333,30 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgcaecbc9">1. Using QMCkl</a></li>
|
||||
<li><a href="#org315e5b4">2. Developing in QMCkl</a>
|
||||
<li><a href="#orga149a41">1. Using QMCkl</a></li>
|
||||
<li><a href="#org14e0a81">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgdf57a10">2.1. Literate programming</a></li>
|
||||
<li><a href="#orgb9eb0ad">2.2. Source code editing</a></li>
|
||||
<li><a href="#org28f8e97">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org47974a4">2.4. Coding rules</a></li>
|
||||
<li><a href="#org9638275">2.5. Design of the library</a></li>
|
||||
<li><a href="#org5ee0045">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org88c667d">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org77f076a">2.8. Global state</a></li>
|
||||
<li><a href="#org2150814">2.9. Headers</a></li>
|
||||
<li><a href="#org4a49afc">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org6d84994">2.11. High-level functions</a></li>
|
||||
<li><a href="#org217bf91">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org0dd82d0">2.13. Algorithms</a></li>
|
||||
<li><a href="#org2f21e21">2.1. Literate programming</a></li>
|
||||
<li><a href="#org94d381d">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgea45ee7">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgcb22059">2.4. Coding rules</a></li>
|
||||
<li><a href="#org00d2d17">2.5. Design of the library</a></li>
|
||||
<li><a href="#orgddebb28">2.6. Naming conventions</a></li>
|
||||
<li><a href="#orgc90e341">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgb6ace12">2.8. Global state</a></li>
|
||||
<li><a href="#org4be1849">2.9. Headers</a></li>
|
||||
<li><a href="#org8890dd3">2.10. Low-level functions</a></li>
|
||||
<li><a href="#orgdb9fabc">2.11. High-level functions</a></li>
|
||||
<li><a href="#orgc0d3b7d">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org38c4183">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcaecbc9" class="outline-2">
|
||||
<h2 id="orgcaecbc9"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orga149a41" class="outline-2">
|
||||
<h2 id="orga149a41"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -385,12 +385,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org315e5b4" class="outline-2">
|
||||
<h2 id="org315e5b4"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org14e0a81" class="outline-2">
|
||||
<h2 id="org14e0a81"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgdf57a10" class="outline-3">
|
||||
<h3 id="orgdf57a10"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org2f21e21" class="outline-3">
|
||||
<h3 id="org2f21e21"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -435,8 +435,8 @@ interactively, in the same spirit as Jupyter notebooks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb9eb0ad" class="outline-3">
|
||||
<h3 id="orgb9eb0ad"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org94d381d" class="outline-3">
|
||||
<h3 id="org94d381d"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -467,8 +467,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28f8e97" class="outline-3">
|
||||
<h3 id="org28f8e97"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgea45ee7" class="outline-3">
|
||||
<h3 id="orgea45ee7"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some scripts in
|
||||
@ -516,8 +516,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47974a4" class="outline-3">
|
||||
<h3 id="org47974a4"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orgcb22059" class="outline-3">
|
||||
<h3 id="orgcb22059"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -535,8 +535,8 @@ Compliance can be checked with <code>cppcheck</code> as:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9638275" class="outline-3">
|
||||
<h3 id="org9638275"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org00d2d17" class="outline-3">
|
||||
<h3 id="org00d2d17"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -547,8 +547,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ee0045" class="outline-3">
|
||||
<h3 id="org5ee0045"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orgddebb28" class="outline-3">
|
||||
<h3 id="orgddebb28"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -573,8 +573,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org88c667d" class="outline-3">
|
||||
<h3 id="org88c667d"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orgc90e341" class="outline-3">
|
||||
<h3 id="orgc90e341"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -606,15 +606,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org77f076a" class="outline-3">
|
||||
<h3 id="org77f076a"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-orgb6ace12" class="outline-3">
|
||||
<h3 id="orgb6ace12"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="orgaea7150">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org69e3d6a">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -628,8 +628,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2150814" class="outline-3">
|
||||
<h3 id="org2150814"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org4be1849" class="outline-3">
|
||||
<h3 id="org4be1849"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -717,8 +717,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a49afc" class="outline-3">
|
||||
<h3 id="org4a49afc"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org8890dd3" class="outline-3">
|
||||
<h3 id="org8890dd3"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -727,14 +727,14 @@ the function call tree (they don't call any other QMCkl function).
|
||||
|
||||
<p>
|
||||
These functions are <i>pure</i>, and unaware of the QMCkl
|
||||
<a href="#orgaea7150"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org69e3d6a"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
if they need temporary memory it should be provided in input.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d84994" class="outline-3">
|
||||
<h3 id="org6d84994"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-orgdb9fabc" class="outline-3">
|
||||
<h3 id="orgdb9fabc"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -747,27 +747,91 @@ temporary storage, to simplify the use of accelerators.
|
||||
<p>
|
||||
The high-level functions should be pure, unless the introduction
|
||||
of non-purity is justified. All the side effects should be made in
|
||||
the <a href="#orgaea7150"><code>context</code></a> variable.
|
||||
the <a href="#org69e3d6a"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org217bf91" class="outline-3">
|
||||
<h3 id="org217bf91"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgc0d3b7d" class="outline-3">
|
||||
<h3 id="orgc0d3b7d"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
The number of bits of precision required for a function should be
|
||||
given as an input of low-level computational functions. This input
|
||||
will be used to define the values of the different thresholds that
|
||||
might be used to avoid computing unnecessary noise. High-level
|
||||
functions will use the precision specified in the <a href="#orgaea7150"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org69e3d6a"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In order to automatize numerical accuracy tests, QMCkl uses
|
||||
<a href="https://github.com/verificarlo/verificarlo">Verificarlo</a> and
|
||||
its CI functionality. You can read Verificarlo CI's documentation
|
||||
at the <a href="https://github.com/verificarlo/verificarlo/blob/master/doc/06-Postprocessing.md#verificarlo-ci">following link</a>.
|
||||
Reading it is advised to understand the remainder of this section.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To enable support for Verificarlo CI tests when building the
|
||||
library, use the following configure command :
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-bash"><span style="color: #a0522d;">QMCKL_DEVEL</span>=1 ./configure --prefix=$<span style="color: #a0522d;">PWD</span>/_install --enable-silent-rules --enable-maintainer-mode <span style="color: #a0522d;">CC</span>=verificarlo-f <span style="color: #a0522d;">FC</span>=verificarlo-f --host=x86_64 --enable-vfc_ci
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Note that this does require an install of Verificarlo <b>with
|
||||
Fortran support</b>. Enabling the support for CI will define the
|
||||
<code>VFC_CI</code> preprocessor variable which use will be explained now.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As explained in the documentation, Verificarlo CI uses a probes
|
||||
system to export variables from test programs to the tools itself.
|
||||
To make tests easier to use, QMCkl has its own interface to the
|
||||
probes system. To make the system very easy to use, these functions
|
||||
are always defined, but will behave differently depending on the
|
||||
<code>VFC_CI</code> preprocessor variable. There are 3 functions at your
|
||||
disposal. When the CI is enabled, they will place a <code>vfc_ci</code> probe
|
||||
as if calling <code>vfc_probes</code> directly. Otherwise, they will either do
|
||||
nothing or perform a check on the tested value and return its result
|
||||
as a boolean that you are free to use or ignore.
|
||||
Here are these 3 functions :
|
||||
</p>
|
||||
|
||||
<ul class="org-ul">
|
||||
<li><code>qmckl_probe</code> : place a normal probe witout any check. Won't do anything when <code>vfc_ci</code> is disabled (false is returned).</li>
|
||||
<li><code>qmckl_probe_check</code> : place a probe with an absolute check. If <code>vfc_ci</code> is disabled, this will return the result of an absolute check (|val - ref| < accuracy target ?). If the check fails, true is returned (false otherwise).</li>
|
||||
<li><code>qmckl_probe_check_relative</code> : place a probe with a relative check. If <code>vfc_ci</code> is disabled, this will return the result of a relative check (|val - ref| / ref < accuracy target?). If the check fails, true is returned (false otherwise).</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
If you need more details on these functions or their Fortran
|
||||
interfaces, have a look at the <code>tools/qmckl_probes</code> files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Finally, if you need to add a QMCkl kernel to the CI tests
|
||||
or modify an existing one, you should pay attention to the
|
||||
following points :
|
||||
</p>
|
||||
|
||||
<ul class="org-ul">
|
||||
<li>you should add the new kernel to the <code>vfc_tests_config.json</code> file, which controls the backends and repetitions for each executable. More details can be found in the <code>vfc_ci</code> documentation.</li>
|
||||
|
||||
<li>in order to call the <code>qmckl_probes</code> functions from Fortran, import the <code>qmckl_probes_f</code> module.</li>
|
||||
|
||||
<li>if your tests include some asserts that rely on accurate FP values, you should probably wrap them inside a <code>#ifndef VFC_CI</code> statement, as the asserts would otherwise risk to fail when executed with the different Verificarlo backends.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0dd82d0" class="outline-3">
|
||||
<h3 id="org0dd82d0"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org38c4183" class="outline-3">
|
||||
<h3 id="org38c4183"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -783,7 +847,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
353
qmckl_ao.html
353
qmckl_ao.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>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<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>
|
||||
@ -333,71 +333,71 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org003adae">1. Context</a>
|
||||
<li><a href="#org548a852">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org2ecb6b9">1.1. Data structure</a></li>
|
||||
<li><a href="#org1b30065">1.2. Access functions</a></li>
|
||||
<li><a href="#org51b1962">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org3d9b932">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#org47d4658">1.1. Data structure</a></li>
|
||||
<li><a href="#org3f8c1c0">1.2. Access functions</a></li>
|
||||
<li><a href="#orgfc7f671">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc73d990">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0496cb8">2. Radial part</a>
|
||||
<li><a href="#org9626b0e">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgb9d7570">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgd52647e">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org776e843">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org5fca057">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org506c6df">2.5. Computation of primitives</a>
|
||||
<li><a href="#orgb46a929">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org044833e">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org9286479">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org6fc0d8f">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org8757bb0">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#org061adfb">2.5.1. Get</a></li>
|
||||
<li><a href="#org65aa858">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgbe081d2">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgb8998f4">2.5.4. Test</a></li>
|
||||
<li><a href="#org14ee026">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#orgfff6236">2.5.1. Get</a></li>
|
||||
<li><a href="#org50a60cd">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgddd5a52">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgbd69d98">2.5.4. Test</a></li>
|
||||
<li><a href="#org5a5cc5e">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2822910">2.6. Computation of shells</a>
|
||||
<li><a href="#org7160363">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#org293a60f">2.6.1. Get</a></li>
|
||||
<li><a href="#orgb0bee59">2.6.2. Provide</a></li>
|
||||
<li><a href="#org727f9ae">2.6.3. Compute</a></li>
|
||||
<li><a href="#org171c18d">2.6.4. Test</a></li>
|
||||
<li><a href="#org63772d3">2.6.1. Get</a></li>
|
||||
<li><a href="#orgf5a217c">2.6.2. Provide</a></li>
|
||||
<li><a href="#org426bdb6">2.6.3. Compute</a></li>
|
||||
<li><a href="#org565fcfe">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2f031e5">3. Polynomial part</a>
|
||||
<li><a href="#orgde20da0">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgc06e046">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#orgf8ab615">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org2a488bd">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf77dde4">3.1.2. C Header</a></li>
|
||||
<li><a href="#orgb81d064">3.1.3. Source</a></li>
|
||||
<li><a href="#org83272d1">3.1.4. C interface</a></li>
|
||||
<li><a href="#orgde368d7">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org44b5c7d">3.1.6. Test</a></li>
|
||||
<li><a href="#orga730bf4">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc1bc204">3.1.2. C Header</a></li>
|
||||
<li><a href="#org051f101">3.1.3. Source</a></li>
|
||||
<li><a href="#orgd430936">3.1.4. C interface</a></li>
|
||||
<li><a href="#org5f54722">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org9fc7950">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgef7da4e">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org855c453">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#org35570b4">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org67be7fa">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgdfdf75c">3.2.3. Source</a></li>
|
||||
<li><a href="#orge488076">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgded99dd">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org7b31a36">3.2.6. Test</a></li>
|
||||
<li><a href="#orgaeb4f92">3.2.1. Requirements</a></li>
|
||||
<li><a href="#orgf1e25be">3.2.2. C Header</a></li>
|
||||
<li><a href="#org0766589">3.2.3. Source</a></li>
|
||||
<li><a href="#org7f1a6ef">3.2.4. C interface</a></li>
|
||||
<li><a href="#org429c365">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org90d2c4a">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org649c8d2">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org7787780">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org72db2d4">4.0.1. Get</a></li>
|
||||
<li><a href="#orgde7032a">4.0.2. Provide</a></li>
|
||||
<li><a href="#orgb99dfb1">4.0.3. Compute</a></li>
|
||||
<li><a href="#org30c49d5">4.0.4. Test</a></li>
|
||||
<li><a href="#org45d5b27">4.0.1. Get</a></li>
|
||||
<li><a href="#org1745231">4.0.2. Provide</a></li>
|
||||
<li><a href="#org8cbc3d6">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgc80d7dc">4.0.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -406,8 +406,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org003adae" class="outline-2">
|
||||
<h2 id="org003adae"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org548a852" class="outline-2">
|
||||
<h2 id="org548a852"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -679,14 +679,14 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2ecb6b9" class="outline-3">
|
||||
<h3 id="org2ecb6b9"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org47d4658" class="outline-3">
|
||||
<h3 id="org47d4658"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span>;
|
||||
<span style="color: #228b22;">int64_t</span> * <span style="color: #a0522d;">nucleus_index</span>;
|
||||
<span style="color: #228b22;">int64_t</span> * <span style="color: #a0522d;">nucleus_shell_num</span>;
|
||||
<span style="color: #228b22;">int32_t</span> * <span style="color: #a0522d;">shell_ang_mom</span>;
|
||||
@ -753,8 +753,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b30065" class="outline-3">
|
||||
<h3 id="org1b30065"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org3f8c1c0" class="outline-3">
|
||||
<h3 id="org3f8c1c0"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -768,8 +768,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51b1962" class="outline-3">
|
||||
<h3 id="org51b1962"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgfc7f671" class="outline-3">
|
||||
<h3 id="orgfc7f671"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -807,20 +807,20 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d9b932" class="outline-3">
|
||||
<h3 id="org3d9b932"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgc73d990" class="outline-3">
|
||||
<h3 id="orgc73d990"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0496cb8" class="outline-2">
|
||||
<h2 id="org0496cb8"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org9626b0e" class="outline-2">
|
||||
<h2 id="org9626b0e"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb9d7570" class="outline-3">
|
||||
<h3 id="orgb9d7570"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-orgb46a929" class="outline-3">
|
||||
<h3 id="orgb46a929"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgd52647e" class="outline-3">
|
||||
<h3 id="orgd52647e"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org044833e" class="outline-3">
|
||||
<h3 id="org044833e"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -985,9 +985,12 @@ Requirements
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_gaussian_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl_probes_f</span>
|
||||
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int64_t</span>), <span style="color: #a020f0;">intent</span>(in), <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">logical</span>(<span style="color: #008b8b;">C_BOOL</span>) ::<span style="color: #a0522d;"> vfc_err</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> n, ldv, j, i</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> X(3), R(3), Y(3), r2</span>
|
||||
@ -996,6 +999,13 @@ Requirements
|
||||
|
||||
epsilon = qmckl_get_numprec_epsilon(context)
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
! <span style="color: #b22222;">Multplying epsilon by 16 = 2^4 is equivalent to asking 4 significant digits</span>
|
||||
! <span style="color: #b22222;">less. This makes sense because we are adding noise with MCA so we can't be</span>
|
||||
! <span style="color: #b22222;">as strict on the accuracy target.</span>
|
||||
epsilon = epsilon * 16
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
X = (/ 1.1 , 2.2 , 3.3 /)
|
||||
R = (/ 0.1 , 1.2 , -2.3 /)
|
||||
Y(:) = X(:) - R(:)
|
||||
@ -1012,10 +1022,29 @@ Requirements
|
||||
|
||||
test_qmckl_ao_gaussian_vgl = <span style="color: #a020f0;">&</span>
|
||||
qmckl_ao_gaussian_vgl(context, X, R, n, A, VGL, ldv)
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"gaussian_vgl_2_1"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,1)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"gaussian_vgl_2_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"gaussian_vgl_2_3"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,3)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"gaussian_vgl_2_4"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,4)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"gaussian_vgl_2_5"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,5)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
<span style="color: #483d8b;">#ifndef</span> VFC_CI
|
||||
<span style="color: #a020f0;">if</span> (test_qmckl_ao_gaussian_vgl /= 0) <span style="color: #a020f0;">return</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
test_qmckl_ao_gaussian_vgl = -1
|
||||
|
||||
<span style="color: #483d8b;">#ifndef</span> VFC_CI
|
||||
<span style="color: #a020f0;">do</span> i=1,n
|
||||
test_qmckl_ao_gaussian_vgl = -11
|
||||
<span style="color: #a020f0;">if</span> (dabs(1.d0 - VGL(i,1) / (<span style="color: #a020f0;">&</span>
|
||||
@ -1042,6 +1071,7 @@ Requirements
|
||||
A(i) * (4.d0*r2*A(i) - 6.d0) * dexp(-A(i) * r2) <span style="color: #a020f0;">&</span>
|
||||
)) > epsilon ) <span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
test_qmckl_ao_gaussian_vgl = 0
|
||||
|
||||
@ -1052,18 +1082,18 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org776e843" class="outline-3">
|
||||
<h3 id="org776e843"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
<div id="outline-container-org9286479" class="outline-3">
|
||||
<h3 id="org9286479"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
</div>
|
||||
<div id="outline-container-org5fca057" class="outline-3">
|
||||
<h3 id="org5fca057"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
<div id="outline-container-org6fc0d8f" class="outline-3">
|
||||
<h3 id="org6fc0d8f"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
</div>
|
||||
<div id="outline-container-org506c6df" class="outline-3">
|
||||
<h3 id="org506c6df"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org8757bb0" class="outline-3">
|
||||
<h3 id="org8757bb0"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-org061adfb" class="outline-4">
|
||||
<h4 id="org061adfb"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgfff6236" class="outline-4">
|
||||
<h4 id="orgfff6236"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_primitive_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">primitive_vgl</span>);
|
||||
@ -1072,14 +1102,14 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65aa858" class="outline-4">
|
||||
<h4 id="org65aa858"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-org50a60cd" class="outline-4">
|
||||
<h4 id="org50a60cd"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe081d2" class="outline-4">
|
||||
<h4 id="orgbe081d2"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-orgddd5a52" class="outline-4">
|
||||
<h4 id="orgddd5a52"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org8f317b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc37ede6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1186,9 +1216,9 @@ Requirements
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
<span style="color: #a020f0;">do</span> iprim = nucleus_prim_index(inucl)+1, nucleus_prim_index(inucl+1)
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
ar2 = expo(iprim)*r2
|
||||
@ -1198,7 +1228,7 @@ Requirements
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
primitive_vgl(iprim, ielec, 1) = v
|
||||
primitive_vgl(iprim, ielec, 2) = two_a * x
|
||||
primitive_vgl(iprim, ielec, 2) = two_a * x
|
||||
primitive_vgl(iprim, ielec, 3) = two_a * y
|
||||
primitive_vgl(iprim, ielec, 4) = two_a * z
|
||||
primitive_vgl(iprim, ielec, 5) = two_a * (3.d0 - 2.d0*ar2)
|
||||
@ -1213,12 +1243,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb8998f4" class="outline-4">
|
||||
<h4 id="orgb8998f4"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-orgbd69d98" class="outline-4">
|
||||
<h4 id="orgbd69d98"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14ee026" class="outline-4">
|
||||
<h4 id="org14ee026"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-org5a5cc5e" class="outline-4">
|
||||
<h4 id="org5a5cc5e"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div class="outline-text-4" id="text-2-5-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">// <span style="color: #b22222;">j : electrons</span>
|
||||
@ -1252,12 +1282,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2822910" class="outline-3">
|
||||
<h3 id="org2822910"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org7160363" class="outline-3">
|
||||
<h3 id="org7160363"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
</div>
|
||||
<div id="outline-container-org293a60f" class="outline-4">
|
||||
<h4 id="org293a60f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org63772d3" class="outline-4">
|
||||
<h4 id="org63772d3"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_shell_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span>);
|
||||
@ -1266,14 +1296,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb0bee59" class="outline-4">
|
||||
<h4 id="orgb0bee59"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-orgf5a217c" class="outline-4">
|
||||
<h4 id="orgf5a217c"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org727f9ae" class="outline-4">
|
||||
<h4 id="org727f9ae"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-org426bdb6" class="outline-4">
|
||||
<h4 id="org426bdb6"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="org58953b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org422c7e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1422,9 +1452,9 @@ k=0;
|
||||
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
@ -1451,13 +1481,13 @@ k=0;
|
||||
shell_vgl(ishell, ielec, 1) + v
|
||||
|
||||
shell_vgl(ishell, ielec, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 2) + two_a * x
|
||||
shell_vgl(ishell, ielec, 2) + two_a * x
|
||||
|
||||
shell_vgl(ishell, ielec, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 3) + two_a * y
|
||||
shell_vgl(ishell, ielec, 3) + two_a * y
|
||||
|
||||
shell_vgl(ishell, ielec, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 4) + two_a * z
|
||||
shell_vgl(ishell, ielec, 4) + two_a * z
|
||||
|
||||
shell_vgl(ishell, ielec, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
@ -1488,20 +1518,20 @@ k=0;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucl_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">expo</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org171c18d" class="outline-4">
|
||||
<h4 id="org171c18d"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org565fcfe" class="outline-4">
|
||||
<h4 id="org565fcfe"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f031e5" class="outline-2">
|
||||
<h2 id="org2f031e5"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgde20da0" class="outline-2">
|
||||
<h2 id="orgde20da0"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1521,8 +1551,8 @@ f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz},
|
||||
\end{eqnarray}
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc06e046" class="outline-3">
|
||||
<h3 id="orgc06e046"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orgf8ab615" class="outline-3">
|
||||
<h3 id="orgf8ab615"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -1534,7 +1564,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="orgb4fb834" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a55d4a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1592,8 +1622,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a488bd" class="outline-4">
|
||||
<h4 id="org2a488bd"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga730bf4" class="outline-4">
|
||||
<h4 id="orga730bf4"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1606,8 +1636,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf77dde4" class="outline-4">
|
||||
<h4 id="orgf77dde4"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-orgc1bc204" class="outline-4">
|
||||
<h4 id="orgc1bc204"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<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> (
|
||||
@ -1622,8 +1652,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb81d064" class="outline-4">
|
||||
<h4 id="orgb81d064"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org051f101" class="outline-4">
|
||||
<h4 id="org051f101"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<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>
|
||||
@ -1674,21 +1704,25 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83272d1" class="outline-4">
|
||||
<h4 id="org83272d1"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-orgd430936" class="outline-4">
|
||||
<h4 id="orgd430936"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgde368d7" class="outline-4">
|
||||
<h4 id="orgde368d7"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org5f54722" class="outline-4">
|
||||
<h4 id="org5f54722"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44b5c7d" class="outline-4">
|
||||
<h4 id="org44b5c7d"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-org9fc7950" class="outline-4">
|
||||
<h4 id="org9fc7950"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_power</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl_probes_f</span>
|
||||
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">logical</span>(<span style="color: #008b8b;">C_BOOL</span>) ::<span style="color: #a0522d;"> vfc_err</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context), <span style="color: #a020f0;">intent</span>(in), <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> n, LDP</span>
|
||||
@ -1699,6 +1733,13 @@ the \(n\) points:
|
||||
|
||||
epsilon = qmckl_get_numprec_epsilon(context)
|
||||
|
||||
<span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
! <span style="color: #b22222;">Multplying epsilon by 16 = 2^4 is equivalent to asking 4 significant digits</span>
|
||||
! <span style="color: #b22222;">less. This makes sense because we are adding noise with MCA so we can't be</span>
|
||||
! <span style="color: #b22222;">as strict on the accuracy target.</span>
|
||||
epsilon = epsilon * 16
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
n = 100;
|
||||
LDP = 10;
|
||||
|
||||
@ -1710,10 +1751,15 @@ the \(n\) points:
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
test_qmckl_ao_power = qmckl_ao_power(context, n, X, LMAX, P, LDP)
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"power_2_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(P(2,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
<span style="color: #a020f0;">if</span> (test_qmckl_ao_power /= QMCKL_SUCCESS) <span style="color: #a020f0;">return</span>
|
||||
|
||||
test_qmckl_ao_power = QMCKL_FAILURE
|
||||
|
||||
<span style="color: #483d8b;">#ifndef</span> VFC_CI
|
||||
<span style="color: #a020f0;">do</span> j=1,n
|
||||
<span style="color: #a020f0;">do</span> i=1,LMAX(j)
|
||||
<span style="color: #a020f0;">if</span> ( X(j)**i == 0.d0 ) <span style="color: #a020f0;">then</span>
|
||||
@ -1723,6 +1769,7 @@ the \(n\) points:
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
test_qmckl_ao_power = QMCKL_SUCCESS
|
||||
<span style="color: #a020f0;">deallocate</span>(X,P,LMAX)
|
||||
@ -1733,8 +1780,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef7da4e" class="outline-3">
|
||||
<h3 id="orgef7da4e"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org855c453" class="outline-3">
|
||||
<h3 id="org855c453"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -1779,7 +1826,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org9739282" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9be2687" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1858,8 +1905,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org35570b4" class="outline-4">
|
||||
<h4 id="org35570b4"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgaeb4f92" class="outline-4">
|
||||
<h4 id="orgaeb4f92"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1884,8 +1931,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org67be7fa" class="outline-4">
|
||||
<h4 id="org67be7fa"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-orgf1e25be" class="outline-4">
|
||||
<h4 id="orgf1e25be"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<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> (
|
||||
@ -1903,8 +1950,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdfdf75c" class="outline-4">
|
||||
<h4 id="orgdfdf75c"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-org0766589" class="outline-4">
|
||||
<h4 id="org0766589"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<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>
|
||||
@ -2038,23 +2085,26 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge488076" class="outline-4">
|
||||
<h4 id="orge488076"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-org7f1a6ef" class="outline-4">
|
||||
<h4 id="org7f1a6ef"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgded99dd" class="outline-4">
|
||||
<h4 id="orgded99dd"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org429c365" class="outline-4">
|
||||
<h4 id="org429c365"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b31a36" class="outline-4">
|
||||
<h4 id="org7b31a36"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-org90d2c4a" class="outline-4">
|
||||
<h4 id="org90d2c4a"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_polynomial_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl_probes_f</span>
|
||||
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int64_t</span>), <span style="color: #a020f0;">intent</span>(in), <span style="color: #a020f0;">value</span> ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">logical</span>(<span style="color: #008b8b;">C_BOOL</span>) ::<span style="color: #a0522d;"> vfc_err</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lmax, d, i</span>
|
||||
<span style="color: #228b22;">integer</span>, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> L(:,:)</span>
|
||||
@ -2081,9 +2131,25 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
test_qmckl_ao_polynomial_vgl = <span style="color: #a020f0;">&</span>
|
||||
qmckl_ao_polynomial_vgl(context, X, R, lmax, n, L, ldl, VGL, ldv)
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"polynomial_vgl_1_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(1,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"polynomial_vgl_2_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(2,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"polynomial_vgl_3_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(3,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"polynomial_vgl_4_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(4,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
vfc_err = qmckl_probe_check(<span style="color: #8b2252;">"ao"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #8b2252;">"polynomial_vgl_5_2"</span>//<span style="color: #008b8b;">C_NULL_CHAR</span>, <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">DBLE</span>(VGL(5,2)), <span style="color: #a020f0;">DBLE</span>(0), <span style="color: #a020f0;">DBLE</span>(epsilon))
|
||||
|
||||
<span style="color: #a020f0;">if</span> (test_qmckl_ao_polynomial_vgl /= QMCKL_SUCCESS) <span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">if</span> (n /= d) <span style="color: #a020f0;">return</span>
|
||||
|
||||
<span style="color: #483d8b;">#ifndef</span> VFC_CI
|
||||
<span style="color: #a020f0;">do</span> j=1,n
|
||||
test_qmckl_ao_polynomial_vgl = QMCKL_FAILURE
|
||||
<span style="color: #a020f0;">do</span> i=1,3
|
||||
@ -2134,6 +2200,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">if</span> (dabs(1.d0 - VGL(5,j) / w) > epsilon ) <span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
|
||||
test_qmckl_ao_polynomial_vgl = QMCKL_SUCCESS
|
||||
|
||||
@ -2152,12 +2219,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org649c8d2" class="outline-2">
|
||||
<h2 id="org649c8d2"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org7787780" class="outline-2">
|
||||
<h2 id="org7787780"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org72db2d4" class="outline-4">
|
||||
<h4 id="org72db2d4"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-org45d5b27" class="outline-4">
|
||||
<h4 id="org45d5b27"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-4-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span>);
|
||||
@ -2166,14 +2233,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde7032a" class="outline-4">
|
||||
<h4 id="orgde7032a"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-org1745231" class="outline-4">
|
||||
<h4 id="org1745231"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb99dfb1" class="outline-4">
|
||||
<h4 id="orgb99dfb1"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org8cbc3d6" class="outline-4">
|
||||
<h4 id="org8cbc3d6"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org8c19a35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1ee4a82" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2432,20 +2499,20 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span>* <span style="color: #a0522d;">shell_ang_mom</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_factor</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">shell_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30c49d5" class="outline-4">
|
||||
<h4 id="org30c49d5"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-orgc80d7dc" class="outline-4">
|
||||
<h4 id="orgc80d7dc"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org21ac435">1. Matrix operations</a>
|
||||
<li><a href="#org5b1a853">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org34f6535">1.1. <code>qmckl_dgemm</code></a>
|
||||
<li><a href="#org6c3319a">1.1. <code>qmckl_dgemm</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4420fe7">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbd0fffe">1.1.2. C header</a></li>
|
||||
<li><a href="#org1e0aeda">1.1.3. Source</a></li>
|
||||
<li><a href="#org618be13">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org41009d2">1.1.2. C header</a></li>
|
||||
<li><a href="#org1b22855">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,19 +348,19 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21ac435" class="outline-2">
|
||||
<h2 id="org21ac435"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org5b1a853" class="outline-2">
|
||||
<h2 id="org5b1a853"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org34f6535" class="outline-3">
|
||||
<h3 id="org34f6535"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org6c3319a" class="outline-3">
|
||||
<h3 id="org6c3319a"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Matrix multiply l\(C_{ij} = \beta C_{ij} + \alpha \sum_{k} A_{ik} \cdot B_{kj}\) using Fortran <code>matmul</code> function.
|
||||
TODO: Add description about the external library dependence.
|
||||
</p>
|
||||
|
||||
<table id="org7837645" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3c5b70a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -474,8 +474,8 @@ TODO: Add description about the external library dependence.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4420fe7" class="outline-4">
|
||||
<h4 id="org4420fe7"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org618be13" class="outline-4">
|
||||
<h4 id="org618be13"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -492,8 +492,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd0fffe" class="outline-4">
|
||||
<h4 id="orgbd0fffe"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org41009d2" class="outline-4">
|
||||
<h4 id="org41009d2"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_dgemm</span> (
|
||||
@ -517,8 +517,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1e0aeda" class="outline-4">
|
||||
<h4 id="org1e0aeda"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org1b22855" class="outline-4">
|
||||
<h4 id="org1b22855"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<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_dgemm_f</span><span style="color: #000000; background-color: #ffffff;">(context, TransA, TransB, m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -617,7 +617,7 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org668e8ff">1. Context handling</a>
|
||||
<li><a href="#orga00e0d9">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orgbbf8b6b">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc035ad4">1.2. Creation</a></li>
|
||||
<li><a href="#org3e2ee39">1.3. Locking</a></li>
|
||||
<li><a href="#org4a464f7">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org182b1f0">1.5. Destroy</a></li>
|
||||
<li><a href="#org2856e21">1.1. Data structure</a></li>
|
||||
<li><a href="#org6bf1c31">1.2. Creation</a></li>
|
||||
<li><a href="#org62459e9">1.3. Locking</a></li>
|
||||
<li><a href="#org6c2092b">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orgad1435b">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org668e8ff" class="outline-2">
|
||||
<h2 id="org668e8ff"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orga00e0d9" class="outline-2">
|
||||
<h2 id="orga00e0d9"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The context variable is a handle for the state of the library,
|
||||
@ -338,7 +338,7 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org89a1c86"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<pre class="src src-c" id="org9040846"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_NULL_CONTEXT</span> (qmckl_context) 0
|
||||
</pre>
|
||||
</div>
|
||||
@ -356,8 +356,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbf8b6b" class="outline-3">
|
||||
<h3 id="orgbbf8b6b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org2856e21" class="outline-3">
|
||||
<h3 id="org2856e21"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The context keeps a ``date'' that allows to check which data needs
|
||||
@ -367,7 +367,7 @@ coordinates are updated.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#orgc035ad4">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org182b1f0">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org4a464f7">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org6bf1c31">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#orgad1435b">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org6c2092b">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
should be updated inorder to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -416,8 +416,8 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc035ad4" class="outline-3">
|
||||
<h3 id="orgc035ad4"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org6bf1c31" class="outline-3">
|
||||
<h3 id="org6bf1c31"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
@ -502,8 +502,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3e2ee39" class="outline-3">
|
||||
<h3 id="org3e2ee39"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org62459e9" class="outline-3">
|
||||
<h3 id="org62459e9"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -548,8 +548,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a464f7" class="outline-3">
|
||||
<h3 id="org4a464f7"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org6c2092b" class="outline-3">
|
||||
<h3 id="org6c2092b"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns
|
||||
@ -597,8 +597,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org182b1f0" class="outline-3">
|
||||
<h3 id="org182b1f0"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-orgad1435b" class="outline-3">
|
||||
<h3 id="orgad1435b"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -652,7 +652,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Inter-particle distances</title>
|
||||
@ -333,50 +333,50 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org48518c8">1. Squared distance</a>
|
||||
<li><a href="#orgc39fcc6">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgdd89c94">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org26a609a">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf7566c9">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdf8a062">1.1.2. C header</a></li>
|
||||
<li><a href="#org8c9a65c">1.1.3. Source</a></li>
|
||||
<li><a href="#orge5b8a5c">1.1.4. Performance</a></li>
|
||||
<li><a href="#orgc53cce3">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org035ce79">1.1.2. C header</a></li>
|
||||
<li><a href="#org7de7893">1.1.3. Source</a></li>
|
||||
<li><a href="#org49844b6">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgba976a2">2. Distance</a>
|
||||
<li><a href="#orgdcf4e88">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgb650423">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org762c01e">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb5de7ae">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org3a320e9">2.1.2. C header</a></li>
|
||||
<li><a href="#org9406f51">2.1.3. Source</a></li>
|
||||
<li><a href="#orgad17e4c">2.1.4. Performance</a></li>
|
||||
<li><a href="#org2a35432">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org8f9a53f">2.1.2. C header</a></li>
|
||||
<li><a href="#orgc947543">2.1.3. Source</a></li>
|
||||
<li><a href="#org1cdc0e9">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9f5accb">3. Rescaled Distance</a>
|
||||
<li><a href="#orgaad556d">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org6e022e7">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org83d2bb7">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7c668e9">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org1637b10">3.1.2. C header</a></li>
|
||||
<li><a href="#orgb18f38a">3.1.3. Source</a></li>
|
||||
<li><a href="#org73a8873">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgefd0d2e">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaa7420f">3.1.2. C header</a></li>
|
||||
<li><a href="#org598b191">3.1.3. Source</a></li>
|
||||
<li><a href="#org7156ede">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3dc05b0">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orgb8f3165">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgfc4057e">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#orge3d87b3">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#org859137d">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org2cc9344">4.1.2. C header</a></li>
|
||||
<li><a href="#org6bbb7de">4.1.3. Source</a></li>
|
||||
<li><a href="#org8a2f272">4.1.4. Performance</a></li>
|
||||
<li><a href="#orgde36da6">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org27c050a">4.1.2. C header</a></li>
|
||||
<li><a href="#org111eb1d">4.1.3. Source</a></li>
|
||||
<li><a href="#org75df55a">4.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -385,12 +385,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48518c8" class="outline-2">
|
||||
<h2 id="org48518c8"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgc39fcc6" class="outline-2">
|
||||
<h2 id="orgc39fcc6"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgdd89c94" class="outline-3">
|
||||
<h3 id="orgdd89c94"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org26a609a" class="outline-3">
|
||||
<h3 id="org26a609a"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -403,7 +403,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org581f05c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org32b34b0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -496,8 +496,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7566c9" class="outline-4">
|
||||
<h4 id="orgf7566c9"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc53cce3" class="outline-4">
|
||||
<h4 id="orgc53cce3"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -515,8 +515,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf8a062" class="outline-4">
|
||||
<h4 id="orgdf8a062"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org035ce79" class="outline-4">
|
||||
<h4 id="org035ce79"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_sq</span> (
|
||||
@ -536,8 +536,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c9a65c" class="outline-4">
|
||||
<h4 id="org8c9a65c"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org7de7893" class="outline-4">
|
||||
<h4 id="org7de7893"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_sq_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -672,8 +672,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge5b8a5c" class="outline-4">
|
||||
<h4 id="orge5b8a5c"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org49844b6" class="outline-4">
|
||||
<h4 id="org49844b6"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -683,12 +683,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgba976a2" class="outline-2">
|
||||
<h2 id="orgba976a2"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orgdcf4e88" class="outline-2">
|
||||
<h2 id="orgdcf4e88"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb650423" class="outline-3">
|
||||
<h3 id="orgb650423"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org762c01e" class="outline-3">
|
||||
<h3 id="org762c01e"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<code>qmckl_distance</code> computes the matrix of the distances between all
|
||||
@ -706,7 +706,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="org10cbab2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4e093f8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -799,8 +799,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb5de7ae" class="outline-4">
|
||||
<h4 id="orgb5de7ae"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2a35432" class="outline-4">
|
||||
<h4 id="org2a35432"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -818,8 +818,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3a320e9" class="outline-4">
|
||||
<h4 id="org3a320e9"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org8f9a53f" class="outline-4">
|
||||
<h4 id="org8f9a53f"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance</span> (
|
||||
@ -839,8 +839,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9406f51" class="outline-4">
|
||||
<h4 id="org9406f51"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgc947543" class="outline-4">
|
||||
<h4 id="orgc947543"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1007,8 +1007,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad17e4c" class="outline-4">
|
||||
<h4 id="orgad17e4c"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org1cdc0e9" class="outline-4">
|
||||
<h4 id="org1cdc0e9"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1018,12 +1018,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f5accb" class="outline-2">
|
||||
<h2 id="org9f5accb"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgaad556d" class="outline-2">
|
||||
<h2 id="orgaad556d"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org6e022e7" class="outline-3">
|
||||
<h3 id="org6e022e7"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org83d2bb7" class="outline-3">
|
||||
<h3 id="org83d2bb7"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all
|
||||
@ -1041,7 +1041,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgeec4bdd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9e76383" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1141,8 +1141,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c668e9" class="outline-4">
|
||||
<h4 id="org7c668e9"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgefd0d2e" class="outline-4">
|
||||
<h4 id="orgefd0d2e"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1160,8 +1160,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1637b10" class="outline-4">
|
||||
<h4 id="org1637b10"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgaa7420f" class="outline-4">
|
||||
<h4 id="orgaa7420f"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span> (
|
||||
@ -1182,8 +1182,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb18f38a" class="outline-4">
|
||||
<h4 id="orgb18f38a"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org598b191" class="outline-4">
|
||||
<h4 id="org598b191"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1353,8 +1353,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73a8873" class="outline-4">
|
||||
<h4 id="org73a8873"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org7156ede" class="outline-4">
|
||||
<h4 id="org7156ede"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1363,15 +1363,15 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3dc05b0" class="outline-2">
|
||||
<h2 id="org3dc05b0"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orgb8f3165" class="outline-2">
|
||||
<h2 id="orgb8f3165"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgfc4057e" class="outline-3">
|
||||
<h3 id="orgfc4057e"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-orge3d87b3" class="outline-3">
|
||||
<h3 id="orge3d87b3"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled_deriv_e</code> computes the matrix of the gradient and laplacian of the
|
||||
<code>qmckl_distance_rescaled_deriv_e</code> computes the matrix of the gradient and laplacian of the
|
||||
rescaled distance with respect to the electron coordinates. The derivative is a rank 3 tensor.
|
||||
The first dimension has a dimension of 4 of which the first three coordinates
|
||||
contains the gradient vector and the last index is the laplacian.
|
||||
@ -1402,7 +1402,7 @@ and the laplacian is defined as follows:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Using the above three formulae, the expression for the gradient and laplacian is
|
||||
Using the above three formulae, the expression for the gradient and laplacian is
|
||||
as follows:
|
||||
</p>
|
||||
|
||||
@ -1435,7 +1435,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgda9354e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf08f916" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1535,8 +1535,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org859137d" class="outline-4">
|
||||
<h4 id="org859137d"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgde36da6" class="outline-4">
|
||||
<h4 id="orgde36da6"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1554,8 +1554,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cc9344" class="outline-4">
|
||||
<h4 id="org2cc9344"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org27c050a" class="outline-4">
|
||||
<h4 id="org27c050a"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled_deriv_e</span> (
|
||||
@ -1576,8 +1576,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6bbb7de" class="outline-4">
|
||||
<h4 id="org6bbb7de"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-org111eb1d" class="outline-4">
|
||||
<h4 id="org111eb1d"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_deriv_e_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1768,8 +1768,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a2f272" class="outline-4">
|
||||
<h4 id="org8a2f272"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org75df55a" class="outline-4">
|
||||
<h4 id="org75df55a"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1781,7 +1781,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -333,63 +333,63 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb60cddf">1. Context</a>
|
||||
<li><a href="#org55c65c2">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org79b55c8">1.1. Data structure</a></li>
|
||||
<li><a href="#org569e685">1.2. Access functions</a>
|
||||
<li><a href="#org6af31ff">1.1. Data structure</a></li>
|
||||
<li><a href="#org9e42378">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org858aef6">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org450c098">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org5213f8d">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgf40f7d8">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgf0e97d8">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgb921384">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org0c3a3d5">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org60e6d6e">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4d9bcd2">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org0102feb">1.4. Test</a></li>
|
||||
<li><a href="#org62b3e50">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org4944d3d">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org52db1b1">2. Computation</a>
|
||||
<li><a href="#orgb3131d1">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgdff2c28">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orgeee4268">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf517725">2.1.1. Get</a></li>
|
||||
<li><a href="#orgfe131ea">2.1.2. Compute</a></li>
|
||||
<li><a href="#org2310b81">2.1.3. Test</a></li>
|
||||
<li><a href="#org5e68e17">2.1.1. Get</a></li>
|
||||
<li><a href="#org340a522">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb0969ca">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3b5da54">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org4a96019">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgb030a12">2.2.1. Get</a></li>
|
||||
<li><a href="#orgcb2e8e5">2.2.2. Compute</a></li>
|
||||
<li><a href="#org98d2fac">2.2.3. Test</a></li>
|
||||
<li><a href="#org982888e">2.2.1. Get</a></li>
|
||||
<li><a href="#org61220b2">2.2.2. Compute</a></li>
|
||||
<li><a href="#org97d85c2">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6e54822">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org94f181c">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org88adc48">2.3.1. Get</a></li>
|
||||
<li><a href="#org46b1da4">2.3.2. Compute</a></li>
|
||||
<li><a href="#org887bd2c">2.3.3. Test</a></li>
|
||||
<li><a href="#orga88a946">2.3.1. Get</a></li>
|
||||
<li><a href="#orgf900372">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgcb9b2c0">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1cdd43c">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#org4cee3cd">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org3c6235f">2.4.1. Get</a></li>
|
||||
<li><a href="#org7b389be">2.4.2. Compute</a></li>
|
||||
<li><a href="#org1b08785">2.4.3. Test</a></li>
|
||||
<li><a href="#org1186e73">2.4.1. Get</a></li>
|
||||
<li><a href="#orgb5dd8c7">2.4.2. Compute</a></li>
|
||||
<li><a href="#org3968280">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7896848">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org8db0634">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org130853b">2.5.1. Get</a></li>
|
||||
<li><a href="#org37ee4a6">2.5.2. Compute</a></li>
|
||||
<li><a href="#org3b31571">2.5.3. Test</a></li>
|
||||
<li><a href="#org4b55fad">2.5.1. Get</a></li>
|
||||
<li><a href="#org4e27cae">2.5.2. Compute</a></li>
|
||||
<li><a href="#org232bc81">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgde85241">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgde20051">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orgd7376da">2.6.1. Get</a></li>
|
||||
<li><a href="#org935c334">2.6.2. Compute</a></li>
|
||||
<li><a href="#org9bba097">2.6.3. Test</a></li>
|
||||
<li><a href="#orgadb9aaa">2.6.1. Get</a></li>
|
||||
<li><a href="#orgfee31b1">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgcad08c4">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -398,8 +398,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb60cddf" class="outline-2">
|
||||
<h2 id="orgb60cddf"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org55c65c2" class="outline-2">
|
||||
<h2 id="org55c65c2"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -557,8 +557,8 @@ The following data stored in the context:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org79b55c8" class="outline-3">
|
||||
<h3 id="org79b55c8"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org6af31ff" class="outline-3">
|
||||
<h3 id="org6af31ff"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_electron_struct</span> {
|
||||
@ -633,8 +633,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org569e685" class="outline-3">
|
||||
<h3 id="org569e685"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org9e42378" class="outline-3">
|
||||
<h3 id="org9e42378"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -646,12 +646,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org858aef6" class="outline-4">
|
||||
<h4 id="org858aef6"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-orgf0e97d8" class="outline-4">
|
||||
<h4 id="orgf0e97d8"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org450c098" class="outline-4">
|
||||
<h4 id="org450c098"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgb921384" class="outline-4">
|
||||
<h4 id="orgb921384"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
A walker is a set of electron coordinates that are arguments of
|
||||
@ -660,12 +660,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5213f8d" class="outline-4">
|
||||
<h4 id="org5213f8d"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org0c3a3d5" class="outline-4">
|
||||
<h4 id="org0c3a3d5"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf40f7d8" class="outline-4">
|
||||
<h4 id="orgf40f7d8"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org60e6d6e" class="outline-4">
|
||||
<h4 id="org60e6d6e"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-4">
|
||||
<p>
|
||||
Returns the current electron coordinates. The pointer is assumed
|
||||
@ -709,8 +709,8 @@ The order of the indices is:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4d9bcd2" class="outline-3">
|
||||
<h3 id="org4d9bcd2"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org62b3e50" class="outline-3">
|
||||
<h3 id="org62b3e50"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -797,8 +797,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0102feb" class="outline-3">
|
||||
<h3 id="org0102feb"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org4944d3d" class="outline-3">
|
||||
<h3 id="org4944d3d"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -904,8 +904,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52db1b1" class="outline-2">
|
||||
<h2 id="org52db1b1"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgb3131d1" class="outline-2">
|
||||
<h2 id="orgb3131d1"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -918,12 +918,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdff2c28" class="outline-3">
|
||||
<h3 id="orgdff2c28"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orgeee4268" class="outline-3">
|
||||
<h3 id="orgeee4268"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-orgf517725" class="outline-4">
|
||||
<h4 id="orgf517725"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org5e68e17" class="outline-4">
|
||||
<h4 id="org5e68e17"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>);
|
||||
@ -932,10 +932,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfe131ea" class="outline-4">
|
||||
<h4 id="orgfe131ea"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org340a522" class="outline-4">
|
||||
<h4 id="org340a522"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org4403697" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org10e8add" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1031,8 +1031,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2310b81" class="outline-4">
|
||||
<h4 id="org2310b81"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgb0969ca" class="outline-4">
|
||||
<h4 id="orgb0969ca"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1066,8 +1066,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b5da54" class="outline-3">
|
||||
<h3 id="org3b5da54"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org4a96019" class="outline-3">
|
||||
<h3 id="org4a96019"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>ee_distance_rescaled</code> stores the matrix of the rescaled distances between all
|
||||
@ -1085,8 +1085,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb030a12" class="outline-4">
|
||||
<h4 id="orgb030a12"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org982888e" class="outline-4">
|
||||
<h4 id="org982888e"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_electron_ee_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1095,10 +1095,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb2e8e5" class="outline-4">
|
||||
<h4 id="orgcb2e8e5"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org61220b2" class="outline-4">
|
||||
<h4 id="org61220b2"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org7f50f1b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0c19d53" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1203,8 +1203,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98d2fac" class="outline-4">
|
||||
<h4 id="org98d2fac"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org97d85c2" class="outline-4">
|
||||
<h4 id="org97d85c2"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1238,8 +1238,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e54822" class="outline-3">
|
||||
<h3 id="org6e54822"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-org94f181c" class="outline-3">
|
||||
<h3 id="org94f181c"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1251,8 +1251,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org88adc48" class="outline-4">
|
||||
<h4 id="org88adc48"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orga88a946" class="outline-4">
|
||||
<h4 id="orga88a946"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1261,10 +1261,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46b1da4" class="outline-4">
|
||||
<h4 id="org46b1da4"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf900372" class="outline-4">
|
||||
<h4 id="orgf900372"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org0429378" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org88d4645" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1369,8 +1369,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org887bd2c" class="outline-4">
|
||||
<h4 id="org887bd2c"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgcb9b2c0" class="outline-4">
|
||||
<h4 id="orgcb9b2c0"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1405,12 +1405,12 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1cdd43c" class="outline-3">
|
||||
<h3 id="org1cdd43c"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org4cee3cd" class="outline-3">
|
||||
<h3 id="org4cee3cd"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
</div>
|
||||
<div id="outline-container-org3c6235f" class="outline-4">
|
||||
<h4 id="org3c6235f"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org1186e73" class="outline-4">
|
||||
<h4 id="org1186e73"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -1419,10 +1419,10 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b389be" class="outline-4">
|
||||
<h4 id="org7b389be"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb5dd8c7" class="outline-4">
|
||||
<h4 id="orgb5dd8c7"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org5eb0697" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org186b308" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1539,8 +1539,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b08785" class="outline-4">
|
||||
<h4 id="org1b08785"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org3968280" class="outline-4">
|
||||
<h4 id="org3968280"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1588,8 +1588,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7896848" class="outline-3">
|
||||
<h3 id="org7896848"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org8db0634" class="outline-3">
|
||||
<h3 id="org8db0634"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
@ -1607,8 +1607,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org130853b" class="outline-4">
|
||||
<h4 id="org130853b"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org4b55fad" class="outline-4">
|
||||
<h4 id="org4b55fad"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1617,10 +1617,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37ee4a6" class="outline-4">
|
||||
<h4 id="org37ee4a6"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org4e27cae" class="outline-4">
|
||||
<h4 id="org4e27cae"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org0d4c88a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd01d254" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1752,8 +1752,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b31571" class="outline-4">
|
||||
<h4 id="org3b31571"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org232bc81" class="outline-4">
|
||||
<h4 id="org232bc81"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1801,8 +1801,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgde85241" class="outline-3">
|
||||
<h3 id="orgde85241"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-orgde20051" class="outline-3">
|
||||
<h3 id="orgde20051"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1814,8 +1814,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7376da" class="outline-4">
|
||||
<h4 id="orgd7376da"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgadb9aaa" class="outline-4">
|
||||
<h4 id="orgadb9aaa"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1824,10 +1824,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org935c334" class="outline-4">
|
||||
<h4 id="org935c334"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfee31b1" class="outline-4">
|
||||
<h4 id="orgfee31b1"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org5122da2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org51641d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1960,8 +1960,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9bba097" class="outline-4">
|
||||
<h4 id="org9bba097"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgcad08c4" class="outline-4">
|
||||
<h4 id="orgcad08c4"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2016,7 +2016,7 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,17 +311,17 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc74ea0d">1. Decoding errors</a></li>
|
||||
<li><a href="#orgd672f06">2. Data structure in context</a></li>
|
||||
<li><a href="#orga71d009">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org7f252d7">4. Get the error</a></li>
|
||||
<li><a href="#orgac31a51">5. Failing</a></li>
|
||||
<li><a href="#orga241b54">1. Decoding errors</a></li>
|
||||
<li><a href="#org822ccfe">2. Data structure in context</a></li>
|
||||
<li><a href="#org24fd95c">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org03f3bb0">4. Get the error</a></li>
|
||||
<li><a href="#org7abc7cd">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc74ea0d" class="outline-2">
|
||||
<h2 id="orgc74ea0d"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orga241b54" class="outline-2">
|
||||
<h2 id="orga241b54"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
To decode the error messages, <code>qmckl_string_of_error</code> converts an
|
||||
@ -451,8 +451,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd672f06" class="outline-2">
|
||||
<h2 id="orgd672f06"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org822ccfe" class="outline-2">
|
||||
<h2 id="org822ccfe"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared with a maximum fixed size to avoid
|
||||
@ -475,8 +475,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga71d009" class="outline-2">
|
||||
<h2 id="orga71d009"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org24fd95c" class="outline-2">
|
||||
<h2 id="org24fd95c"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The error is updated in the context using <code>qmckl_set_error</code>.
|
||||
@ -522,8 +522,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f252d7" class="outline-2">
|
||||
<h2 id="org7f252d7"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org03f3bb0" class="outline-2">
|
||||
<h2 id="org03f3bb0"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Upon error, the error type and message can be obtained from the
|
||||
@ -564,8 +564,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac31a51" class="outline-2">
|
||||
<h2 id="orgac31a51"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org7abc7cd" class="outline-2">
|
||||
<h2 id="org7abc7cd"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -628,7 +628,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:21 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Jastrow Factor</title>
|
||||
@ -333,100 +333,100 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgcd49021">1. Context</a>
|
||||
<li><a href="#org66d6449">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org48e7258">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc971eaa">1.2. Access functions</a></li>
|
||||
<li><a href="#org9c90d69">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb9621dc">1.4. Test</a></li>
|
||||
<li><a href="#orgd07338b">1.1. Data structure</a></li>
|
||||
<li><a href="#org8c08398">1.2. Access functions</a></li>
|
||||
<li><a href="#org0ebb3d6">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orged8285a">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3dcc18a">2. Computation</a>
|
||||
<li><a href="#orgaac6a00">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgce75ba7">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#orgc1b2e2d">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org49862b5">2.1.1. Get</a></li>
|
||||
<li><a href="#orge3fa90a">2.1.2. Compute</a></li>
|
||||
<li><a href="#org8049b23">2.1.3. Test</a></li>
|
||||
<li><a href="#orgdefb5d6">2.1.1. Get</a></li>
|
||||
<li><a href="#org64d2a9c">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7f6e5ff">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc795317">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org9ba0fdc">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org949d771">2.2.1. Get</a></li>
|
||||
<li><a href="#org2c6c09b">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgda67281">2.2.3. Test</a></li>
|
||||
<li><a href="#org289dd21">2.2.1. Get</a></li>
|
||||
<li><a href="#orgeaa33c5">2.2.2. Compute</a></li>
|
||||
<li><a href="#org2fd47e2">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc1eec13">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org6198517">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgda3b9ac">2.3.1. Get</a></li>
|
||||
<li><a href="#org8cc5e24">2.3.2. Compute</a></li>
|
||||
<li><a href="#org40fb28c">2.3.3. Test</a></li>
|
||||
<li><a href="#org63eb826">2.3.1. Get</a></li>
|
||||
<li><a href="#orgde407d5">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgdb9113c">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf5ffa67">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org3c13c2b">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgbc0fee2">2.4.1. Get</a></li>
|
||||
<li><a href="#org7ce65f6">2.4.2. Compute</a></li>
|
||||
<li><a href="#org1f3c789">2.4.3. Test</a></li>
|
||||
<li><a href="#org9d4995b">2.4.1. Get</a></li>
|
||||
<li><a href="#org381ad0e">2.4.2. Compute</a></li>
|
||||
<li><a href="#org5c25618">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org393e692">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org2978253">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb87adf2">2.5.1. Get</a></li>
|
||||
<li><a href="#org0a25c86">2.5.2. Compute</a></li>
|
||||
<li><a href="#orge8db6f3">2.5.3. Test</a></li>
|
||||
<li><a href="#org9b3ebb0">2.5.1. Get</a></li>
|
||||
<li><a href="#org64e8110">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgd4c53f7">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfcf881c">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org599f842">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org432aac0">2.6.1. Get</a></li>
|
||||
<li><a href="#org143a1e2">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgf8ae2d9">2.6.3. Test</a></li>
|
||||
<li><a href="#org2283422">2.6.1. Get</a></li>
|
||||
<li><a href="#org2016d6c">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgcd3a062">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcc65fdc">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgcc541ff">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org5ba325e">2.7.1. Get</a></li>
|
||||
<li><a href="#orga60282b">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgcbc071f">2.7.3. Test</a></li>
|
||||
<li><a href="#org54cb55c">2.7.1. Get</a></li>
|
||||
<li><a href="#orgc5d7cbb">2.7.2. Compute</a></li>
|
||||
<li><a href="#org25320f2">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2d8ff39">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#orgf0d8f5d">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org5af9afc">2.8.1. Get</a></li>
|
||||
<li><a href="#org434cf44">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgc6f54aa">2.8.3. Test</a></li>
|
||||
<li><a href="#org149fab3">2.8.1. Get</a></li>
|
||||
<li><a href="#orge15ba69">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgcc9aade">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc1b7875">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org6d3de1d">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgcea2738">2.9.1. Get</a></li>
|
||||
<li><a href="#orgb669fbb">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgfa69c24">2.9.3. Test</a></li>
|
||||
<li><a href="#orgd012c78">2.9.1. Get</a></li>
|
||||
<li><a href="#orge3540a3">2.9.2. Compute</a></li>
|
||||
<li><a href="#org80eaac4">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9d0b71f">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org438f5b8">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org40e85ab">2.10.1. Get</a></li>
|
||||
<li><a href="#orgff267b3">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org7811ff2">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgf8add32">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org6c848bc">2.10.5. Test</a></li>
|
||||
<li><a href="#orgd2604fb">2.10.1. Get</a></li>
|
||||
<li><a href="#orgbaf48f6">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org1547732">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgc54aa39">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org3f657f3">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeb4c451">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgca505c8">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org498bb3a">2.11.1. Get</a></li>
|
||||
<li><a href="#orgbd3dd3f">2.11.2. Compute</a></li>
|
||||
<li><a href="#org4aeb261">2.11.3. Test</a></li>
|
||||
<li><a href="#orgf2a7563">2.11.1. Get</a></li>
|
||||
<li><a href="#org80b8a15">2.11.2. Compute</a></li>
|
||||
<li><a href="#org4a3e3db">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org43db51d">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org779a9f2">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#org50e5082">2.12.1. Get</a></li>
|
||||
<li><a href="#org63d06f1">2.12.2. Compute</a></li>
|
||||
<li><a href="#orgd1f418e">2.12.3. Test</a></li>
|
||||
<li><a href="#org8e2fe91">2.12.1. Get</a></li>
|
||||
<li><a href="#orgf3d6ced">2.12.2. Compute</a></li>
|
||||
<li><a href="#org3d2a6b1">2.12.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -435,14 +435,14 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd49021" class="outline-2">
|
||||
<h2 id="orgcd49021"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org66d6449" class="outline-2">
|
||||
<h2 id="org66d6449"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
</p>
|
||||
|
||||
<table id="org91d9213" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfd6d117" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -734,7 +734,7 @@ For H2O we have the following data:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org2ec08c0"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org9b439d3"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
|
||||
<span style="color: #a0522d;">elec_num</span> = 10
|
||||
<span style="color: #a0522d;">nucl_num</span> = 2
|
||||
@ -884,8 +884,8 @@ For H2O we have the following data:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48e7258" class="outline-3">
|
||||
<h3 id="org48e7258"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgd07338b" class="outline-3">
|
||||
<h3 id="orgd07338b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_jastrow_struct</span>{
|
||||
@ -972,8 +972,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc971eaa" class="outline-3">
|
||||
<h3 id="orgc971eaa"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org8c08398" class="outline-3">
|
||||
<h3 id="org8c08398"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -993,8 +993,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c90d69" class="outline-3">
|
||||
<h3 id="org9c90d69"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org0ebb3d6" class="outline-3">
|
||||
<h3 id="org0ebb3d6"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -1020,8 +1020,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal FLOP count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb9621dc" class="outline-3">
|
||||
<h3 id="orgb9621dc"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orged8285a" class="outline-3">
|
||||
<h3 id="orged8285a"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1196,8 +1196,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3dcc18a" class="outline-2">
|
||||
<h2 id="org3dcc18a"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgaac6a00" class="outline-2">
|
||||
<h2 id="orgaac6a00"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1210,8 +1210,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce75ba7" class="outline-3">
|
||||
<h3 id="orgce75ba7"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgc1b2e2d" class="outline-3">
|
||||
<h3 id="orgc1b2e2d"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1226,8 +1226,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49862b5" class="outline-4">
|
||||
<h4 id="org49862b5"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgdefb5d6" class="outline-4">
|
||||
<h4 id="orgdefb5d6"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_jastrow_asymp_jasb</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">asymp_jasb</span>);
|
||||
@ -1236,10 +1236,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge3fa90a" class="outline-4">
|
||||
<h4 id="orge3fa90a"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org64d2a9c" class="outline-4">
|
||||
<h4 id="org64d2a9c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgd64476c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9ad3e5d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1344,8 +1344,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org8049b23" class="outline-4">
|
||||
<h4 id="org8049b23"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org7f6e5ff" class="outline-4">
|
||||
<h4 id="org7f6e5ff"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1397,8 +1397,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc795317" class="outline-3">
|
||||
<h3 id="orgc795317"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org9ba0fdc" class="outline-3">
|
||||
<h3 id="org9ba0fdc"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1413,8 +1413,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org949d771" class="outline-4">
|
||||
<h4 id="org949d771"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org289dd21" class="outline-4">
|
||||
<h4 id="org289dd21"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_jastrow_factor_ee</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee</span>);
|
||||
@ -1423,10 +1423,10 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c6c09b" class="outline-4">
|
||||
<h4 id="org2c6c09b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgeaa33c5" class="outline-4">
|
||||
<h4 id="orgeaa33c5"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgebde2cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1b72ce0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1593,8 +1593,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgda67281" class="outline-4">
|
||||
<h4 id="orgda67281"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org2fd47e2" class="outline-4">
|
||||
<h4 id="org2fd47e2"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1612,8 +1612,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc1eec13" class="outline-3">
|
||||
<h3 id="orgc1eec13"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org6198517" class="outline-3">
|
||||
<h3 id="org6198517"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1628,8 +1628,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgda3b9ac" class="outline-4">
|
||||
<h4 id="orgda3b9ac"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org63eb826" class="outline-4">
|
||||
<h4 id="org63eb826"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee_deriv_e</span>);
|
||||
@ -1638,10 +1638,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8cc5e24" class="outline-4">
|
||||
<h4 id="org8cc5e24"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgde407d5" class="outline-4">
|
||||
<h4 id="orgde407d5"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org1090a23" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org10b1129" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org40fb28c" class="outline-4">
|
||||
<h4 id="org40fb28c"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgdb9113c" class="outline-4">
|
||||
<h4 id="orgdb9113c"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1871,8 +1871,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf5ffa67" class="outline-3">
|
||||
<h3 id="orgf5ffa67"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org3c13c2b" class="outline-3">
|
||||
<h3 id="org3c13c2b"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1887,8 +1887,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgbc0fee2" class="outline-4">
|
||||
<h4 id="orgbc0fee2"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org9d4995b" class="outline-4">
|
||||
<h4 id="org9d4995b"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en</span>);
|
||||
@ -1897,10 +1897,10 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ce65f6" class="outline-4">
|
||||
<h4 id="org7ce65f6"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org381ad0e" class="outline-4">
|
||||
<h4 id="org381ad0e"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgc99757b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga63151f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2074,8 +2074,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1f3c789" class="outline-4">
|
||||
<h4 id="org1f3c789"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org5c25618" class="outline-4">
|
||||
<h4 id="org5c25618"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2093,8 +2093,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org393e692" class="outline-3">
|
||||
<h3 id="org393e692"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org2978253" class="outline-3">
|
||||
<h3 id="org2978253"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2107,8 +2107,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb87adf2" class="outline-4">
|
||||
<h4 id="orgb87adf2"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org9b3ebb0" class="outline-4">
|
||||
<h4 id="org9b3ebb0"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en_deriv_e</span>);
|
||||
@ -2117,10 +2117,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a25c86" class="outline-4">
|
||||
<h4 id="org0a25c86"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org64e8110" class="outline-4">
|
||||
<h4 id="org64e8110"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org403d2b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org01531c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge8db6f3" class="outline-4">
|
||||
<h4 id="orge8db6f3"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orgd4c53f7" class="outline-4">
|
||||
<h4 id="orgd4c53f7"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2356,8 +2356,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfcf881c" class="outline-3">
|
||||
<h3 id="orgfcf881c"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org599f842" class="outline-3">
|
||||
<h3 id="org599f842"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2375,8 +2375,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org432aac0" class="outline-4">
|
||||
<h4 id="org432aac0"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org2283422" class="outline-4">
|
||||
<h4 id="org2283422"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2385,10 +2385,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org143a1e2" class="outline-4">
|
||||
<h4 id="org143a1e2"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org2016d6c" class="outline-4">
|
||||
<h4 id="org2016d6c"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org9de5588" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org979bf65" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2554,8 +2554,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8ae2d9" class="outline-4">
|
||||
<h4 id="orgf8ae2d9"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgcd3a062" class="outline-4">
|
||||
<h4 id="orgcd3a062"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2578,8 +2578,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc65fdc" class="outline-3">
|
||||
<h3 id="orgcc65fdc"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgcc541ff" class="outline-3">
|
||||
<h3 id="orgcc541ff"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2594,8 +2594,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5ba325e" class="outline-4">
|
||||
<h4 id="org5ba325e"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org54cb55c" class="outline-4">
|
||||
<h4 id="org54cb55c"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_jastrow_een_rescaled_e_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2604,10 +2604,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga60282b" class="outline-4">
|
||||
<h4 id="orga60282b"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc5d7cbb" class="outline-4">
|
||||
<h4 id="orgc5d7cbb"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org0ee77e7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd710b50" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcbc071f" class="outline-4">
|
||||
<h4 id="orgcbc071f"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org25320f2" class="outline-4">
|
||||
<h4 id="org25320f2"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2807,8 +2807,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d8ff39" class="outline-3">
|
||||
<h3 id="org2d8ff39"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgf0d8f5d" class="outline-3">
|
||||
<h3 id="orgf0d8f5d"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2826,8 +2826,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5af9afc" class="outline-4">
|
||||
<h4 id="org5af9afc"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org149fab3" class="outline-4">
|
||||
<h4 id="org149fab3"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2836,10 +2836,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org434cf44" class="outline-4">
|
||||
<h4 id="org434cf44"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orge15ba69" class="outline-4">
|
||||
<h4 id="orge15ba69"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org32ec486" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4cdd4c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2995,8 +2995,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6f54aa" class="outline-4">
|
||||
<h4 id="orgc6f54aa"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgcc9aade" class="outline-4">
|
||||
<h4 id="orgcc9aade"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3018,8 +3018,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc1b7875" class="outline-3">
|
||||
<h3 id="orgc1b7875"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org6d3de1d" class="outline-3">
|
||||
<h3 id="org6d3de1d"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3028,8 +3028,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcea2738" class="outline-4">
|
||||
<h4 id="orgcea2738"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-orgd012c78" class="outline-4">
|
||||
<h4 id="orgd012c78"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -3038,10 +3038,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb669fbb" class="outline-4">
|
||||
<h4 id="orgb669fbb"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orge3540a3" class="outline-4">
|
||||
<h4 id="orge3540a3"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="org7f8c8de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org25e753f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3243,8 +3243,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfa69c24" class="outline-4">
|
||||
<h4 id="orgfa69c24"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-org80eaac4" class="outline-4">
|
||||
<h4 id="org80eaac4"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-9-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3266,8 +3266,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d0b71f" class="outline-3">
|
||||
<h3 id="org9d0b71f"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org438f5b8" class="outline-3">
|
||||
<h3 id="org438f5b8"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3276,8 +3276,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40e85ab" class="outline-4">
|
||||
<h4 id="org40e85ab"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-orgd2604fb" class="outline-4">
|
||||
<h4 id="orgd2604fb"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-10-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_dim_cord_vect</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">int64_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">dim_cord_vect</span>);
|
||||
@ -3288,10 +3288,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff267b3" class="outline-4">
|
||||
<h4 id="orgff267b3"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orgbaf48f6" class="outline-4">
|
||||
<h4 id="orgbaf48f6"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-2">
|
||||
<table id="orgc74e794" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org68d8602" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3381,10 +3381,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7811ff2" class="outline-4">
|
||||
<h4 id="org7811ff2"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org1547732" class="outline-4">
|
||||
<h4 id="org1547732"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-3">
|
||||
<table id="org59fcf84" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9038dfa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3510,10 +3510,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf8add32" class="outline-4">
|
||||
<h4 id="orgf8add32"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-orgc54aa39" class="outline-4">
|
||||
<h4 id="orgc54aa39"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-4">
|
||||
<table id="org6ef298b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb439d31" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3623,8 +3623,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6c848bc" class="outline-4">
|
||||
<h4 id="org6c848bc"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-org3f657f3" class="outline-4">
|
||||
<h4 id="org3f657f3"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-10-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -3636,8 +3636,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb4c451" class="outline-3">
|
||||
<h3 id="orgeb4c451"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgca505c8" class="outline-3">
|
||||
<h3 id="orgca505c8"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -3649,8 +3649,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org498bb3a" class="outline-4">
|
||||
<h4 id="org498bb3a"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-orgf2a7563" class="outline-4">
|
||||
<h4 id="orgf2a7563"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een</span>);
|
||||
@ -3659,10 +3659,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd3dd3f" class="outline-4">
|
||||
<h4 id="orgbd3dd3f"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-org80b8a15" class="outline-4">
|
||||
<h4 id="org80b8a15"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org00055fa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga728123" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4aeb261" class="outline-4">
|
||||
<h4 id="org4aeb261"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-org4a3e3db" class="outline-4">
|
||||
<h4 id="org4a3e3db"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-11-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -3867,8 +3867,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43db51d" class="outline-3">
|
||||
<h3 id="org43db51d"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org779a9f2" class="outline-3">
|
||||
<h3 id="org779a9f2"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -3880,8 +3880,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50e5082" class="outline-4">
|
||||
<h4 id="org50e5082"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org8e2fe91" class="outline-4">
|
||||
<h4 id="org8e2fe91"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een_deriv_e</span>);
|
||||
@ -3890,10 +3890,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63d06f1" class="outline-4">
|
||||
<h4 id="org63d06f1"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf3d6ced" class="outline-4">
|
||||
<h4 id="orgf3d6ced"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org7ec0236" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org27b7967" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd1f418e" class="outline-4">
|
||||
<h4 id="orgd1f418e"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-org3d2a6b1" class="outline-4">
|
||||
<h4 id="org3d2a6b1"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4138,7 +4138,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:21</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org956083d">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org2484bcc">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org663e94e">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org89251dc">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orge505cc6">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org8f25b1f">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org956083d" class="outline-2">
|
||||
<h2 id="org956083d"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org89251dc" class="outline-2">
|
||||
<h2 id="org89251dc"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Every time a new block of memory is allocated, the information
|
||||
@ -361,8 +361,8 @@ array, and the number of allocated blocks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2484bcc" class="outline-2">
|
||||
<h2 id="org2484bcc"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orge505cc6" class="outline-2">
|
||||
<h2 id="orge505cc6"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Passing information to the allocation routine should be done by
|
||||
@ -371,8 +371,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org663e94e" class="outline-2">
|
||||
<h2 id="org663e94e"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org8f25b1f" class="outline-2">
|
||||
<h2 id="org8f25b1f"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<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>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org9faff06">1. Context</a>
|
||||
<li><a href="#orgd2ddcc7">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgdd2299f">1.1. Data structure</a></li>
|
||||
<li><a href="#orgafe3e0b">1.2. Access functions</a></li>
|
||||
<li><a href="#orgdf8be14">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org24be3ad">1.1. Data structure</a></li>
|
||||
<li><a href="#org06319e3">1.2. Access functions</a></li>
|
||||
<li><a href="#orgf2f5e6e">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb09ae3e">2. Computation</a>
|
||||
<li><a href="#orgad1b512">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgfd5be1e">2.1. Computation of MOs</a>
|
||||
<li><a href="#orgd7b2fe1">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org0953fff">2.1.1. Get</a></li>
|
||||
<li><a href="#org10781bb">2.1.2. Provide</a></li>
|
||||
<li><a href="#org52884d5">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgd1a099b">2.1.4. Test</a></li>
|
||||
<li><a href="#org6eaa6d9">2.1.1. Get</a></li>
|
||||
<li><a href="#org8cc9fb5">2.1.2. Provide</a></li>
|
||||
<li><a href="#org07e0143">2.1.3. Compute</a></li>
|
||||
<li><a href="#org1549bc5">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +334,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9faff06" class="outline-2">
|
||||
<h2 id="org9faff06"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgd2ddcc7" class="outline-2">
|
||||
<h2 id="orgd2ddcc7"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -402,8 +402,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd2299f" class="outline-3">
|
||||
<h3 id="orgdd2299f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org24be3ad" class="outline-3">
|
||||
<h3 id="org24be3ad"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
@ -431,8 +431,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafe3e0b" class="outline-3">
|
||||
<h3 id="orgafe3e0b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org06319e3" class="outline-3">
|
||||
<h3 id="org06319e3"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -446,8 +446,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf8be14" class="outline-3">
|
||||
<h3 id="orgdf8be14"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgf2f5e6e" class="outline-3">
|
||||
<h3 id="orgf2f5e6e"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -469,16 +469,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb09ae3e" class="outline-2">
|
||||
<h2 id="orgb09ae3e"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgad1b512" class="outline-2">
|
||||
<h2 id="orgad1b512"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgfd5be1e" class="outline-3">
|
||||
<h3 id="orgfd5be1e"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-orgd7b2fe1" class="outline-3">
|
||||
<h3 id="orgd7b2fe1"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org0953fff" class="outline-4">
|
||||
<h4 id="org0953fff"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org6eaa6d9" class="outline-4">
|
||||
<h4 id="org6eaa6d9"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
@ -487,14 +487,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org10781bb" class="outline-4">
|
||||
<h4 id="org10781bb"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org8cc9fb5" class="outline-4">
|
||||
<h4 id="org8cc9fb5"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52884d5" class="outline-4">
|
||||
<h4 id="org52884d5"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org07e0143" class="outline-4">
|
||||
<h4 id="org07e0143"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org2b67b4a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgff6eba4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -666,15 +666,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd1a099b" class="outline-4">
|
||||
<h4 id="orgd1a099b"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org1549bc5" class="outline-4">
|
||||
<h4 id="org1549bc5"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Nucleus</title>
|
||||
@ -333,35 +333,35 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga35883e">1. Context</a>
|
||||
<li><a href="#org06e016a">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org7d3a116">1.1. Data structure</a></li>
|
||||
<li><a href="#org01eb2c9">1.2. Access functions</a></li>
|
||||
<li><a href="#orgbf3fb15">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orga7ce8ca">1.4. Test</a></li>
|
||||
<li><a href="#orga8ad609">1.1. Data structure</a></li>
|
||||
<li><a href="#orgf3756a2">1.2. Access functions</a></li>
|
||||
<li><a href="#org0f5e9f9">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7f76ce5">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2b8ef02">2. Computation</a>
|
||||
<li><a href="#orga04c38a">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org4433ca8">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org6958b76">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org50eb504">2.1.1. Get</a></li>
|
||||
<li><a href="#orge9f6832">2.1.2. Compute</a></li>
|
||||
<li><a href="#org8c87bfa">2.1.3. Test</a></li>
|
||||
<li><a href="#org24e880f">2.1.1. Get</a></li>
|
||||
<li><a href="#org5d240b6">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgd6d04b6">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org98746aa">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org3fa2443">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf99c40c">2.2.1. Get</a></li>
|
||||
<li><a href="#org5064739">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgef37011">2.2.3. Test</a></li>
|
||||
<li><a href="#org4f37f6b">2.2.1. Get</a></li>
|
||||
<li><a href="#orgb31c703">2.2.2. Compute</a></li>
|
||||
<li><a href="#org88a1a22">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3bcc748">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org652c2bd">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org679ba3c">2.3.1. Get</a></li>
|
||||
<li><a href="#org1683565">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgc858a37">2.3.3. Test</a></li>
|
||||
<li><a href="#org2dd566b">2.3.1. Get</a></li>
|
||||
<li><a href="#org84b1098">2.3.2. Compute</a></li>
|
||||
<li><a href="#org657d838">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -370,8 +370,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga35883e" class="outline-2">
|
||||
<h2 id="orga35883e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org06e016a" class="outline-2">
|
||||
<h2 id="org06e016a"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -463,8 +463,8 @@ The following data stored in the context:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d3a116" class="outline-3">
|
||||
<h3 id="org7d3a116"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga8ad609" class="outline-3">
|
||||
<h3 id="orga8ad609"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_nucleus_struct</span> {
|
||||
@ -523,8 +523,8 @@ this mechanism.
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org01eb2c9" class="outline-3">
|
||||
<h3 id="org01eb2c9"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgf3756a2" class="outline-3">
|
||||
<h3 id="orgf3756a2"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data relative to nuclei have been set, the following
|
||||
@ -538,8 +538,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf3fb15" class="outline-3">
|
||||
<h3 id="orgbf3fb15"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org0f5e9f9" class="outline-3">
|
||||
<h3 id="org0f5e9f9"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the nuclei in the context, the
|
||||
@ -574,8 +574,8 @@ atoms. The coordinates should be given in atomic units.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga7ce8ca" class="outline-3">
|
||||
<h3 id="orga7ce8ca"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org7f76ce5" class="outline-3">
|
||||
<h3 id="org7f76ce5"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span> = chbrclf_nucl_num;
|
||||
@ -659,8 +659,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b8ef02" class="outline-2">
|
||||
<h2 id="org2b8ef02"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orga04c38a" class="outline-2">
|
||||
<h2 id="orga04c38a"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -673,12 +673,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4433ca8" class="outline-3">
|
||||
<h3 id="org4433ca8"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org6958b76" class="outline-3">
|
||||
<h3 id="org6958b76"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org50eb504" class="outline-4">
|
||||
<h4 id="org50eb504"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org24e880f" class="outline-4">
|
||||
<h4 id="org24e880f"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_nucleus_nn_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -687,10 +687,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9f6832" class="outline-4">
|
||||
<h4 id="orge9f6832"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org5d240b6" class="outline-4">
|
||||
<h4 id="org5d240b6"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org817647f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5d33b60" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -768,8 +768,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c87bfa" class="outline-4">
|
||||
<h4 id="org8c87bfa"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgd6d04b6" class="outline-4">
|
||||
<h4 id="orgd6d04b6"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -789,12 +789,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org98746aa" class="outline-3">
|
||||
<h3 id="org98746aa"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org3fa2443" class="outline-3">
|
||||
<h3 id="org3fa2443"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-orgf99c40c" class="outline-4">
|
||||
<h4 id="orgf99c40c"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org4f37f6b" class="outline-4">
|
||||
<h4 id="org4f37f6b"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-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_get_nucleus_nn_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -803,10 +803,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5064739" class="outline-4">
|
||||
<h4 id="org5064739"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb31c703" class="outline-4">
|
||||
<h4 id="orgb31c703"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgd0d0f85" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3652437" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -885,8 +885,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef37011" class="outline-4">
|
||||
<h4 id="orgef37011"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org88a1a22" class="outline-4">
|
||||
<h4 id="org88a1a22"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -906,8 +906,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3bcc748" class="outline-3">
|
||||
<h3 id="org3bcc748"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org652c2bd" class="outline-3">
|
||||
<h3 id="org652c2bd"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -916,8 +916,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org679ba3c" class="outline-4">
|
||||
<h4 id="org679ba3c"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org2dd566b" class="outline-4">
|
||||
<h4 id="org2dd566b"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">energy</span>);
|
||||
@ -926,10 +926,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1683565" class="outline-4">
|
||||
<h4 id="org1683565"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org84b1098" class="outline-4">
|
||||
<h4 id="org84b1098"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orge409151" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5e771d6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1017,8 +1017,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc858a37" class="outline-4">
|
||||
<h4 id="orgc858a37"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org657d838" class="outline-4">
|
||||
<h4 id="org657d838"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1038,7 +1038,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Numerical precision</title>
|
||||
@ -333,16 +333,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org6e277dc">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgdc77175">2. Precision</a></li>
|
||||
<li><a href="#orgcf7b528">3. Range</a></li>
|
||||
<li><a href="#org487fcdd">4. Helper functions</a></li>
|
||||
<li><a href="#orga0b3e2a">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org6df8252">2. Precision</a></li>
|
||||
<li><a href="#orgdc298b4">3. Range</a></li>
|
||||
<li><a href="#orgca07837">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e277dc" class="outline-2">
|
||||
<h2 id="org6e277dc"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orga0b3e2a" class="outline-2">
|
||||
<h2 id="orga0b3e2a"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -353,7 +353,7 @@ Arithmetic (IEEE 754),
|
||||
refers to the number of exponent bits.
|
||||
</p>
|
||||
|
||||
<table id="org3da972a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb60cab1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -397,8 +397,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc77175" class="outline-2">
|
||||
<h2 id="orgdc77175"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org6df8252" class="outline-2">
|
||||
<h2 id="org6df8252"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<code>qmckl_context_set_numprec_precision</code> modifies the parameter for the
|
||||
@ -485,8 +485,8 @@ numerical precision in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf7b528" class="outline-2">
|
||||
<h2 id="orgcf7b528"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgdc298b4" class="outline-2">
|
||||
<h2 id="orgdc298b4"><span class="section-number-2">3</span> Range</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<code>qmckl_set_numprec_range</code> modifies the parameter for the numerical
|
||||
@ -561,8 +561,8 @@ range in a given context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org487fcdd" class="outline-2">
|
||||
<h2 id="org487fcdd"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-orgca07837" class="outline-2">
|
||||
<h2 id="orgca07837"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:21 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Sherman-Morrison-Woodbury</title>
|
||||
@ -333,86 +333,86 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb477cc9">1. Headers</a></li>
|
||||
<li><a href="#org841e6fc">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgcb4bdde">1. Headers</a></li>
|
||||
<li><a href="#org99cf252">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org49e9ed9">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#orgc743699">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9cbe7fd">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgecd89f5">2.1.2. C header</a></li>
|
||||
<li><a href="#org55d84dd">2.1.3. C source</a></li>
|
||||
<li><a href="#org0dbe58f">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgbe68587">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org474bc4b">2.1.2. C header</a></li>
|
||||
<li><a href="#orgab30537">2.1.3. C source</a></li>
|
||||
<li><a href="#org599d8bf">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org222a9f4">3. Woodbury 2x2</a>
|
||||
<li><a href="#orge7f2afc">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org5639883">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org6d6d669">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgbd9b0d3">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org0226e76">3.1.2. C header</a></li>
|
||||
<li><a href="#org40fce26">3.1.3. C source</a></li>
|
||||
<li><a href="#orga1c3d3f">3.1.4. Performance</a></li>
|
||||
<li><a href="#org059ff2f">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orga384d5d">3.1.2. C header</a></li>
|
||||
<li><a href="#orge2ff25d">3.1.3. C source</a></li>
|
||||
<li><a href="#orgf7d8d95">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org899020d">4. Woodbury 3x3</a>
|
||||
<li><a href="#org8936e55">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org61f4f2b">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org138bfdf">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5d87acb">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org1731030">4.1.2. C header</a></li>
|
||||
<li><a href="#org2adb53b">4.1.3. C source</a></li>
|
||||
<li><a href="#orge878917">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org3591faa">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org7553883">4.1.2. C header</a></li>
|
||||
<li><a href="#org61898d7">4.1.3. C source</a></li>
|
||||
<li><a href="#orgb5eebf6">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga92a2ba">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org7e33092">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgd4b1683">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org83221df">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org72c2241">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org0ea76af">5.1.2. C header</a></li>
|
||||
<li><a href="#org8a2680c">5.1.3. C source</a></li>
|
||||
<li><a href="#org0127fc9">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgd720510">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org1e7030d">5.1.2. C header</a></li>
|
||||
<li><a href="#org0136aac">5.1.3. C source</a></li>
|
||||
<li><a href="#org575e3ba">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4be9176">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orgf2fea66">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgfd28b30">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgf461dab">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgfa090a5">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd35202c">6.1.2. C header</a></li>
|
||||
<li><a href="#org27b73dd">6.1.3. C source</a></li>
|
||||
<li><a href="#org9182239">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org5af8131">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb8c58ec">6.1.2. C header</a></li>
|
||||
<li><a href="#orgdb9f3ee">6.1.3. C source</a></li>
|
||||
<li><a href="#org69438e0">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga6f281e">7. Helper Functions</a>
|
||||
<li><a href="#org8a45038">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org7e130be">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org2a26ef3">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5efe074">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd941685">7.1.2. C header</a></li>
|
||||
<li><a href="#org5241e56">7.1.3. C source</a></li>
|
||||
<li><a href="#org56dd425">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgf86eaba">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org6cc1469">7.1.2. C header</a></li>
|
||||
<li><a href="#orge5cd1bd">7.1.3. C source</a></li>
|
||||
<li><a href="#org308f4d5">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaf514f9">8. End of files</a></li>
|
||||
<li><a href="#org05c3e89">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb477cc9" class="outline-2">
|
||||
<h2 id="orgb477cc9"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgcb4bdde" class="outline-2">
|
||||
<h2 id="orgcb4bdde"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
@ -431,12 +431,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org841e6fc" class="outline-2">
|
||||
<h2 id="org841e6fc"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org99cf252" class="outline-2">
|
||||
<h2 id="org99cf252"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org49e9ed9" class="outline-3">
|
||||
<h3 id="org49e9ed9"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-orgc743699" class="outline-3">
|
||||
<h3 id="orgc743699"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in
|
||||
@ -478,7 +478,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgfd7bfca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4205410" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -550,8 +550,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9cbe7fd" class="outline-4">
|
||||
<h4 id="org9cbe7fd"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgbe68587" class="outline-4">
|
||||
<h4 id="orgbe68587"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -565,8 +565,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgecd89f5" class="outline-4">
|
||||
<h4 id="orgecd89f5"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org474bc4b" class="outline-4">
|
||||
<h4 id="org474bc4b"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span> (
|
||||
@ -583,8 +583,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55d84dd" class="outline-4">
|
||||
<h4 id="org55d84dd"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgab30537" class="outline-4">
|
||||
<h4 id="orgab30537"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -653,8 +653,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0dbe58f" class="outline-4">
|
||||
<h4 id="org0dbe58f"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org599d8bf" class="outline-4">
|
||||
<h4 id="org599d8bf"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is not useful to
|
||||
@ -666,12 +666,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org222a9f4" class="outline-2">
|
||||
<h2 id="org222a9f4"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orge7f2afc" class="outline-2">
|
||||
<h2 id="orge7f2afc"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org5639883" class="outline-3">
|
||||
<h3 id="org5639883"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org6d6d669" class="outline-3">
|
||||
<h3 id="org6d6d669"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -695,7 +695,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="org6185a2e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org64c3e58" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -760,8 +760,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd9b0d3" class="outline-4">
|
||||
<h4 id="orgbd9b0d3"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org059ff2f" class="outline-4">
|
||||
<h4 id="org059ff2f"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -774,8 +774,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0226e76" class="outline-4">
|
||||
<h4 id="org0226e76"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga384d5d" class="outline-4">
|
||||
<h4 id="orga384d5d"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span> (
|
||||
@ -791,8 +791,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40fce26" class="outline-4">
|
||||
<h4 id="org40fce26"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-orge2ff25d" class="outline-4">
|
||||
<h4 id="orge2ff25d"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -878,8 +878,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1c3d3f" class="outline-4">
|
||||
<h4 id="orga1c3d3f"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf7d8d95" class="outline-4">
|
||||
<h4 id="orgf7d8d95"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 2 rank-1 updates and
|
||||
@ -890,12 +890,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org899020d" class="outline-2">
|
||||
<h2 id="org899020d"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org8936e55" class="outline-2">
|
||||
<h2 id="org8936e55"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org61f4f2b" class="outline-3">
|
||||
<h3 id="org61f4f2b"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org138bfdf" class="outline-3">
|
||||
<h3 id="org138bfdf"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The 3x3 version of the Woodbury 2x2 kernel. It is used to apply three
|
||||
@ -916,7 +916,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="org82db6ce" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda06eff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -981,8 +981,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d87acb" class="outline-4">
|
||||
<h4 id="org5d87acb"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org3591faa" class="outline-4">
|
||||
<h4 id="org3591faa"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -995,8 +995,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1731030" class="outline-4">
|
||||
<h4 id="org1731030"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org7553883" class="outline-4">
|
||||
<h4 id="org7553883"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span> (
|
||||
@ -1012,8 +1012,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2adb53b" class="outline-4">
|
||||
<h4 id="org2adb53b"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-org61898d7" class="outline-4">
|
||||
<h4 id="org61898d7"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1114,8 +1114,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge878917" class="outline-4">
|
||||
<h4 id="orge878917"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgb5eebf6" class="outline-4">
|
||||
<h4 id="orgb5eebf6"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 3 rank-1 updates and
|
||||
@ -1126,12 +1126,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga92a2ba" class="outline-2">
|
||||
<h2 id="orga92a2ba"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org7e33092" class="outline-2">
|
||||
<h2 id="org7e33092"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-orgd4b1683" class="outline-3">
|
||||
<h3 id="orgd4b1683"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org83221df" class="outline-3">
|
||||
<h3 id="org83221df"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in
|
||||
@ -1153,7 +1153,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgbfb14b5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org400656e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1230,8 +1230,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org72c2241" class="outline-4">
|
||||
<h4 id="org72c2241"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgd720510" class="outline-4">
|
||||
<h4 id="orgd720510"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1245,8 +1245,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0ea76af" class="outline-4">
|
||||
<h4 id="org0ea76af"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1e7030d" class="outline-4">
|
||||
<h4 id="org1e7030d"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span> (
|
||||
@ -1263,8 +1263,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a2680c" class="outline-4">
|
||||
<h4 id="org8a2680c"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org0136aac" class="outline-4">
|
||||
<h4 id="org0136aac"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1303,8 +1303,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0127fc9" class="outline-4">
|
||||
<h4 id="org0127fc9"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org575e3ba" class="outline-4">
|
||||
<h4 id="org575e3ba"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-5-1-4">
|
||||
<p>
|
||||
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
|
||||
@ -1314,12 +1314,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4be9176" class="outline-2">
|
||||
<h2 id="org4be9176"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orgf2fea66" class="outline-2">
|
||||
<h2 id="orgf2fea66"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
</div>
|
||||
<div id="outline-container-orgfd28b30" class="outline-3">
|
||||
<h3 id="orgfd28b30"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgf461dab" class="outline-3">
|
||||
<h3 id="orgf461dab"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
The Woodbury 3x3 and 2x2 kernel with Sherman-Morrison and update splitting combines the low-level Woodbury 3x3 kernel,
|
||||
@ -1334,7 +1334,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org1a119a5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcc865e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1407,8 +1407,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgfa090a5" class="outline-4">
|
||||
<h4 id="orgfa090a5"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org5af8131" class="outline-4">
|
||||
<h4 id="org5af8131"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1422,8 +1422,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd35202c" class="outline-4">
|
||||
<h4 id="orgd35202c"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb8c58ec" class="outline-4">
|
||||
<h4 id="orgb8c58ec"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span> (
|
||||
@ -1440,8 +1440,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27b73dd" class="outline-4">
|
||||
<h4 id="org27b73dd"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgdb9f3ee" class="outline-4">
|
||||
<h4 id="orgdb9f3ee"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1518,8 +1518,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9182239" class="outline-4">
|
||||
<h4 id="org9182239"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org69438e0" class="outline-4">
|
||||
<h4 id="org69438e0"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-6-1-4">
|
||||
<p>
|
||||
This kernel performs best for update cycles with 2 or more rank-1 updates and the fail-rate is low.
|
||||
@ -1529,8 +1529,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga6f281e" class="outline-2">
|
||||
<h2 id="orga6f281e"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org8a45038" class="outline-2">
|
||||
<h2 id="org8a45038"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Private helper-functions that are used by the Sherman-Morrison-Woodbury kernels.
|
||||
@ -1538,8 +1538,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7e130be" class="outline-3">
|
||||
<h3 id="org7e130be"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org2a26ef3" class="outline-3">
|
||||
<h3 id="org2a26ef3"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
<code>qmckl_slagel_splitting</code> is the non-recursive, inner part of the 'Sherman-Morrison with update splitting'-kernel.
|
||||
@ -1559,7 +1559,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org4ca15b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5e177b9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1646,8 +1646,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5efe074" class="outline-4">
|
||||
<h4 id="org5efe074"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgf86eaba" class="outline-4">
|
||||
<h4 id="orgf86eaba"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-7-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>Dim >= 2</code></li>
|
||||
@ -1663,8 +1663,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd941685" class="outline-4">
|
||||
<h4 id="orgd941685"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org6cc1469" class="outline-4">
|
||||
<h4 id="org6cc1469"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-7-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span> (
|
||||
@ -1683,8 +1683,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5241e56" class="outline-4">
|
||||
<h4 id="org5241e56"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-orge5cd1bd" class="outline-4">
|
||||
<h4 id="orge5cd1bd"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-7-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1761,8 +1761,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56dd425" class="outline-4">
|
||||
<h4 id="org56dd425"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org308f4d5" class="outline-4">
|
||||
<h4 id="org308f4d5"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-7-1-4">
|
||||
<p>
|
||||
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
|
||||
@ -1773,8 +1773,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaf514f9" class="outline-2">
|
||||
<h2 id="orgaf514f9"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org05c3e89" class="outline-2">
|
||||
<h2 id="org05c3e89"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1788,7 +1788,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:21</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:21 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Data for Tests</title>
|
||||
@ -233,27 +233,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2c42671">1. CHBrClF</a>
|
||||
<li><a href="#org7029a8c">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org7318c1a">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org7167bdc">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org362c3dd">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org7692deb">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgec44401">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgf7dd42f">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgdc7d543">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org02931d6">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgec17c46">2. N2</a>
|
||||
<li><a href="#org33d4480">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org49386ef">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orge2dc961">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgeb458a5">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgcab5857">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgfce37ca">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org68f131c">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c42671" class="outline-2">
|
||||
<h2 id="org2c42671"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org7029a8c" class="outline-2">
|
||||
<h2 id="org7029a8c"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This test is the all-electron Hartree-Fock wave function of CHClBr,
|
||||
@ -337,8 +337,8 @@ and with a high maximum angular momentum.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7318c1a" class="outline-3">
|
||||
<h3 id="org7318c1a"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgec44401" class="outline-3">
|
||||
<h3 id="orgec44401"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<pre class="example">
|
||||
5
|
||||
@ -368,8 +368,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7167bdc" class="outline-3">
|
||||
<h3 id="org7167bdc"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orgf7dd42f" class="outline-3">
|
||||
<h3 id="orgf7dd42f"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example">
|
||||
HYDROGEN
|
||||
@ -1288,8 +1288,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org362c3dd" class="outline-3">
|
||||
<h3 id="org362c3dd"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgdc7d543" class="outline-3">
|
||||
<h3 id="orgdc7d543"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">chbrclf_mo_num</span> ((<span style="color: #228b22;">int64_t</span>) 224)
|
||||
@ -60213,8 +60213,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7692deb" class="outline-3">
|
||||
<h3 id="org7692deb"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org02931d6" class="outline-3">
|
||||
<h3 id="org02931d6"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60374,8 +60374,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgec17c46" class="outline-2">
|
||||
<h2 id="orgec17c46"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org33d4480" class="outline-2">
|
||||
<h2 id="org33d4480"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60416,8 +60416,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49386ef" class="outline-3">
|
||||
<h3 id="org49386ef"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgcab5857" class="outline-3">
|
||||
<h3 id="orgcab5857"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60444,8 +60444,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge2dc961" class="outline-3">
|
||||
<h3 id="orge2dc961"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgfce37ca" class="outline-3">
|
||||
<h3 id="orgfce37ca"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60474,8 +60474,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb458a5" class="outline-3">
|
||||
<h3 id="orgeb458a5"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org68f131c" class="outline-3">
|
||||
<h3 id="org68f131c"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60574,7 +60574,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-10-13 Wed 11:21</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-13 Wed 11:20 -->
|
||||
<!-- 2021-10-13 Wed 13:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Utility functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2831fcb">1. Matrix operations</a>
|
||||
<li><a href="#org2a2584a">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org5ae5e63">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org47cfdbb">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6e69330">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org30918f2">1.1.2. C header</a></li>
|
||||
<li><a href="#orgd1b3220">1.1.3. Source</a></li>
|
||||
<li><a href="#org41f1a28">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb47072f">1.1.2. C header</a></li>
|
||||
<li><a href="#org8a2aea7">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,18 +348,18 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2831fcb" class="outline-2">
|
||||
<h2 id="org2831fcb"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org2a2584a" class="outline-2">
|
||||
<h2 id="org2a2584a"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org5ae5e63" class="outline-3">
|
||||
<h3 id="org5ae5e63"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org47cfdbb" class="outline-3">
|
||||
<h3 id="org47cfdbb"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</p>
|
||||
|
||||
<table id="org6ef2546" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org054fb76" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -424,8 +424,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e69330" class="outline-4">
|
||||
<h4 id="org6e69330"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org41f1a28" class="outline-4">
|
||||
<h4 id="org41f1a28"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -439,8 +439,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30918f2" class="outline-4">
|
||||
<h4 id="org30918f2"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb47072f" class="outline-4">
|
||||
<h4 id="orgb47072f"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_transpose</span> (
|
||||
@ -456,8 +456,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd1b3220" class="outline-4">
|
||||
<h4 id="orgd1b3220"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org8a2aea7" class="outline-4">
|
||||
<h4 id="org8a2aea7"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<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_transpose_f</span><span style="color: #000000; background-color: #ffffff;">(context, m, n, A, LDA, B, LDB)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -516,7 +516,7 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 11:20</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 13:05</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user