Skip to content

Commit 8bb82a5

Browse files
committed
DOCS: clean up toctree and ordering in Input.md
1 parent f197769 commit 8bb82a5

3 files changed

Lines changed: 131 additions & 131 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ https://juspin.de
4747
Contents
4848
--------
4949

50-
1. [Introduction](#Introduction)
51-
2. [Getting started with the Desktop User Interface](#Desktop)
52-
3. [Getting started with the Python Package](#Python)
50+
1. [Introduction](#introduction)
51+
2. [Getting started with the Desktop Interface](#getting-started-with-the-desktop-interface)
52+
3. [Getting started with the Python Package](#getting-started-with-the-python-package)
5353

5454
---------------------------------------------
5555

@@ -59,7 +59,7 @@ Contents
5959

6060

6161

62-
Introduction <a name="Introduction"></a>
62+
Introduction
6363
---------------------------------------------
6464

6565
#### A modern framework for magnetism science on clusters, desktops & laptops and even your Phone
@@ -116,7 +116,7 @@ hosted by the Research Centre Jülich.
116116

117117

118118

119-
Getting started with the Desktop Interface <a name="Desktop"></a>
119+
Getting started with the Desktop Interface
120120
---------------------------------------------
121121

122122
See the build instructions for [Unix/OSX](docs/Build_Unix_OSX.md) or
@@ -148,7 +148,7 @@ to the restrictive license on QT-Charts.*
148148

149149

150150

151-
Getting started with the Python Package <a name="Python"></a>
151+
Getting started with the Python Package
152152
---------------------------------------------
153153

154154
To install the *Spirit python package*, either build and install from source

conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
myst_enable_extensions = [
7575
"dollarmath",
7676
]
77+
myst_heading_anchors = 3
7778

7879

7980
# The master toctree document.

core/docs/Input.md

Lines changed: 124 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ Spirit inputfile
33

44
The following sections will list and explain the input file keywords.
55

6-
1. [General Settings and Log](#General)
7-
2. [Geometry](#Geometry)
8-
3. [Heisenberg Hamiltonian](#Heisenberg)
9-
4. [Gaussian Hamiltonian](#Gaussian)
10-
5. [Method Output](#MethodOutput)
11-
6. [Method Parameters](#MethodParameters)
12-
7. [Pinning](#Pinning)
13-
8. [Disorder and Defects](#Defects)
6+
1. [General Settings and Log](#general-settings-and-log)
7+
2. [Geometry](#geometry)
8+
1. [Pinning](#pinning)
9+
2. [Disorder and Defects](#disorder-and-defects)
10+
3. [Heisenberg Hamiltonian](#heisenberg-hamiltonian)
11+
4. [Method Configuration](#method-configuration)
12+
1. [Method Output](#method-output)
13+
2. [Method Parameters](#method-parameters)
1414

1515

16-
General Settings and Log <a name="General"></a>
16+
General Settings and Log
1717
----------------------------------------------------
1818

1919
```toml
@@ -59,7 +59,7 @@ at all.
5959
| DEBUG | 6 | Also deeper debug-info |
6060

6161

62-
Geometry <a name="Geometry"></a>
62+
Geometry
6363
----------------------------------------------------
6464

6565
The Geometry of a spin system is specified in form of a bravais lattice
@@ -150,7 +150,113 @@ The basis atoms are specified in units of the Bravais vectors.
150150
The atomic moments `mu_s` are specified in units of the Bohr magneton `mu_B`.
151151

152152

153-
Heisenberg Hamiltonian <a name="Heisenberg"></a>
153+
### Pinning
154+
155+
Note that for this feature you need to build with `SPIRIT_ENABLE_PINNING`
156+
set to `ON` in cmake.
157+
158+
When pinning the boundary you have to specify how many columns, rows and layers
159+
of cells should be pinned. That means `pinning.boundary` has to be an array of
160+
length 3 where each entry is either a number for symmetric counts or a pair of values.
161+
To set the direction of the pinned cells, you need to give the `pinning.cell`
162+
keyword and one vector for each basis atom.
163+
164+
You can for example do the following to create a U-shaped pinning in x-direction:
165+
```toml
166+
[geometry]
167+
pinning.boundary = [
168+
[2, 0], # Pin left side of the sample (2 rows)
169+
2, # Pin top and bottom sides (2 rows each)
170+
0
171+
]
172+
# Pin the atoms to x-direction
173+
pinning.cell = [
174+
[1, 0, 0]
175+
]
176+
```
177+
178+
To specify individual pinned sites (overriding the above pinning settings),
179+
insert a table into your input. For example:
180+
```toml
181+
[geometry]
182+
### Specify the number of pinned sites and then the sites (in terms of translations) and directions
183+
pinned = """
184+
i da db dc x y z
185+
0 0 0 0 1.0 0.0 0.0
186+
0 1 0 0 0.0 1.0 0.0
187+
0 0 1 0 0.0 0.0 1.0
188+
"""
189+
```
190+
You may also place it into a separate file with the `file://` prefix, e.g.
191+
```toml
192+
[geometry]
193+
### Read pinned sites from a separate file
194+
pinned = "file://input/pinned.txt"
195+
```
196+
The file should either contain only the pinned sites or you need to specify `n_pinned`
197+
inside the file.
198+
199+
200+
### Disorder and Defects
201+
202+
Note that for this feature you need to build with `SPIRIT_ENABLE_DEFECTS`
203+
set to `ON` in cmake.
204+
205+
In order to specify disorder across the lattice, you can write for example a
206+
single atom basis with 50% chance of containing one of two atom types (0 or 1):
207+
```toml
208+
[geometry]
209+
# iatom atom_type concentration mu_s ...
210+
atom_types = """
211+
i type c mu_s
212+
0 1 2.0 0.5
213+
"""
214+
```
215+
216+
Note that you have to also specify the magnetic moment, as this is now site-
217+
and atom type dependent.
218+
219+
A two-atom basis where
220+
- the first atom is type 0
221+
- the second atom is 70% type 1 and 30% type 2
222+
```toml
223+
[geometry]
224+
# iatom atom_type concentration mu_s
225+
atom_types = """
226+
i type c mu_s
227+
0 0 1 1.0
228+
1 1 0.7 2.5
229+
1 2 0.3 2.3
230+
"""
231+
```
232+
The total concentration on a site should not be more than `1`. If it is less
233+
than `1`, vacancies will appear.
234+
235+
To specify defects, be it vacancies or impurities, you may fix atom types for
236+
sites of the whole lattice by inserting a list into your input. For example:
237+
```toml
238+
[geometry]
239+
### Atom types: type index 0..n or or vacancy (type < 0)
240+
### Specify the number of defects and then the defects in terms of translations and type
241+
### i da db dc itype
242+
defects = """
243+
i da db dc type
244+
0 0 0 0 -1
245+
0 1 0 0 -1
246+
0 0 1 0 -1
247+
"""
248+
```
249+
You may also place it into a separate file with the `file://` prefix,
250+
e.g.
251+
```toml
252+
[geometry]
253+
### Read defects from a separate file
254+
defects_from = "file://input/defects.txt"
255+
```
256+
The file should either contain only the defects or you need to specify `n_defects`
257+
inside the file.
258+
259+
Heisenberg Hamiltonian
154260
----------------------------------------------------
155261

156262
To use a Heisenberg Hamiltonian, use either `heisenberg_neighbours` or `heisenberg_pairs`
@@ -289,12 +395,14 @@ Note that the quadruplet interaction is defined as
289395
**Units:**
290396

291397
The external field is specified in Tesla, while anisotropy is specified in meV.
292-
Pairwise interactions are specified in meV per unique pair \<ij\>,
293-
while quadruplets are specified in meV per unique quadruplet \<ijkl\>.
398+
Pairwise interactions are specified in meV per unique pair `<ij>`,
399+
while quadruplets are specified in meV per unique quadruplet `<ijkl>`.
294400

295401

296-
Method Output <a name="MethodOutput"></a>
297-
----------------------------------------------------
402+
Method Configuration
403+
-------------------------------------------------------------------
404+
405+
### Method Output
298406

299407
For `llg` and equivalently `mc` and `gneb`, you can specify which
300408
output you want your simulations to create.
@@ -350,8 +458,7 @@ chain_step = false # Save the whole chain at each step
350458
```
351459

352460

353-
Method Parameters <a name="MethodParameters"></a>
354-
----------------------------------------------------
461+
### Method Parameters
355462

356463
Again, the different Methods share a few common parameters.
357464

@@ -436,114 +543,6 @@ n_energy_interpolations = 10
436543
```
437544

438545

439-
Pinning <a name="Pinning"></a>
440-
----------------------------------------------------
441-
442-
Note that for this feature you need to build with `SPIRIT_ENABLE_PINNING`
443-
set to `ON` in cmake.
444-
445-
When pinning the boundary you have to specify how many columns, rows and layers
446-
of cells should be pinned. That means `pinning.boundary` has to be an array of
447-
length 3 where each entry is either a number for symmetric counts or a pair of values.
448-
To set the direction of the pinned cells, you need to give the `pinning.cell`
449-
keyword and one vector for each basis atom.
450-
451-
You can for example do the following to create a U-shaped pinning in x-direction:
452-
```toml
453-
[geometry]
454-
pinning.boundary = [
455-
[2, 0], # Pin left side of the sample (2 rows)
456-
2, # Pin top and bottom sides (2 rows each)
457-
0
458-
]
459-
# Pin the atoms to x-direction
460-
pinning.cell = [
461-
[1, 0, 0]
462-
]
463-
```
464-
465-
To specify individual pinned sites (overriding the above pinning settings),
466-
insert a table into your input. For example:
467-
```toml
468-
[geometry]
469-
### Specify the number of pinned sites and then the sites (in terms of translations) and directions
470-
pinned = """
471-
i da db dc x y z
472-
0 0 0 0 1.0 0.0 0.0
473-
0 1 0 0 0.0 1.0 0.0
474-
0 0 1 0 0.0 0.0 1.0
475-
"""
476-
```
477-
You may also place it into a separate file with the `file://` prefix, e.g.
478-
```toml
479-
[geometry]
480-
### Read pinned sites from a separate file
481-
pinned = "file://input/pinned.txt"
482-
```
483-
The file should either contain only the pinned sites or you need to specify `n_pinned`
484-
inside the file.
485-
486-
487-
Disorder and Defects <a name="Defects"></a>
488-
----------------------------------------------------
489-
490-
Note that for this feature you need to build with `SPIRIT_ENABLE_DEFECTS`
491-
set to `ON` in cmake.
492-
493-
In order to specify disorder across the lattice, you can write for example a
494-
single atom basis with 50% chance of containing one of two atom types (0 or 1):
495-
```toml
496-
[geometry]
497-
# iatom atom_type concentration mu_s ...
498-
atom_types = """
499-
i type c mu_s
500-
0 1 2.0 0.5
501-
"""
502-
```
503-
504-
Note that you have to also specify the magnetic moment, as this is now site-
505-
and atom type dependent.
506-
507-
A two-atom basis where
508-
- the first atom is type 0
509-
- the second atom is 70% type 1 and 30% type 2
510-
```toml
511-
[geometry]
512-
# iatom atom_type concentration mu_s
513-
atom_types = """
514-
i type c mu_s
515-
0 0 1 1.0
516-
1 1 0.7 2.5
517-
1 2 0.3 2.3
518-
"""
519-
```
520-
The total concentration on a site should not be more than `1`. If it is less
521-
than `1`, vacancies will appear.
522-
523-
To specify defects, be it vacancies or impurities, you may fix atom types for
524-
sites of the whole lattice by inserting a list into your input. For example:
525-
```toml
526-
[geometry]
527-
### Atom types: type index 0..n or or vacancy (type < 0)
528-
### Specify the number of defects and then the defects in terms of translations and type
529-
### i da db dc itype
530-
defects = """
531-
i da db dc type
532-
0 0 0 0 -1
533-
0 1 0 0 -1
534-
0 0 1 0 -1
535-
"""
536-
```
537-
You may also place it into a separate file with the `file://` prefix,
538-
e.g.
539-
```toml
540-
[geometry]
541-
### Read defects from a separate file
542-
defects_from = "file://input/defects.txt"
543-
```
544-
The file should either contain only the defects or you need to specify `n_defects`
545-
inside the file.
546-
547546

548547
---
549548

0 commit comments

Comments
 (0)