Skip to content

Commit

Permalink
build based on 8339921
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 20, 2023
1 parent cd077b7 commit a688f04
Show file tree
Hide file tree
Showing 107 changed files with 19,295 additions and 19,455 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-11-14T13:39:03","documenter_version":"1.1.2"}}
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2023-11-20T17:08:59","documenter_version":"1.1.2"}}
36 changes: 18 additions & 18 deletions dev/api/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/developer/conventions/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
using UnitfulAtomic
austrip(10u&quot;eV&quot;) # 10eV in Hartree</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">0.36749322175518595</code></pre><pre><code class="language-julia hljs">using Unitful: Å
using UnitfulAtomic
auconvert(Å, 1.2) # 1.2 Bohr in Ångström</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">0.6350126530835999 Å</code></pre><div class="admonition is-warning"><header class="admonition-header">Differing unit conventions</header><div class="admonition-body"><p>Different electronic-structure codes use different unit conventions. For example for lattice vectors the common length units are Bohr (used by DFTK) and Ångström (used e.g. by ASE, 1Å ≈ 1.80 Bohr). When setting up a calculation for DFTK one needs to ensure to convert to Bohr and atomic units. When structures are provided as <a href="https://github.com/JuliaMolSim/AtomsBase.jl">AtomsBase.jl</a>-compatible objects, this unit conversion is automatically performed behind the scenes. See <a href="../../examples/atomsbase/#AtomsBase-integration">AtomsBase integration</a> for details.</p></div></div><h2 id="conventions-lattice"><a class="docs-heading-anchor" href="#conventions-lattice">Lattices and lattice vectors</a><a id="conventions-lattice-1"></a><a class="docs-heading-anchor-permalink" href="#conventions-lattice" title="Permalink"></a></h2><p>Both the real-space lattice (i.e. <code>model.lattice</code>) and reciprocal-space lattice (<code>model.recip_lattice</code>) contain the lattice vectors in columns. For example, <code>model.lattice[:, 1]</code> is the first real-space lattice vector. If 1D or 2D problems are to be treated these arrays are still <span>$3 \times 3$</span> matrices, but contain two or one zero-columns, respectively. The real-space lattice vectors are sometimes referred to by <span>$A$</span> and the reciprocal-space lattice vectors by <span>$B = 2\pi A^{-T}$</span>.</p><div class="admonition is-warning"><header class="admonition-header">Row-major versus column-major storage order</header><div class="admonition-body"><p>Julia stores matrices as column-major, but other languages (notably Python and C) use row-major ordering. Care therefore needs to be taken to properly transpose the unit cell matrices <span>$A$</span> before using it with DFTK. For the supported third-party packages <code>load_lattice</code>, <code>load_positions</code> and <code>load_atoms</code> again handle such conversion automatically.</p></div></div><p>We use the convention that the unit cell in real space is <span>$[0, 1)^3$</span> in reduced coordinates and the unit cell in reciprocal space (the reducible Brillouin zone) is <span>$[-1/2, 1/2)^3$</span>.</p><h2 id="Reduced-and-cartesian-coordinates"><a class="docs-heading-anchor" href="#Reduced-and-cartesian-coordinates">Reduced and cartesian coordinates</a><a id="Reduced-and-cartesian-coordinates-1"></a><a class="docs-heading-anchor-permalink" href="#Reduced-and-cartesian-coordinates" title="Permalink"></a></h2><p>Unless denoted otherwise the code uses <strong>reduced coordinates</strong> for reciprocal-space vectors such as <span>$k$</span>, <span>$G$</span>, <span>$q$</span> or real-space vectors like <span>$r$</span> and <span>$R$</span> (see <a href="#symbol-conventions">Symbol conventions</a>). One switches to Cartesian coordinates by</p><p class="math-container">\[x_\text{cart} = M x_\text{red}\]</p><p>where <span>$M$</span> is either <span>$A$</span> / <code>model.lattice</code> (for real-space vectors) or <span>$B$</span> / <code>model.recip_lattice</code> (for reciprocal-space vectors). A useful relationship is</p><p class="math-container">\[b_\text{cart} \cdot a_\text{cart}=2\pi b_\text{red} \cdot a_\text{red}\]</p><p>if <span>$a$</span> and <span>$b$</span> are real-space and reciprocal-space vectors respectively. Other names for reduced coordinates are <strong>integer coordinates</strong> (usually for <span>$G$</span>-vectors) or <strong>fractional coordinates</strong> (usually for <span>$k$</span>-points).</p><h2 id="Normalization-conventions"><a class="docs-heading-anchor" href="#Normalization-conventions">Normalization conventions</a><a id="Normalization-conventions-1"></a><a class="docs-heading-anchor-permalink" href="#Normalization-conventions" title="Permalink"></a></h2><p>The normalization conventions used in the code is that quantities stored in reciprocal space are coefficients in the <span>$e_{G}$</span> basis, and quantities stored in real space use real physical values. This means for instance that wavefunctions in the real space grid are normalized as <span>$\frac{|\Omega|}{N} \sum_{r} |\psi(r)|^{2} = 1$</span> where <span>$N$</span> is the number of grid points and in reciprocal space its coefficients are <span>$\ell^{2}$</span>-normalized, see the discussion in section <a href="../data_structures/#PlaneWaveBasis-and-plane-wave-discretisations"><code>PlaneWaveBasis</code> and plane-wave discretisations</a> where this is demonstrated.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../setup/">« Developer setup</a><a class="docs-footer-nextpage" href="../data_structures/">Data structures »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.2 on <span class="colophon-date" title="Tuesday 14 November 2023 13:39">Tuesday 14 November 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
auconvert(Å, 1.2) # 1.2 Bohr in Ångström</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">0.6350126530835999 Å</code></pre><div class="admonition is-warning"><header class="admonition-header">Differing unit conventions</header><div class="admonition-body"><p>Different electronic-structure codes use different unit conventions. For example for lattice vectors the common length units are Bohr (used by DFTK) and Ångström (used e.g. by ASE, 1Å ≈ 1.80 Bohr). When setting up a calculation for DFTK one needs to ensure to convert to Bohr and atomic units. When structures are provided as <a href="https://github.com/JuliaMolSim/AtomsBase.jl">AtomsBase.jl</a>-compatible objects, this unit conversion is automatically performed behind the scenes. See <a href="../../examples/atomsbase/#AtomsBase-integration">AtomsBase integration</a> for details.</p></div></div><h2 id="conventions-lattice"><a class="docs-heading-anchor" href="#conventions-lattice">Lattices and lattice vectors</a><a id="conventions-lattice-1"></a><a class="docs-heading-anchor-permalink" href="#conventions-lattice" title="Permalink"></a></h2><p>Both the real-space lattice (i.e. <code>model.lattice</code>) and reciprocal-space lattice (<code>model.recip_lattice</code>) contain the lattice vectors in columns. For example, <code>model.lattice[:, 1]</code> is the first real-space lattice vector. If 1D or 2D problems are to be treated these arrays are still <span>$3 \times 3$</span> matrices, but contain two or one zero-columns, respectively. The real-space lattice vectors are sometimes referred to by <span>$A$</span> and the reciprocal-space lattice vectors by <span>$B = 2\pi A^{-T}$</span>.</p><div class="admonition is-warning"><header class="admonition-header">Row-major versus column-major storage order</header><div class="admonition-body"><p>Julia stores matrices as column-major, but other languages (notably Python and C) use row-major ordering. Care therefore needs to be taken to properly transpose the unit cell matrices <span>$A$</span> before using it with DFTK. For the supported third-party packages <code>load_lattice</code>, <code>load_positions</code> and <code>load_atoms</code> again handle such conversion automatically.</p></div></div><p>We use the convention that the unit cell in real space is <span>$[0, 1)^3$</span> in reduced coordinates and the unit cell in reciprocal space (the reducible Brillouin zone) is <span>$[-1/2, 1/2)^3$</span>.</p><h2 id="Reduced-and-cartesian-coordinates"><a class="docs-heading-anchor" href="#Reduced-and-cartesian-coordinates">Reduced and cartesian coordinates</a><a id="Reduced-and-cartesian-coordinates-1"></a><a class="docs-heading-anchor-permalink" href="#Reduced-and-cartesian-coordinates" title="Permalink"></a></h2><p>Unless denoted otherwise the code uses <strong>reduced coordinates</strong> for reciprocal-space vectors such as <span>$k$</span>, <span>$G$</span>, <span>$q$</span> or real-space vectors like <span>$r$</span> and <span>$R$</span> (see <a href="#symbol-conventions">Symbol conventions</a>). One switches to Cartesian coordinates by</p><p class="math-container">\[x_\text{cart} = M x_\text{red}\]</p><p>where <span>$M$</span> is either <span>$A$</span> / <code>model.lattice</code> (for real-space vectors) or <span>$B$</span> / <code>model.recip_lattice</code> (for reciprocal-space vectors). A useful relationship is</p><p class="math-container">\[b_\text{cart} \cdot a_\text{cart}=2\pi b_\text{red} \cdot a_\text{red}\]</p><p>if <span>$a$</span> and <span>$b$</span> are real-space and reciprocal-space vectors respectively. Other names for reduced coordinates are <strong>integer coordinates</strong> (usually for <span>$G$</span>-vectors) or <strong>fractional coordinates</strong> (usually for <span>$k$</span>-points).</p><h2 id="Normalization-conventions"><a class="docs-heading-anchor" href="#Normalization-conventions">Normalization conventions</a><a id="Normalization-conventions-1"></a><a class="docs-heading-anchor-permalink" href="#Normalization-conventions" title="Permalink"></a></h2><p>The normalization conventions used in the code is that quantities stored in reciprocal space are coefficients in the <span>$e_{G}$</span> basis, and quantities stored in real space use real physical values. This means for instance that wavefunctions in the real space grid are normalized as <span>$\frac{|\Omega|}{N} \sum_{r} |\psi(r)|^{2} = 1$</span> where <span>$N$</span> is the number of grid points and in reciprocal space its coefficients are <span>$\ell^{2}$</span>-normalized, see the discussion in section <a href="../data_structures/#PlaneWaveBasis-and-plane-wave-discretisations"><code>PlaneWaveBasis</code> and plane-wave discretisations</a> where this is demonstrated.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../setup/">« Developer setup</a><a class="docs-footer-nextpage" href="../data_structures/">Data structures »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.2 on <span class="colophon-date" title="Monday 20 November 2023 17:08">Monday 20 November 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit a688f04

Please sign in to comment.