-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
44 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
The models (Hamiltonians) are added to nrgljubljana_interface by creating "template directories" | ||
in templates/. The templates are organised as templates/[model_name]/[symmetry_type], where the | ||
model name is e.g. "SIAM", while the symmetry type is one of the NRG Ljubljana codes for symmetry | ||
types, e.g. QS (conserved charge and spin) or QSZ (conserved charge and z-component of spin). The | ||
list of all symmetry types can be found in nrgljubljana/nrginit/initial.m. | ||
|
||
Each "template directory" contains a parameter file "param", Hamiltonian description in a .m file, | ||
matrix representations of operators in files "data.in", "ham*", "op*", scripts for problem | ||
initialization ("prepare" and "instantiate", which makes calls to "discretize" and "wilson"), and | ||
postprocessing ("process"). Finally, there are some descriptor files, "info", "gf_struct" and | ||
"cf_struct". Info file lists operators and spectral functions, parameters, and some optional | ||
parameters, while structure files describe the structure of the Green's function and dynamic | ||
susceptibility matrix. | ||
|
||
To introduce a new Hamiltonian, one should add appropriate new directories under the "templates/" | ||
hierarchy and modify the files according to user's requirements. The new set of "data.in", "ham*" | ||
and "op*" matrix element files is generated by running "nrginit" tool, | ||
nrgljubljana/nrginit/nrginit. Note that this tool requires Mathematica. | ||
|
||
When making changes to a template is recommended to make small changes and check if everything | ||
works correctly after each step. Remember to call "cmake install" after each modification and to | ||
adapt CmakeLists.txt. Alternatively, new models can be added directly to the installed templates/ | ||
directory. | ||
|
||
To define new models, the user should be somewhat familiar with the NRG Ljubljana package. There | ||
is some documentation available online and training sessions are organised periodically. One can | ||
also get in touch with the authors. | ||
|
||
Adding new quantities to be computed to existing model templates is quite simple. One needs to | ||
modify the "params" file, line "ops", where one adds the required operators. A set of operators is | ||
defined in nrgljubljana/nrginit/operators.m, and that file can be further extended. In addition, | ||
one should add the operators to line "ops" in the file "info". If additional dynamical quantities | ||
need to be computed, they should be added to appropriate "spec*" lines in the file "info". Here | ||
's' stands for singlet, 'd' for doublet, 't' for triplet and 'q' for quadriplet operators, with | ||
respect to spin symmetry. For example, charge susceptibility <<n_d;n_d>> corresponds to "n_d-n_d" | ||
in line "specs", because the charge operator "n_d" is a spin singlet. Green's function | ||
<<d;d^\dag>> corresponds to "A_d-A_d" in line "specd", because creation/annihilation operators are | ||
doublets with respect to spin. Spin susceptibility in the presence of SU(2) symmetry correspond to | ||
"sigma_d-sigma_d" in line "spect", because the spin operators for a triplet; in the presence of | ||
U(1) it corresponds to "SZd-SZd" in line "specs", because the operator for the z-component of | ||
spin, SZd, in this case behaves as a "singlet". | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters