1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-10-02 14:31:05 +02:00

Deploying to gh-pages from @ TREX-CoE/trexio@fb9c95bd61 🚀

This commit is contained in:
q-posev 2021-10-08 11:57:15 +00:00
parent 338fc00add
commit 78a47577d1
7 changed files with 343 additions and 343 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -349,7 +349,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</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="#org499f156">1. Text back end</a></li>
<li><a href="#orgb4737fc">2. HDF5 Back end</a></li>
<li><a href="#org0e72dc6">1. Text back end</a></li>
<li><a href="#org33af921">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-org499f156" class="outline-2">
<h2 id="org499f156"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org0e72dc6" class="outline-2">
<h2 id="org0e72dc6"><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-orgb4737fc" class="outline-2">
<h2 id="orgb4737fc"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org33af921" class="outline-2">
<h2 id="org33af921"><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 &gt; nmax, we need to extend the dataset.
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2021-10-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -349,7 +349,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -339,125 +339,125 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org1b010db">1. Coding conventions</a>
<li><a href="#org3e14c74">1. Coding conventions</a>
<ul>
<li><a href="#orgd38fb84">1.1. Memory allocation</a></li>
<li><a href="#orgbc4ca68">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orgf5d3048">2. Front end</a>
<li><a href="#org4eef2b1">2. Front end</a>
<ul>
<li><a href="#org429a414">2.1. Error handling</a>
<li><a href="#org968b8c2">2.1. Error handling</a>
<ul>
<li><a href="#org8675a32">2.1.1. Decoding errors</a>
<li><a href="#org80c5bad">2.1.1. Decoding errors</a>
<ul>
<li><a href="#orgfe82ecf">2.1.1.1. C source code</a></li>
<li><a href="#orga385f98">2.1.1.2. Fortran interface</a></li>
<li><a href="#org25ffaec">2.1.1.3. Python interface</a></li>
<li><a href="#orgee2a2ba">2.1.1.1. C source code</a></li>
<li><a href="#org5a62e7b">2.1.1.2. Fortran interface</a></li>
<li><a href="#org7a1ae7f">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org07c89bc">2.2. Back ends</a>
<li><a href="#orgec5919e">2.2. Back ends</a>
<ul>
<li><a href="#org2dba75a">2.2.1. C</a></li>
<li><a href="#orga53df37">2.2.2. Fortran</a></li>
<li><a href="#org3405b79">2.2.3. Python</a></li>
<li><a href="#org661020b">2.2.1. C</a></li>
<li><a href="#org832c4d1">2.2.2. Fortran</a></li>
<li><a href="#org748afa3">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#org790c362">2.3. Read/write behavior</a></li>
<li><a href="#org03de002">2.4. TREXIO file type</a>
<li><a href="#org43be18e">2.3. Read/write behavior</a></li>
<li><a href="#orgc8ff5f8">2.4. TREXIO file type</a>
<ul>
<li><a href="#org74bf4e2">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org602de94">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org4d73b90">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org3b22722">2.6. File opening</a>
<li><a href="#org4e50a06">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgf024b8f">2.6. File opening</a>
<ul>
<li><a href="#orgb28365d">2.6.1. C</a></li>
<li><a href="#org7303637">2.6.2. Fortran</a></li>
<li><a href="#orgd9f908a">2.6.3. Python</a></li>
<li><a href="#orgd486bcb">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org9d53e72">2.6.1. C</a></li>
<li><a href="#orgba7f133">2.6.2. Fortran</a></li>
<li><a href="#org70b0f67">2.6.3. Python</a></li>
<li><a href="#org720cfdd">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#orga1ae964">2.7. File closing</a>
<li><a href="#org6bcb1d6">2.7. File closing</a>
<ul>
<li><a href="#orgd78888d">2.7.1. C</a></li>
<li><a href="#org4992e35">2.7.2. Fortran</a></li>
<li><a href="#org89d5d56">2.7.3. Python</a></li>
<li><a href="#org5adb2b2">2.7.1. C</a></li>
<li><a href="#orgb466c20">2.7.2. Fortran</a></li>
<li><a href="#org087c017">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org74755d0">3. Templates for front end</a>
<li><a href="#orgb164cfd">3. Templates for front end</a>
<ul>
<li><a href="#orgb667fd3">3.1. Description</a></li>
<li><a href="#org4051a61">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org4a4716b">3.1. Description</a></li>
<li><a href="#orgfb3f755">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#orgda101ab">3.2.1. Introduction</a></li>
<li><a href="#org3721cfc">3.2.2. C templates for front end</a>
<li><a href="#orgdd77ba3">3.2.1. Introduction</a></li>
<li><a href="#org7c3d6ea">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org0c7e290">3.2.2.1. Function declarations</a></li>
<li><a href="#orgbec21b2">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgae45d60">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orgcd0da09">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org6c638db">3.2.2.1. Function declarations</a></li>
<li><a href="#org1ab8377">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgf9b7878">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org5e44b41">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org68958a2">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgda83071">3.2.4. Python templates for front end</a></li>
<li><a href="#org559db74">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org3199dcd">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org09388a4">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org721adfa">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org2246b46">3.3.1. Introduction</a></li>
<li><a href="#org254d338">3.3.2. C templates for front end</a>
<li><a href="#orgdf9e0d0">3.3.1. Introduction</a></li>
<li><a href="#orgabd60ff">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org7bda46a">3.3.2.1. Function declarations</a></li>
<li><a href="#org2bd810d">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org4401e3b">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgb09e88a">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org252340d">3.3.2.5. Source code for default functions</a></li>
<li><a href="#org911e55c">3.3.2.1. Function declarations</a></li>
<li><a href="#orgacf05d5">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orgf4f7e7b">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org5f439c4">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgbb7dfd6">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org9928c2e">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orge650f3a">3.3.4. Python templates for front end</a></li>
<li><a href="#orgf052b88">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org9c38f6c">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org2b3487d">3.4. Sparse data structures</a></li>
<li><a href="#org4d00057">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org4ec70ae">3.4. Sparse data structures</a></li>
<li><a href="#orga1f70f5">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#orgc158bd5">3.5.1. Introduction</a></li>
<li><a href="#org49086db">3.5.2. C templates for front end</a>
<li><a href="#org5627ce9">3.5.1. Introduction</a></li>
<li><a href="#orgc9b799d">3.5.2. C templates for front end</a>
<ul>
<li><a href="#org913137e">3.5.2.1. Function declarations</a></li>
<li><a href="#org7dbaf11">3.5.2.2. Source code for default functions</a></li>
<li><a href="#orgdd90f4d">3.5.2.1. Function declarations</a></li>
<li><a href="#org80d97aa">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgbd1625b">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org489f36f">3.5.4. Python templates for front end</a></li>
<li><a href="#org7200f27">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orge783f28">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org32b70bb">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#org69e70d2">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org726ffd9">3.6.1. Introduction</a></li>
<li><a href="#orgaf46465">3.6.2. C templates for front end</a>
<li><a href="#org4fe4f42">3.6.1. Introduction</a></li>
<li><a href="#orga339fbb">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orgf25f27f">3.6.2.1. Function declarations</a></li>
<li><a href="#org191bd97">3.6.2.2. Source code for default functions</a></li>
<li><a href="#org54833e9">3.6.2.1. Function declarations</a></li>
<li><a href="#orge2ea01a">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org6c71d15">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org4fa4f16">3.6.4. Python templates for front end</a></li>
<li><a href="#orgaecbf84">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgeff21aa">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orga3f42a3">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org7570260">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org1b010db" class="outline-2">
<h2 id="org1b010db"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-org3e14c74" class="outline-2">
<h2 id="org3e14c74"><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>
@ -472,8 +472,8 @@ for the JavaScript code in this tag.
</ul>
</div>
<div id="outline-container-orgd38fb84" class="outline-3">
<h3 id="orgd38fb84"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orgbc4ca68" class="outline-3">
<h3 id="orgbc4ca68"><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
@ -508,8 +508,8 @@ The maximum string size for the filenames is 4096 characters.
</div>
</div>
<div id="outline-container-orgf5d3048" class="outline-2">
<h2 id="orgf5d3048"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org4eef2b1" class="outline-2">
<h2 id="org4eef2b1"><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.
@ -517,10 +517,10 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</p>
</div>
<div id="outline-container-org429a414" class="outline-3">
<h3 id="org429a414"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org968b8c2" class="outline-3">
<h3 id="org968b8c2"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org2151114" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org167e1d9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -742,8 +742,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</div>
</div>
<div id="outline-container-org8675a32" class="outline-4">
<h4 id="org8675a32"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-org80c5bad" class="outline-4">
<h4 id="org80c5bad"><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
@ -766,8 +766,8 @@ The text strings are extracted from the previous table.
</p>
</div>
<div id="outline-container-orgfe82ecf" class="outline-5">
<h5 id="orgfe82ecf"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-orgee2a2ba" class="outline-5">
<h5 id="orgee2a2ba"><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>*
@ -872,8 +872,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orga385f98" class="outline-5">
<h5 id="orga385f98"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-org5a62e7b" class="outline-5">
<h5 id="org5a62e7b"><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>
@ -889,8 +889,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org25ffaec" class="outline-5">
<h5 id="org25ffaec"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org7a1ae7f" class="outline-5">
<h5 id="org7a1ae7f"><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>):
@ -929,8 +929,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org07c89bc" class="outline-3">
<h3 id="org07c89bc"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-orgec5919e" class="outline-3">
<h3 id="orgec5919e"><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:
@ -954,8 +954,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</p>
</div>
<div id="outline-container-org2dba75a" class="outline-4">
<h4 id="org2dba75a"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org661020b" class="outline-4">
<h4 id="org661020b"><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>;
@ -971,8 +971,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-orga53df37" class="outline-4">
<h4 id="orga53df37"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org832c4d1" class="outline-4">
<h4 id="org832c4d1"><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>
@ -984,8 +984,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-org3405b79" class="outline-4">
<h4 id="org3405b79"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org748afa3" class="outline-4">
<h4 id="org748afa3"><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>
@ -999,8 +999,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</div>
</div>
<div id="outline-container-org790c362" class="outline-3">
<h3 id="org790c362"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org43be18e" class="outline-3">
<h3 id="org43be18e"><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
@ -1028,8 +1028,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org03de002" class="outline-3">
<h3 id="org03de002"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orgc8ff5f8" class="outline-3">
<h3 id="orgc8ff5f8"><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
@ -1063,8 +1063,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org74bf4e2" class="outline-4">
<h4 id="org74bf4e2"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org602de94" class="outline-4">
<h4 id="org602de94"><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>:
@ -1137,8 +1137,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org4d73b90" class="outline-3">
<h3 id="org4d73b90"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org4e50a06" class="outline-3">
<h3 id="org4e50a06"><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
@ -1157,8 +1157,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-org3b22722" class="outline-3">
<h3 id="org3b22722"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-orgf024b8f" class="outline-3">
<h3 id="orgf024b8f"><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.
@ -1197,8 +1197,8 @@ renaming the <code>.txt</code> data files.
</p>
</div>
<div id="outline-container-orgb28365d" class="outline-4">
<h4 id="orgb28365d"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org9d53e72" class="outline-4">
<h4 id="org9d53e72"><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>*
@ -1365,8 +1365,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org7303637" class="outline-4">
<h4 id="org7303637"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgba7f133" class="outline-4">
<h4 id="orgba7f133"><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>
@ -1384,8 +1384,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgd9f908a" class="outline-4">
<h4 id="orgd9f908a"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org70b0f67" class="outline-4">
<h4 id="org70b0f67"><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>):
@ -1433,8 +1433,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgd486bcb" class="outline-4">
<h4 id="orgd486bcb"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org720cfdd" class="outline-4">
<h4 id="org720cfdd"><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
@ -1467,8 +1467,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-orga1ae964" class="outline-3">
<h3 id="orga1ae964"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org6bcb1d6" class="outline-3">
<h3 id="org6bcb1d6"><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.
@ -1485,8 +1485,8 @@ output:
</p>
</div>
<div id="outline-container-orgd78888d" class="outline-4">
<h4 id="orgd78888d"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-org5adb2b2" class="outline-4">
<h4 id="org5adb2b2"><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>
@ -1557,8 +1557,8 @@ output:
</div>
</div>
<div id="outline-container-org4992e35" class="outline-4">
<h4 id="org4992e35"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orgb466c20" class="outline-4">
<h4 id="orgb466c20"><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>
@ -1572,8 +1572,8 @@ output:
</div>
</div>
<div id="outline-container-org89d5d56" class="outline-4">
<h4 id="org89d5d56"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-org087c017" class="outline-4">
<h4 id="org087c017"><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):
@ -1595,12 +1595,12 @@ output:
</div>
</div>
<div id="outline-container-org74755d0" class="outline-2">
<h2 id="org74755d0"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-orgb164cfd" class="outline-2">
<h2 id="orgb164cfd"><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-orgb667fd3" class="outline-3">
<h3 id="orgb667fd3"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org4a4716b" class="outline-3">
<h3 id="org4a4716b"><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>:
@ -1821,12 +1821,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-org4051a61" class="outline-3">
<h3 id="org4051a61"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-orgfb3f755" class="outline-3">
<h3 id="orgfb3f755"><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-orgda101ab" class="outline-4">
<h4 id="orgda101ab"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-orgdd77ba3" class="outline-4">
<h4 id="orgdd77ba3"><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,
@ -1897,8 +1897,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-org3721cfc" class="outline-4">
<h4 id="org3721cfc"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org7c3d6ea" class="outline-4">
<h4 id="org7c3d6ea"><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
@ -1912,12 +1912,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-org0c7e290" class="outline-5">
<h5 id="org0c7e290"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org6c638db" class="outline-5">
<h5 id="org6c638db"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgbec21b2" class="outline-5">
<h5 id="orgbec21b2"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org1ab8377" class="outline-5">
<h5 id="org1ab8377"><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>
@ -1978,8 +1978,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgae45d60" class="outline-5">
<h5 id="orgae45d60"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgf9b7878" class="outline-5">
<h5 id="orgf9b7878"><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>
@ -2047,8 +2047,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgcd0da09" class="outline-5">
<h5 id="orgcd0da09"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org5e44b41" class="outline-5">
<h5 id="org5e44b41"><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>
@ -2101,8 +2101,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org68958a2" class="outline-4">
<h4 id="org68958a2"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org559db74" class="outline-4">
<h4 id="org559db74"><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.
@ -2187,8 +2187,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgda83071" class="outline-4">
<h4 id="orgda83071"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-org3199dcd" class="outline-4">
<h4 id="org3199dcd"><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$) -&gt; <span style="color: #008b8b;">None</span>:
@ -2273,12 +2273,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org09388a4" class="outline-3">
<h3 id="org09388a4"><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-org721adfa" class="outline-3">
<h3 id="org721adfa"><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-org2246b46" class="outline-4">
<h4 id="org2246b46"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-orgdf9e0d0" class="outline-4">
<h4 id="orgdf9e0d0"><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.
@ -2360,8 +2360,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org254d338" class="outline-4">
<h4 id="org254d338"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgabd60ff" class="outline-4">
<h4 id="orgabd60ff"><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.
@ -2372,13 +2372,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-org7bda46a" class="outline-5">
<h5 id="org7bda46a"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-org911e55c" class="outline-5">
<h5 id="org911e55c"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org2bd810d" class="outline-5">
<h5 id="org2bd810d"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgacf05d5" class="outline-5">
<h5 id="orgacf05d5"><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>
@ -2506,8 +2506,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org4401e3b" class="outline-5">
<h5 id="org4401e3b"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgf4f7e7b" class="outline-5">
<h5 id="orgf4f7e7b"><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>
@ -2648,11 +2648,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-orgb09e88a" class="outline-5">
<h5 id="orgb09e88a"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-org5f439c4" class="outline-5">
<h5 id="org5f439c4"><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="orga075f08"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org2caa057"><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>*/
@ -2808,8 +2808,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org252340d" class="outline-5">
<h5 id="org252340d"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgbb7dfd6" class="outline-5">
<h5 id="orgbb7dfd6"><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>
@ -2883,8 +2883,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org9928c2e" class="outline-4">
<h4 id="org9928c2e"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgf052b88" class="outline-4">
<h4 id="orgf052b88"><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>.
@ -2969,8 +2969,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orge650f3a" class="outline-4">
<h4 id="orge650f3a"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org9c38f6c" class="outline-4">
<h4 id="org9c38f6c"><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) -&gt; <span style="color: #008b8b;">None</span>:
@ -3165,8 +3165,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org2b3487d" class="outline-3">
<h3 id="org2b3487d"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org4ec70ae" class="outline-3">
<h3 id="org4ec70ae"><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
@ -3307,12 +3307,12 @@ For the values,
</div>
</div>
<div id="outline-container-org4d00057" class="outline-3">
<h3 id="org4d00057"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orga1f70f5" class="outline-3">
<h3 id="orga1f70f5"><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-orgc158bd5" class="outline-4">
<h4 id="orgc158bd5"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org5627ce9" class="outline-4">
<h4 id="org5627ce9"><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.
@ -3352,8 +3352,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-org49086db" class="outline-4">
<h4 id="org49086db"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgc9b799d" class="outline-4">
<h4 id="orgc9b799d"><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
@ -3361,12 +3361,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-org913137e" class="outline-5">
<h5 id="org913137e"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-orgdd90f4d" class="outline-5">
<h5 id="orgdd90f4d"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org7dbaf11" class="outline-5">
<h5 id="org7dbaf11"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org80d97aa" class="outline-5">
<h5 id="org80d97aa"><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>
@ -3608,8 +3608,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-orgbd1625b" class="outline-4">
<h4 id="orgbd1625b"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org7200f27" class="outline-4">
<h4 id="org7200f27"><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>.
@ -3705,8 +3705,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org489f36f" class="outline-4">
<h4 id="org489f36f"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-orge783f28" class="outline-4">
<h4 id="orge783f28"><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>) -&gt; <span style="color: #008b8b;">None</span>:
@ -3822,12 +3822,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org32b70bb" class="outline-3">
<h3 id="org32b70bb"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-org69e70d2" class="outline-3">
<h3 id="org69e70d2"><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-org726ffd9" class="outline-4">
<h4 id="org726ffd9"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org4fe4f42" class="outline-4">
<h4 id="org4fe4f42"><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.
@ -3867,16 +3867,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgaf46465" class="outline-4">
<h4 id="orgaf46465"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-orga339fbb" class="outline-4">
<h4 id="orga339fbb"><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-orgf25f27f" class="outline-5">
<h5 id="orgf25f27f"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-org54833e9" class="outline-5">
<h5 id="org54833e9"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org191bd97" class="outline-5">
<h5 id="org191bd97"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-orge2ea01a" class="outline-5">
<h5 id="orge2ea01a"><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>
@ -3976,8 +3976,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org6c71d15" class="outline-4">
<h4 id="org6c71d15"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-orgaecbf84" class="outline-4">
<h4 id="orgaecbf84"><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.
@ -4054,8 +4054,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org4fa4f16" class="outline-4">
<h4 id="org4fa4f16"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-orgeff21aa" class="outline-4">
<h4 id="orgeff21aa"><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>) -&gt; <span style="color: #008b8b;">None</span>:
@ -4145,8 +4145,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orga3f42a3" class="outline-2">
<h2 id="orga3f42a3"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org7570260" class="outline-2">
<h2 id="org7570260"><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.
@ -4281,7 +4281,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -317,27 +317,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org4c9efee">1. HDF5 back end</a>
<li><a href="#orgdeaa967">1. HDF5 back end</a>
<ul>
<li><a href="#orgeef4f7f">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org90403f5">1.2. Template for HDF5 structures</a></li>
<li><a href="#org5d61539">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org83f86df">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org9b88311">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgb9ec75d">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org04255d5">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#org27c836f">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgd1ec066">1.2. Template for HDF5 structures</a></li>
<li><a href="#orgabd10bf">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org827b3c8">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgad8fb72">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org206bdfd">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org3ba3204">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org4c9efee" class="outline-2">
<h2 id="org4c9efee"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgdeaa967" class="outline-2">
<h2 id="orgdeaa967"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgeef4f7f" class="outline-3">
<h3 id="orgeef4f7f"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org27c836f" class="outline-3">
<h3 id="org27c836f"><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>
@ -349,8 +349,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org90403f5" class="outline-3">
<h3 id="org90403f5"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-orgd1ec066" class="outline-3">
<h3 id="orgd1ec066"><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> {
@ -364,8 +364,8 @@ for the JavaScript code in this tag.
</div>
<div id="outline-container-org5d61539" class="outline-3">
<h3 id="org5d61539"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-orgabd10bf" class="outline-3">
<h3 id="orgabd10bf"><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>
@ -445,8 +445,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org83f86df" class="outline-3">
<h3 id="org83f86df"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org827b3c8" class="outline-3">
<h3 id="org827b3c8"><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>
@ -540,8 +540,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org9b88311" class="outline-3">
<h3 id="org9b88311"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgad8fb72" class="outline-3">
<h3 id="orgad8fb72"><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>
@ -664,8 +664,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgb9ec75d" class="outline-3">
<h3 id="orgb9ec75d"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-org206bdfd" class="outline-3">
<h3 id="org206bdfd"><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>
@ -870,8 +870,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org04255d5" class="outline-3">
<h3 id="org04255d5"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org3ba3204" class="outline-3">
<h3 id="org3ba3204"><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>
@ -998,7 +998,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -317,26 +317,26 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org99189bc">1. TEXT back end</a>
<li><a href="#org105743e">1. TEXT back end</a>
<ul>
<li><a href="#org556825c">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgf2f4495">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgbe1f50a">1.3. Initialize function (constant part)</a></li>
<li><a href="#orge399494">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org9fd662d">1.5. Template for text read struct</a></li>
<li><a href="#org59027c5">1.6. Template for text flush struct</a></li>
<li><a href="#org317c714">1.7. Template for text free memory</a></li>
<li><a href="#orgb918b91">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org42aa2ba">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgfb569aa">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org27b0e50">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org472e89b">1.12. RDM struct (hard-coded)</a>
<li><a href="#org4a38f37">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org686e3b8">1.2. Template for general structure in text back end</a></li>
<li><a href="#org60f36de">1.3. Initialize function (constant part)</a></li>
<li><a href="#org0c646fb">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orga3db23e">1.5. Template for text read struct</a></li>
<li><a href="#orgedb6207">1.6. Template for text flush struct</a></li>
<li><a href="#org7ab2d26">1.7. Template for text free memory</a></li>
<li><a href="#orgfaa6e6e">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#orgba37cd9">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orge4600c9">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgf6c0e89">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgb5bc487">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#org5961e0c">1.12.1. Read the complete struct</a></li>
<li><a href="#org1643573">1.12.2. Flush the complete struct</a></li>
<li><a href="#org829a663">1.12.3. Free memory</a></li>
<li><a href="#orge18068a">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#orgcb38010">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org279adf0">1.12.1. Read the complete struct</a></li>
<li><a href="#org9f0687b">1.12.2. Flush the complete struct</a></li>
<li><a href="#org54b8013">1.12.3. Free memory</a></li>
<li><a href="#org4559076">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org470a088">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
</ul>
</li>
</ul>
@ -345,8 +345,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-org99189bc" class="outline-2">
<h2 id="org99189bc"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org105743e" class="outline-2">
<h2 id="org105743e"><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
@ -367,8 +367,8 @@ The file is written when closed, or when the flush function is called.
</p>
</div>
<div id="outline-container-org556825c" class="outline-3">
<h3 id="org556825c"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org4a38f37" class="outline-3">
<h3 id="org4a38f37"><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 {
@ -387,8 +387,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgf2f4495" class="outline-3">
<h3 id="orgf2f4495"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org686e3b8" class="outline-3">
<h3 id="org686e3b8"><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> {
@ -414,8 +414,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgbe1f50a" class="outline-3">
<h3 id="orgbe1f50a"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org60f36de" class="outline-3">
<h3 id="org60f36de"><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>
@ -516,8 +516,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orge399494" class="outline-3">
<h3 id="orge399494"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-org0c646fb" class="outline-3">
<h3 id="org0c646fb"><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>
@ -542,8 +542,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org9fd662d" class="outline-3">
<h3 id="org9fd662d"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orga3db23e" class="outline-3">
<h3 id="orga3db23e"><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*
@ -837,8 +837,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org59027c5" class="outline-3">
<h3 id="org59027c5"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgedb6207" class="outline-3">
<h3 id="orgedb6207"><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>
@ -903,8 +903,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org317c714" class="outline-3">
<h3 id="org317c714"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org7ab2d26" class="outline-3">
<h3 id="org7ab2d26"><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.
@ -949,8 +949,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-orgb918b91" class="outline-3">
<h3 id="orgb918b91"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-orgfaa6e6e" class="outline-3">
<h3 id="orgfaa6e6e"><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>
@ -1013,8 +1013,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org42aa2ba" class="outline-3">
<h3 id="org42aa2ba"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgba37cd9" class="outline-3">
<h3 id="orgba37cd9"><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.
@ -1110,8 +1110,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-orgfb569aa" class="outline-3">
<h3 id="orgfb569aa"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-orge4600c9" class="outline-3">
<h3 id="orge4600c9"><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.
@ -1212,8 +1212,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org27b0e50" class="outline-3">
<h3 id="org27b0e50"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-orgf6c0e89" class="outline-3">
<h3 id="orgf6c0e89"><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>
@ -1287,12 +1287,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org472e89b" class="outline-3">
<h3 id="org472e89b"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-orgb5bc487" class="outline-3">
<h3 id="orgb5bc487"><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-org5961e0c" class="outline-4">
<h4 id="org5961e0c"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org279adf0" class="outline-4">
<h4 id="org279adf0"><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>);
@ -1387,8 +1387,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org1643573" class="outline-4">
<h4 id="org1643573"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org9f0687b" class="outline-4">
<h4 id="org9f0687b"><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>);
@ -1430,8 +1430,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org829a663" class="outline-4">
<h4 id="org829a663"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org54b8013" class="outline-4">
<h4 id="org54b8013"><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.
@ -1467,8 +1467,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-orge18068a" class="outline-4">
<h4 id="orge18068a"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org4559076" class="outline-4">
<h4 id="org4559076"><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.
@ -1534,8 +1534,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-orgcb38010" class="outline-4">
<h4 id="orgcb38010"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org470a088" class="outline-4">
<h4 id="org470a088"><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
@ -1643,7 +1643,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

118
trex.html
View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-07 Thu 07:56 -->
<!-- 2021-10-08 Fri 11:57 -->
<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>
@ -339,28 +339,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgbb5c7e5">1. Metadata (metadata group)</a></li>
<li><a href="#orgea8ee3f">2. Electron (electron group)</a></li>
<li><a href="#orgf596093">3. Nucleus (nucleus group)</a></li>
<li><a href="#orgf550c5a">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org4a6f31a">5. Basis set (basis group)</a></li>
<li><a href="#org7f62db5">6. Atomic orbitals (ao group)</a>
<li><a href="#orge661bf8">1. Metadata (metadata group)</a></li>
<li><a href="#orgc5b2273">2. Electron (electron group)</a></li>
<li><a href="#orga61db8c">3. Nucleus (nucleus group)</a></li>
<li><a href="#orga09eb70">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org873078b">5. Basis set (basis group)</a></li>
<li><a href="#orgde32fe9">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="#org79f367c">7. Molecular orbitals (mo group)</a>
<li><a href="#orgd014fbc">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org88f55c0">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgcbe672f">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org10b534a">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org63b5f06">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org4bedcf1">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org53c6410">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org313c13e">10. Appendix</a>
<li><a href="#org3c004c8">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org6e73388">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#orgaa27d1a">10. Appendix</a>
<ul>
<li><a href="#orgd2b97f3">10.1. Python script from table to json</a></li>
<li><a href="#org5cd8430">10.1. Python script from table to json</a></li>
</ul>
</li>
</ul>
@ -402,8 +402,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-orgbb5c7e5" class="outline-2">
<h2 id="orgbb5c7e5"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orge661bf8" class="outline-2">
<h2 id="orge661bf8"><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
@ -413,7 +413,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="orga301cf3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5019901" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -480,15 +480,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-orgea8ee3f" class="outline-2">
<h2 id="orgea8ee3f"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-orgc5b2273" class="outline-2">
<h2 id="orgc5b2273"><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 &uarr; and &darr; electrons is fixed.
</p>
<table id="org93fe8a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org530e87b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -527,15 +527,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orgf596093" class="outline-2">
<h2 id="orgf596093"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orga61db8c" class="outline-2">
<h2 id="orga61db8c"><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="orgdee3bb9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgad475a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -595,8 +595,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-orgf550c5a" class="outline-2">
<h2 id="orgf550c5a"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orga09eb70" class="outline-2">
<h2 id="orga09eb70"><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
@ -624,7 +624,7 @@ The functions \(V_{A\ell}\) are parameterized as:
See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.4984046</a> for more info.
</p>
<table id="orgf89791d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org3ba9e9e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -733,8 +733,8 @@ See <a href="http://dx.doi.org/10.1063/1.4984046">http://dx.doi.org/10.1063/1.49
</div>
</div>
<div id="outline-container-org4a6f31a" class="outline-2">
<h2 id="org4a6f31a"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org873078b" class="outline-2">
<h2 id="org873078b"><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
@ -787,7 +787,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="org455448e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge8ddbd5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -956,8 +956,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org7f62db5" class="outline-2">
<h2 id="org7f62db5"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-orgde32fe9" class="outline-2">
<h2 id="orgde32fe9"><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
@ -1005,13 +1005,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="#org4a6f31a">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org873078b">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="org4b5380d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6eddd94" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1063,8 +1063,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org6148606" class="outline-3">
<h3 id="ao_one_e"><a id="org6148606"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org25b23b0" class="outline-3">
<h3 id="ao_one_e"><a id="org25b23b0"></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}}
@ -1082,7 +1082,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org14fcebe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org60b4c53" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1149,8 +1149,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org13aabcf" class="outline-3">
<h3 id="ao_two_e"><a id="org13aabcf"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-orgcffcec1" class="outline-3">
<h3 id="ao_two_e"><a id="orgcffcec1"></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
@ -1171,7 +1171,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="orgc9ac16b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdd32127" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1211,10 +1211,10 @@ notation.
</div>
</div>
<div id="outline-container-org79f367c" class="outline-2">
<h2 id="org79f367c"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-orgd014fbc" class="outline-2">
<h2 id="orgd014fbc"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org8dd9cc9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga30ed1f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1280,8 +1280,8 @@ notation.
</table>
</div>
<div id="outline-container-org88f55c0" class="outline-3">
<h3 id="org88f55c0"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org10b534a" class="outline-3">
<h3 id="org10b534a"><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
@ -1289,7 +1289,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orgf25918d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org82fcb7e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1356,8 +1356,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgcbe672f" class="outline-3">
<h3 id="orgcbe672f"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org63b5f06" class="outline-3">
<h3 id="org63b5f06"><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
@ -1365,7 +1365,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org7527db3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org1a67e16" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1405,13 +1405,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org4bedcf1" class="outline-2">
<h2 id="org4bedcf1"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org3c004c8" class="outline-2">
<h2 id="org3c004c8"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org53c6410" class="outline-2">
<h2 id="org53c6410"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org6e73388" class="outline-2">
<h2 id="org6e73388"><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="org92fc0f0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf0be787" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1464,15 +1464,15 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org313c13e" class="outline-2">
<h2 id="org313c13e"><span class="section-number-2">10</span> Appendix</h2>
<div id="outline-container-orgaa27d1a" class="outline-2">
<h2 id="orgaa27d1a"><span class="section-number-2">10</span> Appendix</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-orgd2b97f3" class="outline-3">
<h3 id="orgd2b97f3"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div id="outline-container-org5cd8430" class="outline-3">
<h3 id="org5cd8430"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div class="outline-text-3" id="text-10-1">
<div class="org-src-container">
<pre class="src src-python" id="orgcf23dce"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<pre class="src src-python" id="org680f26e"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">""" "%s": {"""</span>%(title))
<span style="color: #a0522d;">indent</span> = <span style="color: #8b2252;">" "</span>
<span style="color: #a0522d;">f1</span> = 0 ; <span style="color: #a0522d;">f2</span> = 0 ; <span style="color: #a0522d;">f3</span> = 0
@ -1525,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-07 Thu 07:56</p>
<p class="date">Created: 2021-10-08 Fri 11:57</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>