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@b5d513ae36 🚀

This commit is contained in:
q-posev 2021-09-24 08:06:38 +00:00
parent ae6e5e7878
commit 1ad1875f85
8 changed files with 344 additions and 344 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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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="#org3bac473">1. Text back end</a></li>
<li><a href="#orge8cbf73">2. HDF5 Back end</a></li>
<li><a href="#org190d2f4">1. Text back end</a></li>
<li><a href="#org65925d6">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-org3bac473" class="outline-2">
<h2 id="org3bac473"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org190d2f4" class="outline-2">
<h2 id="org190d2f4"><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-orge8cbf73" class="outline-2">
<h2 id="orge8cbf73"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org65925d6" class="outline-2">
<h2 id="org65925d6"><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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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="#orgcbbba01">1. Coding conventions</a>
<li><a href="#orge6d40ef">1. Coding conventions</a>
<ul>
<li><a href="#org4e1757b">1.1. Memory allocation</a></li>
<li><a href="#org8cf9921">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#org307959e">2. Front end</a>
<li><a href="#orgeb174aa">2. Front end</a>
<ul>
<li><a href="#org2b1ede5">2.1. Error handling</a>
<li><a href="#orgf2e5d0b">2.1. Error handling</a>
<ul>
<li><a href="#org2a8d206">2.1.1. Decoding errors</a>
<li><a href="#org5e02bcb">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org7cac5f1">2.1.1.1. C source code</a></li>
<li><a href="#org8634ced">2.1.1.2. Fortran interface</a></li>
<li><a href="#org851e209">2.1.1.3. Python interface</a></li>
<li><a href="#org0baf5b4">2.1.1.1. C source code</a></li>
<li><a href="#orgf31c3ed">2.1.1.2. Fortran interface</a></li>
<li><a href="#org3513a5d">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org10095cd">2.2. Back ends</a>
<li><a href="#org3ee4132">2.2. Back ends</a>
<ul>
<li><a href="#org64b128b">2.2.1. C</a></li>
<li><a href="#org11e3934">2.2.2. Fortran</a></li>
<li><a href="#org3f9bbc2">2.2.3. Python</a></li>
<li><a href="#org2564d42">2.2.1. C</a></li>
<li><a href="#org0c3c8dc">2.2.2. Fortran</a></li>
<li><a href="#orga8769dd">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#org2e1fb6d">2.3. Read/write behavior</a></li>
<li><a href="#orgd840d66">2.4. TREXIO file type</a>
<li><a href="#org8dd8923">2.3. Read/write behavior</a></li>
<li><a href="#orgb1fbb47">2.4. TREXIO file type</a>
<ul>
<li><a href="#org9029648">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#orgc076d8d">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org792f1c2">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgf0d1bcf">2.6. File opening</a>
<li><a href="#orga1927ad">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org0511c45">2.6. File opening</a>
<ul>
<li><a href="#orgeaa08cb">2.6.1. C</a></li>
<li><a href="#orgcd74427">2.6.2. Fortran</a></li>
<li><a href="#org89bc5b7">2.6.3. Python</a></li>
<li><a href="#org554afde">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org38996c9">2.6.1. C</a></li>
<li><a href="#org2d577fa">2.6.2. Fortran</a></li>
<li><a href="#orgc308b03">2.6.3. Python</a></li>
<li><a href="#orgfda21b7">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#org06ca21c">2.7. File closing</a>
<li><a href="#org8b08843">2.7. File closing</a>
<ul>
<li><a href="#org1893293">2.7.1. C</a></li>
<li><a href="#org5d2eeb2">2.7.2. Fortran</a></li>
<li><a href="#org2af3df8">2.7.3. Python</a></li>
<li><a href="#orga595c51">2.7.1. C</a></li>
<li><a href="#orge6a8363">2.7.2. Fortran</a></li>
<li><a href="#org6d2eb9c">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org120e17f">3. Templates for front end</a>
<li><a href="#org8a6d057">3. Templates for front end</a>
<ul>
<li><a href="#org653fabd">3.1. Description</a></li>
<li><a href="#orgd3c0211">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org5d42594">3.1. Description</a></li>
<li><a href="#org900dc86">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#orgcd2c751">3.2.1. Introduction</a></li>
<li><a href="#orgedfc108">3.2.2. C templates for front end</a>
<li><a href="#org31c29c0">3.2.1. Introduction</a></li>
<li><a href="#orgcd1853f">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org3840d64">3.2.2.1. Function declarations</a></li>
<li><a href="#orgc79ce95">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgaa07afa">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org875bdf2">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org47302c2">3.2.2.1. Function declarations</a></li>
<li><a href="#org6f70115">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org9736201">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orge8285a0">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org386dfe6">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org509cbaa">3.2.4. Python templates for front end</a></li>
<li><a href="#orga65cca9">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org1922bc8">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#orge003211">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org27c1425">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org47d9b00">3.3.1. Introduction</a></li>
<li><a href="#org563d979">3.3.2. C templates for front end</a>
<li><a href="#orgcc0595b">3.3.1. Introduction</a></li>
<li><a href="#org12b314d">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org16a2822">3.3.2.1. Function declarations</a></li>
<li><a href="#orga5e0152">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org68847af">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org8742b9e">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orge9c5672">3.3.2.5. Source code for default functions</a></li>
<li><a href="#org3103bae">3.3.2.1. Function declarations</a></li>
<li><a href="#org0a8782e">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#orga67b9d2">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgfc20175">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgeeb11da">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orga136ab0">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orgb701dec">3.3.4. Python templates for front end</a></li>
<li><a href="#org8c31373">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org24588f5">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org5f901f7">3.4. Sparse data structures</a></li>
<li><a href="#org84f236a">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org56044bb">3.4. Sparse data structures</a></li>
<li><a href="#org2680da5">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org6abf9e2">3.5.1. Introduction</a></li>
<li><a href="#orgda036b6">3.5.2. C templates for front end</a>
<li><a href="#orga75618f">3.5.1. Introduction</a></li>
<li><a href="#orgdcac756">3.5.2. C templates for front end</a>
<ul>
<li><a href="#orgcccd5b6">3.5.2.1. Function declarations</a></li>
<li><a href="#org30725b7">3.5.2.2. Source code for default functions</a></li>
<li><a href="#org3498d98">3.5.2.1. Function declarations</a></li>
<li><a href="#orgd879998">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org8f78f2f">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org6886ec9">3.5.4. Python templates for front end</a></li>
<li><a href="#org99028fc">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orgf37abe7">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#orga40072d">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgb6b5769">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#orgc5458d4">3.6.1. Introduction</a></li>
<li><a href="#orgbce5731">3.6.2. C templates for front end</a>
<li><a href="#org670a0e2">3.6.1. Introduction</a></li>
<li><a href="#org3b19988">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orgc9fd421">3.6.2.1. Function declarations</a></li>
<li><a href="#org46fae8c">3.6.2.2. Source code for default functions</a></li>
<li><a href="#org055066b">3.6.2.1. Function declarations</a></li>
<li><a href="#orgbfabf62">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org97374a9">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org93902c2">3.6.4. Python templates for front end</a></li>
<li><a href="#org2fe674d">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org0010428">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org87bec5b">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org979abdb">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgcbbba01" class="outline-2">
<h2 id="orgcbbba01"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orge6d40ef" class="outline-2">
<h2 id="orge6d40ef"><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-org4e1757b" class="outline-3">
<h3 id="org4e1757b"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org8cf9921" class="outline-3">
<h3 id="org8cf9921"><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-org307959e" class="outline-2">
<h2 id="org307959e"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-orgeb174aa" class="outline-2">
<h2 id="orgeb174aa"><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-org2b1ede5" class="outline-3">
<h3 id="org2b1ede5"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-orgf2e5d0b" class="outline-3">
<h3 id="orgf2e5d0b"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="orgbb2c267" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org46f433d" 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-org2a8d206" class="outline-4">
<h4 id="org2a8d206"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-org5e02bcb" class="outline-4">
<h4 id="org5e02bcb"><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-org7cac5f1" class="outline-5">
<h5 id="org7cac5f1"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-org0baf5b4" class="outline-5">
<h5 id="org0baf5b4"><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-org8634ced" class="outline-5">
<h5 id="org8634ced"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-orgf31c3ed" class="outline-5">
<h5 id="orgf31c3ed"><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-org851e209" class="outline-5">
<h5 id="org851e209"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org3513a5d" class="outline-5">
<h5 id="org3513a5d"><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-org10095cd" class="outline-3">
<h3 id="org10095cd"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org3ee4132" class="outline-3">
<h3 id="org3ee4132"><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-org64b128b" class="outline-4">
<h4 id="org64b128b"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org2564d42" class="outline-4">
<h4 id="org2564d42"><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-org11e3934" class="outline-4">
<h4 id="org11e3934"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org0c3c8dc" class="outline-4">
<h4 id="org0c3c8dc"><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-org3f9bbc2" class="outline-4">
<h4 id="org3f9bbc2"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-orga8769dd" class="outline-4">
<h4 id="orga8769dd"><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-org2e1fb6d" class="outline-3">
<h3 id="org2e1fb6d"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org8dd8923" class="outline-3">
<h3 id="org8dd8923"><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-orgd840d66" class="outline-3">
<h3 id="orgd840d66"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-orgb1fbb47" class="outline-3">
<h3 id="orgb1fbb47"><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-org9029648" class="outline-4">
<h4 id="org9029648"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-orgc076d8d" class="outline-4">
<h4 id="orgc076d8d"><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-org792f1c2" class="outline-3">
<h3 id="org792f1c2"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orga1927ad" class="outline-3">
<h3 id="orga1927ad"><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-orgf0d1bcf" class="outline-3">
<h3 id="orgf0d1bcf"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-org0511c45" class="outline-3">
<h3 id="org0511c45"><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-orgeaa08cb" class="outline-4">
<h4 id="orgeaa08cb"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org38996c9" class="outline-4">
<h4 id="org38996c9"><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>*
@ -1346,8 +1346,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgcd74427" class="outline-4">
<h4 id="orgcd74427"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-org2d577fa" class="outline-4">
<h4 id="org2d577fa"><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>
@ -1364,8 +1364,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org89bc5b7" class="outline-4">
<h4 id="org89bc5b7"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-orgc308b03" class="outline-4">
<h4 id="orgc308b03"><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>):
@ -1402,8 +1402,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org554afde" class="outline-4">
<h4 id="org554afde"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-orgfda21b7" class="outline-4">
<h4 id="orgfda21b7"><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
@ -1436,8 +1436,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org06ca21c" class="outline-3">
<h3 id="org06ca21c"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org8b08843" class="outline-3">
<h3 id="org8b08843"><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.
@ -1454,8 +1454,8 @@ output:
</p>
</div>
<div id="outline-container-org1893293" class="outline-4">
<h4 id="org1893293"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orga595c51" class="outline-4">
<h4 id="orga595c51"><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>
@ -1526,8 +1526,8 @@ output:
</div>
</div>
<div id="outline-container-org5d2eeb2" class="outline-4">
<h4 id="org5d2eeb2"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-orge6a8363" class="outline-4">
<h4 id="orge6a8363"><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>
@ -1541,8 +1541,8 @@ output:
</div>
</div>
<div id="outline-container-org2af3df8" class="outline-4">
<h4 id="org2af3df8"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-org6d2eb9c" class="outline-4">
<h4 id="org6d2eb9c"><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):
@ -1564,12 +1564,12 @@ output:
</div>
</div>
<div id="outline-container-org120e17f" class="outline-2">
<h2 id="org120e17f"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org8a6d057" class="outline-2">
<h2 id="org8a6d057"><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-org653fabd" class="outline-3">
<h3 id="org653fabd"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org5d42594" class="outline-3">
<h3 id="org5d42594"><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>:
@ -1790,12 +1790,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-orgd3c0211" class="outline-3">
<h3 id="orgd3c0211"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-org900dc86" class="outline-3">
<h3 id="org900dc86"><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-orgcd2c751" class="outline-4">
<h4 id="orgcd2c751"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org31c29c0" class="outline-4">
<h4 id="org31c29c0"><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,
@ -1866,8 +1866,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-orgedfc108" class="outline-4">
<h4 id="orgedfc108"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-orgcd1853f" class="outline-4">
<h4 id="orgcd1853f"><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
@ -1881,12 +1881,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-org3840d64" class="outline-5">
<h5 id="org3840d64"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org47302c2" class="outline-5">
<h5 id="org47302c2"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgc79ce95" class="outline-5">
<h5 id="orgc79ce95"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org6f70115" class="outline-5">
<h5 id="org6f70115"><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>
@ -1947,8 +1947,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgaa07afa" class="outline-5">
<h5 id="orgaa07afa"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org9736201" class="outline-5">
<h5 id="org9736201"><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>
@ -2016,8 +2016,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org875bdf2" class="outline-5">
<h5 id="org875bdf2"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-orge8285a0" class="outline-5">
<h5 id="orge8285a0"><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>
@ -2070,8 +2070,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org386dfe6" class="outline-4">
<h4 id="org386dfe6"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-orga65cca9" class="outline-4">
<h4 id="orga65cca9"><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.
@ -2156,8 +2156,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org509cbaa" class="outline-4">
<h4 id="org509cbaa"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-org1922bc8" class="outline-4">
<h4 id="org1922bc8"><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>:
@ -2242,12 +2242,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orge003211" class="outline-3">
<h3 id="orge003211"><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-org27c1425" class="outline-3">
<h3 id="org27c1425"><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-org47d9b00" class="outline-4">
<h4 id="org47d9b00"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-orgcc0595b" class="outline-4">
<h4 id="orgcc0595b"><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.
@ -2329,8 +2329,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org563d979" class="outline-4">
<h4 id="org563d979"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-org12b314d" class="outline-4">
<h4 id="org12b314d"><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.
@ -2341,13 +2341,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-org16a2822" class="outline-5">
<h5 id="org16a2822"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-org3103bae" class="outline-5">
<h5 id="org3103bae"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orga5e0152" class="outline-5">
<h5 id="orga5e0152"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-org0a8782e" class="outline-5">
<h5 id="org0a8782e"><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>
@ -2475,8 +2475,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org68847af" class="outline-5">
<h5 id="org68847af"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-orga67b9d2" class="outline-5">
<h5 id="orga67b9d2"><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>
@ -2617,11 +2617,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org8742b9e" class="outline-5">
<h5 id="org8742b9e"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-orgfc20175" class="outline-5">
<h5 id="orgfc20175"><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="org5260d6b"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org19f63cf"><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>*/
@ -2777,8 +2777,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-orge9c5672" class="outline-5">
<h5 id="orge9c5672"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgeeb11da" class="outline-5">
<h5 id="orgeeb11da"><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>
@ -2852,8 +2852,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-orga136ab0" class="outline-4">
<h4 id="orga136ab0"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org8c31373" class="outline-4">
<h4 id="org8c31373"><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>.
@ -2938,8 +2938,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgb701dec" class="outline-4">
<h4 id="orgb701dec"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org24588f5" class="outline-4">
<h4 id="org24588f5"><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>:
@ -3134,8 +3134,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org5f901f7" class="outline-3">
<h3 id="org5f901f7"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org56044bb" class="outline-3">
<h3 id="org56044bb"><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
@ -3276,12 +3276,12 @@ For the values,
</div>
</div>
<div id="outline-container-org84f236a" class="outline-3">
<h3 id="org84f236a"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-org2680da5" class="outline-3">
<h3 id="org2680da5"><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-org6abf9e2" class="outline-4">
<h4 id="org6abf9e2"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-orga75618f" class="outline-4">
<h4 id="orga75618f"><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.
@ -3321,8 +3321,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgda036b6" class="outline-4">
<h4 id="orgda036b6"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-orgdcac756" class="outline-4">
<h4 id="orgdcac756"><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
@ -3330,12 +3330,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-orgcccd5b6" class="outline-5">
<h5 id="orgcccd5b6"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-org3498d98" class="outline-5">
<h5 id="org3498d98"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org30725b7" class="outline-5">
<h5 id="org30725b7"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-orgd879998" class="outline-5">
<h5 id="orgd879998"><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>
@ -3577,8 +3577,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-org8f78f2f" class="outline-4">
<h4 id="org8f78f2f"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org99028fc" class="outline-4">
<h4 id="org99028fc"><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>.
@ -3674,8 +3674,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org6886ec9" class="outline-4">
<h4 id="org6886ec9"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-orgf37abe7" class="outline-4">
<h4 id="orgf37abe7"><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>:
@ -3791,12 +3791,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orga40072d" class="outline-3">
<h3 id="orga40072d"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-orgb6b5769" class="outline-3">
<h3 id="orgb6b5769"><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-orgc5458d4" class="outline-4">
<h4 id="orgc5458d4"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org670a0e2" class="outline-4">
<h4 id="org670a0e2"><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.
@ -3836,16 +3836,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgbce5731" class="outline-4">
<h4 id="orgbce5731"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org3b19988" class="outline-4">
<h4 id="org3b19988"><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-orgc9fd421" class="outline-5">
<h5 id="orgc9fd421"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-org055066b" class="outline-5">
<h5 id="org055066b"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org46fae8c" class="outline-5">
<h5 id="org46fae8c"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-orgbfabf62" class="outline-5">
<h5 id="orgbfabf62"><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>
@ -3945,8 +3945,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-org97374a9" class="outline-4">
<h4 id="org97374a9"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org2fe674d" class="outline-4">
<h4 id="org2fe674d"><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.
@ -4023,8 +4023,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org93902c2" class="outline-4">
<h4 id="org93902c2"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-org0010428" class="outline-4">
<h4 id="org0010428"><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>:
@ -4114,8 +4114,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org87bec5b" class="outline-2">
<h2 id="org87bec5b"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org979abdb" class="outline-2">
<h2 id="org979abdb"><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.
@ -4249,7 +4249,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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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="#org4f96d3c">1. HDF5 back end</a>
<li><a href="#orgab92e38">1. HDF5 back end</a>
<ul>
<li><a href="#org935b3d3">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org3f84f22">1.2. Template for HDF5 structures</a></li>
<li><a href="#org4c83b5a">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orgcaaa384">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgaa02987">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgd1e0d5c">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org560a3cb">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#org6e90923">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgaba2d13">1.2. Template for HDF5 structures</a></li>
<li><a href="#org56b5378">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org0540982">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgdc21ed8">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#orgf0f11b3">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org71ca595">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org4f96d3c" class="outline-2">
<h2 id="org4f96d3c"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgab92e38" class="outline-2">
<h2 id="orgab92e38"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org935b3d3" class="outline-3">
<h3 id="org935b3d3"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-org6e90923" class="outline-3">
<h3 id="org6e90923"><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-org3f84f22" class="outline-3">
<h3 id="org3f84f22"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-orgaba2d13" class="outline-3">
<h3 id="orgaba2d13"><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-org4c83b5a" class="outline-3">
<h3 id="org4c83b5a"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org56b5378" class="outline-3">
<h3 id="org56b5378"><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-orgcaaa384" class="outline-3">
<h3 id="orgcaaa384"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org0540982" class="outline-3">
<h3 id="org0540982"><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-orgaa02987" class="outline-3">
<h3 id="orgaa02987"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgdc21ed8" class="outline-3">
<h3 id="orgdc21ed8"><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-orgd1e0d5c" class="outline-3">
<h3 id="orgd1e0d5c"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-orgf0f11b3" class="outline-3">
<h3 id="orgf0f11b3"><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-org560a3cb" class="outline-3">
<h3 id="org560a3cb"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org71ca595" class="outline-3">
<h3 id="org71ca595"><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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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="#orga4d2401">1. TEXT back end</a>
<li><a href="#org8cdbde6">1. TEXT back end</a>
<ul>
<li><a href="#orge21a8c1">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgf6a2e80">1.2. Template for general structure in text back end</a></li>
<li><a href="#org7acd3e2">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgcb97c8c">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#org626a4b9">1.5. Template for text read struct</a></li>
<li><a href="#orgbd6f77e">1.6. Template for text flush struct</a></li>
<li><a href="#org64836c8">1.7. Template for text free memory</a></li>
<li><a href="#org5570dff">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org80fd31f">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org674f937">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org717b30b">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org00fb9fd">1.12. RDM struct (hard-coded)</a>
<li><a href="#org2e3deb3">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#org49cc18e">1.2. Template for general structure in text back end</a></li>
<li><a href="#org9d7450d">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgc910e81">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgbe854e4">1.5. Template for text read struct</a></li>
<li><a href="#org63e8ba3">1.6. Template for text flush struct</a></li>
<li><a href="#orgabda98a">1.7. Template for text free memory</a></li>
<li><a href="#orgc85a31e">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org749a657">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org6af27bd">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#org6519d4d">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org6425052">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#org5d5a720">1.12.1. Read the complete struct</a></li>
<li><a href="#orge037de5">1.12.2. Flush the complete struct</a></li>
<li><a href="#org8974291">1.12.3. Free memory</a></li>
<li><a href="#org6c7c856">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org62e0f4e">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org7d486e2">1.12.1. Read the complete struct</a></li>
<li><a href="#orgd9f292f">1.12.2. Flush the complete struct</a></li>
<li><a href="#orgad9810f">1.12.3. Free memory</a></li>
<li><a href="#org3beb011">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org5f66576">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-orga4d2401" class="outline-2">
<h2 id="orga4d2401"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org8cdbde6" class="outline-2">
<h2 id="org8cdbde6"><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-orge21a8c1" class="outline-3">
<h3 id="orge21a8c1"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-org2e3deb3" class="outline-3">
<h3 id="org2e3deb3"><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-orgf6a2e80" class="outline-3">
<h3 id="orgf6a2e80"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-org49cc18e" class="outline-3">
<h3 id="org49cc18e"><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-org7acd3e2" class="outline-3">
<h3 id="org7acd3e2"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org9d7450d" class="outline-3">
<h3 id="org9d7450d"><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>
@ -510,8 +510,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-orgcb97c8c" class="outline-3">
<h3 id="orgcb97c8c"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-orgc910e81" class="outline-3">
<h3 id="orgc910e81"><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>
@ -536,8 +536,8 @@ The file is written when closed, or when the flush function is called.
</div>
</div>
<div id="outline-container-org626a4b9" class="outline-3">
<h3 id="org626a4b9"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgbe854e4" class="outline-3">
<h3 id="orgbe854e4"><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*
@ -831,8 +831,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-orgbd6f77e" class="outline-3">
<h3 id="orgbd6f77e"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-org63e8ba3" class="outline-3">
<h3 id="org63e8ba3"><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>
@ -897,8 +897,8 @@ trexio_text_read_$group$ (<span style="color: #228b22;">trexio_text_t</span>* <s
</div>
</div>
<div id="outline-container-org64836c8" class="outline-3">
<h3 id="org64836c8"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-orgabda98a" class="outline-3">
<h3 id="orgabda98a"><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.
@ -943,8 +943,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org5570dff" class="outline-3">
<h3 id="org5570dff"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-orgc85a31e" class="outline-3">
<h3 id="orgc85a31e"><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>
@ -1007,8 +1007,8 @@ Memory is allocated when reading. The following function frees memory.
</div>
</div>
<div id="outline-container-org80fd31f" class="outline-3">
<h3 id="org80fd31f"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-org749a657" class="outline-3">
<h3 id="org749a657"><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.
@ -1104,8 +1104,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org674f937" class="outline-3">
<h3 id="org674f937"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-org6af27bd" class="outline-3">
<h3 id="org6af27bd"><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.
@ -1206,8 +1206,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org717b30b" class="outline-3">
<h3 id="org717b30b"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-org6519d4d" class="outline-3">
<h3 id="org6519d4d"><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>
@ -1281,12 +1281,12 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
</div>
<div id="outline-container-org00fb9fd" class="outline-3">
<h3 id="org00fb9fd"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org6425052" class="outline-3">
<h3 id="org6425052"><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-org5d5a720" class="outline-4">
<h4 id="org5d5a720"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org7d486e2" class="outline-4">
<h4 id="org7d486e2"><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>);
@ -1381,8 +1381,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-orge037de5" class="outline-4">
<h4 id="orge037de5"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-orgd9f292f" class="outline-4">
<h4 id="orgd9f292f"><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>);
@ -1424,8 +1424,8 @@ The <code>group_dset</code> array is assumed allocated with the appropriate size
</div>
</div>
<div id="outline-container-org8974291" class="outline-4">
<h4 id="org8974291"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-orgad9810f" class="outline-4">
<h4 id="orgad9810f"><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.
@ -1461,8 +1461,8 @@ Memory is allocated when reading. The followig function frees memory.
</div>
</div>
<div id="outline-container-org6c7c856" class="outline-4">
<h4 id="org6c7c856"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-org3beb011" class="outline-4">
<h4 id="org3beb011"><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.
@ -1528,8 +1528,8 @@ The <code>one_e</code> array is assumed allocated with the appropriate size.
</div>
</div>
<div id="outline-container-org62e0f4e" class="outline-4">
<h4 id="org62e0f4e"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org5f66576" class="outline-4">
<h4 id="org5f66576"><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
@ -1637,7 +1637,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-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

