#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\begin_preamble
\usepackage{a4wide}
\pagestyle{headings}
\evensidemargin0mm
\oddsidemargin13.5mm
\topmargin6.0mm
\textheight47\baselineskip
\textwidth145mm
\renewcommand{\baselinestretch}{1.1}
\renewcommand{\topfraction}{.94}
\renewcommand{\bottomfraction}{.94}
\renewcommand{\textfraction}{.06}
\renewcommand{\floatpagefraction}{.94}
\usepackage{mychapter2s}
\usepackage{demotesection,changebar}
\usepackage{makeidx}
%\usepackage[dvips]{graphicx}
%\makeindex
\newcommand{\fplo}{{\sc Fplo}{}}
\newcommand{\fedit}{{\sc Fedit}{}}
\newcommand{\bandplot}{{\sc Bandplot}{}}
\newcommand{\dirac}{{\sc Dirac}{}\index{programs!dirac}}
\newcommand{\fpiotest}{{\sc Fpiotest}{}\index{programs!fpiotest}}
\newcommand{\xfplo}{{\sc Xfplo}{}\index{programs!xfplo}}
\newcommand{\xfbp}{{\sc Xfbp}{}\index{programs!xfbp}}
\newcommand{\faddwei}{{\sc Faddwei}{}\index{programs!faddwei}}
\newcommand{\dmatedit}{{\sc Dmatedit}{}\index{programs!dmatedit}}
\newcommand{\grepfplo}{{\sc Grepfplo}{}\index{programs!grepfplo}}
\newcommand{\foptics}{{\sc Foptics}{}\index{programs!foptics}}
\newcommand{\fouttoin}{\texttt{fout2in}{}\index{programs!fout2in}}
\newcommand{\fdhva}{{\sc Fdhva}{}\index{programs!fdhva}}

