@@ -3,17 +3,17 @@ Spirit inputfile
33
44The 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
6565The 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.
150150The 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
156262To 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
291397The 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
299407For ` llg ` and equivalently ` mc ` and ` gneb ` , you can specify which
300408output 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
356463Again, 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