View File

@ -3,7 +3,7 @@
#+HTML_LINK_HOME: index.html
#+OPTIONS: H:4 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t d:(HIDE)
# SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+SETUPFILE: ../docs/org-html-themes/org/theme-readtheorg.setup
#+INFOJS_OPT: toc:t mouse:underline path:org-info.js
#+HTML_HEAD: <link rel="stylesheet" title="Standard" href="trexio.css" type="text/css" />

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-09-22 Wed 11:34 -->
<!-- 2021-09-24 Fri 08:06 -->
<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,28 +333,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc291cc2">1. Metadata (metadata group)</a></li>
<li><a href="#org73e1250">2. Electron (electron group)</a></li>
<li><a href="#org597fcf8">3. Nucleus (nucleus group)</a></li>
<li><a href="#org87488df">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org0791ffe">5. Basis set (basis group)</a></li>
<li><a href="#org4666864">6. Atomic orbitals (ao group)</a>
<li><a href="#orgc1e3985">1. Metadata (metadata group)</a></li>
<li><a href="#org3dd46bf">2. Electron (electron group)</a></li>
<li><a href="#org7bb7f31">3. Nucleus (nucleus group)</a></li>
<li><a href="#org1d09690">4. Effective core potentials (ecp group)</a></li>
<li><a href="#org271c37d">5. Basis set (basis group)</a></li>
<li><a href="#orgd708fe3">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="#orgc2e724a">7. Molecular orbitals (mo group)</a>
<li><a href="#org5381aac">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org7dae4a0">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org68387d3">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org482ed38">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org25d7b01">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org7a75fad">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#orgf1a2f70">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#orgf5c229e">10. Appendix</a>
<li><a href="#org39d09df">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org03f33b9">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org764a990">10. Appendix</a>
<ul>
<li><a href="#orgf7576f4">10.1. Python script from table to json</a></li>
<li><a href="#orga6ff242">10.1. Python script from table to json</a></li>
</ul>
</li>
</ul>
@ -396,8 +396,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-orgc291cc2" class="outline-2">
<h2 id="orgc291cc2"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orgc1e3985" class="outline-2">
<h2 id="orgc1e3985"><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
@ -407,7 +407,7 @@ which have participated to the creation of the file, a list of
authors of the file, and a textual description.
</p>
<table id="org96a99b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga0b4cb4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -474,15 +474,15 @@ authors of the file, and a textual description.
</div>
</div>
<div id="outline-container-org73e1250" class="outline-2">
<h2 id="org73e1250"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org3dd46bf" class="outline-2">
<h2 id="org3dd46bf"><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="orgcf1029a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org40a58bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -521,15 +521,15 @@ the number of &uarr; and &darr; electrons is fixed.
</div>
</div>
<div id="outline-container-org597fcf8" class="outline-2">
<h2 id="org597fcf8"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org7bb7f31" class="outline-2">
<h2 id="org7bb7f31"><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="orgc14b8fe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org34efec1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -589,8 +589,8 @@ given in Cartesian \((x,y,z)\) format.
</div>
</div>
<div id="outline-container-org87488df" class="outline-2">
<h2 id="org87488df"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-org1d09690" class="outline-2">
<h2 id="org1d09690"><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
@ -618,7 +618,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="orgfd7506b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6983136" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -727,8 +727,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-org0791ffe" class="outline-2">
<h2 id="org0791ffe"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org271c37d" class="outline-2">
<h2 id="org271c37d"><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
@ -781,7 +781,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="org8a64b8c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2558be2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -950,8 +950,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org4666864" class="outline-2">
<h2 id="org4666864"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-orgd708fe3" class="outline-2">
<h2 id="orgd708fe3"><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
@ -999,13 +999,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="#org0791ffe">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org271c37d">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="orgfdf45f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdcdae03" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1057,8 +1057,8 @@ introduced here should be \(\frac{\mathcal{N}_{xy}}{\mathcal{N}_{z^2}}\).
</table>
</div>
<div id="outline-container-org15c6107" class="outline-3">
<h3 id="ao_one_e"><a id="org15c6107"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org153f488" class="outline-3">
<h3 id="ao_one_e"><a id="org153f488"></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}}
@ -1076,7 +1076,7 @@ The one-electron integrals for a one-electron operator \(\hat{O}\) are
over atomic orbitals.
</p>
<table id="org3bc1d9c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org25c35a9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1143,8 +1143,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-orgdf4e873" class="outline-3">
<h3 id="ao_two_e"><a id="orgdf4e873"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-org74f0d04" class="outline-3">
<h3 id="ao_two_e"><a id="org74f0d04"></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
@ -1165,7 +1165,7 @@ notation.
\mathbf{r}_j \vert)}{\vert \mathbf{r}_i - \mathbf{r}_j \vert} \] : electron-electron long range potential</li>
</ul>
<table id="orgc46ab51" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org80b6ea9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1205,10 +1205,10 @@ notation.
</div>
</div>
<div id="outline-container-orgc2e724a" class="outline-2">
<h2 id="orgc2e724a"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org5381aac" class="outline-2">
<h2 id="org5381aac"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="orgf858b0b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgd30694f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1274,8 +1274,8 @@ notation.
</table>
</div>
<div id="outline-container-org7dae4a0" class="outline-3">
<h3 id="org7dae4a0"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org482ed38" class="outline-3">
<h3 id="org482ed38"><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
@ -1283,7 +1283,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="org51eb58d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge35bb96" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1350,8 +1350,8 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org68387d3" class="outline-3">
<h3 id="org68387d3"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org25d7b01" class="outline-3">
<h3 id="org25d7b01"><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
@ -1359,7 +1359,7 @@ The operators as the same as those defined in the
the basis of molecular orbitals.
</p>
<table id="orgb953cb5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6ec3a81" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1399,13 +1399,13 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-org7a75fad" class="outline-2">
<h2 id="org7a75fad"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org39d09df" class="outline-2">
<h2 id="org39d09df"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-orgf1a2f70" class="outline-2">
<h2 id="orgf1a2f70"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org03f33b9" class="outline-2">
<h2 id="org03f33b9"><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="org7a1d0c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org508bf6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1458,15 +1458,15 @@ the basis of molecular orbitals.
</div>
</div>
<div id="outline-container-orgf5c229e" class="outline-2">
<h2 id="orgf5c229e"><span class="section-number-2">10</span> Appendix</h2>
<div id="outline-container-org764a990" class="outline-2">
<h2 id="org764a990"><span class="section-number-2">10</span> Appendix</h2>
<div class="outline-text-2" id="text-10">
</div>
<div id="outline-container-orgf7576f4" class="outline-3">
<h3 id="orgf7576f4"><span class="section-number-3">10.1</span> Python script from table to json</h3>
<div id="outline-container-orga6ff242" class="outline-3">
<h3 id="orga6ff242"><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="org6318b64"><span style="color: #a020f0;">print</span>(<span style="color: #8b2252;">"""#+begin_src python :tangle trex.json"""</span>)
<pre class="src src-python" id="org2ea24f3"><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
@ -1519,7 +1519,7 @@ the basis of molecular orbitals.
</div>
<div id="postamble" class="status">
<p class="author">Author: TREX-CoE</p>
<p class="date">Created: 2021-09-22 Wed 11:34</p>
<p class="date">Created: 2021-09-24 Fri 08:06</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>