\newcommand{\filei}[1]{\texttt{\textcolor{blue}{#1}}\index{files!#1}}
\newcommand{\file}[1]{\texttt{\textcolor{blue}{#1}}}

\newcommand{\Logo}{\includegraphics[width=2cm%
,keepaspectratio]{./pic/logo141.eps}}
\newcommand{\SmallLogo}{\includegraphics[width=0.8cm%
,keepaspectratio]{./pic/logo70.eps}}
\definecolor{olive}{rgb}{0,0.8,0}
\definecolor{darkgray}{rgb}{0.8,0.8,0.8}
\definecolor{darkblue}{rgb}{0,0,0.65}
\definecolor{darkred}{rgb}{0.65,0,0}
\definecolor{xfsfdoccolor}{rgb}{0.99,0.99,0.9}


\newcommand{\htmlrule}{{}}
\end_preamble
\use_default_options false
\maintain_unincluded_children false
\language american
\language_package default
\inputencoding default
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command bibtex
\index_command default
\float_placement H
\paperfontsize 10
\spacing single
\use_hyperref true
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen true
\pdf_bookmarksopenlevel 1
\pdf_breaklinks true
\pdf_pdfborder false
\pdf_colorlinks true
\pdf_backref section
\pdf_pdfusetitle true
\pdf_quoted_options "linkcolor=darkred, citecolor=darkgreen, urlcolor=red, filecolor=magenta"
\papersize a4paper
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 0
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 0
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 0
\use_minted 0
\notefontcolor #a4a4a4
\boxbgcolor #ffdca8
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 2cm
\topmargin 2cm
\rightmargin 2cm
\bottommargin 2cm
\secnumdepth 3
\tocdepth 3
\paragraph_separation skip
\defskip medskip
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 2
\paperpagestyle headings
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Section
The dHvA-Module: 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

/
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset


\begin_inset CommandInset label
LatexCommand label
name "sec:dHvA-Module"

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
dHvA
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Note: it is not possible to explain everything in a linear order.
 It is advisable to read the document two times.
\end_layout

\begin_layout Standard
In order to calculated dHvA spectra a two-stage procedure has to be followed.
 In the first stage a high resolution energy iso-surface (IS) is calculated.
 It serves as input for the second stage, which determines the extremal
 orbits and produces the spectrum (extremal area vs.
 field direction).
 We call the Fermi surface iso surface in the following to stress that it
 does not need to be at the Fermi level.
\end_layout

\begin_layout Subsection
First stage (iso surface)
\end_layout

\begin_layout Standard
The iso surface is not calculated via the usual 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 interfaces because the accuracy demands for dHvA are higher.
 Instead we use a different module, which calculates the iso surface via
 mesh refinement.
 
\end_layout

\begin_layout Standard
Initially the primitive unit cell is transformed into an equivalent cell,
 which is as isotropic as possible.
 This defines three cell basis vectors (or axis).
 A coarse initial mesh of 
\begin_inset Formula $n_{1}\times n_{2}\times n_{3}$
\end_inset

 micro cells is defined for this unit cell on which the Hamiltonian is diagonali
zed (band energies are determined).
 In fact the micro cells themselves are subdivided into tetrahedra in order
 to use linear interpolation.
 Then each micro cell, which contains the iso surface (the tetrahedra edges
 are cut by the iso surface) is subdivided into 
\begin_inset Formula $2^{3}$
\end_inset

 smaller cells by bisecting each axis direction, which introduces new mesh
 points (the bisecting points) on which in turn the band energies are determined.
 Now, again the resulting micros cells which contain the iso surface are
 determined and another subdivision step is taken until a maximum number
 of bisections is reached.
 In many cases this procedure leads to a high resolution iso surface without
 the necessity to diagonalize the Hamiltonian on each mesh point of the
 finest subdivision.
 It is clear from this desciption of the algorithm that at the end only
 iso surface parts are resolved, which are 
\begin_inset Quotes eld
\end_inset

seen
\begin_inset Quotes erd
\end_inset

 by the initial subdivision.
 If an iso surface part is contained completely within one of the intial
 mesh micro cells it will not be visible after a number of refinements either
 since only iso-surface-cutting micro cells are subdivided.
 In the moment the crystal symmetry is not used.
 This has both technical as well as conceptual reasons.
 The latter being that the module allows band weight dependend energy shifts
 for the adaption of the dHvA spectra.
 In general band weights do not have the full symmetry of the lattice.
 Hence, the use of symmetry would be a hinderance.
 If the energy shift option is not used, symmetry would improved the performance
, but only for highly symmetric systems.
\end_layout

\begin_layout Standard
The process of bisecting the mesh can be done iteratively by the user.
 For this purpose all energy/band-weight data are stored in a cache file
 (
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+isoergcache...}
\end_layout

\end_inset

) during the iso surface stage.
 If the resulting iso surface is not accurate enough a higher bisection
 level can be set and in a re-run the data for all previously calculated
 mesh points are read from the cache and not recalculated.
 Essentially, only the points needed for the now required finer subdivision
 are calculated.
 This caching of course only makes sense if the self consistent calculation
 (density) did not change in between.
 Also all band weight options for the iso surface stage should not change.
 The code is able to detect certain changes to the input data (energy window,
 band weight options) and invalidates the cache automatically.
 However, if other data change (e.g.
 the density) the user is responsible to delete the cache file by hand before
 a re-run.
 A program termination during a cache write can lead to incomplete data
 in the cache, which is detected in a re-run.
 An error message is written and the correponding mesh points data are recalcula
ted.
 So, you can savely interrupt an IS stage run.
 In case that a Wannier function model is used to extract the iso surface
 the cache file is named 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+isoergcache
\backslash
_wan}
\end_layout

\end_inset


\begin_inset Index idx
status open

\begin_layout Plain Layout
files!+isoergcache...
\end_layout

\end_inset

.
\end_layout

\begin_layout Standard
If the user wants to change the iso level the cache file can be re-used.
 For small changes the existing mesh points are likely to already surround
 the slightly changed iso surface.
 This leads to less necessary diagonalizations as compared to a fresh run
 without a cache file.
\end_layout

\begin_layout Standard
The intial subdivision must be chosen such that it is as homogenous as possible.
 Note, that the iso-cell is not the primitive unit cell but a modified one.
 This cell together with a suggestion for a proper subdivision is written
 to the output.
 All lines refering to the iso surface calculation are prefixed with 
\begin_inset Quotes eld
\end_inset

ISO:
\begin_inset Quotes erd
\end_inset

.
 There usually is an initial output section and the output section for the
 actual calculation.
 Always check these parts of output for a proper setup.
 Ihe relevant part for the initial mesh looks like this:
\end_layout

\begin_layout LyX-Code

\size small
ISO:  
\end_layout

\begin_layout LyX-Code

\size small
ISO: Reciprocal iso cell vectors/(2*pi): 
\end_layout

\begin_layout LyX-Code

\size small
ISO: g1:     -0.09903     -0.17153      0.00000,  |g1|:      0.19807 
\end_layout

\begin_layout LyX-Code

\size small
ISO: g2:      0.19807      0.00000      0.00000,  |g2|:      0.19807 
\end_layout

\begin_layout LyX-Code

\size small
ISO: g3:     -0.00000      0.00000      0.15025,  |g3|:      0.15025 
\end_layout

\begin_layout LyX-Code

\size small
ISO: 
\end_layout

\begin_layout LyX-Code

\size small
ISO: Most homogenous initial subdivision would be: 10 10 8 or multiples
 of these.
 
\end_layout

\begin_layout LyX-Code

\size small
ISO:
\size footnotesize
 
\end_layout

\begin_layout Standard
The default way of performing the iso surface stage is by defining a number
 of input values and by running 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

.
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 will do what it usually does (calculating the potential, the local orbital
 integrals (LOI) and diagonalizing the Hamiltonian) until after the population
 analysis, where it jumps into the iso surface module (if switched on).
 Only after the population analysis the LOI and Fermi energy are known.
 This means that for each IS stage run it has to go through the diagonalizations
 of at least one SCF step as for the calculation of the default band structure
 output (
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+band...}
\end_layout

\end_inset

).
 There is an option to circumvent this.
 For that to take effect you need to define a proper Wannier function (WF)
 model.
 Make sure that it reproduces the band structure around the desired iso
 value (Fermi energy) as good as possible (or the dHvA spectrum will not
 be exactly the same as from an 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 run).
 The IS stage input can be told to use the output of the WF modul in which
 case 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 will jump into the IS module early in its run.
 (The SCF step is avoided).
\end_layout

\begin_layout Standard
The result of the IS stage run are files which contain the iso surface.
 They have names 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...
\backslash
_p...
\backslash
_spin...}
\end_layout

\end_inset

 where the ellipses stand for numbers.
 The numbers after 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{
\backslash
_b}
\end_layout

\end_inset

 denote the band index of the corresponding band, 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{
\backslash
_p}
\end_layout

\end_inset

 denotes the number of the part of the sheet (if the sheet for this band
 index has disconnected parts there can be more than one part.) and 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{
\backslash
_spin}
\end_layout

\end_inset

 denotes the spin.
 For full-relativistic calculations the spin suffix is missing, since spin
 is not a good quantum number in this case.
 In the default setup the program will automatically determine the bands,
 which cross the iso level (usually the Fermi energy).
 Optionally, the user can request a set of specific bands.
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files will only be created if the band has an iso surface for the given
 iso level.
 To spell it out explicitly: If the iso surface of a certain band number
 has disconnected parts, they are treated as separate entities and get their
 own file.
\end_layout

\begin_layout Standard
After the IS stage run is performed individual iso surface parts can be
 visualized by loading them into 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset


\end_layout

\begin_layout Standard

\family typewriter
\begin_inset ERT
status open

\begin_layout Plain Layout

xfplo{}
\end_layout

\end_inset

 +iso_...
 +iso_...
\end_layout

\begin_layout Standard
More than one file can be given as argument.
 Or one can load all
\end_layout

\begin_layout Standard

\family typewriter
\begin_inset ERT
status open

\begin_layout Plain Layout

xfplo{}
\end_layout

\end_inset

 +iso_*
\end_layout

\begin_layout Standard
Additionally, the option 
\family typewriter
-raw
\family default
 can be given
\end_layout

\begin_layout Standard

\family typewriter
\begin_inset ERT
status open

\begin_layout Plain Layout

xfplo{}
\end_layout

\end_inset

 -raw +iso_...
 +iso_...
\end_layout

\begin_layout Standard
in which case the iso surface data are shown as they are stored in the file,
 that is only in the iso cell which was setup at the beginning.
 Without this option the data are periodically extended to fill the boundary
 of the main display cell (usually the black frame).
 The loading with the 
\family typewriter
-raw
\family default
 option is faster since no clipping takes place.
 There is one pecularity in the raw mode : if an iso surface part is closed,
 .i.e.
 completely contained within one (possibly shifted) unit cell the file data
 will contain the iso surface part in one piece, which means its unit cell
 will be shifted accordingly if needed.
 If the iso surface part is open it will be contained in the iso unit cell
 which was set up in the beginning.
 
\end_layout

\begin_layout Standard
When loading iso files the way shown above the default 
\begin_inset ERT
status open

\begin_layout Plain Layout

xfplo{}
\end_layout

\end_inset

 Fermi surface is switched off.
 It can be switched with the button shown in Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Fermi-surface-button"

\end_inset

.
 The default coloring shows the magnitude of the Fermi velocity (at the
 chosen iso level [the one in the dHvA 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu not he one in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

]).
 
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset space \hspace*{\fill}
\end_inset


\begin_inset Graphics
	filename pic/FSbutton.pdf
	width 20col%

\end_inset


\begin_inset space \hspace*{\fill}
\end_inset


\begin_inset Graphics
	filename pic/extcolbutton.pdf
	width 30col%

\end_inset


\begin_inset space \hspace*{\fill}
\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Fermi-surface-button"

\end_inset

Left: Fermi surface button in the tool box of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

.
 Right: extern color values checkbox and state spinbox in the plot->colors
 menu in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

.
\end_layout

\end_inset


\end_layout

\end_inset

 If the band weight options where set in the dHvA 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu the coloring can be changed to depict as chosen band weight.
 For this go into the 
\family typewriter
plot -> colors
\family default
 menu in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 and switch on 
\family typewriter
extern color values
\family default
.
 The 
\family typewriter
state
\family default
 spinbox allows to select the number of the band weight to be shown.
 The name of the weigh should appear in the legend (unless switched off).
 If the 
\family typewriter
state
\family default
 number is invalid it is anounced in the legend as well.
 It is in principle possible to load 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_...}
\end_layout

\end_inset

 files together with the default Fermi surface.
 In this case the legend can only show one of the two things.
 Consider it to be undefined behaviour.
 Currently the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_...}
\end_layout

\end_inset

 files cannot be saved in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.xef}
\end_layout

\end_inset

, they can only be loaded via the command line arguments as shown above.
 One can however, define other settings in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 (e.g.
 the 
\family typewriter
extern color
\family default
 settings) and save them from 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 (usually in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.xef}
\end_layout

\end_inset

).
 In this case load the files via
\end_layout

\begin_layout Standard

\family typewriter
\begin_inset ERT
status open

\begin_layout Plain Layout

xfplo{}
\end_layout

\end_inset

 =.xef +iso_...
\end_layout

\begin_layout Standard
in order to restore the settings previously saved in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.xef}
\end_layout

\end_inset

.
 The default coloring with the Fermi velocity helps to judge the quality
 of the iso surface.
 The smoother it is the better will the subsequent dHvA run perform (see
 Sec.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Second-stage-dHvA-spectrum"

\end_inset

).
 Of course there are limits due to calculation time.
 The Fermi velocity (or gradient) is used in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset

 to determine the connectivity of the individual extremal areas.
 Consequently, a good gradient is vital for a good dHvA spectrum.
\end_layout

\begin_layout Standard
The 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_...}
\end_layout

