Introduction to fulldiag
The fulldiag package uses LAPACK library for a complete diagonalization of the Hamiltonian. Hence, it can be used for computing thermodynamic properties of any model that can be defined using the ALPS libraries. The main limitation is one of size, i.e., memory and CPU time may become unacceptable at sizes where other, more specialized applications still work well.
Release 1.3 allows the computation of magnetic or
charge properties properties for models with a coupling to
a conserved quantity of the form
-h Sz , or -μ N ,
i.e., a SITETERM -h*Sz(i) or -mu*n(i). In fact, adaptation to other situations with a coupling to a conserved quantity should be relatively straightforward by changing a few lines in the source file fulldiag.h (this is just not supported at the moment, since it requires the modification of at least 5 strings by the user). If the conserved quantity is not present, two quantities less will be evaluated (see below).
Warning: Incorrect results may be obtained if the supposed conserved quantity does actually not commute with the Hamiltonian. Incorrect results will also in general be obtained if the coefficients are not of the above form, and the magnetic field h or chemical potential μ are changed by fulldiag_evaluate.
Running a computation
is discussed in the fulldiag tutorial. After obtaining the full spectrum using the fulldiag program, the evaluation program fulldiag_evaluate can be used to efficiently produce XML plot files of the thermodynamic as well as magnetic properties, specified below.
The following further parameters are used only by fulldiag_evaluate:
|T_MIN||lowest temperature for which obervables are calculated|
|T_MAX||highest temperature for which obervables are calculated|
|DELTA_T||temperature step width|
|couple||couple mu changes the coupling from the default -h Sz to -μ N. It also changes the meaning of a few other parameters and quantities (see below).|
|lowest magnetic field (chemical potential if --couple mu is specified) for which obervables are calculated|
|highest magnetic field (chemical potential if --couple mu is specified) for which obervables are calculated|
|magnetic field step width (chemical potential step width if --couple mu is specified)|
|versus||versus h (versus mu if --couple mu is specified) puts the magnetic field (chemical potential) on the x-axis rather than temperature|
|1||turns on (1) or off (0) the evaluation of magnetic (or charge) properties (see below) |
Recall that with the current version of fulldiag, such measurements are possible only for models with a conserved total Sz or N. A corresponding CONSERVED_QUANTUMNUMBERS=... must also be specified in the parameters of fulldiag.
|DENSITIES||1||specify whether to normalize quantities per site (1) or for the total system (0)|
All these parameters can be overwritten by the command line argument with the same name.
Evaluation of thermodynamic properties
The fulldiag_evaluate program takes an XML output file of fulldiag,
fulldiag_evaluate [--T_MIN ...] [--T_MAX ...] [--DELTA_T ...] [--H_MIN ...] [--H_MAX ... ] [--DELTA_H ... ] [--versus h] [--DENSITIES ...] inputfile [outputfileprefix]</tt>
fulldiag_evaluate --couple mu [--T_MIN ...] [--T_MAX ...] [--DELTA_T ...] [--MU_MIN ...] [--MU_MAX ... ] [--DELTA_MU ...] [--versus mu] [--DENSITIES ...] inputfile [outputfileprefix]</tt>
Two optional ranges for temperature (T_MIN, T_MAX, DELTA_T) and magnetic field (H_MIN, H_MAX, DELTA_H) or chemical potential (MU_MIN, MU_MAX, DELTA_MU) can be specified. fulldiag_evaluate produces XML plot files (outputfileprefix.plot.energy.xml etc., where outputfileprefix is derived from the name of the inputfile if not specified) for the following quantities versus temperature:
- Energy [Density]
- Free Energy [Density]
- Entropy [Density]
- Specific Heat [Density]
- Magnetization [Density] (if MEASURE_MAGNETIC_PROPERTIES=1, and without couple mu)
- Uniform Susceptibility [Density] (if MEASURE_MAGNETIC_PROPERTIES=1, and without couple mu)
- Particle number [Density] (if MEASURE_CHARGE_PROPERTIES=1, and with couple mu)</td>
- Compressibility [Density] (if MEASURE_CHARGE_PROPERTIES=1, and with couple mu)</td>
Note that quantities are output as densities, i.e., normalized to the number of sites if the parameter DENSITIES=1, while output is for the total system if DENSITIES=0. By default, plots are produced with temperature on the x-axis. Use the argument --versus h (--versus mu) in order to obtain plots with magnetic field (chemical potential) on the x-axis
fulldiag stores information including eigenvalues and a result for the accessible physical quantities (measured for the total system). These are of interest mainly to specialists and, as we hope, self-explanatory if needed.
The license allows the use of the applications for non-commercial scientific use provided that the use of the ALPS applications and libraries is acknowledged and referenced in any scientific publication, as discussed in this license file.
Questions and request for support
can be addressed to the ALPS user mailing list at firstname.lastname@example.org. We appreciate hearing your requests for additional features and also welcome any contributions to the ALPS project.
The following persons have contributed to the fulldiag application: