1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-12-25 13:53:55 +01:00

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

This commit is contained in:
scemama 2021-11-08 19:09:52 +00:00
parent 1b46caf6a7
commit 57dd40f74e
7 changed files with 342 additions and 342 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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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="#org74ae99b">1. Text back end</a></li>
<li><a href="#orgb447435">2. HDF5 Back end</a></li>
<li><a href="#org37a54d0">1. Text back end</a></li>
<li><a href="#org179d7bd">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-org74ae99b" class="outline-2">
<h2 id="org74ae99b"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org37a54d0" class="outline-2">
<h2 id="org37a54d0"><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-orgb447435" class="outline-2">
<h2 id="orgb447435"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-org179d7bd" class="outline-2">
<h2 id="org179d7bd"><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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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="#orgd094da8">1. Coding conventions</a>
<li><a href="#orgfdc3550">1. Coding conventions</a>
<ul>
<li><a href="#orgc2a095f">1.1. Memory allocation</a></li>
<li><a href="#org9461c94">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orgb170218">2. Front end</a>
<li><a href="#org48bbdcd">2. Front end</a>
<ul>
<li><a href="#org4e9ccba">2.1. Error handling</a>
<li><a href="#org1724d2f">2.1. Error handling</a>
<ul>
<li><a href="#orgeb99dab">2.1.1. Decoding errors</a>
<li><a href="#orge86da87">2.1.1. Decoding errors</a>
<ul>
<li><a href="#orgf51a1f1">2.1.1.1. C source code</a></li>
<li><a href="#orgcaf1586">2.1.1.2. Fortran interface</a></li>
<li><a href="#orga7c8c59">2.1.1.3. Python interface</a></li>
<li><a href="#orgfb0e9ec">2.1.1.1. C source code</a></li>
<li><a href="#orga0b4d3d">2.1.1.2. Fortran interface</a></li>
<li><a href="#org7e4fdb9">2.1.1.3. Python interface</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org23d1265">2.2. Back ends</a>
<li><a href="#orgf1c9106">2.2. Back ends</a>
<ul>
<li><a href="#org4f1e123">2.2.1. C</a></li>
<li><a href="#org0eb7d6f">2.2.2. Fortran</a></li>
<li><a href="#orgd1118d1">2.2.3. Python</a></li>
<li><a href="#org3adf95d">2.2.1. C</a></li>
<li><a href="#org79d436e">2.2.2. Fortran</a></li>
<li><a href="#org9d03c3f">2.2.3. Python</a></li>
</ul>
</li>
<li><a href="#org938b265">2.3. Read/write behavior</a></li>
<li><a href="#org79eb0fb">2.4. TREXIO file type</a>
<li><a href="#org6e50fba">2.3. Read/write behavior</a></li>
<li><a href="#org93cc637">2.4. TREXIO file type</a>
<ul>
<li><a href="#orgef873c8">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#org2f8279e">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#org69a7d23">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgee543bf">2.6. File opening</a>
<li><a href="#orgcda038c">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgc8fc7eb">2.6. File opening</a>
<ul>
<li><a href="#org1a6e5c2">2.6.1. C</a></li>
<li><a href="#orgb504095">2.6.2. Fortran</a></li>
<li><a href="#org31a6285">2.6.3. Python</a></li>
<li><a href="#org6f10f4e">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<li><a href="#org5ed4f22">2.6.1. C</a></li>
<li><a href="#orgc47307d">2.6.2. Fortran</a></li>
<li><a href="#org8431098">2.6.3. Python</a></li>
<li><a href="#org8c3e885">2.6.4. Zero-based versus one-based arrays of indices</a></li>
</ul>
</li>
<li><a href="#org2060b8a">2.7. File closing</a>
<li><a href="#orgf85e762">2.7. File closing</a>
<ul>
<li><a href="#orgaee868b">2.7.1. C</a></li>
<li><a href="#org7661cea">2.7.2. Fortran</a></li>
<li><a href="#orgb92f0de">2.7.3. Python</a></li>
<li><a href="#org32ea8af">2.7.1. C</a></li>
<li><a href="#org7d15346">2.7.2. Fortran</a></li>
<li><a href="#org8ce8181">2.7.3. Python</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org2e9d6c7">3. Templates for front end</a>
<li><a href="#org059793b">3. Templates for front end</a>
<ul>
<li><a href="#orgc1ee32e">3.1. Description</a></li>
<li><a href="#orgdbe893c">3.2. Templates for front end has/read/write a single numerical attribute</a>
<li><a href="#org986a8fa">3.1. Description</a></li>
<li><a href="#orgef4d89b">3.2. Templates for front end has/read/write a single numerical attribute</a>
<ul>
<li><a href="#org785fbd0">3.2.1. Introduction</a></li>
<li><a href="#org524c0e8">3.2.2. C templates for front end</a>
<li><a href="#org8b834bc">3.2.1. Introduction</a></li>
<li><a href="#org049b36c">3.2.2. C templates for front end</a>
<ul>
<li><a href="#orga231c8b">3.2.2.1. Function declarations</a></li>
<li><a href="#org512c70c">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org13d54de">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org3202423">3.2.2.4. Source code for default functions</a></li>
<li><a href="#org9be4081">3.2.2.1. Function declarations</a></li>
<li><a href="#orga6f81b7">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#org337647a">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#org1e5e07b">3.2.2.4. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgd8661e4">3.2.3. Fortran templates for front end</a></li>
<li><a href="#org210c74e">3.2.4. Python templates for front end</a></li>
<li><a href="#orge0aa5b1">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgcf36963">3.2.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org8c357ee">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org728b586">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org60c2b10">3.3.1. Introduction</a></li>
<li><a href="#org07e3a8c">3.3.2. C templates for front end</a>
<li><a href="#org5a9ea51">3.3.1. Introduction</a></li>
<li><a href="#orgf2db565">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org3d5dd7d">3.3.2.1. Function declarations</a></li>
<li><a href="#orgb48c860">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org9b1f3ed">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org265f00e">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgd8b8d88">3.3.2.5. Source code for default functions</a></li>
<li><a href="#orgbc5032b">3.3.2.1. Function declarations</a></li>
<li><a href="#orgf0ff48a">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org5a6ba81">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#orgbc33a64">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgaeda30a">3.3.2.5. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgad17cef">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org56a3d65">3.3.4. Python templates for front end</a></li>
<li><a href="#org78bc0e1">3.3.3. Fortran templates for front end</a></li>
<li><a href="#org2ade43e">3.3.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#org835813c">3.4. Sparse data structures</a></li>
<li><a href="#org2a09b9e">3.5. Templates for front end has/read/write a dataset of strings</a>
<li><a href="#org7c87bf8">3.4. Sparse data structures</a></li>
<li><a href="#org0750449">3.5. Templates for front end has/read/write a dataset of strings</a>
<ul>
<li><a href="#org6199c92">3.5.1. Introduction</a></li>
<li><a href="#orgdf9edb1">3.5.2. C templates for front end</a>
<li><a href="#org5a914b1">3.5.1. Introduction</a></li>
<li><a href="#org8d78f88">3.5.2. C templates for front end</a>
<ul>
<li><a href="#org3323493">3.5.2.1. Function declarations</a></li>
<li><a href="#org9b0461f">3.5.2.2. Source code for default functions</a></li>
<li><a href="#orgbf82546">3.5.2.1. Function declarations</a></li>
<li><a href="#org019f8c2">3.5.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#org3cf4b51">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org2027813">3.5.4. Python templates for front end</a></li>
<li><a href="#org44914ce">3.5.3. Fortran templates for front end</a></li>
<li><a href="#orgb54712e">3.5.4. Python templates for front end</a></li>
</ul>
</li>
<li><a href="#orgab43558">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#org1965104">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org263551f">3.6.1. Introduction</a></li>
<li><a href="#orgd395bdd">3.6.2. C templates for front end</a>
<li><a href="#org756ec7d">3.6.1. Introduction</a></li>
<li><a href="#org7c8acb7">3.6.2. C templates for front end</a>
<ul>
<li><a href="#orga1817b1">3.6.2.1. Function declarations</a></li>
<li><a href="#orgfc53bb1">3.6.2.2. Source code for default functions</a></li>
<li><a href="#orge103920">3.6.2.1. Function declarations</a></li>
<li><a href="#org61726b8">3.6.2.2. Source code for default functions</a></li>
</ul>
</li>
<li><a href="#orgb041fe4">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orgbcb9595">3.6.4. Python templates for front end</a></li>
<li><a href="#org5b797b5">3.6.3. Fortran templates for front end</a></li>
<li><a href="#orga2c97f0">3.6.4. Python templates for front end</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org51f7a8a">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org4eea691">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgd094da8" class="outline-2">
<h2 id="orgd094da8"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgfdc3550" class="outline-2">
<h2 id="orgfdc3550"><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-orgc2a095f" class="outline-3">
<h3 id="orgc2a095f"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-org9461c94" class="outline-3">
<h3 id="org9461c94"><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-orgb170218" class="outline-2">
<h2 id="orgb170218"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-org48bbdcd" class="outline-2">
<h2 id="org48bbdcd"><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-org4e9ccba" class="outline-3">
<h3 id="org4e9ccba"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org1724d2f" class="outline-3">
<h3 id="org1724d2f"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org664ab1e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org028594f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -742,8 +742,8 @@ TREXIO front end is modular, which simplifies implementation of new back ends.
</div>
</div>
<div id="outline-container-orgeb99dab" class="outline-4">
<h4 id="orgeb99dab"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-orge86da87" class="outline-4">
<h4 id="orge86da87"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div class="outline-text-4" id="text-2-1-1">
<p>
The <code>trexio_string_of_error</code> converts an exit code into a string. The
@ -766,8 +766,8 @@ The text strings are extracted from the previous table.
</p>
</div>
<div id="outline-container-orgf51a1f1" class="outline-5">
<h5 id="orgf51a1f1"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<div id="outline-container-orgfb0e9ec" class="outline-5">
<h5 id="orgfb0e9ec"><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>*
@ -875,8 +875,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orgcaf1586" class="outline-5">
<h5 id="orgcaf1586"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div id="outline-container-orga0b4d3d" class="outline-5">
<h5 id="orga0b4d3d"><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>
@ -892,8 +892,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-orga7c8c59" class="outline-5">
<h5 id="orga7c8c59"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<div id="outline-container-org7e4fdb9" class="outline-5">
<h5 id="org7e4fdb9"><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>):
@ -932,8 +932,8 @@ The text strings are extracted from the previous table.
</div>
</div>
<div id="outline-container-org23d1265" class="outline-3">
<h3 id="org23d1265"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-orgf1c9106" class="outline-3">
<h3 id="orgf1c9106"><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:
@ -957,8 +957,8 @@ lines that correspond to the <code>TREXIO_JSON</code> back end (not implemented
</p>
</div>
<div id="outline-container-org4f1e123" class="outline-4">
<h4 id="org4f1e123"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org3adf95d" class="outline-4">
<h4 id="org3adf95d"><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>;
@ -1001,8 +1001,8 @@ This is useful due to the fact that HDF5 back end can be disabled at configure s
</div>
</div>
<div id="outline-container-org0eb7d6f" class="outline-4">
<h4 id="org0eb7d6f"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org79d436e" class="outline-4">
<h4 id="org79d436e"><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>
@ -1028,8 +1028,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
</div>
</div>
<div id="outline-container-orgd1118d1" class="outline-4">
<h4 id="orgd1118d1"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-org9d03c3f" class="outline-4">
<h4 id="org9d03c3f"><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>
@ -1043,8 +1043,8 @@ The function below is a Fortran interface for the aforementioned C-compatible <c
</div>
</div>
<div id="outline-container-org938b265" class="outline-3">
<h3 id="org938b265"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org6e50fba" class="outline-3">
<h3 id="org6e50fba"><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
@ -1072,8 +1072,8 @@ concurrent programs, the behavior is not specified.
</p>
</div>
</div>
<div id="outline-container-org79eb0fb" class="outline-3">
<h3 id="org79eb0fb"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org93cc637" class="outline-3">
<h3 id="org93cc637"><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
@ -1107,8 +1107,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-orgef873c8" class="outline-4">
<h4 id="orgef873c8"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<div id="outline-container-org2f8279e" class="outline-4">
<h4 id="org2f8279e"><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>:
@ -1181,8 +1181,8 @@ TREXIO files will have as a first argument the TREXIO file handle.
</div>
</div>
<div id="outline-container-org69a7d23" class="outline-3">
<h3 id="org69a7d23"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<div id="outline-container-orgcda038c" class="outline-3">
<h3 id="orgcda038c"><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
@ -1201,8 +1201,8 @@ corresponding types for all back ends can be safely casted to
</div>
</div>
<div id="outline-container-orgee543bf" class="outline-3">
<h3 id="orgee543bf"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-orgc8fc7eb" class="outline-3">
<h3 id="orgc8fc7eb"><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.
@ -1241,8 +1241,8 @@ renaming the <code>.txt</code> data files.
</p>
</div>
<div id="outline-container-org1a6e5c2" class="outline-4">
<h4 id="org1a6e5c2"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org5ed4f22" class="outline-4">
<h4 id="org5ed4f22"><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>*
@ -1429,8 +1429,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-orgb504095" class="outline-4">
<h4 id="orgb504095"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgc47307d" class="outline-4">
<h4 id="orgc47307d"><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>
@ -1448,8 +1448,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org31a6285" class="outline-4">
<h4 id="org31a6285"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org8431098" class="outline-4">
<h4 id="org8431098"><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>):
@ -1497,8 +1497,8 @@ renaming the <code>.txt</code> data files.
</div>
</div>
<div id="outline-container-org6f10f4e" class="outline-4">
<h4 id="org6f10f4e"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<div id="outline-container-org8c3e885" class="outline-4">
<h4 id="org8c3e885"><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
@ -1531,8 +1531,8 @@ know if we need to shift by 1 arrays of indices.
</div>
</div>
<div id="outline-container-org2060b8a" class="outline-3">
<h3 id="org2060b8a"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-orgf85e762" class="outline-3">
<h3 id="orgf85e762"><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.
@ -1549,8 +1549,8 @@ output:
</p>
</div>
<div id="outline-container-orgaee868b" class="outline-4">
<h4 id="orgaee868b"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-org32ea8af" class="outline-4">
<h4 id="org32ea8af"><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>
@ -1629,8 +1629,8 @@ output:
</div>
</div>
<div id="outline-container-org7661cea" class="outline-4">
<h4 id="org7661cea"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-org7d15346" class="outline-4">
<h4 id="org7d15346"><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>
@ -1644,8 +1644,8 @@ output:
</div>
</div>
<div id="outline-container-orgb92f0de" class="outline-4">
<h4 id="orgb92f0de"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-org8ce8181" class="outline-4">
<h4 id="org8ce8181"><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):
@ -1667,12 +1667,12 @@ output:
</div>
</div>
<div id="outline-container-org2e9d6c7" class="outline-2">
<h2 id="org2e9d6c7"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org059793b" class="outline-2">
<h2 id="org059793b"><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-orgc1ee32e" class="outline-3">
<h3 id="orgc1ee32e"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-org986a8fa" class="outline-3">
<h3 id="org986a8fa"><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>:
@ -1893,12 +1893,12 @@ value will result in <code>TREXIO_INVALID_ARG_2</code> exit code.
</div>
</div>
<div id="outline-container-orgdbe893c" class="outline-3">
<h3 id="orgdbe893c"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<div id="outline-container-orgef4d89b" class="outline-3">
<h3 id="orgef4d89b"><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-org785fbd0" class="outline-4">
<h4 id="org785fbd0"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org8b834bc" class="outline-4">
<h4 id="org8b834bc"><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,
@ -1969,8 +1969,8 @@ namely single value of int/float types.
</div>
</div>
<div id="outline-container-org524c0e8" class="outline-4">
<h4 id="org524c0e8"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<div id="outline-container-org049b36c" class="outline-4">
<h4 id="org049b36c"><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
@ -1984,12 +1984,12 @@ precision (see Table above).
</p>
</div>
<div id="outline-container-orga231c8b" class="outline-5">
<h5 id="orga231c8b"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<div id="outline-container-org9be4081" class="outline-5">
<h5 id="org9be4081"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org512c70c" class="outline-5">
<h5 id="org512c70c"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orga6f81b7" class="outline-5">
<h5 id="orga6f81b7"><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>
@ -2058,8 +2058,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org13d54de" class="outline-5">
<h5 id="org13d54de"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org337647a" class="outline-5">
<h5 id="org337647a"><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>
@ -2135,8 +2135,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-org3202423" class="outline-5">
<h5 id="org3202423"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<div id="outline-container-org1e5e07b" class="outline-5">
<h5 id="org1e5e07b"><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>
@ -2193,8 +2193,8 @@ precision (see Table above).
</div>
</div>
<div id="outline-container-orgd8661e4" class="outline-4">
<h4 id="orgd8661e4"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<div id="outline-container-orge0aa5b1" class="outline-4">
<h4 id="orge0aa5b1"><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.
@ -2279,8 +2279,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org210c74e" class="outline-4">
<h4 id="org210c74e"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<div id="outline-container-orgcf36963" class="outline-4">
<h4 id="orgcf36963"><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>:
@ -2365,12 +2365,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org8c357ee" class="outline-3">
<h3 id="org8c357ee"><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-org728b586" class="outline-3">
<h3 id="org728b586"><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-org60c2b10" class="outline-4">
<h4 id="org60c2b10"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org5a9ea51" class="outline-4">
<h4 id="org5a9ea51"><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.
@ -2452,8 +2452,8 @@ This section concerns API calls related to datasets.
</div>
</div>
<div id="outline-container-org07e3a8c" class="outline-4">
<h4 id="org07e3a8c"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<div id="outline-container-orgf2db565" class="outline-4">
<h4 id="orgf2db565"><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.
@ -2464,13 +2464,13 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</p>
</div>
<div id="outline-container-org3d5dd7d" class="outline-5">
<h5 id="org3d5dd7d"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<div id="outline-container-orgbc5032b" class="outline-5">
<h5 id="orgbc5032b"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgb48c860" class="outline-5">
<h5 id="orgb48c860"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<div id="outline-container-orgf0ff48a" class="outline-5">
<h5 id="orgf0ff48a"><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>
@ -2606,8 +2606,8 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org9b1f3ed" class="outline-5">
<h5 id="org9b1f3ed"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<div id="outline-container-org5a6ba81" class="outline-5">
<h5 id="org5a6ba81"><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>
@ -2756,11 +2756,11 @@ The basic (non-suffixed) API call on datasets deals with double precision (see T
</div>
</div>
<div id="outline-container-org265f00e" class="outline-5">
<h5 id="org265f00e"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<div id="outline-container-orgbc33a64" class="outline-5">
<h5 id="orgbc33a64"><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="org1f341aa"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org5c5c33c"><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>*/
@ -2916,8 +2916,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-orgd8b8d88" class="outline-5">
<h5 id="orgd8b8d88"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<div id="outline-container-orgaeda30a" class="outline-5">
<h5 id="orgaeda30a"><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>
@ -2995,8 +2995,8 @@ rc = trexio_read_$group_dset_dim$_64(file, &amp;($group_dset_dim$));
</div>
</div>
<div id="outline-container-orgad17cef" class="outline-4">
<h4 id="orgad17cef"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<div id="outline-container-org78bc0e1" class="outline-4">
<h4 id="org78bc0e1"><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>.
@ -3081,8 +3081,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org56a3d65" class="outline-4">
<h4 id="org56a3d65"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<div id="outline-container-org2ade43e" class="outline-4">
<h4 id="org2ade43e"><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>:
@ -3277,8 +3277,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org835813c" class="outline-3">
<h3 id="org835813c"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org7c87bf8" class="outline-3">
<h3 id="org7c87bf8"><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
@ -3419,12 +3419,12 @@ For the values,
</div>
</div>
<div id="outline-container-org2a09b9e" class="outline-3">
<h3 id="org2a09b9e"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<div id="outline-container-org0750449" class="outline-3">
<h3 id="org0750449"><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-org6199c92" class="outline-4">
<h4 id="org6199c92"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org5a914b1" class="outline-4">
<h4 id="org5a914b1"><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.
@ -3464,8 +3464,8 @@ This section concerns API calls related to datasets of strings.
</div>
</div>
<div id="outline-container-orgdf9edb1" class="outline-4">
<h4 id="orgdf9edb1"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<div id="outline-container-org8d78f88" class="outline-4">
<h4 id="org8d78f88"><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
@ -3473,12 +3473,12 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</p>
</div>
<div id="outline-container-org3323493" class="outline-5">
<h5 id="org3323493"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<div id="outline-container-orgbf82546" class="outline-5">
<h5 id="orgbf82546"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-org9b0461f" class="outline-5">
<h5 id="org9b0461f"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<div id="outline-container-org019f8c2" class="outline-5">
<h5 id="org019f8c2"><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>
@ -3732,8 +3732,8 @@ to/from the <code>TREXIO</code> file (except for <code>trexio_has_</code> functi
</div>
</div>
<div id="outline-container-org3cf4b51" class="outline-4">
<h4 id="org3cf4b51"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<div id="outline-container-org44914ce" class="outline-4">
<h4 id="org44914ce"><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>.
@ -3829,8 +3829,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org2027813" class="outline-4">
<h4 id="org2027813"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<div id="outline-container-orgb54712e" class="outline-4">
<h4 id="orgb54712e"><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>:
@ -3946,12 +3946,12 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgab43558" class="outline-3">
<h3 id="orgab43558"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<div id="outline-container-org1965104" class="outline-3">
<h3 id="org1965104"><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-org263551f" class="outline-4">
<h4 id="org263551f"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org756ec7d" class="outline-4">
<h4 id="org756ec7d"><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.
@ -3991,16 +3991,16 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgd395bdd" class="outline-4">
<h4 id="orgd395bdd"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<div id="outline-container-org7c8acb7" class="outline-4">
<h4 id="org7c8acb7"><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-orga1817b1" class="outline-5">
<h5 id="orga1817b1"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<div id="outline-container-orge103920" class="outline-5">
<h5 id="orge103920"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
</div>
<div id="outline-container-orgfc53bb1" class="outline-5">
<h5 id="orgfc53bb1"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<div id="outline-container-org61726b8" class="outline-5">
<h5 id="org61726b8"><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>
@ -4112,8 +4112,8 @@ This section concerns API calls related to string attributes.
</div>
</div>
<div id="outline-container-orgb041fe4" class="outline-4">
<h4 id="orgb041fe4"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<div id="outline-container-org5b797b5" class="outline-4">
<h4 id="org5b797b5"><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.
@ -4190,8 +4190,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-orgbcb9595" class="outline-4">
<h4 id="orgbcb9595"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<div id="outline-container-orga2c97f0" class="outline-4">
<h4 id="orga2c97f0"><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>:
@ -4281,8 +4281,8 @@ These templates are based on the use of <code>iso_c_binding</code>. Pointers hav
</div>
</div>
<div id="outline-container-org51f7a8a" class="outline-2">
<h2 id="org51f7a8a"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org4eea691" class="outline-2">
<h2 id="org4eea691"><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.
@ -4417,7 +4417,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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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="#orgc9a24a3">1. HDF5 back end</a>
<li><a href="#orgee929db">1. HDF5 back end</a>
<ul>
<li><a href="#orgbdac0e7">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org2f973d7">1.2. Template for HDF5 structures</a></li>
<li><a href="#org0e47a38">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#orge808e68">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#orgbf77ff2">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org7779623">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org6e2573c">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<li><a href="#orge6f50d9">1.1. Template for HDF5 definitions</a></li>
<li><a href="#org64c1d70">1.2. Template for HDF5 structures</a></li>
<li><a href="#org770b13e">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org76c1332">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org3ae4fd9">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org0f2f2c4">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org6179eab">1.7. Template for HDF5 has/read/write the string attribute</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgc9a24a3" class="outline-2">
<h2 id="orgc9a24a3"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgee929db" class="outline-2">
<h2 id="orgee929db"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgbdac0e7" class="outline-3">
<h3 id="orgbdac0e7"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<div id="outline-container-orge6f50d9" class="outline-3">
<h3 id="orge6f50d9"><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-org2f973d7" class="outline-3">
<h3 id="org2f973d7"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<div id="outline-container-org64c1d70" class="outline-3">
<h3 id="org64c1d70"><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-org0e47a38" class="outline-3">
<h3 id="org0e47a38"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<div id="outline-container-org770b13e" class="outline-3">
<h3 id="org770b13e"><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-orge808e68" class="outline-3">
<h3 id="orge808e68"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<div id="outline-container-org76c1332" class="outline-3">
<h3 id="org76c1332"><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-orgbf77ff2" class="outline-3">
<h3 id="orgbf77ff2"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<div id="outline-container-org3ae4fd9" class="outline-3">
<h3 id="org3ae4fd9"><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-org7779623" class="outline-3">
<h3 id="org7779623"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<div id="outline-container-org0f2f2c4" class="outline-3">
<h3 id="org0f2f2c4"><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-org6e2573c" class="outline-3">
<h3 id="org6e2573c"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<div id="outline-container-org6179eab" class="outline-3">
<h3 id="org6179eab"><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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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="#org75c9cc2">1. TEXT back end</a>
<li><a href="#orgc0836ed">1. TEXT back end</a>
<ul>
<li><a href="#orgd72a345">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgf7ba5e1">1.2. Template for general structure in text back end</a></li>
<li><a href="#orgd863ad9">1.3. Initialize function (constant part)</a></li>
<li><a href="#orgd0fd91e">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgd6b7eb6">1.5. Template for text read struct</a></li>
<li><a href="#org742a634">1.6. Template for text flush struct</a></li>
<li><a href="#org3bb7eee">1.7. Template for text free memory</a></li>
<li><a href="#orga11078f">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org6b57e04">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#org80906f6">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgb0661c7">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org07736ee">1.12. RDM struct (hard-coded)</a>
<li><a href="#orgab3ce20">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgc7f6e2a">1.2. Template for general structure in text back end</a></li>
<li><a href="#org6b23edd">1.3. Initialize function (constant part)</a></li>
<li><a href="#org5fa1f33">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orgd69bffb">1.5. Template for text read struct</a></li>
<li><a href="#orgff7f50f">1.6. Template for text flush struct</a></li>
<li><a href="#orga9ebd88">1.7. Template for text free memory</a></li>
<li><a href="#org38f0162">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#orgab45f19">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgd023229">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgdd40cec">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org17ad374">1.12. RDM struct (hard-coded)</a>
<ul>
<li><a href="#orga4502b4">1.12.1. Read the complete struct</a></li>
<li><a href="#orge5e081f">1.12.2. Flush the complete struct</a></li>
<li><a href="#org865d46d">1.12.3. Free memory</a></li>
<li><a href="#orgcaff540">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org953e4a5">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<li><a href="#org5307262">1.12.1. Read the complete struct</a></li>
<li><a href="#org53a6892">1.12.2. Flush the complete struct</a></li>
<li><a href="#org07954f9">1.12.3. Free memory</a></li>
<li><a href="#orga5f3ec0">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org6caf2f9">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-org75c9cc2" class="outline-2">
<h2 id="org75c9cc2"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-orgc0836ed" class="outline-2">
<h2 id="orgc0836ed"><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-orgd72a345" class="outline-3">
<h3 id="orgd72a345"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<div id="outline-container-orgab3ce20" class="outline-3">
<h3 id="orgab3ce20"><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-orgf7ba5e1" class="outline-3">
<h3 id="orgf7ba5e1"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<div id="outline-container-orgc7f6e2a" class="outline-3">
<h3 id="orgc7f6e2a"><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-orgd863ad9" class="outline-3">
<h3 id="orgd863ad9"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<div id="outline-container-org6b23edd" class="outline-3">
<h3 id="org6b23edd"><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-orgd0fd91e" class="outline-3">
<h3 id="orgd0fd91e"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<div id="outline-container-org5fa1f33" class="outline-3">
<h3 id="org5fa1f33"><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-orgd6b7eb6" class="outline-3">
<h3 id="orgd6b7eb6"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<div id="outline-container-orgd69bffb" class="outline-3">
<h3 id="orgd69bffb"><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-org742a634" class="outline-3">
<h3 id="org742a634"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<div id="outline-container-orgff7f50f" class="outline-3">
<h3 id="orgff7f50f"><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-org3bb7eee" class="outline-3">
<h3 id="org3bb7eee"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<div id="outline-container-orga9ebd88" class="outline-3">
<h3 id="orga9ebd88"><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-orga11078f" class="outline-3">
<h3 id="orga11078f"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<div id="outline-container-org38f0162" class="outline-3">
<h3 id="org38f0162"><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-org6b57e04" class="outline-3">
<h3 id="org6b57e04"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<div id="outline-container-orgab45f19" class="outline-3">
<h3 id="orgab45f19"><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-org80906f6" class="outline-3">
<h3 id="org80906f6"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<div id="outline-container-orgd023229" class="outline-3">
<h3 id="orgd023229"><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-orgb0661c7" class="outline-3">
<h3 id="orgb0661c7"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<div id="outline-container-orgdd40cec" class="outline-3">
<h3 id="orgdd40cec"><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-org07736ee" class="outline-3">
<h3 id="org07736ee"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<div id="outline-container-org17ad374" class="outline-3">
<h3 id="org17ad374"><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-orga4502b4" class="outline-4">
<h4 id="orga4502b4"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<div id="outline-container-org5307262" class="outline-4">
<h4 id="org5307262"><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-orge5e081f" class="outline-4">
<h4 id="orge5e081f"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<div id="outline-container-org53a6892" class="outline-4">
<h4 id="org53a6892"><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-org865d46d" class="outline-4">
<h4 id="org865d46d"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org07954f9" class="outline-4">
<h4 id="org07954f9"><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-orgcaff540" class="outline-4">
<h4 id="orgcaff540"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<div id="outline-container-orga5f3ec0" class="outline-4">
<h4 id="orga5f3ec0"><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-org953e4a5" class="outline-4">
<h4 id="org953e4a5"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<div id="outline-container-org6caf2f9" class="outline-4">
<h4 id="org6caf2f9"><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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>

116
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-11-08 Mon 18:42 -->
<!-- 2021-11-08 Mon 19:09 -->
<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="#orgd05a43d">1. Metadata (metadata group)</a></li>
<li><a href="#orga815014">2. Electron (electron group)</a></li>
<li><a href="#org48cd47f">3. Nucleus (nucleus group)</a></li>
<li><a href="#org43877b0">4. Effective core potentials (ecp group)</a>
<li><a href="#org327dc7b">1. Metadata (metadata group)</a></li>
<li><a href="#org47f00c5">2. Electron (electron group)</a></li>
<li><a href="#org9f18690">3. Nucleus (nucleus group)</a></li>
<li><a href="#orga5286c8">4. Effective core potentials (ecp group)</a>
<ul>
<li><a href="#org1ee75ea">4.1. Example</a></li>
<li><a href="#org348784e">4.1. Example</a></li>
</ul>
</li>
<li><a href="#org61ae7c6">5. Basis set (basis group)</a>
<li><a href="#org44b546b">5. Basis set (basis group)</a>
<ul>
<li><a href="#org202918c">5.1. Example</a></li>
<li><a href="#org6351179">5.1. Example</a></li>
</ul>
</li>
<li><a href="#org2f06b96">6. Atomic orbitals (ao group)</a>
<li><a href="#org3f4b0c1">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="#orgd0c78bd">7. Molecular orbitals (mo group)</a>
<li><a href="#org9d2497e">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org67590d7">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#orgc6ee469">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<li><a href="#org9cb33a4">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org2205a79">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
</ul>
</li>
<li><a href="#org849933c">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org1fee22c">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></li>
<li><a href="#org8d02cb2">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org613d920">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-orgd05a43d" class="outline-2">
<h2 id="orgd05a43d"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-org327dc7b" class="outline-2">
<h2 id="org327dc7b"><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="org827b8dc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org030cc5b" 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-orga815014" class="outline-2">
<h2 id="orga815014"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-org47f00c5" class="outline-2">
<h2 id="org47f00c5"><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="org535b09f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga41452c" 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-org48cd47f" class="outline-2">
<h2 id="org48cd47f"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org9f18690" class="outline-2">
<h2 id="org9f18690"><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="orgb650f0c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5457ee8" 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-org43877b0" class="outline-2">
<h2 id="org43877b0"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<div id="outline-container-orga5286c8" class="outline-2">
<h2 id="orga5286c8"><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="org5877672" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org2a0ca4a" 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-org1ee75ea" class="outline-3">
<h3 id="org1ee75ea"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org348784e" class="outline-3">
<h3 id="org348784e"><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-org61ae7c6" class="outline-2">
<h2 id="org61ae7c6"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org44b546b" class="outline-2">
<h2 id="org44b546b"><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="orgdd70e60" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga7196ff" 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-org202918c" class="outline-3">
<h3 id="org202918c"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-org6351179" class="outline-3">
<h3 id="org6351179"><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
@ -1015,8 +1015,8 @@ prim_factor =
</div>
</div>
<div id="outline-container-org2f06b96" class="outline-2">
<h2 id="org2f06b96"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org3f4b0c1" class="outline-2">
<h2 id="org3f4b0c1"><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="#org61ae7c6">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org44b546b">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="org85a5049" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org51338fb" 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-org370180d" class="outline-3">
<h3 id="ao_one_e"><a id="org370180d"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<div id="outline-container-org3d6282c" class="outline-3">
<h3 id="ao_one_e"><a id="org3d6282c"></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="orgc6766d1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgeb70cf2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org0c35f8a" class="outline-3">
<h3 id="ao_two_e"><a id="org0c35f8a"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<div id="outline-container-orgbfe9aa2" class="outline-3">
<h3 id="ao_two_e"><a id="orgbfe9aa2"></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="orga9bcd24" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfe80adf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-orgd0c78bd" class="outline-2">
<h2 id="orgd0c78bd"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-org9d2497e" class="outline-2">
<h2 id="org9d2497e"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="org9253afe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5b9b60f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-org67590d7" class="outline-3">
<h3 id="org67590d7"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<div id="outline-container-org9cb33a4" class="outline-3">
<h3 id="org9cb33a4"><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="orgf6f3bc2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org7e0d663" 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-orgc6ee469" class="outline-3">
<h3 id="orgc6ee469"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<div id="outline-container-org2205a79" class="outline-3">
<h3 id="org2205a79"><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="org697fe2a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgeb079ab" 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-org849933c" class="outline-2">
<h2 id="org849933c"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<div id="outline-container-org8d02cb2" class="outline-2">
<h2 id="org8d02cb2"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
</div>
<div id="outline-container-org1fee22c" class="outline-2">
<h2 id="org1fee22c"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<div id="outline-container-org613d920" class="outline-2">
<h2 id="org613d920"><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="orge142d67" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org43b99c2" 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-11-08 Mon 18:42</p>
<p class="date">Created: 2021-11-08 Mon 19:09</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>