\end_inset

 files will be deleted at the beginning of each IS stage run to avoid confusions
 between consecutive runs to optimize the refinement.
 This behaviour can be disabled by setting a flag in the dHvA 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu.
 The background is that the number of parts for each iso surface sheet depends
 on the mesh size.
 E.g.
 iso surfaces with pointy edges or tips can end up producing the main iso
 surface and tiny disjoined parts at the tips or edges.
 If you cannot see these parts in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 have a look at the file size of the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_...}
\end_layout

\end_inset

 files.
 If they are small compared to the files sizes of other parts it is an indicatio
n that the corresponding part is also small.
\end_layout

\begin_layout Standard
There is an option to drag band weight information along with the band energies.
 This can be helpful for visualization or for manipulating the band energies
 via a band character dependent energy shift.
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 has several ways of producing band weights: the old style where a transformatio
n of the global quantization axes can be defined in the bandplot 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu or the more flexible approach the molecular/individual fat bands
 Sec.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Fat-band-editor"

\end_inset

, 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Band-Weight-Contrib-Dialog"

\end_inset

 and 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Molecular/individual-band-weight"

\end_inset

.
 The later approach allows individual quantization axes for each weight
 and it is necessary in the context of the IS stage if an 
\begin_inset Formula $nlms$
\end_inset

 basis is wanted for full relativistic calculations (where the default basis
 is spherical spinors [
\begin_inset Formula $nj\mu$
\end_inset

]).
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 will transmit the band weights defined either via the old style (bandplot
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu) or via 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 (also there) to the IS module.
 Let's call them raw weights.
 
\end_layout

\begin_layout Standard
If the Wannier function model option was chosen, the weights for all WFs
 will be transmitted to the IS module.
 The 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 file options is not available in this case, even if such a file is defined
 in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
 Local axes transformations (if wanted) must be defined when defning the
 Wannier functions themselves.
 
\end_layout

\begin_layout Standard
Note, that the raw weight setup takes place in the bandplot submenu not
 in the dHvA submenu.
 (Similarily, the energy window options from the bandplot menu will be used
 in the IS module, but only if no WF model is used.) The raw weights will
 be written into the cache file.
 
\end_layout

\begin_layout Standard
Additionally, one can define another set of band weights, which is obtained
 by adding some of the raw weights.
 This is achieved by editing an 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.addwei}
\end_layout

\end_inset

 file and entering it into the appropiate field in the IS 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu (see below).
 Also see section 
\begin_inset CommandInset ref
LatexCommand pageref
reference "sec:Adding-band-weights:"

\end_inset

 for information about this file.
 If such an adding step is defined by the user we obtain another set of
 weigths (added/final weights).
 These weights are written into the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 output files.
 Hence, when the energy window information or the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 file options are changed in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 the cache file will loose its validity, while altering the weight-adding
 option will not.
\end_layout

\begin_layout Standard
Of course the weights defined in the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.addwei}
\end_layout

\end_inset

 file (which one can name as whished) must be build out of the set of raw
 weights.
 The information about the available raw weights is written to the output
 in the 
\begin_inset Quotes eld
\end_inset

ISO:
\begin_inset Quotes erd
\end_inset

 section at the beginning of the IS stage calculation (after the population
 analysis).
 Only the weight definitions in this file are used by the IS stage.
 The energy window and file information in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.addwei}
\end_layout

\end_inset

 are ignored for this purpose.
 
\end_layout

\begin_layout Standard
If the adding step is ommited, by not entering a file name into the 
\begin_inset Quotes eld
\end_inset


\family typewriter
addwei file
\family default

\begin_inset Quotes erd
\end_inset

 field in the dHvA submenu, the raw weights become the final weights.
\end_layout

\begin_layout Standard
Figure 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Flow-chart-of"

\end_inset

 summarizes the flow chart of the weights.
\end_layout

\begin_layout Standard
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset Graphics
	filename pic/flow.pdf
	width 80col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Flow-chart-of"

\end_inset

Flow chart of weights.
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
Finally, one can use the final weights to define 
\begin_inset Formula $\boldsymbol{k}$
\end_inset

-dependent energy shifts 
\begin_inset Formula $\Delta\varepsilon_{n}\left(\boldsymbol{k}\right)$
\end_inset

, which are defined as a weighted sum of the final/added band weights.
 This results is a band character dependent energy shift.
 For the definition of the terms of the energy shift formula one needs the
 number of the final weight, which enters the term.
 Final weights are counted in the order as written to the output starting
 with 1.
 (See below)
\end_layout

\begin_layout Standard
For completeness the density of states (DOS) of each iso surface part is
 written to the output together with an estimate of the change of the particle
 number 
\family typewriter
dN
\family default
 due to the energy shift.
 Example:
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: ========================================================================
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: spin summed, band 00011, part 001, dos=           0.07863 [states/eV]
 dN~=           0.00000
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: spin summed, band 00012, part 001, dos=           0.11918 [states/eV]
 dN~=           0.00000
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: spin summed, band 00012, part 002, dos=           0.11918 [states/eV]
 dN~=           0.00000
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: ========================================================================
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO:
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: ===============================================
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO:        Finished Iso-Surface Calculation
\end_layout

\begin_layout LyX-Code

\size scriptsize
ISO: ===============================================
\end_layout

\begin_layout LyX-Code

\end_layout

\begin_layout Standard
The change of the particle number is determined via 
\begin_inset Formula 
\[
dN=\int d^{3}k\delta\left(\omega-\varepsilon_{n}\left(\boldsymbol{k}\right)\right)\Delta\varepsilon_{n}\left(\boldsymbol{k}\right)
\]

\end_inset

which is the same as: DOS times iso surface average of the energy shift
 
\begin_inset Formula $\Delta\varepsilon_{n}\left(\boldsymbol{k}\right)$
\end_inset

.
 Note, that an IS sheet/part can completely vanish due to a shift, in which
 case all the electrons/holes of this sheet become unoccupied.
 The code cannot estimate a 
\family typewriter
dN
\family default
 for such a situation.
\end_layout

\begin_layout Subsubsection
Input options
\end_layout

\begin_layout Standard
The input which controls the IS stage is edited via the first part of the
 dHvA submenu of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 shown in Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:ISstagefedit"

\end_inset

.
\end_layout

\begin_layout Standard
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset Graphics
	filename pic/dump0001.ps
	width 80col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:ISstagefedit"

\end_inset

First part of the dHvA sub menu in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Description

\family typewriter
Iso
\begin_inset space ~
\end_inset

surface
\begin_inset space ~
\end_inset

run
\family default
 If this switch is on 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 will activate the IS stage after the first population analysis.
 If the Wannier function route is taken the IS stage takes place before
 the first SCF cycle.
\end_layout

\begin_layout Description

\family typewriter
Iso
\begin_inset space ~
\end_inset

value
\family default
 This is the iso value (Fermi energy) at which to calculate the iso surface.
 An iso value zero corresponds to the Fermi level of the SCF cycle.
 The units are eV.
\end_layout

\begin_layout Description

\family typewriter
Initial
\begin_inset space ~
\end_inset

subdivision
\family default
 This is a three values list of the number of intervals along each of the
 iso cell axes, which will determine the intial mesh in the Brillouin zone
 (see explanation above).
\end_layout

\begin_layout Description

\family typewriter
Bisections
\family default
 This is the maximum number of bisecting subdivisions which will be performed
 to refine the mesh around the iso surface sheets.
 A value of zero means that only the mesh from the initial subdivision will
 be used.
 If the resulting iso surfaces are not fine enough one can come back and
 increase this value and make a re-run of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

.
 The cache file 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+isoergcache...}
\end_layout

\end_inset

 will be used to avoid unnecessary recalculations unless a change of some
 input data invalidates the cache.
\end_layout

\begin_layout Description

\family typewriter
Spin-up/down
\begin_inset space ~
\end_inset

band
\begin_inset space ~
\end_inset

number
\family default
 A list of band numbers.
 The default value is an empty list, which triggers automatic determination
 of the bands, which cross the iso value.
 This option is usefull when the individual iso surface parts have very
 different sizes, in which case one can use different refinement levels
 (bisection values) for different iso surface parts.
 
