mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-12-25 13:53:55 +01:00
Deploying to gh-pages from @ TREX-CoE/trexio@94d00fc697 🚀
This commit is contained in:
parent
226a56a0ad
commit
bdb093e7e9
@ -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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREXIO source code documentation</title>
|
||||
@ -343,7 +343,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-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
16
Sparse.html
16
Sparse.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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>‎</title>
|
||||
@ -232,8 +232,8 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org8f6fae2">1. Text back end</a></li>
|
||||
<li><a href="#org8082903">2. HDF5 Back end</a></li>
|
||||
<li><a href="#org9c57207">1. Text back end</a></li>
|
||||
<li><a href="#org76cacd4">2. HDF5 Back end</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -241,8 +241,8 @@ for the JavaScript code in this tag.
|
||||
See templator<sub>front.org</sub>
|
||||
</p>
|
||||
|
||||
<div id="outline-container-org8f6fae2" class="outline-2">
|
||||
<h2 id="org8f6fae2"><span class="section-number-2">1</span> Text back end</h2>
|
||||
<div id="outline-container-org9c57207" class="outline-2">
|
||||
<h2 id="org9c57207"><span class="section-number-2">1</span> Text back end</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
As the size of the dataset should be extensible, the simplest
|
||||
@ -256,8 +256,8 @@ The offset can be used with <code>fseek(69L*offset, SEEK_SET)</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8082903" class="outline-2">
|
||||
<h2 id="org8082903"><span class="section-number-2">2</span> HDF5 Back end</h2>
|
||||
<div id="outline-container-org76cacd4" class="outline-2">
|
||||
<h2 id="org76cacd4"><span class="section-number-2">2</span> HDF5 Back end</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
We need to declare the number of rows of the dataset as
|
||||
@ -278,7 +278,7 @@ If the offset+num > nmax, we need to extend the dataset.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-10-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREXIO source code documentation</title>
|
||||
@ -343,7 +343,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-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Front end API</title>
|
||||
@ -333,125 +333,125 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga1fc9d2">1. Coding conventions</a>
|
||||
<li><a href="#org5efb56e">1. Coding conventions</a>
|
||||
<ul>
|
||||
<li><a href="#org743d227">1.1. Memory allocation</a></li>
|
||||
<li><a href="#org32ad12c">1.1. Memory allocation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org36d1ec8">2. Front end</a>
|
||||
<li><a href="#orge2cbadb">2. Front end</a>
|
||||
<ul>
|
||||
<li><a href="#org9d356fd">2.1. Error handling</a>
|
||||
<li><a href="#org0aead37">2.1. Error handling</a>
|
||||
<ul>
|
||||
<li><a href="#org90a3033">2.1.1. Decoding errors</a>
|
||||
<li><a href="#org953944f">2.1.1. Decoding errors</a>
|
||||
<ul>
|
||||
<li><a href="#org296376b">2.1.1.1. C source code</a></li>
|
||||
<li><a href="#org6f28b73">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org4a227bf">2.1.1.3. Python interface</a></li>
|
||||
<li><a href="#org466d4f1">2.1.1.1. C source code</a></li>
|
||||
<li><a href="#org2f5611e">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org034b2f4">2.1.1.3. Python interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org04446b1">2.2. Back ends</a>
|
||||
<li><a href="#orgc476a03">2.2. Back ends</a>
|
||||
<ul>
|
||||
<li><a href="#orgcba4eca">2.2.1. C</a></li>
|
||||
<li><a href="#org63191a6">2.2.2. Fortran</a></li>
|
||||
<li><a href="#org81e3cd2">2.2.3. Python</a></li>
|
||||
<li><a href="#org6114741">2.2.1. C</a></li>
|
||||
<li><a href="#org8d9cf52">2.2.2. Fortran</a></li>
|
||||
<li><a href="#org2f538a0">2.2.3. Python</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5222b39">2.3. Read/write behavior</a></li>
|
||||
<li><a href="#org8bf7349">2.4. TREXIO file type</a>
|
||||
<li><a href="#org4d39764">2.3. Read/write behavior</a></li>
|
||||
<li><a href="#orgf78a27e">2.4. TREXIO file type</a>
|
||||
<ul>
|
||||
<li><a href="#orgd7b4fff">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
|
||||
<li><a href="#orgaf32cc4">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org517c9e7">2.5. Polymorphism of the file handle</a></li>
|
||||
<li><a href="#org2607454">2.6. File opening</a>
|
||||
<li><a href="#orgc47285d">2.5. Polymorphism of the file handle</a></li>
|
||||
<li><a href="#org6068bbe">2.6. File opening</a>
|
||||
<ul>
|
||||
<li><a href="#orgf3c783d">2.6.1. C</a></li>
|
||||
<li><a href="#orgd49a9f1">2.6.2. Fortran</a></li>
|
||||
<li><a href="#org5bc636d">2.6.3. Python</a></li>
|
||||
<li><a href="#orgca5237d">2.6.4. Zero-based versus one-based arrays of indices</a></li>
|
||||
<li><a href="#orgfaa6741">2.6.1. C</a></li>
|
||||
<li><a href="#org0656ce4">2.6.2. Fortran</a></li>
|
||||
<li><a href="#orgda023c3">2.6.3. Python</a></li>
|
||||
<li><a href="#org22b2fb4">2.6.4. Zero-based versus one-based arrays of indices</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2908da2">2.7. File closing</a>
|
||||
<li><a href="#org82bc2d3">2.7. File closing</a>
|
||||
<ul>
|
||||
<li><a href="#orgf7290b8">2.7.1. C</a></li>
|
||||
<li><a href="#org00823be">2.7.2. Fortran</a></li>
|
||||
<li><a href="#orgc0f253b">2.7.3. Python</a></li>
|
||||
<li><a href="#org3fddcce">2.7.1. C</a></li>
|
||||
<li><a href="#orge1295cf">2.7.2. Fortran</a></li>
|
||||
<li><a href="#org663e835">2.7.3. Python</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org98c4dba">3. Templates for front end</a>
|
||||
<li><a href="#orgadd346c">3. Templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org29f6586">3.1. Description</a></li>
|
||||
<li><a href="#orga9990d1">3.2. Templates for front end has/read/write a single numerical attribute</a>
|
||||
<li><a href="#org4ed9344">3.1. Description</a></li>
|
||||
<li><a href="#org34c029e">3.2. Templates for front end has/read/write a single numerical attribute</a>
|
||||
<ul>
|
||||
<li><a href="#orgc0997ae">3.2.1. Introduction</a></li>
|
||||
<li><a href="#orgaa1cd6f">3.2.2. C templates for front end</a>
|
||||
<li><a href="#org25d6eaf">3.2.1. Introduction</a></li>
|
||||
<li><a href="#orgcd16116">3.2.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org9c41458">3.2.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgac2a3c3">3.2.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#orgd7f6828">3.2.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#org8cee097">3.2.2.4. Source code for default functions</a></li>
|
||||
<li><a href="#org898d376">3.2.2.1. Function declarations</a></li>
|
||||
<li><a href="#org3370493">3.2.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#orgfafbd6d">3.2.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#org5b347ad">3.2.2.4. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbeeb5a8">3.2.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org3ab8bb8">3.2.4. Python templates for front end</a></li>
|
||||
<li><a href="#org4cd938a">3.2.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org084dabd">3.2.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbb47b22">3.3. Templates for front end has/read/write a dataset of numerical data</a>
|
||||
<li><a href="#org235ff83">3.3. Templates for front end has/read/write a dataset of numerical data</a>
|
||||
<ul>
|
||||
<li><a href="#org5c7898c">3.3.1. Introduction</a></li>
|
||||
<li><a href="#orgd096848">3.3.2. C templates for front end</a>
|
||||
<li><a href="#org82ecf54">3.3.1. Introduction</a></li>
|
||||
<li><a href="#org4f3def2">3.3.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#orgb376523">3.3.2.1. Function declarations</a></li>
|
||||
<li><a href="#org91c2e54">3.3.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org2c91bfb">3.3.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#org21d09c1">3.3.2.4. Source code for memory-safe functions</a></li>
|
||||
<li><a href="#org1caf42d">3.3.2.5. Source code for default functions</a></li>
|
||||
<li><a href="#org5e020d5">3.3.2.1. Function declarations</a></li>
|
||||
<li><a href="#org8191636">3.3.2.2. Source code for double precision functions</a></li>
|
||||
<li><a href="#org2336d1f">3.3.2.3. Source code for single precision functions</a></li>
|
||||
<li><a href="#orgf3c7b35">3.3.2.4. Source code for memory-safe functions</a></li>
|
||||
<li><a href="#org61577f6">3.3.2.5. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb49b2db">3.3.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#orgd384e92">3.3.4. Python templates for front end</a></li>
|
||||
<li><a href="#orgce18fba">3.3.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org25ff212">3.3.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge31ce3e">3.4. Sparse data structures</a></li>
|
||||
<li><a href="#orgc7476b1">3.5. Templates for front end has/read/write a dataset of strings</a>
|
||||
<li><a href="#org9fe4b92">3.4. Sparse data structures</a></li>
|
||||
<li><a href="#org02ccca4">3.5. Templates for front end has/read/write a dataset of strings</a>
|
||||
<ul>
|
||||
<li><a href="#org84d325e">3.5.1. Introduction</a></li>
|
||||
<li><a href="#org6e0b080">3.5.2. C templates for front end</a>
|
||||
<li><a href="#org410c6fc">3.5.1. Introduction</a></li>
|
||||
<li><a href="#org5073524">3.5.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#orga0bb920">3.5.2.1. Function declarations</a></li>
|
||||
<li><a href="#org6927613">3.5.2.2. Source code for default functions</a></li>
|
||||
<li><a href="#org536c86e">3.5.2.1. Function declarations</a></li>
|
||||
<li><a href="#orgf449a79">3.5.2.2. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0ea3ee9">3.5.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org51f39ae">3.5.4. Python templates for front end</a></li>
|
||||
<li><a href="#orgd108000">3.5.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#orgf338fc3">3.5.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaeb2b4b">3.6. Templates for front end has/read/write a single string attribute</a>
|
||||
<li><a href="#orgf30abc2">3.6. Templates for front end has/read/write a single string attribute</a>
|
||||
<ul>
|
||||
<li><a href="#org0def1e2">3.6.1. Introduction</a></li>
|
||||
<li><a href="#org9571ac7">3.6.2. C templates for front end</a>
|
||||
<li><a href="#orgfbbb666">3.6.1. Introduction</a></li>
|
||||
<li><a href="#org55e2eab">3.6.2. C templates for front end</a>
|
||||
<ul>
|
||||
<li><a href="#org0e6d4d9">3.6.2.1. Function declarations</a></li>
|
||||
<li><a href="#org0c4d53b">3.6.2.2. Source code for default functions</a></li>
|
||||
<li><a href="#org77a851d">3.6.2.1. Function declarations</a></li>
|
||||
<li><a href="#org55bf18e">3.6.2.2. Source code for default functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6b7305f">3.6.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org414a668">3.6.4. Python templates for front end</a></li>
|
||||
<li><a href="#org6549737">3.6.3. Fortran templates for front end</a></li>
|
||||
<li><a href="#org48b2787">3.6.4. Python templates for front end</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ad3d5e">4. Fortran helper/wrapper functions</a></li>
|
||||
<li><a href="#orgc9191b8">4. Fortran helper/wrapper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1fc9d2" class="outline-2">
|
||||
<h2 id="orga1fc9d2"><span class="section-number-2">1</span> Coding conventions</h2>
|
||||
<div id="outline-container-org5efb56e" class="outline-2">
|
||||
<h2 id="org5efb56e"><span class="section-number-2">1</span> Coding conventions</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<ul class="org-ul">
|
||||
<li>integer types will be defined using types given in <code>stdint.h</code></li>
|
||||
@ -466,8 +466,8 @@ for the JavaScript code in this tag.
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org743d227" class="outline-3">
|
||||
<h3 id="org743d227"><span class="section-number-3">1.1</span> Memory allocation</h3>
|
||||
<div id="outline-container-org32ad12c" class="outline-3">
|
||||
<h3 id="org32ad12c"><span class="section-number-3">1.1</span> Memory allocation</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Memory allocation of structures can be facilitated by using the
|
||||
@ -502,8 +502,8 @@ The maximum string size for the filenames is 4096 characters.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36d1ec8" class="outline-2">
|
||||
<h2 id="org36d1ec8"><span class="section-number-2">2</span> Front end</h2>
|
||||
<div id="outline-container-orge2cbadb" class="outline-2">
|
||||
<h2 id="orge2cbadb"><span class="section-number-2">2</span> Front end</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
All calls to TREXIO are thread-safe.
|
||||
@ -511,10 +511,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d356fd" class="outline-3">
|
||||
<h3 id="org9d356fd"><span class="section-number-3">2.1</span> Error handling</h3>
|
||||
<div id="outline-container-org0aead37" class="outline-3">
|
||||
<h3 id="org0aead37"><span class="section-number-3">2.1</span> Error handling</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<table id="org504b657" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org192d8b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -736,8 +736,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org90a3033" class="outline-4">
|
||||
<h4 id="org90a3033"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
|
||||
<div id="outline-container-org953944f" class="outline-4">
|
||||
<h4 id="org953944f"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<p>
|
||||
The <code>trexio_string_of_error</code> converts an exit code into a string. The
|
||||
@ -760,8 +760,8 @@ The text strings are extracted from the previous table.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org296376b" class="outline-5">
|
||||
<h5 id="org296376b"><span class="section-number-5">2.1.1.1</span> C source code</h5>
|
||||
<div id="outline-container-org466d4f1" class="outline-5">
|
||||
<h5 id="org466d4f1"><span class="section-number-5">2.1.1.1</span> C source code</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>*
|
||||
@ -866,8 +866,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f28b73" class="outline-5">
|
||||
<h5 id="org6f28b73"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org2f5611e" class="outline-5">
|
||||
<h5 id="org2f5611e"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -883,8 +883,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a227bf" class="outline-5">
|
||||
<h5 id="org4a227bf"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
|
||||
<div id="outline-container-org034b2f4" class="outline-5">
|
||||
<h5 id="org034b2f4"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">Error</span>(<span style="color: #228b22;">Exception</span>):
|
||||
@ -923,8 +923,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org04446b1" class="outline-3">
|
||||
<h3 id="org04446b1"><span class="section-number-3">2.2</span> Back ends</h3>
|
||||
<div id="outline-container-orgc476a03" class="outline-3">
|
||||
<h3 id="orgc476a03"><span class="section-number-3">2.2</span> Back ends</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
TREXIO has several back ends:
|
||||
@ -948,8 +948,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcba4eca" class="outline-4">
|
||||
<h4 id="orgcba4eca"><span class="section-number-4">2.2.1</span> C</h4>
|
||||
<div id="outline-container-org6114741" class="outline-4">
|
||||
<h4 id="org6114741"><span class="section-number-4">2.2.1</span> C</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">back_end_t</span>;
|
||||
@ -965,8 +965,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63191a6" class="outline-4">
|
||||
<h4 id="org63191a6"><span class="section-number-4">2.2.2</span> Fortran</h4>
|
||||
<div id="outline-container-org8d9cf52" class="outline-4">
|
||||
<h4 id="org8d9cf52"><span class="section-number-4">2.2.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"> <span style="color: #228b22;">integer</span>(trexio_backend), <span style="color: #a020f0;">parameter</span> ::<span style="color: #a0522d;"> TREXIO_HDF5 = 0</span>
|
||||
@ -978,8 +978,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81e3cd2" class="outline-4">
|
||||
<h4 id="org81e3cd2"><span class="section-number-4">2.2.3</span> Python</h4>
|
||||
<div id="outline-container-org2f538a0" class="outline-4">
|
||||
<h4 id="org2f538a0"><span class="section-number-4">2.2.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"># <span style="color: #b22222;">define TREXIO back ends</span>
|
||||
@ -993,8 +993,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5222b39" class="outline-3">
|
||||
<h3 id="org5222b39"><span class="section-number-3">2.3</span> Read/write behavior</h3>
|
||||
<div id="outline-container-org4d39764" class="outline-3">
|
||||
<h3 id="org4d39764"><span class="section-number-3">2.3</span> Read/write behavior</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Every time a reading function is called, the data is read from the
|
||||
@ -1022,8 +1022,8 @@ concurrent programs, the behavior is not specified.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8bf7349" class="outline-3">
|
||||
<h3 id="org8bf7349"><span class="section-number-3">2.4</span> TREXIO file type</h3>
|
||||
<div id="outline-container-orgf78a27e" class="outline-3">
|
||||
<h3 id="orgf78a27e"><span class="section-number-3">2.4</span> TREXIO file type</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>trexio_s</code> is the the main type for TREXIO files, visible to the users
|
||||
@ -1057,8 +1057,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7b4fff" class="outline-4">
|
||||
<h4 id="orgd7b4fff"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
|
||||
<div id="outline-container-orgaf32cc4" class="outline-4">
|
||||
<h4 id="orgaf32cc4"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">class</span> <span style="color: #228b22;">File</span>:
|
||||
@ -1131,8 +1131,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org517c9e7" class="outline-3">
|
||||
<h3 id="org517c9e7"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
|
||||
<div id="outline-container-orgc47285d" class="outline-3">
|
||||
<h3 id="orgc47285d"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Polymorphism of the <code>trexio_t</code> type is handled by ensuring that the
|
||||
@ -1151,8 +1151,8 @@ corresponding types for all back ends can be safely casted to
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2607454" class="outline-3">
|
||||
<h3 id="org2607454"><span class="section-number-3">2.6</span> File opening</h3>
|
||||
<div id="outline-container-org6068bbe" class="outline-3">
|
||||
<h3 id="org6068bbe"><span class="section-number-3">2.6</span> File opening</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>trexio_open</code> creates a new TREXIO file or opens existing one.
|
||||
@ -1191,8 +1191,8 @@ renaming the <code>.txt</code> data files.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3c783d" class="outline-4">
|
||||
<h4 id="orgf3c783d"><span class="section-number-4">2.6.1</span> C</h4>
|
||||
<div id="outline-container-orgfaa6741" class="outline-4">
|
||||
<h4 id="orgfaa6741"><span class="section-number-4">2.6.1</span> C</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;">trexio_t</span>*
|
||||
@ -1359,8 +1359,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd49a9f1" class="outline-4">
|
||||
<h4 id="orgd49a9f1"><span class="section-number-4">2.6.2</span> Fortran</h4>
|
||||
<div id="outline-container-org0656ce4" class="outline-4">
|
||||
<h4 id="org0656ce4"><span class="section-number-4">2.6.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1378,8 +1378,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bc636d" class="outline-4">
|
||||
<h4 id="org5bc636d"><span class="section-number-4">2.6.3</span> Python</h4>
|
||||
<div id="outline-container-orgda023c3" class="outline-4">
|
||||
<h4 id="orgda023c3"><span class="section-number-4">2.6.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">open</span>(file_name: <span style="color: #483d8b;">str</span>, mode: <span style="color: #483d8b;">str</span>, back_end: <span style="color: #483d8b;">int</span>):
|
||||
@ -1427,8 +1427,8 @@ renaming the <code>.txt</code> data files.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca5237d" class="outline-4">
|
||||
<h4 id="orgca5237d"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
|
||||
<div id="outline-container-org22b2fb4" class="outline-4">
|
||||
<h4 id="org22b2fb4"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
|
||||
<div class="outline-text-4" id="text-2-6-4">
|
||||
<p>
|
||||
Because arrays are zero-based in Fortran, we need to set a flag to
|
||||
@ -1461,8 +1461,8 @@ know if we need to shift by 1 arrays of indices.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2908da2" class="outline-3">
|
||||
<h3 id="org2908da2"><span class="section-number-3">2.7</span> File closing</h3>
|
||||
<div id="outline-container-org82bc2d3" class="outline-3">
|
||||
<h3 id="org82bc2d3"><span class="section-number-3">2.7</span> File closing</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>trexio_close</code> closes an existing <code>trexio_t</code> file.
|
||||
@ -1479,8 +1479,8 @@ output:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7290b8" class="outline-4">
|
||||
<h4 id="orgf7290b8"><span class="section-number-4">2.7.1</span> C</h4>
|
||||
<div id="outline-container-org3fddcce" class="outline-4">
|
||||
<h4 id="org3fddcce"><span class="section-number-4">2.7.1</span> C</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;">trexio_exit_code</span>
|
||||
@ -1551,8 +1551,8 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org00823be" class="outline-4">
|
||||
<h4 id="org00823be"><span class="section-number-4">2.7.2</span> Fortran</h4>
|
||||
<div id="outline-container-orge1295cf" class="outline-4">
|
||||
<h4 id="orge1295cf"><span class="section-number-4">2.7.2</span> Fortran</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1566,8 +1566,8 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc0f253b" class="outline-4">
|
||||
<h4 id="orgc0f253b"><span class="section-number-4">2.7.3</span> Python</h4>
|
||||
<div id="outline-container-org663e835" class="outline-4">
|
||||
<h4 id="org663e835"><span class="section-number-4">2.7.3</span> Python</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">close</span>(trexio_file):
|
||||
@ -1589,12 +1589,12 @@ output:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98c4dba" class="outline-2">
|
||||
<h2 id="org98c4dba"><span class="section-number-2">3</span> Templates for front end</h2>
|
||||
<div id="outline-container-orgadd346c" class="outline-2">
|
||||
<h2 id="orgadd346c"><span class="section-number-2">3</span> Templates for front end</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org29f6586" class="outline-3">
|
||||
<h3 id="org29f6586"><span class="section-number-3">3.1</span> Description</h3>
|
||||
<div id="outline-container-org4ed9344" class="outline-3">
|
||||
<h3 id="org4ed9344"><span class="section-number-3">3.1</span> Description</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
Consider the following block of <code>trex.json</code>:
|
||||
@ -1815,12 +1815,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9990d1" class="outline-3">
|
||||
<h3 id="orga9990d1"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
|
||||
<div id="outline-container-org34c029e" class="outline-3">
|
||||
<h3 id="org34c029e"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
</div>
|
||||
<div id="outline-container-orgc0997ae" class="outline-4">
|
||||
<h4 id="orgc0997ae"><span class="section-number-4">3.2.1</span> Introduction</h4>
|
||||
<div id="outline-container-org25d6eaf" class="outline-4">
|
||||
<h4 id="org25d6eaf"><span class="section-number-4">3.2.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<p>
|
||||
This section concerns API calls related to numerical attributes,
|
||||
@ -1891,8 +1891,8 @@ namely single value of int/float types.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa1cd6f" class="outline-4">
|
||||
<h4 id="orgaa1cd6f"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-orgcd16116" class="outline-4">
|
||||
<h4 id="orgcd16116"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<p>
|
||||
The <code>C</code> templates that correspond to each of the abovementioned
|
||||
@ -1906,12 +1906,12 @@ precision (see Table above).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c41458" class="outline-5">
|
||||
<h5 id="org9c41458"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org898d376" class="outline-5">
|
||||
<h5 id="org898d376"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac2a3c3" class="outline-5">
|
||||
<h5 id="orgac2a3c3"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
|
||||
<div id="outline-container-org3370493" class="outline-5">
|
||||
<h5 id="org3370493"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1972,8 +1972,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7f6828" class="outline-5">
|
||||
<h5 id="orgd7f6828"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
|
||||
<div id="outline-container-orgfafbd6d" class="outline-5">
|
||||
<h5 id="orgfafbd6d"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2041,8 +2041,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8cee097" class="outline-5">
|
||||
<h5 id="org8cee097"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org5b347ad" class="outline-5">
|
||||
<h5 id="org5b347ad"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-2-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2095,8 +2095,8 @@ precision (see Table above).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbeeb5a8" class="outline-4">
|
||||
<h4 id="orgbeeb5a8"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-org4cd938a" class="outline-4">
|
||||
<h4 id="org4cd938a"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
|
||||
@ -2181,8 +2181,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ab8bb8" class="outline-4">
|
||||
<h4 id="org3ab8bb8"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org084dabd" class="outline-4">
|
||||
<h4 id="org084dabd"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -2267,12 +2267,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb47b22" class="outline-3">
|
||||
<h3 id="orgbb47b22"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
|
||||
<div id="outline-container-org235ff83" class="outline-3">
|
||||
<h3 id="org235ff83"><span class="section-number-3">3.3</span> Templates for front end has/read/write a dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
</div>
|
||||
<div id="outline-container-org5c7898c" class="outline-4">
|
||||
<h4 id="org5c7898c"><span class="section-number-4">3.3.1</span> Introduction</h4>
|
||||
<div id="outline-container-org82ecf54" class="outline-4">
|
||||
<h4 id="org82ecf54"><span class="section-number-4">3.3.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-3-1">
|
||||
<p>
|
||||
This section concerns API calls related to datasets.
|
||||
@ -2354,8 +2354,8 @@ This section concerns API calls related to datasets.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd096848" class="outline-4">
|
||||
<h4 id="orgd096848"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org4f3def2" class="outline-4">
|
||||
<h4 id="org4f3def2"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<p>
|
||||
The C templates that correspond to each of the abovementioned functions can be found below.
|
||||
@ -2366,13 +2366,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb376523" class="outline-5">
|
||||
<h5 id="orgb376523"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org5e020d5" class="outline-5">
|
||||
<h5 id="org5e020d5"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org91c2e54" class="outline-5">
|
||||
<h5 id="org91c2e54"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
|
||||
<div id="outline-container-org8191636" class="outline-5">
|
||||
<h5 id="org8191636"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2500,8 +2500,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c91bfb" class="outline-5">
|
||||
<h5 id="org2c91bfb"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
|
||||
<div id="outline-container-org2336d1f" class="outline-5">
|
||||
<h5 id="org2336d1f"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2642,11 +2642,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21d09c1" class="outline-5">
|
||||
<h5 id="org21d09c1"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
|
||||
<div id="outline-container-orgf3c7b35" class="outline-5">
|
||||
<h5 id="orgf3c7b35"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orgd18eca7"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
<pre class="src src-c" id="org9923fed"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
int64_t $group_dset_dim$ = 0;
|
||||
|
||||
/* <span style="color: #b22222;">Error handling for this call is added by the generator </span>*/
|
||||
@ -2802,8 +2802,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1caf42d" class="outline-5">
|
||||
<h5 id="org1caf42d"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org61577f6" class="outline-5">
|
||||
<h5 id="org61577f6"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-3-2-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -2877,8 +2877,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &($group_dset_dim$));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb49b2db" class="outline-4">
|
||||
<h4 id="orgb49b2db"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-orgce18fba" class="outline-4">
|
||||
<h4 id="orgce18fba"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
|
||||
@ -2963,8 +2963,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd384e92" class="outline-4">
|
||||
<h4 id="orgd384e92"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org25ff212" class="outline-4">
|
||||
<h4 id="org25ff212"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-3-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -3159,8 +3159,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge31ce3e" class="outline-3">
|
||||
<h3 id="orge31ce3e"><span class="section-number-3">3.4</span> Sparse data structures</h3>
|
||||
<div id="outline-container-org9fe4b92" class="outline-3">
|
||||
<h3 id="org9fe4b92"><span class="section-number-3">3.4</span> Sparse data structures</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
Sparse data structures are used typically for large tensors such as
|
||||
@ -3301,12 +3301,12 @@ For the values,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7476b1" class="outline-3">
|
||||
<h3 id="orgc7476b1"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
|
||||
<div id="outline-container-org02ccca4" class="outline-3">
|
||||
<h3 id="org02ccca4"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
</div>
|
||||
<div id="outline-container-org84d325e" class="outline-4">
|
||||
<h4 id="org84d325e"><span class="section-number-4">3.5.1</span> Introduction</h4>
|
||||
<div id="outline-container-org410c6fc" class="outline-4">
|
||||
<h4 id="org410c6fc"><span class="section-number-4">3.5.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-5-1">
|
||||
<p>
|
||||
This section concerns API calls related to datasets of strings.
|
||||
@ -3346,8 +3346,8 @@ This section concerns API calls related to datasets of strings.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e0b080" class="outline-4">
|
||||
<h4 id="org6e0b080"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org5073524" class="outline-4">
|
||||
<h4 id="org5073524"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<p>
|
||||
First parameter is the <code>TREXIO</code> file handle. Second parameter is the variable to be written/read
|
||||
@ -3355,12 +3355,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0bb920" class="outline-5">
|
||||
<h5 id="orga0bb920"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org536c86e" class="outline-5">
|
||||
<h5 id="org536c86e"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6927613" class="outline-5">
|
||||
<h5 id="org6927613"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
|
||||
<div id="outline-container-orgf449a79" class="outline-5">
|
||||
<h5 id="orgf449a79"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-5-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -3602,8 +3602,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0ea3ee9" class="outline-4">
|
||||
<h4 id="org0ea3ee9"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-orgd108000" class="outline-4">
|
||||
<h4 id="orgd108000"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from <code>Fortran</code>.
|
||||
@ -3699,8 +3699,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51f39ae" class="outline-4">
|
||||
<h4 id="org51f39ae"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-orgf338fc3" class="outline-4">
|
||||
<h4 id="orgf338fc3"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-5-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_dset$(trexio_file, dset_w: <span style="color: #483d8b;">list</span>) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -3816,12 +3816,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaeb2b4b" class="outline-3">
|
||||
<h3 id="orgaeb2b4b"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
|
||||
<div id="outline-container-orgf30abc2" class="outline-3">
|
||||
<h3 id="orgf30abc2"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
</div>
|
||||
<div id="outline-container-org0def1e2" class="outline-4">
|
||||
<h4 id="org0def1e2"><span class="section-number-4">3.6.1</span> Introduction</h4>
|
||||
<div id="outline-container-orgfbbb666" class="outline-4">
|
||||
<h4 id="orgfbbb666"><span class="section-number-4">3.6.1</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-6-1">
|
||||
<p>
|
||||
This section concerns API calls related to string attributes.
|
||||
@ -3861,16 +3861,16 @@ This section concerns API calls related to string attributes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9571ac7" class="outline-4">
|
||||
<h4 id="org9571ac7"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
|
||||
<div id="outline-container-org55e2eab" class="outline-4">
|
||||
<h4 id="org55e2eab"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
</div>
|
||||
<div id="outline-container-org0e6d4d9" class="outline-5">
|
||||
<h5 id="org0e6d4d9"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
|
||||
<div id="outline-container-org77a851d" class="outline-5">
|
||||
<h5 id="org77a851d"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c4d53b" class="outline-5">
|
||||
<h5 id="org0c4d53b"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
|
||||
<div id="outline-container-org55bf18e" class="outline-5">
|
||||
<h5 id="org55bf18e"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
|
||||
<div class="outline-text-5" id="text-3-6-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -3970,8 +3970,8 @@ This section concerns API calls related to string attributes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b7305f" class="outline-4">
|
||||
<h4 id="org6b7305f"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
|
||||
<div id="outline-container-org6549737" class="outline-4">
|
||||
<h4 id="org6549737"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-3">
|
||||
<p>
|
||||
The <code>Fortran</code> templates that provide an access to the <code>C</code> API calls from Fortran.
|
||||
@ -4048,8 +4048,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org414a668" class="outline-4">
|
||||
<h4 id="org414a668"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
|
||||
<div id="outline-container-org48b2787" class="outline-4">
|
||||
<h4 id="org48b2787"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
|
||||
<div class="outline-text-4" id="text-3-6-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python"><span style="color: #a020f0;">def</span> <span style="color: #0000ff;">write_</span>$group_str$(trexio_file, str_w: <span style="color: #483d8b;">str</span>) -> <span style="color: #008b8b;">None</span>:
|
||||
@ -4139,8 +4139,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ad3d5e" class="outline-2">
|
||||
<h2 id="org8ad3d5e"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
|
||||
<div id="outline-container-orgc9191b8" class="outline-2">
|
||||
<h2 id="orgc9191b8"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
The function below adapts the original C-based <code>trexio_open</code> for Fortran.
|
||||
@ -4275,7 +4275,7 @@ two code are identical, i.e. if the <code>assert</code> statement pass.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>HDF5 back end</title>
|
||||
@ -311,27 +311,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org10bdbe2">1. HDF5 back end</a>
|
||||
<li><a href="#org17b6996">1. HDF5 back end</a>
|
||||
<ul>
|
||||
<li><a href="#orgbc8f268">1.1. Template for HDF5 definitions</a></li>
|
||||
<li><a href="#org6e68734">1.2. Template for HDF5 structures</a></li>
|
||||
<li><a href="#org449b588">1.3. Template for HDF5 init/deinit</a></li>
|
||||
<li><a href="#org4a662cb">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org242a22a">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#orga80558f">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org7cbdd21">1.7. Template for HDF5 has/read/write the string attribute</a></li>
|
||||
<li><a href="#org2c7f8be">1.1. Template for HDF5 definitions</a></li>
|
||||
<li><a href="#org5dd2a5e">1.2. Template for HDF5 structures</a></li>
|
||||
<li><a href="#org64b7587">1.3. Template for HDF5 init/deinit</a></li>
|
||||
<li><a href="#org2b2ac53">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org36e12b1">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org80db27c">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org4ea4f5c">1.7. Template for HDF5 has/read/write the string attribute</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org10bdbe2" class="outline-2">
|
||||
<h2 id="org10bdbe2"><span class="section-number-2">1</span> HDF5 back end</h2>
|
||||
<div id="outline-container-org17b6996" class="outline-2">
|
||||
<h2 id="org17b6996"><span class="section-number-2">1</span> HDF5 back end</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgbc8f268" class="outline-3">
|
||||
<h3 id="orgbc8f268"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
|
||||
<div id="outline-container-org2c7f8be" class="outline-3">
|
||||
<h3 id="org2c7f8be"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> $GROUP$_GROUP_NAME <span style="color: #8b2252;">"$group$"</span>
|
||||
@ -343,8 +343,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e68734" class="outline-3">
|
||||
<h3 id="org6e68734"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
|
||||
<div id="outline-container-org5dd2a5e" class="outline-3">
|
||||
<h3 id="org5dd2a5e"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<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;">trexio_hdf5_s</span> {
|
||||
@ -358,8 +358,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org449b588" class="outline-3">
|
||||
<h3 id="org449b588"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
|
||||
<div id="outline-container-org64b7587" class="outline-3">
|
||||
<h3 id="org64b7587"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -439,8 +439,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a662cb" class="outline-3">
|
||||
<h3 id="org4a662cb"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
|
||||
<div id="outline-container-org2b2ac53" class="outline-3">
|
||||
<h3 id="org2b2ac53"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -534,8 +534,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org242a22a" class="outline-3">
|
||||
<h3 id="org242a22a"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
|
||||
<div id="outline-container-org36e12b1" class="outline-3">
|
||||
<h3 id="org36e12b1"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -658,8 +658,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga80558f" class="outline-3">
|
||||
<h3 id="orga80558f"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
|
||||
<div id="outline-container-org80db27c" class="outline-3">
|
||||
<h3 id="org80db27c"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -864,8 +864,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7cbdd21" class="outline-3">
|
||||
<h3 id="org7cbdd21"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
|
||||
<div id="outline-container-org4ea4f5c" class="outline-3">
|
||||
<h3 id="org4ea4f5c"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -992,7 +992,7 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TEXT back end</title>
|
||||
@ -311,26 +311,26 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org644b272">1. TEXT back end</a>
|
||||
<li><a href="#orgb75be05">1. TEXT back end</a>
|
||||
<ul>
|
||||
<li><a href="#org4480e26">1.1. Template for group-related structures in text back end</a></li>
|
||||
<li><a href="#org4c18fc2">1.2. Template for general structure in text back end</a></li>
|
||||
<li><a href="#orgba90629">1.3. Initialize function (constant part)</a></li>
|
||||
<li><a href="#orgd2248b4">1.4. Deinitialize function (templated part)</a></li>
|
||||
<li><a href="#org4b126ef">1.5. Template for text read struct</a></li>
|
||||
<li><a href="#org90b5206">1.6. Template for text flush struct</a></li>
|
||||
<li><a href="#orga2790d0">1.7. Template for text free memory</a></li>
|
||||
<li><a href="#org3b736be">1.8. Template for has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#org8d3f4da">1.9. Template for has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org10809a5">1.10. Template for has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org591c42a">1.11. Template for has/read/write the string attribute</a></li>
|
||||
<li><a href="#org7229cde">1.12. RDM struct (hard-coded)</a>
|
||||
<li><a href="#org6937d57">1.1. Template for group-related structures in text back end</a></li>
|
||||
<li><a href="#org5cb54f9">1.2. Template for general structure in text back end</a></li>
|
||||
<li><a href="#orgf81a70c">1.3. Initialize function (constant part)</a></li>
|
||||
<li><a href="#org90a8869">1.4. Deinitialize function (templated part)</a></li>
|
||||
<li><a href="#orgc32c03c">1.5. Template for text read struct</a></li>
|
||||
<li><a href="#orgd611084">1.6. Template for text flush struct</a></li>
|
||||
<li><a href="#org7f51215">1.7. Template for text free memory</a></li>
|
||||
<li><a href="#orgb5bb337">1.8. Template for has/read/write the numerical attribute</a></li>
|
||||
<li><a href="#orgd025993">1.9. Template for has/read/write the dataset of numerical data</a></li>
|
||||
<li><a href="#org7ab15ea">1.10. Template for has/read/write the dataset of strings</a></li>
|
||||
<li><a href="#org1972586">1.11. Template for has/read/write the string attribute</a></li>
|
||||
<li><a href="#orgd2baeb8">1.12. RDM struct (hard-coded)</a>
|
||||
<ul>
|
||||
<li><a href="#orge6de449">1.12.1. Read the complete struct</a></li>
|
||||
<li><a href="#orgc7c9c71">1.12.2. Flush the complete struct</a></li>
|
||||
<li><a href="#orgf38e360">1.12.3. Free memory</a></li>
|
||||
<li><a href="#org94831f3">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
|
||||
<li><a href="#org3260e27">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
|
||||
<li><a href="#orgd45375f">1.12.1. Read the complete struct</a></li>
|
||||
<li><a href="#org8eea5d9">1.12.2. Flush the complete struct</a></li>
|
||||
<li><a href="#org9845ff5">1.12.3. Free memory</a></li>
|
||||
<li><a href="#org93649cd">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
|
||||
<li><a href="#org34a2dca">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -339,8 +339,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org644b272" class="outline-2">
|
||||
<h2 id="org644b272"><span class="section-number-2">1</span> TEXT back end</h2>
|
||||
<div id="outline-container-orgb75be05" class="outline-2">
|
||||
<h2 id="orgb75be05"><span class="section-number-2">1</span> TEXT back end</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The "file" produced by the text back end is a directory with one
|
||||
@ -361,8 +361,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4480e26" class="outline-3">
|
||||
<h3 id="org4480e26"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
|
||||
<div id="outline-container-org6937d57" class="outline-3">
|
||||
<h3 id="org6937d57"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</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> $group$_s {
|
||||
@ -381,8 +381,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c18fc2" class="outline-3">
|
||||
<h3 id="org4c18fc2"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
|
||||
<div id="outline-container-org5cb54f9" class="outline-3">
|
||||
<h3 id="org5cb54f9"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<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;">rdm_s</span> {
|
||||
@ -408,8 +408,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba90629" class="outline-3">
|
||||
<h3 id="orgba90629"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
|
||||
<div id="outline-container-orgf81a70c" class="outline-3">
|
||||
<h3 id="orgf81a70c"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -540,8 +540,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd2248b4" class="outline-3">
|
||||
<h3 id="orgd2248b4"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
|
||||
<div id="outline-container-org90a8869" class="outline-3">
|
||||
<h3 id="org90a8869"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -566,8 +566,8 @@ The file is written when closed, or when the flush function is called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b126ef" class="outline-3">
|
||||
<h3 id="org4b126ef"><span class="section-number-3">1.5</span> Template for text read struct</h3>
|
||||
<div id="outline-container-orgc32c03c" class="outline-3">
|
||||
<h3 id="orgc32c03c"><span class="section-number-3">1.5</span> Template for text read struct</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">$group$_t*
|
||||
@ -861,8 +861,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org90b5206" class="outline-3">
|
||||
<h3 id="org90b5206"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
|
||||
<div id="outline-container-orgd611084" class="outline-3">
|
||||
<h3 id="orgd611084"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -927,8 +927,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga2790d0" class="outline-3">
|
||||
<h3 id="orga2790d0"><span class="section-number-3">1.7</span> Template for text free memory</h3>
|
||||
<div id="outline-container-org7f51215" class="outline-3">
|
||||
<h3 id="org7f51215"><span class="section-number-3">1.7</span> Template for text free memory</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<p>
|
||||
Memory is allocated when reading. The following function frees memory.
|
||||
@ -973,8 +973,8 @@ Memory is allocated when reading. The following function frees memory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b736be" class="outline-3">
|
||||
<h3 id="org3b736be"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
|
||||
<div id="outline-container-orgb5bb337" class="outline-3">
|
||||
<h3 id="orgb5bb337"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1037,8 +1037,8 @@ Memory is allocated when reading. The following function frees memory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d3f4da" class="outline-3">
|
||||
<h3 id="org8d3f4da"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
|
||||
<div id="outline-container-orgd025993" class="outline-3">
|
||||
<h3 id="orgd025993"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
|
||||
<div class="outline-text-3" id="text-1-9">
|
||||
<p>
|
||||
The <code>group_dset</code> array is assumed allocated with the appropriate size.
|
||||
@ -1134,8 +1134,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org10809a5" class="outline-3">
|
||||
<h3 id="org10809a5"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
|
||||
<div id="outline-container-org7ab15ea" class="outline-3">
|
||||
<h3 id="org7ab15ea"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
|
||||
<div class="outline-text-3" id="text-1-10">
|
||||
<p>
|
||||
The <code>group_dset</code> array is assumed allocated with the appropriate size.
|
||||
@ -1236,8 +1236,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org591c42a" class="outline-3">
|
||||
<h3 id="org591c42a"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
|
||||
<div id="outline-container-org1972586" class="outline-3">
|
||||
<h3 id="org1972586"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
|
||||
<div class="outline-text-3" id="text-1-11">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span>
|
||||
@ -1311,12 +1311,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7229cde" class="outline-3">
|
||||
<h3 id="org7229cde"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
|
||||
<div id="outline-container-orgd2baeb8" class="outline-3">
|
||||
<h3 id="orgd2baeb8"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
|
||||
<div class="outline-text-3" id="text-1-12">
|
||||
</div>
|
||||
<div id="outline-container-orge6de449" class="outline-4">
|
||||
<h4 id="orge6de449"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
|
||||
<div id="outline-container-orgd45375f" class="outline-4">
|
||||
<h4 id="orgd45375f"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
|
||||
<div class="outline-text-4" id="text-1-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">rdm_t</span>* <span style="color: #0000ff;">trexio_text_read_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
|
||||
@ -1411,8 +1411,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7c9c71" class="outline-4">
|
||||
<h4 id="orgc7c9c71"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
|
||||
<div id="outline-container-org8eea5d9" class="outline-4">
|
||||
<h4 id="org8eea5d9"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
|
||||
<div class="outline-text-4" id="text-1-12-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #0000ff;">trexio_text_flush_rdm</span>(<span style="color: #228b22;">trexio_text_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">file</span>);
|
||||
@ -1454,8 +1454,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf38e360" class="outline-4">
|
||||
<h4 id="orgf38e360"><span class="section-number-4">1.12.3</span> Free memory</h4>
|
||||
<div id="outline-container-org9845ff5" class="outline-4">
|
||||
<h4 id="org9845ff5"><span class="section-number-4">1.12.3</span> Free memory</h4>
|
||||
<div class="outline-text-4" id="text-1-12-3">
|
||||
<p>
|
||||
Memory is allocated when reading. The followig function frees memory.
|
||||
@ -1491,8 +1491,8 @@ Memory is allocated when reading. The followig function frees memory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94831f3" class="outline-4">
|
||||
<h4 id="org94831f3"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
|
||||
<div id="outline-container-org93649cd" class="outline-4">
|
||||
<h4 id="org93649cd"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
|
||||
<div class="outline-text-4" id="text-1-12-4">
|
||||
<p>
|
||||
The <code>one_e</code> array is assumed allocated with the appropriate size.
|
||||
@ -1558,8 +1558,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3260e27" class="outline-4">
|
||||
<h4 id="org3260e27"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
|
||||
<div id="outline-container-org34a2dca" class="outline-4">
|
||||
<h4 id="org34a2dca"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
|
||||
<div class="outline-text-4" id="text-1-12-5">
|
||||
<p>
|
||||
<code>two_e</code> is a sparse data structure, which can be too large to fit
|
||||
@ -1667,7 +1667,7 @@ file for each sparse float structure.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
280
trex.html
280
trex.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-21 Thu 17:40 -->
|
||||
<!-- 2021-10-21 Thu 17:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREX Configuration file</title>
|
||||
@ -333,29 +333,33 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc6633ea">1. Metadata (metadata group)</a></li>
|
||||
<li><a href="#orgc51179d">2. Electron (electron group)</a></li>
|
||||
<li><a href="#org5561496">3. Nucleus (nucleus group)</a></li>
|
||||
<li><a href="#org5540aca">4. Effective core potentials (ecp group)</a></li>
|
||||
<li><a href="#orga9dc80c">5. Basis set (basis group)</a>
|
||||
<li><a href="#org5c5a480">1. Metadata (metadata group)</a></li>
|
||||
<li><a href="#org36364e5">2. Electron (electron group)</a></li>
|
||||
<li><a href="#orgb5b15bf">3. Nucleus (nucleus group)</a></li>
|
||||
<li><a href="#org87e2d22">4. Effective core potentials (ecp group)</a>
|
||||
<ul>
|
||||
<li><a href="#org12ce9eb">5.1. Example</a></li>
|
||||
<li><a href="#org3c91060">4.1. Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge82a7c8">6. Atomic orbitals (ao group)</a>
|
||||
<li><a href="#orgfd875c1">5. Basis set (basis group)</a>
|
||||
<ul>
|
||||
<li><a href="#orge4a349e">5.1. Example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0c83b6a">6. Atomic orbitals (ao group)</a>
|
||||
<ul>
|
||||
<li><a href="#ao_one_e">6.1. One-electron integrals (<code>ao_1e_int</code> group)</a></li>
|
||||
<li><a href="#ao_two_e">6.2. Two-electron integrals (<code>ao_2e_int</code> group)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgace508e">7. Molecular orbitals (mo group)</a>
|
||||
<li><a href="#orga3ce626">7. Molecular orbitals (mo group)</a>
|
||||
<ul>
|
||||
<li><a href="#org90934e3">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
|
||||
<li><a href="#orge5f1e79">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
|
||||
<li><a href="#orgf55af31">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
|
||||
<li><a href="#org9eb5a4b">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge476000">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
|
||||
<li><a href="#orgc72b4fb">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
|
||||
<li><a href="#org12f19fc">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
|
||||
<li><a href="#org05fa2a0">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -395,8 +399,8 @@ arrays are 0-based. Hence, we introduce the <code>index</code> type which is an
|
||||
1-based <code>int</code> in the Fortran interface and 0-based otherwise.
|
||||
</p>
|
||||
|
||||
<div id="outline-container-orgc6633ea" class="outline-2">
|
||||
<h2 id="orgc6633ea"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
|
||||
<div id="outline-container-org5c5a480" class="outline-2">
|
||||
<h2 id="org5c5a480"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
As we expect our files to be archived in open-data repositories, we
|
||||
@ -406,7 +410,7 @@ which have participated to the creation of the file, a list of
|
||||
authors of the file, and a textual description.
|
||||
</p>
|
||||
|
||||
<table id="org9e4f3bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5c031ec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -473,15 +477,15 @@ authors of the file, and a textual description.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc51179d" class="outline-2">
|
||||
<h2 id="orgc51179d"><span class="section-number-2">2</span> Electron (electron group)</h2>
|
||||
<div id="outline-container-org36364e5" class="outline-2">
|
||||
<h2 id="org36364e5"><span class="section-number-2">2</span> Electron (electron group)</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
We consider wave functions expressed in the spin-free formalism, where
|
||||
the number of ↑ and ↓ electrons is fixed.
|
||||
</p>
|
||||
|
||||
<table id="org4ffadac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd9cda3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -520,15 +524,15 @@ the number of ↑ and ↓ electrons is fixed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5561496" class="outline-2">
|
||||
<h2 id="org5561496"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
|
||||
<div id="outline-container-orgb5b15bf" class="outline-2">
|
||||
<h2 id="orgb5b15bf"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The nuclei are considered as fixed point charges. Coordinates are
|
||||
given in Cartesian \((x,y,z)\) format.
|
||||
</p>
|
||||
|
||||
<table id="org7a3a692" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org547629c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -588,21 +592,26 @@ given in Cartesian \((x,y,z)\) format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5540aca" class="outline-2">
|
||||
<h2 id="org5540aca"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
|
||||
<div id="outline-container-org87e2d22" class="outline-2">
|
||||
<h2 id="org87e2d22"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
An effective core potential (ECP) \(V_A^{\text{ECP}}\) replacing the
|
||||
core electrons of atom \(A\) is expressed as
|
||||
core electrons of atom \(A\) can be expressed as
|
||||
\[
|
||||
V_A^{\text{ECP}} =
|
||||
V_{A \ell_{\max}} +
|
||||
\sum_{\ell=0}^{\ell_{\max} -1}
|
||||
V_{A \ell_{\max}+1} +
|
||||
\sum_{\ell=0}^{\ell_{\max}}
|
||||
\sum_{m=-\ell}^{\ell} | Y_{\ell m} \rangle \left[
|
||||
V_{A \ell} - V_{A \ell_{\max}} \right] \langle Y_{\ell m} |
|
||||
V_{A \ell} - V_{A \ell_{\max}+1} \right] \langle Y_{\ell m} |
|
||||
\]
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The first term in the equation above is sometimes attributed to the local channel,
|
||||
while the remaining terms correspond to the non-local channel projections.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The functions \(V_{A\ell}\) are parameterized as:
|
||||
\[
|
||||
@ -614,10 +623,10 @@ The functions \(V_{A\ell}\) are parameterized as:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> for more info.
|
||||
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> or <a href="https://doi.org/10.1063/1.5121006for">https://doi.org/10.1063/1.5121006for</a> more info.
|
||||
</p>
|
||||
|
||||
<table id="org9d6b99f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org65d5363" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -639,95 +648,148 @@ See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.49
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>lmax_plus_1</code></td>
|
||||
<td class="org-left"><code>max_ang_mom_plus_1</code></td>
|
||||
<td class="org-left"><code>int</code></td>
|
||||
<td class="org-left"><code>(nucleus.num)</code></td>
|
||||
<td class="org-left">\(\ell_{\max} + 1\), one higher than the maximum angular momentum in the removed core orbitals</td>
|
||||
<td class="org-left">\(\ell_{\max}+1\), one higher than the max angular momentum in the removed core orbitals</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>z_core</code></td>
|
||||
<td class="org-left"><code>float</code></td>
|
||||
<td class="org-left"><code>(nucleus.num)</code></td>
|
||||
<td class="org-left">Charges to remove</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>local_n</code></td>
|
||||
<td class="org-left"><code>int</code></td>
|
||||
<td class="org-left"><code>(nucleus.num)</code></td>
|
||||
<td class="org-left">Number of local functions \(N_{q \ell}\)</td>
|
||||
<td class="org-left">Number of core electrons to remove per atom</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>local_num_n_max</code></td>
|
||||
<td class="org-left"><code>num</code></td>
|
||||
<td class="org-left"><code>dim</code></td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left">Maximum value of <code>local_n</code>, used for dimensioning arrays</td>
|
||||
<td class="org-left">Total number of ECP functions for all atoms and all values of \(\ell\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>local_exponent</code></td>
|
||||
<td class="org-left"><code>float</code></td>
|
||||
<td class="org-left"><code>(ecp.local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(\alpha_{A q \ell_{\max}}\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>local_coef</code></td>
|
||||
<td class="org-left"><code>float</code></td>
|
||||
<td class="org-left"><code>(ecp.local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(\beta_{A q \ell_{\max}}\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>local_power</code></td>
|
||||
<td class="org-left"><code>ang_mom</code></td>
|
||||
<td class="org-left"><code>int</code></td>
|
||||
<td class="org-left"><code>(ecp.local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(n_{A q \ell_{\max}}\)</td>
|
||||
<td class="org-left"><code>(ecp.num)</code></td>
|
||||
<td class="org-left">One-to-one correspondence between ECP items and the angular momentum \(\ell\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>non_local_n</code></td>
|
||||
<td class="org-left"><code>int</code></td>
|
||||
<td class="org-left"><code>(nucleus.num)</code></td>
|
||||
<td class="org-left">\(N_{q \ell_{\max}}\)</td>
|
||||
<td class="org-left"><code>nucleus_index</code></td>
|
||||
<td class="org-left"><code>index</code></td>
|
||||
<td class="org-left"><code>(ecp.num)</code></td>
|
||||
<td class="org-left">One-to-one correspondence between ECP items and the atom index</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>non_local_num_n_max</code></td>
|
||||
<td class="org-left"><code>dim</code></td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left">Maximum value of <code>non_local_n</code>, used for dimensioning arrays</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>non_local_exponent</code></td>
|
||||
<td class="org-left"><code>exponent</code></td>
|
||||
<td class="org-left"><code>float</code></td>
|
||||
<td class="org-left"><code>(ecp.non_local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(\alpha_{A q \ell}\)</td>
|
||||
<td class="org-left"><code>(ecp.num)</code></td>
|
||||
<td class="org-left">\(\alpha_{A q \ell}\) all ECP exponents</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>non_local_coef</code></td>
|
||||
<td class="org-left"><code>coefficient</code></td>
|
||||
<td class="org-left"><code>float</code></td>
|
||||
<td class="org-left"><code>(ecp.non_local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(\beta_{A q \ell}\)</td>
|
||||
<td class="org-left"><code>(ecp.num)</code></td>
|
||||
<td class="org-left">\(\beta_{A q \ell}\) all ECP coefficients</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>non_local_power</code></td>
|
||||
<td class="org-left"><code>power</code></td>
|
||||
<td class="org-left"><code>int</code></td>
|
||||
<td class="org-left"><code>(ecp.non_local_num_n_max, nucleus.num)</code></td>
|
||||
<td class="org-left">\(n_{A q \ell}\)</td>
|
||||
<td class="org-left"><code>(ecp.num)</code></td>
|
||||
<td class="org-left">\(n_{A q \ell}\) all ECP powers</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>
|
||||
There might be some confusion in the meaning of the \(\ell_{\max}\).
|
||||
It can be attributed to the maximum angular momentum occupied
|
||||
in the core orbitals, which are removed by the ECP.
|
||||
On the other hand, it can be attributed to the maximum angular momentum of the
|
||||
ECP that replaces the core electrons.
|
||||
<b>Note</b>, that the latter \(\ell_{\max}\) is always higher by 1 than the former.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<b>Note for developers</b>: avoid having variables with similar prefix in their name.
|
||||
HDF5 back end might cause issues due to the way `find<sub>dataset</sub>` function works.
|
||||
For example, in the ECP group we use <code>max_ang_mom</code> and not <code>ang_mom_max</code>.
|
||||
The latter causes issues when written before <code>ang_mom</code> in the TREXIO file.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c91060" class="outline-3">
|
||||
<h3 id="org3c91060"><span class="section-number-3">4.1</span> Example</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
For example, consider H<sub>2</sub> molecule with the following
|
||||
<a href="https://pseudopotentiallibrary.org/recipes/H/ccECP/H.ccECP.gamess">effective core potential</a>
|
||||
(in GAMESS input format for the H atom):
|
||||
</p>
|
||||
|
||||
<pre class="example">
|
||||
H-ccECP GEN 0 1
|
||||
3
|
||||
1.00000000000000 1 21.24359508259891
|
||||
21.24359508259891 3 21.24359508259891
|
||||
-10.85192405303825 2 21.77696655044365
|
||||
1
|
||||
0.00000000000000 2 1.000000000000000
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
In TREXIO representation this would be:
|
||||
</p>
|
||||
|
||||
<pre class="example">
|
||||
num = 8
|
||||
|
||||
# lmax+1 per atom
|
||||
max_ang_mom_plus_1 = [ 1, 1 ]
|
||||
|
||||
# number of core electrons to remove per atom
|
||||
zcore = [ 0, 0 ]
|
||||
|
||||
# first 4 ECP elements correspond to the first H atom ; the remaining 4 elements are for the second H atom
|
||||
nucleus_index = [
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 1
|
||||
]
|
||||
|
||||
# 3 first ECP elements correspond to potential of the P orbital (l=1), then 1 element for the S orbital (l=0) ; similar for the second H atom
|
||||
ang_mom = [
|
||||
1, 1, 1, 0,
|
||||
1, 1, 1, 0
|
||||
]
|
||||
|
||||
# ECP quantities that can be attributed to atoms and/or angular momenta based on the aforementioned ecp_nucleus and ecp_ang_mom arrays
|
||||
coefficient = [
|
||||
1.00000000000000, 21.24359508259891, -10.85192405303825, 0.00000000000000,
|
||||
1.00000000000000, 21.24359508259891, -10.85192405303825, 0.00000000000000
|
||||
]
|
||||
|
||||
exponent = [
|
||||
21.24359508259891, 21.24359508259891, 21.77696655044365, 1.000000000000000,
|
||||
21.24359508259891, 21.24359508259891, 21.77696655044365, 1.000000000000000
|
||||
]
|
||||
|
||||
power = [
|
||||
-1, 1, 0, 0,
|
||||
-1, 1, 0, 0
|
||||
]
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9dc80c" class="outline-2">
|
||||
<h2 id="orga9dc80c"><span class="section-number-2">5</span> Basis set (basis group)</h2>
|
||||
<div id="outline-container-orgfd875c1" class="outline-2">
|
||||
<h2 id="orgfd875c1"><span class="section-number-2">5</span> Basis set (basis group)</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
We consider here basis functions centered on nuclei. Hence, we enable
|
||||
@ -780,7 +842,7 @@ If the the basis function is not considered normalized, \(\mathcal{N}_s=1\).
|
||||
All the basis set parameters are stored in one-dimensional arrays:
|
||||
</p>
|
||||
|
||||
<table id="org4d3192b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga67df3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -874,8 +936,8 @@ All the basis set parameters are stored in one-dimensional arrays:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org12ce9eb" class="outline-3">
|
||||
<h3 id="org12ce9eb"><span class="section-number-3">5.1</span> Example</h3>
|
||||
<div id="outline-container-orge4a349e" class="outline-3">
|
||||
<h3 id="orge4a349e"><span class="section-number-3">5.1</span> Example</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
For example, consider H<sub>2</sub> with the following basis set (in GAMESS
|
||||
@ -953,8 +1015,8 @@ prim_factor =
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge82a7c8" class="outline-2">
|
||||
<h2 id="orge82a7c8"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
|
||||
<div id="outline-container-org0c83b6a" class="outline-2">
|
||||
<h2 id="org0c83b6a"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1002,13 +1064,13 @@ shell, as in the GAMESS convention where
|
||||
|
||||
<p>
|
||||
In such a case, one should set the normalization of the shell (in
|
||||
the <a href="#orga9dc80c">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
|
||||
the <a href="#orgfd875c1">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
|
||||
normalization factor of the atomic orbitals in spherical coordinates.
|
||||
The normalization factor of the \(xy\) function which should be
|
||||
introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
|
||||
</p>
|
||||
|
||||
<table id="org0eff5fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga8de182" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1060,8 +1122,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e9c283" class="outline-3">
|
||||
<h3 id="ao_one_e"><a id="org6e9c283"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
|
||||
<div id="outline-container-org0d5fb19" class="outline-3">
|
||||
<h3 id="ao_one_e"><a id="org0d5fb19"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-ao_one_e">
|
||||
<ul class="org-ul">
|
||||
<li>\[ \hat{V}_{\text{ne}} = \sum_{A=1}^{N_\text{nucl}}
|
||||
@ -1079,7 +1141,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
|
||||
over atomic orbitals.
|
||||
</p>
|
||||
|
||||
<table id="orgfeaec7c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgadf03a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1146,8 +1208,8 @@ over atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8703c0" class="outline-3">
|
||||
<h3 id="ao_two_e"><a id="orge8703c0"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
|
||||
<div id="outline-container-org4364a76" class="outline-3">
|
||||
<h3 id="ao_two_e"><a id="org4364a76"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-ao_two_e">
|
||||
<p>
|
||||
The two-electron integrals for a two-electron operator \(\hat{O}\) are
|
||||
@ -1168,7 +1230,7 @@ notation.
|
||||
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
|
||||
</ul>
|
||||
|
||||
<table id="org256f8e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd014671" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1208,10 +1270,10 @@ notation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgace508e" class="outline-2">
|
||||
<h2 id="orgace508e"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
|
||||
<div id="outline-container-orga3ce626" class="outline-2">
|
||||
<h2 id="orga3ce626"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<table id="org7385739" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcf76e61" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1277,8 +1339,8 @@ notation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org90934e3" class="outline-3">
|
||||
<h3 id="org90934e3"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
|
||||
<div id="outline-container-orgf55af31" class="outline-3">
|
||||
<h3 id="orgf55af31"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
The operators as the same as those defined in the
|
||||
@ -1286,7 +1348,7 @@ The operators as the same as those defined in the
|
||||
the basis of molecular orbitals.
|
||||
</p>
|
||||
|
||||
<table id="orgc4d217d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge76f875" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1353,8 +1415,8 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge5f1e79" class="outline-3">
|
||||
<h3 id="orge5f1e79"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
|
||||
<div id="outline-container-org9eb5a4b" class="outline-3">
|
||||
<h3 id="org9eb5a4b"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
|
||||
<div class="outline-text-3" id="text-7-2">
|
||||
<p>
|
||||
The operators as the same as those defined in the
|
||||
@ -1362,7 +1424,7 @@ The operators as the same as those defined in the
|
||||
the basis of molecular orbitals.
|
||||
</p>
|
||||
|
||||
<table id="org34aaf75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb6ac02f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1402,13 +1464,13 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge476000" class="outline-2">
|
||||
<h2 id="orge476000"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
|
||||
<div id="outline-container-org12f19fc" class="outline-2">
|
||||
<h2 id="org12f19fc"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
|
||||
</div>
|
||||
<div id="outline-container-orgc72b4fb" class="outline-2">
|
||||
<h2 id="orgc72b4fb"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
|
||||
<div id="outline-container-org05fa2a0" class="outline-2">
|
||||
<h2 id="org05fa2a0"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
|
||||
<div class="outline-text-2" id="text-9">
|
||||
<table id="org3e25596" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org47c0057" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1463,7 +1525,7 @@ the basis of molecular orbitals.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX-CoE</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:40</p>
|
||||
<p class="date">Created: 2021-10-21 Thu 17:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user