1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-10-02 22:41:07 +02:00

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

This commit is contained in:
scemama 2021-11-08 18:42:30 +00:00
parent e25d512ddb
commit 1b46caf6a7
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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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="#org0f1d8ca">1. Text back end</a></li>
<li><a href="#org45a29f6">2. HDF5 Back end</a></li>
<li><a href="#org74ae99b">1. Text back end</a></li>
<li><a href="#orgb447435">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-org0f1d8ca" class="outline-2">
<h2 id="org0f1d8ca"><span class="section-number-2">1</span> Text back end</h2>
<div id="outline-container-org74ae99b" class="outline-2">
<h2 id="org74ae99b"><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-org45a29f6" class="outline-2">
<h2 id="org45a29f6"><span class="section-number-2">2</span> HDF5 Back end</h2>
<div id="outline-container-orgb447435" class="outline-2">
<h2 id="orgb447435"><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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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="#org95e23c7">1. Coding conventions</a>
<li><a href="#orgd094da8">1. Coding conventions</a>
<ul>
<li><a href="#orgc47e7fd">1.1. Memory allocation</a></li>
<li><a href="#orgc2a095f">1.1. Memory allocation</a></li>
</ul>
</li>
<li><a href="#orgfa74347">2. Front end</a>
<li><a href="#orgb170218">2. Front end</a>
<ul>
<li><a href="#orga54aac4">2.1. Error handling</a>
<li><a href="#org4e9ccba">2.1. Error handling</a>
<ul>
<li><a href="#org9aa71e2">2.1.1. Decoding errors</a>
<li><a href="#orgeb99dab">2.1.1. Decoding errors</a>
<ul>
<li><a href="#org8358574">2.1.1.1. C source code</a></li>
<li><a href="#orga917412">2.1.1.2. Fortran interface</a></li>
<li><a href="#org27115ea">2.1.1.3. Python interface</a></li>
<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>
</ul>
</li>
</ul>
</li>
<li><a href="#org50aa890">2.2. Back ends</a>
<li><a href="#org23d1265">2.2. Back ends</a>
<ul>
<li><a href="#orge0c1eb9">2.2.1. C</a></li>
<li><a href="#org260abdb">2.2.2. Fortran</a></li>
<li><a href="#org4499e3e">2.2.3. Python</a></li>
<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>
</ul>
</li>
<li><a href="#org473f060">2.3. Read/write behavior</a></li>
<li><a href="#org3973cc1">2.4. TREXIO file type</a>
<li><a href="#org938b265">2.3. Read/write behavior</a></li>
<li><a href="#org79eb0fb">2.4. TREXIO file type</a>
<ul>
<li><a href="#org14418b8">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
<li><a href="#orgef873c8">2.4.1. TREXIO<sub>File</sub> Python class</a></li>
</ul>
</li>
<li><a href="#orge237bb5">2.5. Polymorphism of the file handle</a></li>
<li><a href="#org2ff65b4">2.6. File opening</a>
<li><a href="#org69a7d23">2.5. Polymorphism of the file handle</a></li>
<li><a href="#orgee543bf">2.6. File opening</a>
<ul>
<li><a href="#orgeb04f92">2.6.1. C</a></li>
<li><a href="#org0360a10">2.6.2. Fortran</a></li>
<li><a href="#orgb67ea9f">2.6.3. Python</a></li>
<li><a href="#orgc51fe1e">2.6.4. Zero-based versus one-based arrays of indices</a></li>
<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>
</ul>
</li>
<li><a href="#org6d82da2">2.7. File closing</a>
<li><a href="#org2060b8a">2.7. File closing</a>
<ul>
<li><a href="#org380ec63">2.7.1. C</a></li>
<li><a href="#org819adcf">2.7.2. Fortran</a></li>
<li><a href="#orga807798">2.7.3. Python</a></li>
<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>
</ul>
</li>
</ul>
</li>
<li><a href="#orgbf2c7a0">3. Templates for front end</a>
<li><a href="#org2e9d6c7">3. Templates for front end</a>
<ul>
<li><a href="#org0ab196d">3.1. Description</a></li>
<li><a href="#org9c9274d">3.2. Templates for front end has/read/write a single numerical attribute</a>
<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>
<ul>
<li><a href="#org2ddbed8">3.2.1. Introduction</a></li>
<li><a href="#org5855868">3.2.2. C templates for front end</a>
<li><a href="#org785fbd0">3.2.1. Introduction</a></li>
<li><a href="#org524c0e8">3.2.2. C templates for front end</a>
<ul>
<li><a href="#org9b094fb">3.2.2.1. Function declarations</a></li>
<li><a href="#orga838cc6">3.2.2.2. Source code for double precision functions</a></li>
<li><a href="#orgfdfade3">3.2.2.3. Source code for single precision functions</a></li>
<li><a href="#orge895d2f">3.2.2.4. Source code for default functions</a></li>
<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>
</ul>
</li>
<li><a href="#org2be5a57">3.2.3. Fortran templates for front end</a></li>
<li><a href="#orgb5aee71">3.2.4. Python templates for front end</a></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>
</ul>
</li>
<li><a href="#orgb466703">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<li><a href="#org8c357ee">3.3. Templates for front end has/read/write a dataset of numerical data</a>
<ul>
<li><a href="#org4d8ad8c">3.3.1. Introduction</a></li>
<li><a href="#org4bc1723">3.3.2. C templates for front end</a>
<li><a href="#org60c2b10">3.3.1. Introduction</a></li>
<li><a href="#org07e3a8c">3.3.2. C templates for front end</a>
<ul>
<li><a href="#org0f77224">3.3.2.1. Function declarations</a></li>
<li><a href="#org187f1c3">3.3.2.2. Source code for double precision functions</a></li>
<li><a href="#org6196890">3.3.2.3. Source code for single precision functions</a></li>
<li><a href="#org50534bf">3.3.2.4. Source code for memory-safe functions</a></li>
<li><a href="#orgbdf2c84">3.3.2.5. Source code for default functions</a></li>
<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>
</ul>
</li>
<li><a href="#org67dd1ad">3.3.3. Fortran templates for front end</a></li>
<li><a href="#orgb4539f0">3.3.4. Python templates for front end</a></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>
</ul>
</li>
<li><a href="#org077d1ad">3.4. Sparse data structures</a></li>
<li><a href="#org64f4ae0">3.5. Templates for front end has/read/write a dataset of strings</a>
<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>
<ul>
<li><a href="#org0c9bf8a">3.5.1. Introduction</a></li>
<li><a href="#org4bcdc90">3.5.2. C templates for front end</a>
<li><a href="#org6199c92">3.5.1. Introduction</a></li>
<li><a href="#orgdf9edb1">3.5.2. C templates for front end</a>
<ul>
<li><a href="#orgbba3863">3.5.2.1. Function declarations</a></li>
<li><a href="#orgb995b10">3.5.2.2. Source code for default functions</a></li>
<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>
</ul>
</li>
<li><a href="#orgba8c1fd">3.5.3. Fortran templates for front end</a></li>
<li><a href="#org93768c6">3.5.4. Python templates for front end</a></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>
</ul>
</li>
<li><a href="#org286ce2e">3.6. Templates for front end has/read/write a single string attribute</a>
<li><a href="#orgab43558">3.6. Templates for front end has/read/write a single string attribute</a>
<ul>
<li><a href="#org71ec410">3.6.1. Introduction</a></li>
<li><a href="#orgfcacb76">3.6.2. C templates for front end</a>
<li><a href="#org263551f">3.6.1. Introduction</a></li>
<li><a href="#orgd395bdd">3.6.2. C templates for front end</a>
<ul>
<li><a href="#org46bfa2b">3.6.2.1. Function declarations</a></li>
<li><a href="#org0c5c1d4">3.6.2.2. Source code for default functions</a></li>
<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>
</ul>
</li>
<li><a href="#org3f0096e">3.6.3. Fortran templates for front end</a></li>
<li><a href="#org30cd357">3.6.4. Python templates for front end</a></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>
</ul>
</li>
</ul>
</li>
<li><a href="#orga1e5cb3">4. Fortran helper/wrapper functions</a></li>
<li><a href="#org51f7a8a">4. Fortran helper/wrapper functions</a></li>
</ul>
</div>
</div>
<div id="outline-container-org95e23c7" class="outline-2">
<h2 id="org95e23c7"><span class="section-number-2">1</span> Coding conventions</h2>
<div id="outline-container-orgd094da8" class="outline-2">
<h2 id="orgd094da8"><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-orgc47e7fd" class="outline-3">
<h3 id="orgc47e7fd"><span class="section-number-3">1.1</span> Memory allocation</h3>
<div id="outline-container-orgc2a095f" class="outline-3">
<h3 id="orgc2a095f"><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-orgfa74347" class="outline-2">
<h2 id="orgfa74347"><span class="section-number-2">2</span> Front end</h2>
<div id="outline-container-orgb170218" class="outline-2">
<h2 id="orgb170218"><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-orga54aac4" class="outline-3">
<h3 id="orga54aac4"><span class="section-number-3">2.1</span> Error handling</h3>
<div id="outline-container-org4e9ccba" class="outline-3">
<h3 id="org4e9ccba"><span class="section-number-3">2.1</span> Error handling</h3>
<div class="outline-text-3" id="text-2-1">
<table id="org053e971" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org664ab1e" 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-org9aa71e2" class="outline-4">
<h4 id="org9aa71e2"><span class="section-number-4">2.1.1</span> Decoding errors</h4>
<div id="outline-container-orgeb99dab" class="outline-4">
<h4 id="orgeb99dab"><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-org8358574" class="outline-5">
<h5 id="org8358574"><span class="section-number-5">2.1.1.1</span> C source code</h5>
<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 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-orga917412" class="outline-5">
<h5 id="orga917412"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<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 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-org27115ea" class="outline-5">
<h5 id="org27115ea"><span class="section-number-5">2.1.1.3</span> Python interface</h5>
<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 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-org50aa890" class="outline-3">
<h3 id="org50aa890"><span class="section-number-3">2.2</span> Back ends</h3>
<div id="outline-container-org23d1265" class="outline-3">
<h3 id="org23d1265"><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-orge0c1eb9" class="outline-4">
<h4 id="orge0c1eb9"><span class="section-number-4">2.2.1</span> C</h4>
<div id="outline-container-org4f1e123" class="outline-4">
<h4 id="org4f1e123"><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-org260abdb" class="outline-4">
<h4 id="org260abdb"><span class="section-number-4">2.2.2</span> Fortran</h4>
<div id="outline-container-org0eb7d6f" class="outline-4">
<h4 id="org0eb7d6f"><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-org4499e3e" class="outline-4">
<h4 id="org4499e3e"><span class="section-number-4">2.2.3</span> Python</h4>
<div id="outline-container-orgd1118d1" class="outline-4">
<h4 id="orgd1118d1"><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-org473f060" class="outline-3">
<h3 id="org473f060"><span class="section-number-3">2.3</span> Read/write behavior</h3>
<div id="outline-container-org938b265" class="outline-3">
<h3 id="org938b265"><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-org3973cc1" class="outline-3">
<h3 id="org3973cc1"><span class="section-number-3">2.4</span> TREXIO file type</h3>
<div id="outline-container-org79eb0fb" class="outline-3">
<h3 id="org79eb0fb"><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-org14418b8" class="outline-4">
<h4 id="org14418b8"><span class="section-number-4">2.4.1</span> TREXIO<sub>File</sub> Python class</h4>
<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 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-orge237bb5" class="outline-3">
<h3 id="orge237bb5"><span class="section-number-3">2.5</span> Polymorphism of the file handle</h3>
<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 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-org2ff65b4" class="outline-3">
<h3 id="org2ff65b4"><span class="section-number-3">2.6</span> File opening</h3>
<div id="outline-container-orgee543bf" class="outline-3">
<h3 id="orgee543bf"><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-orgeb04f92" class="outline-4">
<h4 id="orgeb04f92"><span class="section-number-4">2.6.1</span> C</h4>
<div id="outline-container-org1a6e5c2" class="outline-4">
<h4 id="org1a6e5c2"><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-org0360a10" class="outline-4">
<h4 id="org0360a10"><span class="section-number-4">2.6.2</span> Fortran</h4>
<div id="outline-container-orgb504095" class="outline-4">
<h4 id="orgb504095"><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-orgb67ea9f" class="outline-4">
<h4 id="orgb67ea9f"><span class="section-number-4">2.6.3</span> Python</h4>
<div id="outline-container-org31a6285" class="outline-4">
<h4 id="org31a6285"><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-orgc51fe1e" class="outline-4">
<h4 id="orgc51fe1e"><span class="section-number-4">2.6.4</span> Zero-based versus one-based arrays of indices</h4>
<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 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-org6d82da2" class="outline-3">
<h3 id="org6d82da2"><span class="section-number-3">2.7</span> File closing</h3>
<div id="outline-container-org2060b8a" class="outline-3">
<h3 id="org2060b8a"><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-org380ec63" class="outline-4">
<h4 id="org380ec63"><span class="section-number-4">2.7.1</span> C</h4>
<div id="outline-container-orgaee868b" class="outline-4">
<h4 id="orgaee868b"><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-org819adcf" class="outline-4">
<h4 id="org819adcf"><span class="section-number-4">2.7.2</span> Fortran</h4>
<div id="outline-container-org7661cea" class="outline-4">
<h4 id="org7661cea"><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-orga807798" class="outline-4">
<h4 id="orga807798"><span class="section-number-4">2.7.3</span> Python</h4>
<div id="outline-container-orgb92f0de" class="outline-4">
<h4 id="orgb92f0de"><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-orgbf2c7a0" class="outline-2">
<h2 id="orgbf2c7a0"><span class="section-number-2">3</span> Templates for front end</h2>
<div id="outline-container-org2e9d6c7" class="outline-2">
<h2 id="org2e9d6c7"><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-org0ab196d" class="outline-3">
<h3 id="org0ab196d"><span class="section-number-3">3.1</span> Description</h3>
<div id="outline-container-orgc1ee32e" class="outline-3">
<h3 id="orgc1ee32e"><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-org9c9274d" class="outline-3">
<h3 id="org9c9274d"><span class="section-number-3">3.2</span> Templates for front end has/read/write a single numerical attribute</h3>
<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 class="outline-text-3" id="text-3-2">
</div>
<div id="outline-container-org2ddbed8" class="outline-4">
<h4 id="org2ddbed8"><span class="section-number-4">3.2.1</span> Introduction</h4>
<div id="outline-container-org785fbd0" class="outline-4">
<h4 id="org785fbd0"><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-org5855868" class="outline-4">
<h4 id="org5855868"><span class="section-number-4">3.2.2</span> C templates for front end</h4>
<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 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-org9b094fb" class="outline-5">
<h5 id="org9b094fb"><span class="section-number-5">3.2.2.1</span> Function declarations</h5>
<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>
<div id="outline-container-orga838cc6" class="outline-5">
<h5 id="orga838cc6"><span class="section-number-5">3.2.2.2</span> Source code for double precision functions</h5>
<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 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-orgfdfade3" class="outline-5">
<h5 id="orgfdfade3"><span class="section-number-5">3.2.2.3</span> Source code for single precision functions</h5>
<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 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-orge895d2f" class="outline-5">
<h5 id="orge895d2f"><span class="section-number-5">3.2.2.4</span> Source code for default functions</h5>
<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 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-org2be5a57" class="outline-4">
<h4 id="org2be5a57"><span class="section-number-4">3.2.3</span> Fortran templates for front end</h4>
<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 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-orgb5aee71" class="outline-4">
<h4 id="orgb5aee71"><span class="section-number-4">3.2.4</span> Python templates for front end</h4>
<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 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-orgb466703" class="outline-3">
<h3 id="orgb466703"><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-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 class="outline-text-3" id="text-3-3">
</div>
<div id="outline-container-org4d8ad8c" class="outline-4">
<h4 id="org4d8ad8c"><span class="section-number-4">3.3.1</span> Introduction</h4>
<div id="outline-container-org60c2b10" class="outline-4">
<h4 id="org60c2b10"><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-org4bc1723" class="outline-4">
<h4 id="org4bc1723"><span class="section-number-4">3.3.2</span> C templates for front end</h4>
<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 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-org0f77224" class="outline-5">
<h5 id="org0f77224"><span class="section-number-5">3.3.2.1</span> Function declarations</h5>
<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>
<div id="outline-container-org187f1c3" class="outline-5">
<h5 id="org187f1c3"><span class="section-number-5">3.3.2.2</span> Source code for double precision functions</h5>
<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 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-org6196890" class="outline-5">
<h5 id="org6196890"><span class="section-number-5">3.3.2.3</span> Source code for single precision functions</h5>
<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 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-org50534bf" class="outline-5">
<h5 id="org50534bf"><span class="section-number-5">3.3.2.4</span> Source code for memory-safe functions</h5>
<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 class="outline-text-5" id="text-3-3-2-4">
<div class="org-src-container">
<pre class="src src-c" id="org18dd0c9"><span style="color: #228b22;">trexio_exit_code</span> <span style="color: #a0522d;">rc</span>;
<pre class="src src-c" id="org1f341aa"><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-orgbdf2c84" class="outline-5">
<h5 id="orgbdf2c84"><span class="section-number-5">3.3.2.5</span> Source code for default functions</h5>
<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 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-org67dd1ad" class="outline-4">
<h4 id="org67dd1ad"><span class="section-number-4">3.3.3</span> Fortran templates for front end</h4>
<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 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-orgb4539f0" class="outline-4">
<h4 id="orgb4539f0"><span class="section-number-4">3.3.4</span> Python templates for front end</h4>
<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 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-org077d1ad" class="outline-3">
<h3 id="org077d1ad"><span class="section-number-3">3.4</span> Sparse data structures</h3>
<div id="outline-container-org835813c" class="outline-3">
<h3 id="org835813c"><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-org64f4ae0" class="outline-3">
<h3 id="org64f4ae0"><span class="section-number-3">3.5</span> Templates for front end has/read/write a dataset of strings</h3>
<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 class="outline-text-3" id="text-3-5">
</div>
<div id="outline-container-org0c9bf8a" class="outline-4">
<h4 id="org0c9bf8a"><span class="section-number-4">3.5.1</span> Introduction</h4>
<div id="outline-container-org6199c92" class="outline-4">
<h4 id="org6199c92"><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-org4bcdc90" class="outline-4">
<h4 id="org4bcdc90"><span class="section-number-4">3.5.2</span> C templates for front end</h4>
<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 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-orgbba3863" class="outline-5">
<h5 id="orgbba3863"><span class="section-number-5">3.5.2.1</span> Function declarations</h5>
<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>
<div id="outline-container-orgb995b10" class="outline-5">
<h5 id="orgb995b10"><span class="section-number-5">3.5.2.2</span> Source code for default functions</h5>
<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 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-orgba8c1fd" class="outline-4">
<h4 id="orgba8c1fd"><span class="section-number-4">3.5.3</span> Fortran templates for front end</h4>
<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 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-org93768c6" class="outline-4">
<h4 id="org93768c6"><span class="section-number-4">3.5.4</span> Python templates for front end</h4>
<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 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-org286ce2e" class="outline-3">
<h3 id="org286ce2e"><span class="section-number-3">3.6</span> Templates for front end has/read/write a single string attribute</h3>
<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 class="outline-text-3" id="text-3-6">
</div>
<div id="outline-container-org71ec410" class="outline-4">
<h4 id="org71ec410"><span class="section-number-4">3.6.1</span> Introduction</h4>
<div id="outline-container-org263551f" class="outline-4">
<h4 id="org263551f"><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-orgfcacb76" class="outline-4">
<h4 id="orgfcacb76"><span class="section-number-4">3.6.2</span> C templates for front end</h4>
<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 class="outline-text-4" id="text-3-6-2">
</div>
<div id="outline-container-org46bfa2b" class="outline-5">
<h5 id="org46bfa2b"><span class="section-number-5">3.6.2.1</span> Function declarations</h5>
<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>
<div id="outline-container-org0c5c1d4" class="outline-5">
<h5 id="org0c5c1d4"><span class="section-number-5">3.6.2.2</span> Source code for default functions</h5>
<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 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-org3f0096e" class="outline-4">
<h4 id="org3f0096e"><span class="section-number-4">3.6.3</span> Fortran templates for front end</h4>
<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 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-org30cd357" class="outline-4">
<h4 id="org30cd357"><span class="section-number-4">3.6.4</span> Python templates for front end</h4>
<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 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-orga1e5cb3" class="outline-2">
<h2 id="orga1e5cb3"><span class="section-number-2">4</span> Fortran helper/wrapper functions</h2>
<div id="outline-container-org51f7a8a" class="outline-2">
<h2 id="org51f7a8a"><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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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="#org525e2db">1. HDF5 back end</a>
<li><a href="#orgc9a24a3">1. HDF5 back end</a>
<ul>
<li><a href="#org1611ea1">1.1. Template for HDF5 definitions</a></li>
<li><a href="#orgd76d8ad">1.2. Template for HDF5 structures</a></li>
<li><a href="#org3dd1561">1.3. Template for HDF5 init/deinit</a></li>
<li><a href="#org2272597">1.4. Template for HDF5 has/read/write the numerical attribute</a></li>
<li><a href="#org3634900">1.5. Template for HDF5 has/read/write the dataset of numerical data</a></li>
<li><a href="#org4311d09">1.6. Template for HDF5 has/read/write the dataset of strings</a></li>
<li><a href="#org0749198">1.7. Template for HDF5 has/read/write the string attribute</a></li>
<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>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org525e2db" class="outline-2">
<h2 id="org525e2db"><span class="section-number-2">1</span> HDF5 back end</h2>
<div id="outline-container-orgc9a24a3" class="outline-2">
<h2 id="orgc9a24a3"><span class="section-number-2">1</span> HDF5 back end</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org1611ea1" class="outline-3">
<h3 id="org1611ea1"><span class="section-number-3">1.1</span> Template for HDF5 definitions</h3>
<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 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-orgd76d8ad" class="outline-3">
<h3 id="orgd76d8ad"><span class="section-number-3">1.2</span> Template for HDF5 structures</h3>
<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 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-org3dd1561" class="outline-3">
<h3 id="org3dd1561"><span class="section-number-3">1.3</span> Template for HDF5 init/deinit</h3>
<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 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-org2272597" class="outline-3">
<h3 id="org2272597"><span class="section-number-3">1.4</span> Template for HDF5 has/read/write the numerical attribute</h3>
<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 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-org3634900" class="outline-3">
<h3 id="org3634900"><span class="section-number-3">1.5</span> Template for HDF5 has/read/write the dataset of numerical data</h3>
<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 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-org4311d09" class="outline-3">
<h3 id="org4311d09"><span class="section-number-3">1.6</span> Template for HDF5 has/read/write the dataset of strings</h3>
<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 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-org0749198" class="outline-3">
<h3 id="org0749198"><span class="section-number-3">1.7</span> Template for HDF5 has/read/write the string attribute</h3>
<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 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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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="#orgf4f2ffb">1. TEXT back end</a>
<li><a href="#org75c9cc2">1. TEXT back end</a>
<ul>
<li><a href="#org1aacbed">1.1. Template for group-related structures in text back end</a></li>
<li><a href="#orgd45cd26">1.2. Template for general structure in text back end</a></li>
<li><a href="#org3e373b3">1.3. Initialize function (constant part)</a></li>
<li><a href="#org2449d16">1.4. Deinitialize function (templated part)</a></li>
<li><a href="#orga6e849f">1.5. Template for text read struct</a></li>
<li><a href="#org94983ca">1.6. Template for text flush struct</a></li>
<li><a href="#org8a89eeb">1.7. Template for text free memory</a></li>
<li><a href="#orgc5a156a">1.8. Template for has/read/write the numerical attribute</a></li>
<li><a href="#org946050c">1.9. Template for has/read/write the dataset of numerical data</a></li>
<li><a href="#orgd0baeeb">1.10. Template for has/read/write the dataset of strings</a></li>
<li><a href="#orgb94e283">1.11. Template for has/read/write the string attribute</a></li>
<li><a href="#org061842e">1.12. RDM struct (hard-coded)</a>
<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>
<ul>
<li><a href="#org87e29e4">1.12.1. Read the complete struct</a></li>
<li><a href="#orga150e81">1.12.2. Flush the complete struct</a></li>
<li><a href="#orgf278e22">1.12.3. Free memory</a></li>
<li><a href="#org6c83721">1.12.4. Read/Write the one<sub>e</sub> attribute</a></li>
<li><a href="#org4f75792">1.12.5. Read/Write the two<sub>e</sub> attribute</a></li>
<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>
</ul>
</li>
</ul>
@ -339,8 +339,8 @@ for the JavaScript code in this tag.
</div>
</div>
<div id="outline-container-orgf4f2ffb" class="outline-2">
<h2 id="orgf4f2ffb"><span class="section-number-2">1</span> TEXT back end</h2>
<div id="outline-container-org75c9cc2" class="outline-2">
<h2 id="org75c9cc2"><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-org1aacbed" class="outline-3">
<h3 id="org1aacbed"><span class="section-number-3">1.1</span> Template for group-related structures in text back end</h3>
<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 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-orgd45cd26" class="outline-3">
<h3 id="orgd45cd26"><span class="section-number-3">1.2</span> Template for general structure in text back end</h3>
<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 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-org3e373b3" class="outline-3">
<h3 id="org3e373b3"><span class="section-number-3">1.3</span> Initialize function (constant part)</h3>
<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 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-org2449d16" class="outline-3">
<h3 id="org2449d16"><span class="section-number-3">1.4</span> Deinitialize function (templated part)</h3>
<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 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-orga6e849f" class="outline-3">
<h3 id="orga6e849f"><span class="section-number-3">1.5</span> Template for text read struct</h3>
<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 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-org94983ca" class="outline-3">
<h3 id="org94983ca"><span class="section-number-3">1.6</span> Template for text flush struct</h3>
<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 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-org8a89eeb" class="outline-3">
<h3 id="org8a89eeb"><span class="section-number-3">1.7</span> Template for text free memory</h3>
<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 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-orgc5a156a" class="outline-3">
<h3 id="orgc5a156a"><span class="section-number-3">1.8</span> Template for has/read/write the numerical attribute</h3>
<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 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-org946050c" class="outline-3">
<h3 id="org946050c"><span class="section-number-3">1.9</span> Template for has/read/write the dataset of numerical data</h3>
<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 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-orgd0baeeb" class="outline-3">
<h3 id="orgd0baeeb"><span class="section-number-3">1.10</span> Template for has/read/write the dataset of strings</h3>
<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 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-orgb94e283" class="outline-3">
<h3 id="orgb94e283"><span class="section-number-3">1.11</span> Template for has/read/write the string attribute</h3>
<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 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-org061842e" class="outline-3">
<h3 id="org061842e"><span class="section-number-3">1.12</span> RDM struct (hard-coded)</h3>
<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 class="outline-text-3" id="text-1-12">
</div>
<div id="outline-container-org87e29e4" class="outline-4">
<h4 id="org87e29e4"><span class="section-number-4">1.12.1</span> Read the complete struct</h4>
<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 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-orga150e81" class="outline-4">
<h4 id="orga150e81"><span class="section-number-4">1.12.2</span> Flush the complete struct</h4>
<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 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-orgf278e22" class="outline-4">
<h4 id="orgf278e22"><span class="section-number-4">1.12.3</span> Free memory</h4>
<div id="outline-container-org865d46d" class="outline-4">
<h4 id="org865d46d"><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-org6c83721" class="outline-4">
<h4 id="org6c83721"><span class="section-number-4">1.12.4</span> Read/Write the one<sub>e</sub> attribute</h4>
<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 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-org4f75792" class="outline-4">
<h4 id="org4f75792"><span class="section-number-4">1.12.5</span> Read/Write the two<sub>e</sub> attribute</h4>
<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 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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</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-03 Wed 09:29 -->
<!-- 2021-11-08 Mon 18:42 -->
<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="#orgfb4e179">1. Metadata (metadata group)</a></li>
<li><a href="#org9d61b32">2. Electron (electron group)</a></li>
<li><a href="#orgcb7b262">3. Nucleus (nucleus group)</a></li>
<li><a href="#orga15c691">4. Effective core potentials (ecp group)</a>
<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>
<ul>
<li><a href="#orgea44692">4.1. Example</a></li>
<li><a href="#org1ee75ea">4.1. Example</a></li>
</ul>
</li>
<li><a href="#orge6d7c18">5. Basis set (basis group)</a>
<li><a href="#org61ae7c6">5. Basis set (basis group)</a>
<ul>
<li><a href="#orgf28e898">5.1. Example</a></li>
<li><a href="#org202918c">5.1. Example</a></li>
</ul>
</li>
<li><a href="#org4547771">6. Atomic orbitals (ao group)</a>
<li><a href="#org2f06b96">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="#orgd73fba9">7. Molecular orbitals (mo group)</a>
<li><a href="#orgd0c78bd">7. Molecular orbitals (mo group)</a>
<ul>
<li><a href="#org7242142">7.1. One-electron integrals (<code>mo_1e_int</code> group)</a></li>
<li><a href="#org1e63770">7.2. Two-electron integrals (<code>mo_2e_int</code> group)</a></li>
<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>
</ul>
</li>
<li><a href="#orgaf9a40b">8. <span class="todo TODO">TODO</span> Slater determinants</a></li>
<li><a href="#org0356763">9. <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</a></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>
</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-orgfb4e179" class="outline-2">
<h2 id="orgfb4e179"><span class="section-number-2">1</span> Metadata (metadata group)</h2>
<div id="outline-container-orgd05a43d" class="outline-2">
<h2 id="orgd05a43d"><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="org9d0fbee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org827b8dc" 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-org9d61b32" class="outline-2">
<h2 id="org9d61b32"><span class="section-number-2">2</span> Electron (electron group)</h2>
<div id="outline-container-orga815014" class="outline-2">
<h2 id="orga815014"><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="org3dea547" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org535b09f" 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-orgcb7b262" class="outline-2">
<h2 id="orgcb7b262"><span class="section-number-2">3</span> Nucleus (nucleus group)</h2>
<div id="outline-container-org48cd47f" class="outline-2">
<h2 id="org48cd47f"><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="orgd889018" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgb650f0c" 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-orga15c691" class="outline-2">
<h2 id="orga15c691"><span class="section-number-2">4</span> Effective core potentials (ecp group)</h2>
<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 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="org090b0cd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org5877672" 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-orgea44692" class="outline-3">
<h3 id="orgea44692"><span class="section-number-3">4.1</span> Example</h3>
<div id="outline-container-org1ee75ea" class="outline-3">
<h3 id="org1ee75ea"><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-orge6d7c18" class="outline-2">
<h2 id="orge6d7c18"><span class="section-number-2">5</span> Basis set (basis group)</h2>
<div id="outline-container-org61ae7c6" class="outline-2">
<h2 id="org61ae7c6"><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="org6054e21" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgdd70e60" 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-orgf28e898" class="outline-3">
<h3 id="orgf28e898"><span class="section-number-3">5.1</span> Example</h3>
<div id="outline-container-org202918c" class="outline-3">
<h3 id="org202918c"><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-org4547771" class="outline-2">
<h2 id="org4547771"><span class="section-number-2">6</span> Atomic orbitals (ao group)</h2>
<div id="outline-container-org2f06b96" class="outline-2">
<h2 id="org2f06b96"><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="#orge6d7c18">Basis set</a> section) to \(\mathcal{N}_{z^2}\), which is the
the <a href="#org61ae7c6">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="org5bd6fe3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org85a5049" 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-orge5ff767" class="outline-3">
<h3 id="ao_one_e"><a id="orge5ff767"></a><span class="section-number-3">6.1</span> One-electron integrals (<code>ao_1e_int</code> group)</h3>
<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 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="org78564e2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgc6766d1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1208,8 +1208,8 @@ over atomic orbitals.
</div>
</div>
<div id="outline-container-org1ad28a8" class="outline-3">
<h3 id="ao_two_e"><a id="org1ad28a8"></a><span class="section-number-3">6.2</span> Two-electron integrals (<code>ao_2e_int</code> group)</h3>
<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 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="org348bc69" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orga9bcd24" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1270,10 +1270,10 @@ notation.
</div>
</div>
<div id="outline-container-orgd73fba9" class="outline-2">
<h2 id="orgd73fba9"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div id="outline-container-orgd0c78bd" class="outline-2">
<h2 id="orgd0c78bd"><span class="section-number-2">7</span> Molecular orbitals (mo group)</h2>
<div class="outline-text-2" id="text-7">
<table id="orgef78939" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org9253afe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@ -1339,8 +1339,8 @@ notation.
</table>
</div>
<div id="outline-container-org7242142" class="outline-3">
<h3 id="org7242142"><span class="section-number-3">7.1</span> One-electron integrals (<code>mo_1e_int</code> group)</h3>
<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 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="orgb379755" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf6f3bc2" 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-org1e63770" class="outline-3">
<h3 id="org1e63770"><span class="section-number-3">7.2</span> Two-electron integrals (<code>mo_2e_int</code> group)</h3>
<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 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="org728d518" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org697fe2a" 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-orgaf9a40b" class="outline-2">
<h2 id="orgaf9a40b"><span class="section-number-2">8</span> <span class="todo TODO">TODO</span> Slater determinants</h2>
<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>
<div id="outline-container-org0356763" class="outline-2">
<h2 id="org0356763"><span class="section-number-2">9</span> <span class="todo TODO">TODO</span> Reduced density matrices (rdm group)</h2>
<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 class="outline-text-2" id="text-9">
<table id="orge8ba860" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orge142d67" 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-03 Wed 09:29</p>
<p class="date">Created: 2021-11-08 Mon 18:42</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>