\series bold
Warning
\series default
: In such a case make sure that you switch off the 
\family typewriter
delete old files
\family default
 flag or save the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files somewhere else, while treating specific bands.
\end_layout

\begin_layout Description

\family typewriter
Wannier
\begin_inset space ~
\end_inset

Hamiltonian
\begin_inset space ~
\end_inset

file
\family default
 Here you can give the name of a Wannier Hamiltonian file.
 Default: empty string.
 This file is created in a Wannier function run of the newer 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 versions and by default is called 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+hamdata}
\end_layout

\end_inset

.
 It contains the real space tight binding model derived from the Wannier
 functions as requested by the user in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.wandef}
\end_layout

\end_inset

.
 One can however, also write this file by hand to construct a model.
 If the file name is given 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 will branch into another mode after the intialization before the start
 of the first SCF cycle.
 It will then calculate the iso surface corresponding to the band structure
 of the model.
 This can help to speed things up, in case that a reasonable WF model can
 be created.
\end_layout

\begin_layout Description

\family typewriter
Delete
\begin_inset space ~
\end_inset

old
\begin_inset space ~
\end_inset

files
\family default
 As explained above the code will delete all existing 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files in the beginning of each IS stage run to avoid confusion with left
 over files from previous runs.
 Uncheck this flag if bands shall be treated individually on users request.
\end_layout

\begin_layout Description

\family typewriter
Need
\begin_inset space ~
\end_inset

bandweights
\family default
 If this flag is on the code will extract band weight information addityionally
 to the band energies as explained above.
 If this flag is toggled between reruns the cache file will be invalidated.
 Chose your desired settings early to avoid wasting resources.
 This flag also needs to be set if energy shifts are used.
\end_layout

\begin_layout Description

\family typewriter
Addwei
\begin_inset space ~
\end_inset

file
\family default
 Default: empty string.
 Give the filename of a 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
faddwei{}
\end_layout

\end_inset

 file containing appropriate definitions for adding the band weights obtained
 from the iso surface run.
 If set, the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files will contain the added weights, otherwise they will contain the raw
 band weights.
 Changing the addwei file does not affect the cache.
 It only affects the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files and the energy shift function.
 Only the weight definitions of this file are important not the other settings.
 For more information see Sec.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Adding-band-weights:"

\end_inset

)
\end_layout

\begin_layout Description

\family typewriter
Energy
\begin_inset space ~
\end_inset

shift
\family default
 (expert option) One can chose to define a 
\begin_inset Formula $\boldsymbol{k}$
\end_inset

-dependend energy shift.
 This is done by defining a number of terms which consist of a chosen (added)
 band weight and a numerical factor.
 The energy shift is defined as
\begin_inset Formula 
\[
\Delta\varepsilon_{n}\left(\boldsymbol{k}\right)=\sum_{i}f_{i}w_{n,\alpha_{i}}\left(\boldsymbol{k}\right)
\]

\end_inset

where 
\begin_inset Formula $f_{i}$
\end_inset

 are the numerical factors and 
\begin_inset Formula $w_{n,\alpha_{i}}$
\end_inset

 are the band weights of band 
\begin_inset Formula $n$
\end_inset

, where 
\begin_inset Formula $\alpha_{i}$
\end_inset

 numbers the available weights.
 This shift is not a simple shift of band 
\begin_inset Formula $n$
\end_inset

 against 
\begin_inset Formula $n+1$
\end_inset

 but depends on the band charachter.
 The available weights are either the raw weights (if no weight adding file
 is defined) or the added weights.
 The output contains a list of available weights.
\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Description

\family typewriter
number
\begin_inset space ~
\end_inset

of
\begin_inset space ~
\end_inset

shift
\begin_inset space ~
\end_inset

terms
\family default
 Set the number of terms in the shift function.
\end_layout

\begin_layout Description

\family typewriter
shift
\begin_inset space ~
\end_inset

term
\begin_inset space ~
\end_inset


\begin_inset Formula $i$
\end_inset


\family default
 give a weight index 
\begin_inset Formula $\alpha_{i}$
\end_inset

 (first weight is number 1) and the numerical factor 
\begin_inset Formula $f_{i}$
\end_inset

.
\end_layout

\end_deeper
\begin_layout Standard
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset Graphics
	filename pic/bandplotfeditmenupart.pdf
	width 60col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:bandplotfedit"

\end_inset

Part of the bandplot sub menu in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
Additionally, some fields of the bandplot 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 submenu are used to control the IS stage (shown in Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:bandplotfedit"

\end_inset

) if the Wannier function option is NOT used.
\end_layout

\begin_layout Description

\family typewriter
Lower/Upper
\begin_inset space ~
\end_inset

energy
\begin_inset space ~
\end_inset

bound
\family default
 If 
\family typewriter
restrict bands to window
\family default
 is checked (see item below) this defines the energy window, which is used
 by the IS stage run to produce smaller 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+isoergcache...}
\end_layout

\end_inset

 files.
 Changes to the energy window will invalidate the cache file.
\end_layout

\begin_layout Description

\family typewriter
Restrict
\begin_inset space ~
\end_inset

bands
\begin_inset space ~
\end_inset

to
\begin_inset space ~
\end_inset

window
\family default
 If checked us the bouds defined in the item above to restrict the data
 written to the cache file.
 Changes to this flag will invalidate the cache file.
\end_layout

\begin_layout Description

\family typewriter
Weight
\begin_inset space ~
\end_inset

def
\begin_inset space ~
\end_inset

file
\family default
 Here one can give a file which contains (default 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

) weight definitions.
 It is usually used to to define compound weights.
 But it can also be used to define a sub set of weights and to define individual
 local rotation axes.
 If this input field contains a file name the resulting raw weights will
 be taken according to the definitions in this file.
 This helps reducing the size of the cache file.
 In full relativistic calculations the default 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 weights are in 
\begin_inset Formula $nj\mu$
\end_inset

 basis (spherical spinors).
 If the non-relativisitc 
\begin_inset Formula $nlms$
\end_inset

 symmetry is desired the only option is to setup a 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 file and enter it here in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
 (See the help screens Sec.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Fat-band-editor"

\end_inset

 and 
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Band-Weight-Contrib-Dialog"

\end_inset

 and Sec.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Molecular/individual-band-weight"

\end_inset

)
\end_layout

\begin_layout Description

\family typewriter
Transform
\begin_inset space ~
\end_inset

quant.
\begin_inset space ~
\end_inset

axis
\family default
 If 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 is not used the usual old-style transformation of the global quantization
 axes is applied for the raw weights delivered form 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 to the IS stage.
\end_layout

\begin_layout Description

\family typewriter
X/Z-axis
\family default
 See item above.
\end_layout

\begin_layout Subsubsection
Cache file 
\end_layout

\begin_layout Standard
For the interested party the content of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+isoergcache...}
\end_layout

\end_inset

 is explained.
 The file starts with a header
\end_layout

\begin_layout LyX-Code
HEADER 
\end_layout

\begin_layout LyX-Code
nband=6 
\end_layout

\begin_layout LyX-Code
ilower=4 
\end_layout

\begin_layout LyX-Code
iupper=9 
\end_layout

\begin_layout LyX-Code
weights="Al(001)2s+0","Al(001)2p-1",...
\end_layout

\begin_layout LyX-Code
ENDHEADER
\end_layout

\begin_layout Standard
There are 
\family typewriter
nband
\family default
 bands stored in the file, the first being original band 
\family typewriter
ilower
\family default
+1 and the last 
\family typewriter
iupper
\family default
+1.
 If 
\family typewriter
weights
\family default
 is not an empty list there are as many weights stored as there a re weight
 lables in the list.
 
\end_layout

\begin_layout Standard
The file body is a list of data for each mesh point (which ever has been
 used thoughout the refinement).
 The data of one point are in one single line and are structured like this:
\end_layout

\begin_layout LyX-Code

