1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-11-04 05:03:58 +01:00

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

This commit is contained in:
q-posev 2021-10-25 11:40:35 +00:00
parent b40bf08e95
commit a00b475bc2
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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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="#orgc1f245f">1. Text back end</a></li>
<li><a href="#orga1c4496">2. HDF5 Back end</a></li>
<li><a href="#org20dedfd">1. Text back end</a></li>
<li><a href="#orge09deb8">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-orgc1f245f" class="outline-2">
<h2 id="orgc1f245f"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org20dedfd" class="outline-2">
<h2 id="org20dedfd"><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-orga1c4496" class="outline-2">
<h2 id="orga1c4496"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-orge09deb8" class="outline-2">
<h2 id="orge09deb8"><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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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="#org593e3f4">1. Coding conventions</a>
<li><a href="#org740c08e">1. Coding conventions</a>
<ul>
<li><a href="#orgd76b682">1.1. Memory allocation</a></li>
<li><a href="#org0e93b95">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orgda9226a">2. Front end</a>
<li><a href="#org2cd22c7">2. Front end</a>
<ul>
<li><a href="#orgc950a2a">2.1. Error handling</a>
<li><a href="#org1ee21b9">2.1. Error handling</a>
<ul>
<li><a href="#org61bc9c4">2.1.1. Decoding errors</a>
<li><a href="#orgc79ff68">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org32b0cff">2.1.1.1. C source code</a></li>
<li><a href="#org25379c9">2.1.1.2. Fortran interface</a></li>
<li><a href="#orgfda3486">2.1.1.3. Python interface</a></li>
<li><a href="#org8db56ae">2.1.1.1. C source code</a></li>
<li><a href="#org7907afc">2.1.1.2. Fortran interface</a></li>
<li><a href="#org5aa3819">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org37d065a">2.2. Back ends</a>
<li><a href="#org6c4c7b4">2.2. Back ends</a>
<ul>
<li><a href="#org2bec42c">2.2.1. C</a></li>
<li><a href="#orgc2afd7c">2.2.2. Fortran</a></li>
<li><a href="#orgb00cc18">2.2.3. Python</a></li>
<li><a href="#org37cacc6">2.2.1. C</a></li>
<li><a href="#org19d4800">2.2.2. Fortran</a></li>
<li><a href="#org08069d4">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#orgdee55ef">2.3. Read/write behavior</a></li>
<li><a href="#org2999bfe">2.4. TREXIO file type</a>
<li><a href="#org64f31a3">2.3. Read/write behavior</a></li>
<li><a href="#org647d64f">2.4. TREXIO file type</a>
<ul>
<li><a href="#org04fff03">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org1ccf595">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org3280da3">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org8fb3dc2">2.6. File opening</a>
<li><a href="#org9e7d7d8">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org6a83212">2.6. File opening</a>
<ul>
<li><a href="#org95654ff">2.6.1. C</a></li>
<li><a href="#orgd87bc73">2.6.2. Fortran</a></li>
<li><a href="#org1a6ee84">2.6.3. Python</a></li>
<li><a href="#orgb5a108e">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org93efadd">2.6.1. C</a></li>
<li><a href="#org867c729">2.6.2. Fortran</a></li>
<li><a href="#orgdbab59c">2.6.3. Python</a></li>
<li><a href="#org5278712">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#orge99539d">2.7. File closing</a>
<li><a href="#org6a3e271">2.7. File closing</a>
<ul>
<li><a href="#org27cf0ed">2.7.1. C</a></li>
<li><a href="#orgd8728da">2.7.2. Fortran</a></li>
<li><a href="#org304738e">2.7.3. Python</a></li>
<li><a href="#orgdc2af07">2.7.1. C</a></li>
<li><a href="#org4b7f352">2.7.2. Fortran</a></li>
<li><a href="#orgad6a674">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org1450ee5">3. Templates for front end</a>
<li><a href="#org54b0114">3. Templates for front end</a>
<ul>
<li><a href="#org53a7114">3.1. Description</a></li>
<li><a href="#org86b9a1c">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org90b4ace">3.1. Description</a></li>
<li><a href="#org4ace052">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#orgaf7d947">3.2.1. Introduction</a></li>
<li><a href="#org8a94afd">3.2.2. C templates for front end</a>
<li><a href="#orgb77bdbc">3.2.1. Introduction</a></li>
<li><a href="#org8ebd1ce">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org15c6312">3.2.2.1. Function declarations</a></li>
<li><a href="#orgc6a499f">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org8921445">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org8d38514">3.2.2.4. Source code for default functions</a></li>
<li><a href="#orgaf5a457">3.2.2.1. Function declarations</a></li>
<li><a href="#org1a1bd5a">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgc3e68a3">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org2363072">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org24b8ca8">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org7599af9">3.2.4. Python templates for front end</a></li>
<li><a href="#org58af722">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orga2248e6">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org2ba284c">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org152b0e9">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#orgc859af3">3.3.1. Introduction</a></li>
<li><a href="#orge37801e">3.3.2. C templates for front end</a>
<li><a href="#orgc7a4b18">3.3.1. Introduction</a></li>
<li><a href="#orgab1f18c">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org73b133f">3.3.2.1. Function declarations</a></li>
<li><a href="#org02fb74e">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orgc6b6941">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org06dc261">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org47264a3">3.3.2.5. Source code for default functions</a></li>
<li><a href="#org5fb8edb">3.3.2.1. Function declarations</a></li>
<li><a href="#orgab9f7d5">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org41781d1">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org1feb54a">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#org6689e2b">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org30d80e0">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org911af2d">3.3.4. Python templates for front end</a></li>
<li><a href="#org2c3ceac">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org7c303d3">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#orgacd5480">3.4. Sparse data structures</a></li>
<li><a href="#orgc034795">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org07ff2f0">3.4. Sparse data structures</a></li>
<li><a href="#orge48e012">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org51ce342">3.5.1. Introduction</a></li>
<li><a href="#orged1eb56">3.5.2. C templates for front end</a>
<li><a href="#org1c2a213">3.5.1. Introduction</a></li>
<li><a href="#org2b601ce">3.5.2. C templates for front end</a>
<ul>
<li><a href="#org62acd37">3.5.2.1. Function declarations</a></li>
<li><a href="#orge305fca">3.5.2.2. Source code for default functions</a></li>
<li><a href="#orga8fa748">3.5.2.1. Function declarations</a></li>
<li><a href="#org838650e">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org48052e5">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org4947f16">3.5.4. Python templates for front end</a></li>
<li><a href="#orga001761">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org5edce40">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org89d31ba">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgda7ab41">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org2fd89e7">3.6.1. Introduction</a></li>
<li><a href="#orgb12443e">3.6.2. C templates for front end</a>
<li><a href="#org897b5cf">3.6.1. Introduction</a></li>
<li><a href="#org66d9878">3.6.2. C templates for front end</a>
<ul>
<li><a href="#org0406f55">3.6.2.1. Function declarations</a></li>
<li><a href="#org8cd49b5">3.6.2.2. Source code for default functions</a></li>
<li><a href="#orgb09a129">3.6.2.1. Function declarations</a></li>
<li><a href="#org27748b6">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org8b0c32c">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgb2c820c">3.6.4. Python templates for front end</a></li>
<li><a href="#org77d1385">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org0b50074">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org4a82b08">4. Fortran helper/wrapper functions</a></li>
<li><a href="#orgaeef187">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org593e3f4" class="outline-2">
<h2 id="org593e3f4"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-org740c08e" class="outline-2">
<h2 id="org740c08e"><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-orgd76b682" class="outline-3">
<h3 id="orgd76b682"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org0e93b95" class="outline-3">
<h3 id="org0e93b95"><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-orgda9226a" class="outline-2">
<h2 id="orgda9226a"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org2cd22c7" class="outline-2">
<h2 id="org2cd22c7"><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-orgc950a2a" class="outline-3">
<h3 id="orgc950a2a"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org1ee21b9" class="outline-3">
<h3 id="org1ee21b9"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org8522892" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org4a67da9" 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-org61bc9c4" class="outline-4">
<h4 id="org61bc9c4"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-orgc79ff68" class="outline-4">
<h4 id="orgc79ff68"><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-org32b0cff" class="outline-5">
<h5 id="org32b0cff"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org8db56ae" class="outline-5">
<h5 id="org8db56ae"><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-org25379c9" class="outline-5">
<h5 id="org25379c9"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-org7907afc" class="outline-5">
<h5 id="org7907afc"><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-orgfda3486" class="outline-5">
<h5 id="orgfda3486"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org5aa3819" class="outline-5">
<h5 id="org5aa3819"><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-org37d065a" class="outline-3">
<h3 id="org37d065a"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org6c4c7b4" class="outline-3">
<h3 id="org6c4c7b4"><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-org2bec42c" class="outline-4">
<h4 id="org2bec42c"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org37cacc6" class="outline-4">
<h4 id="org37cacc6"><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-orgc2afd7c" class="outline-4">
<h4 id="orgc2afd7c"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org19d4800" class="outline-4">
<h4 id="org19d4800"><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-orgb00cc18" class="outline-4">
<h4 id="orgb00cc18"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org08069d4" class="outline-4">
<h4 id="org08069d4"><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-orgdee55ef" class="outline-3">
<h3 id="orgdee55ef"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org64f31a3" class="outline-3">
<h3 id="org64f31a3"><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-org2999bfe" class="outline-3">
<h3 id="org2999bfe"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org647d64f" class="outline-3">
<h3 id="org647d64f"><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-org04fff03" class="outline-4">
<h4 id="org04fff03"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org1ccf595" class="outline-4">
<h4 id="org1ccf595"><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-org3280da3" class="outline-3">
<h3 id="org3280da3"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-org9e7d7d8" class="outline-3">
<h3 id="org9e7d7d8"><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-org8fb3dc2" class="outline-3">
<h3 id="org8fb3dc2"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org6a83212" class="outline-3">
<h3 id="org6a83212"><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-org95654ff" class="outline-4">
<h4 id="org95654ff"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org93efadd" class="outline-4">
<h4 id="org93efadd"><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-orgd87bc73" class="outline-4">
<h4 id="orgd87bc73"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-org867c729" class="outline-4">
<h4 id="org867c729"><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-org1a6ee84" class="outline-4">
<h4 id="org1a6ee84"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-orgdbab59c" class="outline-4">
<h4 id="orgdbab59c"><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-orgb5a108e" class="outline-4">
<h4 id="orgb5a108e"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org5278712" class="outline-4">
<h4 id="org5278712"><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-orge99539d" class="outline-3">
<h3 id="orge99539d"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org6a3e271" class="outline-3">
<h3 id="org6a3e271"><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-org27cf0ed" class="outline-4">
<h4 id="org27cf0ed"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orgdc2af07" class="outline-4">
<h4 id="orgdc2af07"><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-orgd8728da" class="outline-4">
<h4 id="orgd8728da"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-org4b7f352" class="outline-4">
<h4 id="org4b7f352"><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-org304738e" class="outline-4">
<h4 id="org304738e"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgad6a674" class="outline-4">
<h4 id="orgad6a674"><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-org1450ee5" class="outline-2">
<h2 id="org1450ee5"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org54b0114" class="outline-2">
<h2 id="org54b0114"><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-org53a7114" class="outline-3">
<h3 id="org53a7114"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org90b4ace" class="outline-3">
<h3 id="org90b4ace"><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-org86b9a1c" class="outline-3">
<h3 id="org86b9a1c"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-org4ace052" class="outline-3">
<h3 id="org4ace052"><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-orgaf7d947" class="outline-4">
<h4 id="orgaf7d947"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-orgb77bdbc" class="outline-4">
<h4 id="orgb77bdbc"><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-org8a94afd" class="outline-4">
<h4 id="org8a94afd"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org8ebd1ce" class="outline-4">
<h4 id="org8ebd1ce"><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-org15c6312" class="outline-5">
<h5 id="org15c6312"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-orgaf5a457" class="outline-5">
<h5 id="orgaf5a457"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgc6a499f" class="outline-5">
<h5 id="orgc6a499f"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org1a1bd5a" class="outline-5">
<h5 id="org1a1bd5a"><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-org8921445" class="outline-5">
<h5 id="org8921445"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orgc3e68a3" class="outline-5">
<h5 id="orgc3e68a3"><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-org8d38514" class="outline-5">
<h5 id="org8d38514"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org2363072" class="outline-5">
<h5 id="org2363072"><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-org24b8ca8" class="outline-4">
<h4 id="org24b8ca8"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-org58af722" class="outline-4">
<h4 id="org58af722"><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-org7599af9" class="outline-4">
<h4 id="org7599af9"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-orga2248e6" class="outline-4">
<h4 id="orga2248e6"><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>:
@ -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-org2ba284c" class="outline-3">
<h3 id="org2ba284c"><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-org152b0e9" class="outline-3">
<h3 id="org152b0e9"><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-orgc859af3" class="outline-4">
<h4 id="orgc859af3"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-orgc7a4b18" class="outline-4">
<h4 id="orgc7a4b18"><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-orge37801e" class="outline-4">
<h4 id="orge37801e"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgab1f18c" class="outline-4">
<h4 id="orgab1f18c"><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-org73b133f" class="outline-5">
<h5 id="org73b133f"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-org5fb8edb" class="outline-5">
<h5 id="org5fb8edb"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org02fb74e" class="outline-5">
<h5 id="org02fb74e"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgab9f7d5" class="outline-5">
<h5 id="orgab9f7d5"><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-orgc6b6941" class="outline-5">
<h5 id="orgc6b6941"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org41781d1" class="outline-5">
<h5 id="org41781d1"><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-org06dc261" class="outline-5">
<h5 id="org06dc261"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-org1feb54a" class="outline-5">
<h5 id="org1feb54a"><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="orgd5d711a"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org9d170d3"><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, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org47264a3" class="outline-5">
<h5 id="org47264a3"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-org6689e2b" class="outline-5">
<h5 id="org6689e2b"><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, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-org30d80e0" class="outline-4">
<h4 id="org30d80e0"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org2c3ceac" class="outline-4">
<h4 id="org2c3ceac"><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-org911af2d" class="outline-4">
<h4 id="org911af2d"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org7c303d3" class="outline-4">
<h4 id="org7c303d3"><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>:
@ -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-orgacd5480" class="outline-3">
<h3 id="orgacd5480"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org07ff2f0" class="outline-3">
<h3 id="org07ff2f0"><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-orgc034795" class="outline-3">
<h3 id="orgc034795"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-orge48e012" class="outline-3">
<h3 id="orge48e012"><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-org51ce342" class="outline-4">
<h4 id="org51ce342"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org1c2a213" class="outline-4">
<h4 id="org1c2a213"><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-orged1eb56" class="outline-4">
<h4 id="orged1eb56"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-org2b601ce" class="outline-4">
<h4 id="org2b601ce"><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-org62acd37" class="outline-5">
<h5 id="org62acd37"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-orga8fa748" class="outline-5">
<h5 id="orga8fa748"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orge305fca" class="outline-5">
<h5 id="orge305fca"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org838650e" class="outline-5">
<h5 id="org838650e"><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-org48052e5" class="outline-4">
<h4 id="org48052e5"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-orga001761" class="outline-4">
<h4 id="orga001761"><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-org4947f16" class="outline-4">
<h4 id="org4947f16"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-org5edce40" class="outline-4">
<h4 id="org5edce40"><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>:
@ -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-org89d31ba" class="outline-3">
<h3 id="org89d31ba"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgda7ab41" class="outline-3">
<h3 id="orgda7ab41"><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-org2fd89e7" class="outline-4">
<h4 id="org2fd89e7"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org897b5cf" class="outline-4">
<h4 id="org897b5cf"><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-orgb12443e" class="outline-4">
<h4 id="orgb12443e"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org66d9878" class="outline-4">
<h4 id="org66d9878"><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-org0406f55" class="outline-5">
<h5 id="org0406f55"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-orgb09a129" class="outline-5">
<h5 id="orgb09a129"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org8cd49b5" class="outline-5">
<h5 id="org8cd49b5"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-org27748b6" class="outline-5">
<h5 id="org27748b6"><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-org8b0c32c" class="outline-4">
<h4 id="org8b0c32c"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org77d1385" class="outline-4">
<h4 id="org77d1385"><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-orgb2c820c" class="outline-4">
<h4 id="orgb2c820c"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-org0b50074" class="outline-4">
<h4 id="org0b50074"><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>:
@ -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-org4a82b08" class="outline-2">
<h2 id="org4a82b08"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-orgaeef187" class="outline-2">
<h2 id="orgaeef187"><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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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="#org74bd637">1. HDF5 back end</a>
<li><a href="#org6325b54">1. HDF5 back end</a>
<ul>
<li><a href="#orgf1c8c4d">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org93ade29">1.2. Template for HDF5 structures</a></li>
<li><a href="#org3269d52">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org0b0a932">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orga0fb567">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgc75fa65">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org7777747">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#org9b38088">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org9682be7">1.2. Template for HDF5 structures</a></li>
<li><a href="#org9f5c9d8">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orgf23eee7">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org052cdfb">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgea82545">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#orgcc4451d">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org74bd637" class="outline-2">
<h2 id="org74bd637"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-org6325b54" class="outline-2">
<h2 id="org6325b54"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgf1c8c4d" class="outline-3">
<h3 id="orgf1c8c4d"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org9b38088" class="outline-3">
<h3 id="org9b38088"><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-org93ade29" class="outline-3">
<h3 id="org93ade29"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org9682be7" class="outline-3">
<h3 id="org9682be7"><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-org3269d52" class="outline-3">
<h3 id="org3269d52"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org9f5c9d8" class="outline-3">
<h3 id="org9f5c9d8"><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-org0b0a932" class="outline-3">
<h3 id="org0b0a932"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-orgf23eee7" class="outline-3">
<h3 id="orgf23eee7"><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-orga0fb567" class="outline-3">
<h3 id="orga0fb567"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-org052cdfb" class="outline-3">
<h3 id="org052cdfb"><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-orgc75fa65" class="outline-3">
<h3 id="orgc75fa65"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-orgea82545" class="outline-3">
<h3 id="orgea82545"><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-org7777747" class="outline-3">
<h3 id="org7777747"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-orgcc4451d" class="outline-3">
<h3 id="orgcc4451d"><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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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="#orgd4b82ab">1. TEXT back end</a>
<li><a href="#org648530d">1. TEXT back end</a>
<ul>
<li><a href="#orgf0c01d0">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org44b2f77">1.2. Template for general structure in text back end</a></li>
<li><a href="#org5bb3435">1.3. Initialize function (constant part)</a></li>
<li><a href="#org30f9986">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org62720ca">1.5. Template for text read struct</a></li>
<li><a href="#orga884b4a">1.6. Template for text flush struct</a></li>
<li><a href="#org09e2d55">1.7. Template for text free memory</a></li>
<li><a href="#orge026a55">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#orga90f054">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org7df4992">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org87fd118">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#orgde591e2">1.12. RDM struct (hard-coded)</a>
<li><a href="#org5e031d6">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org7abf142">1.2. Template for general structure in text back end</a></li>
<li><a href="#org4586757">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgec78b04">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org240b0c4">1.5. Template for text read struct</a></li>
<li><a href="#orgabab9a1">1.6. Template for text flush struct</a></li>
<li><a href="#org7e12d9b">1.7. Template for text free memory</a></li>
<li><a href="#orgb5dacc0">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org0a63ace">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org635f474">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org3b0b722">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org19ea838">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orgcf93e53">1.12.1. Read the complete struct</a></li>
<li><a href="#org1d7b01e">1.12.2. Flush the complete struct</a></li>
<li><a href="#org1400c82">1.12.3. Free memory</a></li>
<li><a href="#org01336c1">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org1ea7aed">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org401fd65">1.12.1. Read the complete struct</a></li>
<li><a href="#org51dc782">1.12.2. Flush the complete struct</a></li>
<li><a href="#org36ab6bf">1.12.3. Free memory</a></li>
<li><a href="#orgfbfab87">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org0cfe641">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-orgd4b82ab" class="outline-2">
<h2 id="orgd4b82ab"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org648530d" class="outline-2">
<h2 id="org648530d"><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-orgf0c01d0" class="outline-3">
<h3 id="orgf0c01d0"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org5e031d6" class="outline-3">
<h3 id="org5e031d6"><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-org44b2f77" class="outline-3">
<h3 id="org44b2f77"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org7abf142" class="outline-3">
<h3 id="org7abf142"><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-org5bb3435" class="outline-3">
<h3 id="org5bb3435"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org4586757" class="outline-3">
<h3 id="org4586757"><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-org30f9986" class="outline-3">
<h3 id="org30f9986"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orgec78b04" class="outline-3">
<h3 id="orgec78b04"><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-org62720ca" class="outline-3">
<h3 id="org62720ca"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-org240b0c4" class="outline-3">
<h3 id="org240b0c4"><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-orga884b4a" class="outline-3">
<h3 id="orga884b4a"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgabab9a1" class="outline-3">
<h3 id="orgabab9a1"><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-org09e2d55" class="outline-3">
<h3 id="org09e2d55"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-org7e12d9b" class="outline-3">
<h3 id="org7e12d9b"><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-orge026a55" class="outline-3">
<h3 id="orge026a55"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-orgb5dacc0" class="outline-3">
<h3 id="orgb5dacc0"><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-orga90f054" class="outline-3">
<h3 id="orga90f054"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org0a63ace" class="outline-3">
<h3 id="org0a63ace"><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-org7df4992" class="outline-3">
<h3 id="org7df4992"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org635f474" class="outline-3">
<h3 id="org635f474"><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-org87fd118" class="outline-3">
<h3 id="org87fd118"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org3b0b722" class="outline-3">
<h3 id="org3b0b722"><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-orgde591e2" class="outline-3">
<h3 id="orgde591e2"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org19ea838" class="outline-3">
<h3 id="org19ea838"><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-orgcf93e53" class="outline-4">
<h4 id="orgcf93e53"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org401fd65" class="outline-4">
<h4 id="org401fd65"><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-org1d7b01e" class="outline-4">
<h4 id="org1d7b01e"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org51dc782" class="outline-4">
<h4 id="org51dc782"><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-org1400c82" class="outline-4">
<h4 id="org1400c82"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org36ab6bf" class="outline-4">
<h4 id="org36ab6bf"><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-org01336c1" class="outline-4">
<h4 id="org01336c1"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-orgfbfab87" class="outline-4">
<h4 id="orgfbfab87"><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-org1ea7aed" class="outline-4">
<h4 id="org1ea7aed"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org0cfe641" class="outline-4">
<h4 id="org0cfe641"><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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</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-25 Mon 10:18 -->
<!-- 2021-10-25 Mon 11:40 -->
<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,33 +333,33 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org215ffbe">1. Metadata (metadata group)</a></li>
<li><a href="#org5d76ce1">2. Electron (electron group)</a></li>
<li><a href="#orgf7b573f">3. Nucleus (nucleus group)</a></li>
<li><a href="#org715176f">4. Effective core potentials (ecp group)</a>
<li><a href="#orgdbb693a">1. Metadata (metadata group)</a></li>
<li><a href="#orgaa3657f">2. Electron (electron group)</a></li>
<li><a href="#orgfb77207">3. Nucleus (nucleus group)</a></li>
<li><a href="#org296dd24">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org390ec1a">4.1. Example</a></li>
<li><a href="#org0ef06fa">4.1. Example</a></li>
</ul>
</li>
<li><a href="#orgffd628b">5. Basis set (basis group)</a>
<li><a href="#orgf927dde">5. Basis set (basis group)</a>
<ul>
<li><a href="#org0c8724b">5.1. Example</a></li>
<li><a href="#orge1d1b64">5.1. Example</a></li>
</ul>
</li>
<li><a href="#org5b39eab">6. Atomic orbitals (ao group)</a>
<li><a href="#org6e26c51">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="#org1b6ef42">7. Molecular orbitals (mo group)</a>
<li><a href="#org5e5bd84">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org7000c46">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org4e56dd7">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#orga3fea09">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org69e9732">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#orga005fee">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org5ae35c8">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org89e49af">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#orgf2ac79a">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
</ul>
</div>
</div>
@ -399,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-org215ffbe" class="outline-2">
<h2 id="org215ffbe"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orgdbb693a" class="outline-2">
<h2 id="orgdbb693a"><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
@ -410,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="orgdfb6fb0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org845cb4c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -477,15 +477,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org5d76ce1" class="outline-2">
<h2 id="org5d76ce1"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-orgaa3657f" class="outline-2">
<h2 id="orgaa3657f"><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="org06308fd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5e275fe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -524,15 +524,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-orgf7b573f" class="outline-2">
<h2 id="orgf7b573f"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-orgfb77207" class="outline-2">
<h2 id="orgfb77207"><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="org4e293cc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org88bb545" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -592,8 +592,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org715176f" class="outline-2">
<h2 id="org715176f"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-org296dd24" class="outline-2">
<h2 id="org296dd24"><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
@ -626,7 +626,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> or <a href="https://doi.org/10.1063/1.5121006">https://doi.org/10.1063/1.5121006</a> for more info.
</p>
<table id="orgb169861" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfd8a8b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -724,8 +724,8 @@ The latter causes issues when written before <code>ang_mom</code> in the TREXIO
</p>
</div>
<div id="outline-container-org390ec1a" class="outline-3">
<h3 id="org390ec1a"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org0ef06fa" class="outline-3">
<h3 id="org0ef06fa"><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
@ -788,8 +788,8 @@ power = [
</div>
</div>
<div id="outline-container-orgffd628b" class="outline-2">
<h2 id="orgffd628b"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-orgf927dde" class="outline-2">
<h2 id="orgf927dde"><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
@ -842,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="org52f278b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org117b345" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -936,8 +936,8 @@ All the basis set parameters are stored in one-dimensional arrays:
</table>
</div>
<div id="outline-container-org0c8724b" class="outline-3">
<h3 id="org0c8724b"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-orge1d1b64" class="outline-3">
<h3 id="orge1d1b64"><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
@ -979,7 +979,7 @@ nucleus_index =
1, 1, 1, 1, 1, 1 ]
# 3 shells in S (l=0), 2 in P (l=1), 1 in D (l=2)
ang_mom =
shell_ang_mom =
[ 0, 0, 0, 1, 1, 2,
0, 0, 0, 1, 1, 2 ]
@ -1015,8 +1015,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org5b39eab" class="outline-2">
<h2 id="org5b39eab"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org6e26c51" class="outline-2">
<h2 id="org6e26c51"><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
@ -1064,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="#orgffd628b">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#orgf927dde">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="orgee2eb62" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org34d89b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1122,8 +1122,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org0dac57d" class="outline-3">
<h3 id="ao_one_e"><a id="org0dac57d"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org85101eb" class="outline-3">
<h3 id="ao_one_e"><a id="org85101eb"></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}}
@ -1141,7 +1141,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org6357cbe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd651eec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgf647f0a" class="outline-3">
<h3 id="ao_two_e"><a id="orgf647f0a"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-orgbaa5f5c" class="outline-3">
<h3 id="ao_two_e"><a id="orgbaa5f5c"></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
@ -1230,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="orgd18c911" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7df47e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-org1b6ef42" class="outline-2">
<h2 id="org1b6ef42"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org5e5bd84" class="outline-2">
<h2 id="org5e5bd84"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org2d50dd9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgcda49fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-org7000c46" class="outline-3">
<h3 id="org7000c46"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-orga3fea09" class="outline-3">
<h3 id="orga3fea09"><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
@ -1348,7 +1348,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orgcc8d117" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org93a0d8b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1415,8 +1415,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org4e56dd7" class="outline-3">
<h3 id="org4e56dd7"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org69e9732" class="outline-3">
<h3 id="org69e9732"><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
@ -1424,7 +1424,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org1f4799c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6b8c051" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1464,13 +1464,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orga005fee" class="outline-2">
<h2 id="orga005fee"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org89e49af" class="outline-2">
<h2 id="org89e49af"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org5ae35c8" class="outline-2">
<h2 id="org5ae35c8"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-orgf2ac79a" class="outline-2">
<h2 id="orgf2ac79a"><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="orgf5db338" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgaeb15bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -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-25 Mon 10:18</p>
<p class="date">Created: 2021-10-25 Mon 11:40</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>