\size footnotesize
spin-index 
\begin_inset Formula $k_{x}$
\end_inset

 
\begin_inset Formula $k_{y}$
\end_inset

 
\begin_inset Formula $k_{z}$
\end_inset

 
\begin_inset Formula $\varepsilon_{1}\ldots\varepsilon_{\mathrm{nband}}$
\end_inset

 
\begin_inset Formula $w_{1,1}\ldots w_{1,\mathrm{nweight}}$
\end_inset

 
\begin_inset Formula $w_{2,1}\ldots w_{2,\mathrm{nweight}}$
\end_inset

 
\begin_inset Formula $\ldots$
\end_inset

 
\begin_inset Formula $w_{\mathrm{nband},1}\ldots w_{\mathrm{nband},\mathrm{nweight}}$
\end_inset


\end_layout

\begin_layout Standard
From this header it should be clear under which conditions the cache file
 gets automatically invalidated.
\end_layout

\begin_layout Itemize
Changes to 
\family typewriter
Lower/Upper energy bound
\family default
: this affects 
\family typewriter
nband
\family default
, 
\family typewriter
ilower
\family default
 and 
\family typewriter
iupper
\end_layout

\begin_layout Itemize
Changes to
\family typewriter
 Restrict bands to windo
\family default
w: this affects 
\family typewriter
nband
\family default
, 
\family typewriter
ilower
\family default
 and 
\family typewriter
iupper
\end_layout

\begin_layout Itemize
Changes to 
\family typewriter
Need bandweights
\family default
: this changes the 
\family typewriter
weights
\family default
 label list in the header
\end_layout

\begin_layout Itemize
When the list of 
\family typewriter
weight
\family default
 labels changes.
 E.g.
 if ones adds a 
\family typewriter
Weight def file
\family default
, which has a weight label list different from the default list.
\end_layout

\begin_layout Standard
One can savely change the following input without deleting the cachefile
\end_layout

\begin_layout Itemize

\family typewriter
iso value
\end_layout

\begin_layout Itemize

\family typewriter
initial subdivision
\end_layout

\begin_layout Itemize

\family typewriter
bisections
\end_layout

\begin_layout Itemize

\family typewriter
spin-up/down band number
\end_layout

\begin_layout Itemize

\family typewriter
addwei file
\end_layout

\begin_layout Itemize

\family typewriter
energy shift
\end_layout

\begin_layout Standard
The user has to delete the cache file by hand when the following changes
\end_layout

\begin_layout Itemize
When information in the 
\family typewriter
Weight def file
\family default
 changes, which does not alter the weight label list: e.g.
 the local axis of the weights.
 Basically when information is changed, which is NOT reflected by the weight
 header.
\end_layout

\begin_layout Itemize
When 
\family typewriter
Transform quant.
 axis
\family default
 or 
\family typewriter
X/Z-axis
\family default
 changes (if no 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 is specified)
\end_layout

\begin_layout Itemize
When the density changes.
\end_layout

\begin_layout Subsubsection
Work flow
\end_layout

\begin_layout Standard
Please note that the weight options are not needed for a standard dHvA spectrum
 calculation.
 They are needed for visualization purposed (if desired) and for the energy
 shifts (expert option).
\end_layout

\begin_layout Itemize
Converged the SCF calculation
\end_layout

\begin_layout Itemize
If you need weights, figure out which ones you will need.
 If additionally added weights are needed figure that out too.
\begin_inset Separator latexpar
\end_inset


\end_layout

\begin_deeper
\begin_layout Itemize
Setup 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 (prefered option) and enter the file name into the bandplot submenu of
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
\end_layout

\begin_layout Itemize
Setup 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.addwei}
\end_layout

\end_inset

 and enter it into the dHvA submenu for later use.
\end_layout

\begin_layout Itemize
Use standard band structures/fat bands to evaluate the physics of the problem.
 (Use 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
faddwei{}
\end_layout

\end_inset

 to test the weight adding in the band structure step.
\end_layout

\begin_layout Itemize
If you use a WF model instead, setup the WFs appropriately and an 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.addwei}
\end_layout

\end_inset

 if needed.
 Add the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+hamdata}
\end_layout

\end_inset

 file name to the dHvA submenu.
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.bwdef}
\end_layout

\end_inset

 cannot be used in this case.
\end_layout

\end_deeper
\begin_layout Itemize
Optionally, for orientation you can use 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 to get a feel for the Fermi surface.
\end_layout

\begin_layout Itemize
If weights are needed turn on the corresponding options in the dHvA submenu.
\end_layout

\begin_layout Itemize
From a default band structure plot determine the needed energy window.
 To save disk space and cache load time set the energy window and switch
 on 
\begin_inset Quotes eld
\end_inset


\family typewriter
Restrict bands to windo
\family default
w
\begin_inset Quotes erd
\end_inset

 in the bandplot submenu of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
\end_layout

\begin_layout Itemize
Setup the initial subdivision and a bisection of 0 which is fine enough
 to capture all Fermi surface parts.
 Make a run and visualize the iso surface.
 
\end_layout

\begin_layout Itemize
Increase the bisections until a desired accuracy is achieved.
 It might be helpfull to make a dHvA stage run to judge the quality and
 then to come back and increase the fineness further.
\end_layout

\begin_layout Itemize
If energy shifts are used, some iterations are needed to achieve the desired
 result.
 In each re-run of the IS stage the chache file should be valid and hence
 this stage fast (unless the shifts are huge).
 However you still have to go through one SCF step for each re-run.
 (Wannier function model might help)
\end_layout

\begin_layout Subsection
Second stage (dHvA spectrum)
\begin_inset CommandInset label
LatexCommand label
name "subsec:Second-stage-dHvA-spectrum"

\end_inset


\end_layout

\begin_layout Standard
The second stage of the dHvA module takes the output of the first stage,
 the files 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b*}
\end_layout

\end_inset

, and calculates the dHvA spectrum, i.e.
 extremal areas versus field directions.
 Although the input for this stage is also accesible via the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 dHvA submenu, the executable to run this step is different form 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fplo{}
\end_layout

\end_inset

 it is called 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset

.
 
\end_layout

\begin_layout Standard
The field directions are determined by a number of main directions 
\begin_inset Formula $\boldsymbol{B}_{i}$
\end_inset

 in space.
 These play a similar role as the high symmetry points in a bandstructure.
 In between two consecutive main directions a number of intermediate fields
 is determined by subdividing the angle between the two main directions
 into a number of smaller intervals.
 The user defines the main directions and the number of subdivisions of
 the largest angle between two consecutive main directions.
 If more than two main directions are given, each interval between the main
 directions is subdivided such that the resulting small intervals have approxima
tely the same size.
 This procedure defines a set of directions 
\begin_inset Formula $\boldsymbol{n}_{j}$
\end_inset

 for which the extremal areas have to be determined.
\end_layout

\begin_layout Standard
For each direction 
\begin_inset Formula $\boldsymbol{n}_{j}$
\end_inset

 the iso surface is subdivided into a series of equidistant parallel planes
 which are perpendicular to the current direction 
\begin_inset Formula $\boldsymbol{n}_{j}$
\end_inset

.
 On each of these planes all resulting orbits (cuts between the iso surface
 and the plane) are determined.
 The algorithm can detect open and closed orbits.
 The open orbits are discarded.
 The set of resulting orbits as a function of plane index needs to be sorted
 into curves which connect pairs of related orbits on neighboring planes.
 This is in general a fuzzy task, since we do not have infinitesimal information.
 The code uses the gradient of the iso surface (Fermi velocity) to extrapolate
 the 
\begin_inset Formula $k$
\end_inset

-th orbit 
\begin_inset Formula $O_{j,k}$
\end_inset

 on plane 
\begin_inset Formula $\boldsymbol{n}_{j}$
\end_inset

 onto plane 
\begin_inset Formula $\boldsymbol{n}_{j+1}$
\end_inset

.
 Then it goes through all actual orbits on plane 
\begin_inset Formula $\boldsymbol{n}_{j+1}$
\end_inset

 and finds the one 
\begin_inset Formula $O_{j+1,l}$
\end_inset

, which most closely resembles the extrapolated orbit.
 If the deviation is less than a particulat threshold (
\family typewriter
area chain threshold
\family default
) 
\begin_inset Formula $O_{j,k}$
\end_inset

 and 
\begin_inset Formula $O_{j+1,l}$
\end_inset

 are considered to be connected in a continuous way and hence the two data
 points in the are curves are linked together.
 Of course the number of orbits on each plane can vary depending on the
 topology of the iso surface.
 Consequently, the resulting area versus plane index curves can contain
 a number of curves, which do not have to be connected and do not have to
 span the whole plane index interval.
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset Graphics
	filename pic/area.png
	lyxscale 20
	width 80col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Example-of-areas"

\end_inset

Example of areas vs.
 planes.
\end_layout

\end_inset


\end_layout

\end_inset

 Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Example-of-areas"

\end_inset

 shows an example of such area curves.
 It can be seen that some curves are connected and some are not.
 In general the connectivity is probably correct.
 It might be helpful to check particular cases by using the output (orbits)
 described later.
 One can also see that there are symbols in the graph.
 These denote curves of length one.
 There can be two reasons why they appear.
 The first is that there can be more than one symmetry related or periodically
 related orbit in one plane, even if one uses only the iso surface data
 from a single unit cell (which we do).
 The first, let's say, is linked to other orbits on other planes to form
 an area curve and the second is a left over, which would end up in another
 area chain if we used the iso surface data of more than one unit cells.
 This is actually not uncommon.
 The second reason for single data curves is a failure of the extrapolation-comp
arison algorithm described above.
 This can have two reasons.
 The first is that the gradient information of the iso surface is not good
 enough such that the linear extrapolation is not very good.
 The seoncd is that linear extrapolation must fail cloase to points on the
 iso surface where we have second order extrema, like the tip of an egg.
 There the criterion for an exceptable extrapolation error will fail and
 hence the orbits do not get linked into a curve.
 However, the resulting extremal orbits, if they fall into such a section
 will have zero area and hence do not matter.
 This situation is shown in the inset of Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Example-of-areas"

\end_inset

.
\end_layout

\begin_layout Standard
The explanation above should make clear that the dHvA stage depends critically
 on the accuracy of the iso surface stage.
 
\end_layout

\begin_layout Standard
The orbit sorting algorithm explained above is potentially slow.
 It becomes the slower the higher the accuracy of the iso surface is (it
 consists of more triangles) and the higher the number of planes and field
 intervals.
 To alleviate the pain, approximations are introduced.
 The first is a simple criterion which compares the areas and midpoints
 of the pairs of orbits.
 If the citerion is violated the pair of orbits is considered not to be
 related.
 The control parameter for this comparison is 
\begin_inset Quotes eld
\end_inset


\family typewriter
area radius factor
\family default

\begin_inset Quotes erd
\end_inset

 (
\begin_inset Formula $\alpha$
\end_inset

) with default value 
\begin_inset Formula $\alpha=1$
\end_inset

.
 It says that the midpoint of the two orbits must lay inside a circle of
 radius 
\begin_inset Formula $\alpha\min\left(R_{1,}R_{2}\right)$
\end_inset

.
 The second simplification has to do with the comparison of the extrapolated
 orbit to another orbit.
 In principle one has to compare each pair of points of both orbits to find
 which two points are closest to each other.
 Since an orbit is an ordered set of points it is enough to make a thorough
 search of closest points for the first point 
\begin_inset Formula $p_{0}$
\end_inset

 of orbit 1 only (result is 
\begin_inset Formula $q_{i_{0}}$
\end_inset

 on orbit 2).
 The neighboring point 
\begin_inset Formula $p_{1}$
\end_inset

 on orbit 1 must have its closets partner 
\begin_inset Formula $q_{i_{1}}$
\end_inset

 on orbit 2 somwhere close to 
\begin_inset Formula $q_{i_{0}}$
\end_inset

 .
 We hence restrict the search of point partners to a certain subset of points
 on orbit 2, by only comparing the points 
\begin_inset Formula $q_{i_{0}-\mathrm{offset}}\ldots q_{i_{0}+\mathrm{offset}}$
\end_inset

.
 This offset 
\begin_inset Quotes eld
\end_inset


\family typewriter
orbit comparison search offset
\family default

\begin_inset Quotes erd
\end_inset

 is measured in percentage of the whole number of points with a defualt
 value of 
\begin_inset Formula $0.2$
\end_inset

 or 
\begin_inset Formula $20\%$
\end_inset

.
 The last simplification is to not compare the whole set of points 
\begin_inset Formula $p_{i}$
\end_inset

 of orbit 1 to establish linked pairs of orbits.
 It is sufficient to compare every n-th point only.
 This is measured by 
\begin_inset Quotes eld
\end_inset


\family typewriter
orbit sample portion
\family default

\begin_inset Quotes erd
\end_inset

 with a default value 
\begin_inset Formula $0.1$
\end_inset

 or 
\begin_inset Formula $10\%$
\end_inset

.
 This applies only if the number of points in the orbit exceeds 50.
 
\end_layout

\begin_layout Standard
After the orbits for a particular field direction have been sorted into
 curves (area vs plane index) the extrema of all these curves are determined.
 Since, the curves are represented in a discrete manner this is another
 fuzzy step.
 We chose to use 4 consecutive points to establish an extrema.
 These 4 points must have a monotonous piecewise derivative and must contain
 an extremum to be counted as such.
 If a curve has only 3 points in total the extremum is counted if the three
 point contain an extremum.
 
\end_layout

\begin_layout Standard
There are case cases in which the algorithm which links orbits into curves
 leads to wrong connections (mostly borderline cases).
 In generalt this leads to a jump in the now wrongly connected curve.
 It is however hard to tell if a large area difference in a 4-point interval
 is due to a jump or due to a large curvature.
 To rule out extreme cases a smoothness criterion is introduced (
\begin_inset Quotes eld
\end_inset


\family typewriter
smoothness threshold
\family default

\begin_inset Quotes erd
\end_inset

, with a default value of 1) which measures the ratio of third to second
 derivative.
 The default value should basically switch the test off (owed to the imprecise
 nature of the criterion).
 Sometimes (if used, meaning threshold
\begin_inset Formula $<1$
\end_inset

) this measure discards proper extrema.
 However, an increase of the number of planes produces more data points
 on area curves and improves the extremum search, thus counteracting the
 wrong decision with respect to the discarded extrema.
 There is a natural limit to the increase of the number of planes which
 is related to the accuracy of the iso surface itself.
 The IS is formed of trianles.
 If two planes fall into the same triangle the resulting area curve starts
 to become a piecewise linear curve, which does not have good extremum condition
s.
 Only experimenting with the number of planes and the accuracy of the IS
 will tell in each case what are good settings.
 
\end_layout

\begin_layout Standard
After the extrema are found for each field direction a last sorting step
 akin to the orbit sorting algo above will be employed to find out which
 extremal orbits of consecutive field directions should be connected into
 curves of extremal orbits.
 It uses extrapolation as before, only this time between planes of different
 inclination and distance.
 This sorting algorithm has the same fuzziness as the algo above.
 The resulting curves (extremal area vers field) are ment to be an orientation.
 If in doubt consult the visualization of the orbits an correct the curves
 by hand.
 You will find that certain parts of certain curves will be resolved better
 with an increase in allover accuracy.
 
\end_layout

\begin_layout Standard
In Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:ZrB-dHvA-spectra"

\end_inset

 results for the dHvA spectra for ZrB
\begin_inset Formula $_{2}$
\end_inset

 are shown using different accuracy settings.
 It nicely illustrates the behaviour of the algorithms and their convergence
 properties.
 These pictures suggest that even with the highest settings used, it is
 not yet fully converged.
 Well, that's how it is right now.
\end_layout

\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open

\begin_layout Plain Layout
\begin_inset Graphics
	filename pic/zrb2bisec2.jpg
	lyxscale 10
	width 23col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_2_30_100.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_2_30_200.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_2_60_200.png
	lyxscale 5
	width 25col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Graphics
	filename pic/zrb2bisec4.jpg
	lyxscale 10
	width 23col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_4_30_100.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_4_30_200.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_4_60_200.png
	lyxscale 5
	width 25col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Graphics
	filename pic/zrb2bisec6.jpg
	lyxscale 10
	width 23col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_6_30_100.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_6_30_200.png
	lyxscale 5
	width 25col%

\end_inset


\begin_inset Graphics
	filename pic/area_6_6_60_200.png
	lyxscale 5
	width 25col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:ZrB-dHvA-spectra"

\end_inset

ZrB
\begin_inset Formula $_{2}$
\end_inset

 dHvA spectra for various settings: nx is the initial mesh subdivision,
 bisec is the number of bisections angles the maximum number of angles between
 two main directions and planes the number of planes for each direction.
 dHvA accuracy increases from left to right and iso surface accuracy from
 top to bottom.
 One can clearly see that a bad iso surface produces several slightly different
 copies of the same final curve due to inaccuracies of the iso surface.
 One can also see how the higher accuracy increases the connectivity and
 even finds more extremal areas, of course for a higher cost.
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Standard
After all, the explanations above should tell the user that the dHvA spectra
 will be a bit shaky in their precise appearance.
 This is owed to the complexity of the task itself.
 
\end_layout

\begin_layout Standard
The user can decide to treat specific iso surfaces by using the 
\family typewriter
Band
\begin_inset space ~
\end_inset

indices/parts/spin
\family default
 option (see below).
 The resulting set of treated iso surface files is written to the output
 as in 
\end_layout

\begin_layout LyX-Code
dHvA: isofiles
\end_layout

\begin_layout LyX-Code
dHvA:                  +iso_b00011_p0001_spin1
\end_layout

\begin_layout LyX-Code
dHvA:                  +iso_b00012_p0001_spin1
\end_layout

\begin_layout LyX-Code
dHvA: fields
\end_layout

\begin_layout LyX-Code
dHvA:                 : [0.,0.,1.], "[0001]"
\end_layout

\begin_layout LyX-Code
dHvA:                 : [1.,0.,0.], "[10-10]"
\end_layout

\begin_layout LyX-Code
dHvA:                 : [0.866025403784,0.5,0.], "[11-20]"
\end_layout

\begin_layout LyX-Code
dHvA:                 : [0.,0.,1.], "[001]"
\end_layout

\begin_layout LyX-Code
dHvA: nplane          : 50 , active range : 0 ..
 49
\end_layout

\begin_layout LyX-Code
dHvA: max nphi interv : 10 , active range : 5 ..
 8
\end_layout

\begin_layout Standard
The main output of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset

 are files called 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+area
\backslash
_vs
\backslash
_angle
\backslash
_...}
\end_layout

\end_inset

 and 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+mass
\backslash
_vs
\backslash
_angle
\backslash
_...}
\end_layout

\end_inset

.
 The former contain the extremal areas as a function of an angular variable,
 which goes along the path through the main field directions.
 The latter contains the effective cyclotron masses which correspond to
 the curves in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+area
\backslash
_vs
\backslash
_angle
\backslash
_...}
\end_layout

\end_inset

.
 These files contain comment lines stating the chain number of the corrsponding
 curves.
 The data sets area area in Tesla/mass in elctron masses versus angle in
 degree.
 Each data line has a comment at the end denoting the index of the corresponding
 angle for cross reference with other output and for debugging reasons.
 Note, that the mass curves are noisier than the area curves due to algorithmic
 pecularities.
\end_layout

\begin_layout Standard
Additionally, the program writes a script file 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{area
\backslash
_vs
\backslash
_angle.cmd}
\end_layout

\end_inset

, which can be loaded via
\end_layout

\begin_layout LyX-Code
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfbp{}
\end_layout

\end_inset

 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{area
\backslash
_vs
\backslash
_angle.cmd}
\end_layout

\end_inset


\end_layout

\begin_layout Standard
It contains read statments for all 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+area
\backslash
_...}
\end_layout

\end_inset

 files, which where created during the latest 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset

 run.
 So, if you use the 
\family typewriter
Band
\begin_inset space ~
\end_inset

indices/parts/spin
\family default
 option to treat specific iso surfaces at a time the script does not necessarily
 contain all 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+area
\backslash
_...}
\end_layout

\end_inset

 files in the directory.
\end_layout

\begin_layout Standard
For orientation and for checking the soundness of the results additional
 data are written into tyhe directory 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{dHvAdata}
\end_layout

\end_inset

.
\end_layout

\begin_layout Standard
For each iso surface which is treated according to the input settings a
 sub directory is created which is named according to the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{b...
\backslash
_p...}
\end_layout

\end_inset

 suffices of the iso surface files.
 The content of these 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{b...
\backslash
_p...}
\end_layout

\end_inset

 directories is deleted before each run, but only for currently treated
 iso surfaces.
 In those a subdirectory is created for each field direction, indexed by
 a continuous index called 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{iphi...}
\end_layout

\end_inset

.
 This is the same index as writen in the data line comments of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+area
\backslash
_...}
\end_layout

\end_inset

.
 A list of field directions, angles and indices can be found in the output
 
\end_layout

\begin_layout LyX-Code
maximum angle between main directions: 90
\end_layout

\begin_layout LyX-Code
B[    0]= [     0.00000      0.00000      1.00000] dphi=           0
\end_layout

\begin_layout LyX-Code
B[    1]= [     0.15643      0.00000      0.98769] dphi=           9
\end_layout

\begin_layout LyX-Code
B[    2]= [     0.30902      0.00000      0.95106] dphi=          18
\end_layout

\begin_layout LyX-Code
B[    3]= [     0.45399      0.00000      0.89101] dphi=          27
\end_layout

\begin_layout LyX-Code
B[    4]= [     0.58779      0.00000      0.80902] dphi=          36
\end_layout

\begin_layout LyX-Code
B[    5]= [     0.70711      0.00000      0.70711] dphi=          45
\end_layout

\begin_layout LyX-Code
B[    6]= [     0.80902      0.00000      0.58779] dphi=          54
\end_layout

\begin_layout LyX-Code
...
\end_layout

\begin_layout LyX-Code

\end_layout

\begin_layout LyX-Code

\end_layout

\begin_layout Standard
The index is the number in the square brackets.
 The angular variable is 
\family typewriter
dphi
\family default
.
 For a default set of output options these 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{iphi...}
\end_layout

\end_inset

 directories contain two files 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{areas}
\end_layout

\end_inset

 (and 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{masses}
\end_layout

\end_inset

) with the area curves versus plane index of the corresponding field direction.
 These can be used to check if a certain extremal area in the final result
 really looks like an extrema.
\end_layout

\begin_layout Standard
If the option 
\family typewriter
output_orbits
\family default
 is set additionally data files for all orbits are written.
 The names are 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{orbit
\backslash
_plane...
\backslash
_chain....vtk}
\end_layout

\end_inset

.
 The format is legacy Vtk.
 They should be readable by software, which reads vtk files, but also by
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

.
 Since these files are not specific to the Fermi surface mode of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 we need a special calling strategy: 
\end_layout

\begin_layout LyX-Code

\size scriptsize
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 -fs dHvAdata/b00011_p0001_spin1/iphi00012/orbit_plane*_chain7* 
\end_layout

\begin_layout Standard
will load all orbits of planes which belong to chain 7 of angle 12 of isos
 urface band 122 part 1 spin 1.
 Alternatively, if a file 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.xef}
\end_layout

\end_inset

 with proper options exists you can write
\end_layout

\begin_layout LyX-Code

\size scriptsize
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 =.xef dHvAdata/b00011_p0001_spin1/iphi00012/orbit_plane*_chain7* 
\end_layout

\begin_layout Standard
or together with the iso surface
\end_layout

\begin_layout LyX-Code

\size scriptsize
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 -fs dHvAdata/b00011_p0001_spin1/iphi00012/orbit_plane*_chain7* -raw +iso_b00011
_p0001_spin1
\end_layout

\begin_layout Standard
Btw, this does not mean that 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 can read any legacy Vtk file ;-)
\end_layout

\begin_layout Standard
A more usefull output option (which is checked by default) is 
\family typewriter
output_extremal_orbits
\family default
, which triggeres the output of the extremal orbits 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{extrorbit
\backslash
_chain...
\backslash
_iphi....vtk}
\end_layout

\end_inset

 in the 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{b...
\backslash
_p...}
\end_layout

\end_inset

 sub-directories.
 Load them together with the iso surface via
\end_layout

\begin_layout LyX-Code

\size scriptsize
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 -fs dHvAdata/b00011_p0001_spin1/extrorbit_chain00000_*.vtk -raw +iso_b00011_p000
1_spin1
\end_layout

\begin_layout Standard
You might notice that the extremal orbits seem to be spaced a little uneven
 at times.
 This is due to a technical aspect, which makes us chose the orbit of the
 plane closest to the extremum for output.
 Consequently, the orbits are off by half a plane distance in the worst
 case.
 The visualization of the extremal orbits is helpful for identifying the
 origin of certain branches of the dHvA spectrum.
\end_layout

\begin_layout Standard

\series bold
A few warnings
\series default
: 
\end_layout

\begin_layout Itemize
Don't try to load the orbits from within their respective sub directories.
 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
xfplo{}
\end_layout

\end_inset

 needs to find 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{=.in}
\end_layout

\end_inset

.
 
\end_layout

\begin_layout Itemize
If you are in an 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{iphi...}
\end_layout

\end_inset

 subdirectory while it gets deleted by 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fdhva{}
\end_layout

\end_inset

 it's files might no longer be accessible after the fact.
 Change back out and in of the directory to remdy this.
\end_layout

\begin_layout Itemize
The 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+area
\backslash
_...}
\end_layout

\end_inset

 and 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
file{+mass
\backslash
_...}
\end_layout

\end_inset

 files are never deleted since the user should be able to investigate one
 iso surface sheet at a time.
 The user must take care of old files!
\end_layout

\begin_layout Subsubsection
Input options
\end_layout

\begin_layout Standard
The input which controls the dHvA stage is edited via the second part of
 the dHvA submenu of 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

 shown in Fig.
 
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Second-part-of"

\end_inset

.
\end_layout

\begin_layout Standard
\begin_inset Float figure
placement h
wide false
sideways false
status open

\begin_layout Plain Layout
\noindent
\align center
\begin_inset Graphics
	filename pic/dhvadump0000.ps
	width 80col%

\end_inset


\end_layout

\begin_layout Plain Layout
\begin_inset Caption Standard

\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Second-part-of"

\end_inset

Second part of the dHvA sub menu in 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
fedit{}
\end_layout

\end_inset

.
\end_layout

\end_inset


\end_layout

\end_inset


\end_layout

\begin_layout Description

\family typewriter
Number
\begin_inset space ~
\end_inset

of
\begin_inset space ~
\end_inset

fields
\family default
 Sets the number of main field directions.
\end_layout

\begin_layout Description

\family typewriter
No.
\begin_inset space ~
\end_inset

Label
\begin_inset space ~
\end_inset

field
\family default
 For each main field direction give a label for the field and the actual
 direction (which does not need to be normalized).
\end_layout

\begin_layout Description

\family typewriter
Angle
\begin_inset space ~
\end_inset

subdiv
\family default
 Define the number of angular subdivisions between the two consecutive main
 field directions with the largest angle between them.
\end_layout

\begin_layout Description

\family typewriter
Range
\family default
 (Debugging option) This can be used to narrow the number of resulting angles
 (field directions) to a certian interval.
 Negative numbers mean ignore.
\end_layout

\begin_layout Description

\family typewriter
No
\begin_inset space ~
\end_inset

of
\begin_inset space ~
\end_inset

planes
\family default
 Sets the number of planes with which to slice the iso surface for each
 field direction.
\end_layout

\begin_layout Description

\family typewriter
range
\family default
 (Debugging option) This can be used to narrow the number of planes to a
 certian interval.
 Negative numbers mean ignore.
\end_layout

\begin_layout Description

\family typewriter
Band
\begin_inset space ~
\end_inset

indices/parts/spin
\family default
 By default the dHvA spectrum is calculated for each 
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
filei{+iso
\backslash
_b...}
\end_layout

\end_inset

 files present in the directory.
 If these values are set, only specific iso surfaces are treated.
 
\end_layout

\begin_layout Standard

\family typewriter
Numerics
\family default
: In general we believe that the numerical control parameters (explained
 above in detail) are chosen well with their default values.
\end_layout

\begin_layout Description

\family typewriter
Area
\begin_inset space ~
\end_inset

chain
\begin_inset space ~
\end_inset

threshold
\family default
 The maximum error allowed when linking two orbits into a chain.
\end_layout

\begin_layout Description

\family typewriter
Orbit
\begin_inset space ~
\end_inset

comparison
\begin_inset space ~
\end_inset

search
\begin_inset space ~
\end_inset

offset
\family default
 When comparing two orbits only search a certain portion of the second orbit
 to find a matching point.
 (Explained in detail above)
\end_layout

\begin_layout Description

\family typewriter
Orbit
\begin_inset space ~
\end_inset

sample
\begin_inset space ~
\end_inset

portion
\family default
 Only try to match a certain portion of orbit 1, when sorting into linked
 curves.
 (Explained in detail above)
\end_layout

\begin_layout Description

\family typewriter
Area
\begin_inset space ~
\end_inset

radius
\begin_inset space ~
\end_inset

factor
\family default
 When linking orbits into chains exclude all pairs of orbits, whose midpoint's
 distance is larger than 
\begin_inset Quotes eld
\end_inset

Area radius factor
\begin_inset Quotes erd
\end_inset

 times the minimum of the two orbit's radii.
 (Explained in detail above)
\end_layout

\begin_layout Description

\family typewriter
Smoothness
\begin_inset space ~
\end_inset

threshold
\family default
 When searching for extrema exclude extrema for which the local 4-point
 interval has a smoothness not smaller than this threshold.
 Zero excludes all extrema and one allows all extrema.
 (Explained in more detail above)
\end_layout

\begin_layout Standard

\family typewriter
Output
\begin_inset space ~
\end_inset

Options
\family default
: For an in depth analysis of the results it might be helpfull to create
 additional output files.
\end_layout

\begin_layout Description

\family typewriter
show_non_closed
\family default
 If 
\family typewriter
output_orbits
\family default
 is checked not only the closed orbits are written to files but also the
 open orbits.
\end_layout

\begin_layout Description

\family typewriter
output_orbits
\family default
 Write the orbits of all planes into files in dHvAdata/b...p...spin.../iphi.../.
\end_layout

\begin_layout Description

\family typewriter
output_extremal_orbits
\family default
 Checked by default.
 Triggers output of all extremal orbits for all treated is surfaces in dHvAdata/
b...p...spin.../.
\end_layout

\begin_layout Standard

\family typewriter
Debug Options
\family default
: These options trigger debug output and are of lesser importance to the
 user.
 Hence, we will not explain them.
\end_layout

\begin_layout Description

\family typewriter
determine_area_chain_extrema
\family default
 
\end_layout

\begin_layout Description

\family typewriter
sort_area_chains
\family default
 
\end_layout

\begin_layout Description

\family typewriter
sort_extrema_chains
\family default
 
\end_layout

\begin_layout Description

\family typewriter
extend_periodic_area_chains
\family default
 
\end_layout

\begin_layout Description

\family typewriter
collect_orbits
\family default
 
\end_layout

\begin_layout Description

\family typewriter
calc_orbit
\family default
 
\end_layout

\begin_layout Description

\family typewriter
run
\family default
 
\end_layout

\end_body
\end_document
