Terminal output
Introduction
At run time, the quantum impurity solvers will generate a lot of output in the terminal. We usually redirect the terminal output to an external disk file in order to facilitate further analysis. The terminal output contains a lot of useful information, where we can learn the status of the solvers and extract some important physical quantities.
Format
The format/structure of the terminal output is a bit complex. Next, let's take a typical terminal output as an example to illustrate how to get some useful information from it.
NOTE:
The terminal outputs generated by various impurity solvers are somewhat different. But the main ingredients are similar.
The typical terminal output is as follows:
>>> Part 1:
GARDENIA
>>> A DMFT Engine With Continuous Time Quantum Monte Carlo Impurity Solver
Version: 2015.01.06T (built at 01:24:09 Dec 17 2015)
Develop: by li huang (at IOP/CAS & SPCLab/CAEP & UNIFR)
Support: [email protected]
License: GNU General Public License version 3
GARDENIA >>> start running at 14:29:29 Dec 17 2015
GARDENIA >>> parallelism: Yes >>> processors: 8
GARDENIA >>> parameters list:
isscf : 1 isbin : 2
issun : 2 isspn : 1
isort : 1 issus : 98
isvrt : 1
lemax : 32 legrd : 20001
chmax : 32 chgrd : 20001
mkink : 1024 mfreq : 8193
nband : 2 nspin : 2
norbs : 4 ncfgs : 16
niter : 20 nfreq : 128
nffrq : 32 nbfrq : 8
ntime : 1024 nflip : 20000
ntherm: 2000000 nsweep: 200000000
nclean: 100000 nwrite: 20000000
nmonte: 100 ncarlo: 100
U : 4.40000 Uc : 4.40000
Js : 0.00000 Uv : 2.20000
Jp : 0.00000 Jz : 1.10000
mune : 3.85000 beta : 50.00000
part : 1.00000 temp : 232.09010
It is the header of the terminal output. In this part, we can get the following messages:
- The component we just used. Here it is the GARDENIA component.
- What is the version number is? And when was the compiling time of the code?
- What's the running mode? Is it parallel or sequential?
- When did the calculation start?
- How many cores were used in the calculation?
- All of the computational parameters. Are they reasonable?
>>> Part 2:
GARDENIA >>> DMFT iter:999 <<< BINNING
GARDENIA >>> CTQMC quantum impurity solver running
nband : 2 Uc : 4.40000
nspin : 2 Jz : 1.10000
quantum impurity solver initializing
seed: 504449434
time: 3.401s
quantum impurity solver retrieving
time: 0.000s
quantum impurity solver warmming
time: 1.083s
quantum impurity solver sampling
In this part, we can get the following information:
- Is the data binning activated?
- What's the random number seed?
NOTE:
The random number seed is very important. With it we can recover the scene once a fatal error/exception occurs.
>>> Part 3:
GARDENIA >>> iter:999 sweep: 200000000 of 2000000000
auxiliary system observables:
etot : 4.35130 epot : 4.38829
ekin : -0.03698 <Sz> : 0.00001
<N1> : 2.00001 <N2> : 4.00076
<K2> :.62528E+01 <K3> :.59136E+02
<K4> :.71594E+03
insert kink statistics:
count: 89994172 3070561 86923611
ratio: 1.00000 0.03412 0.96588
remove kink statistics:
count: 90009856 3070563 86939293
ratio: 1.00000 0.03411 0.96589
lshift kink statistics:
count: 9996436 474388 9522048
ratio: 1.00000 0.04746 0.95254
rshift kink statistics:
count: 9999536 475572 9523964
ratio: 1.00000 0.04756 0.95244
global swap statistics:
count: -1 0 0
ratio: 1.00000 0.00000 0.00000
global flip statistics:
count: 17943 17943 0
ratio: 1.00000 1.00000 0.00000
>>> quantum impurity solver status: normal
>>> used time: 4 m 48.46 s in current iteration.
>>> used time: 4 m 48.46 s in total iteration.
This is the most important part of the terminal output. The quantum impurity solvers will output this part every nwrite Monte Carlo sampling steps. So there are nsweep/nwrite similar parts in total. We usually extract useful data from the last part.
In this part, we can gain the following information:
- The progress of the impurity solver.
- Total energy, etot
- Potential energy, epot
- Kinetic energy, ekin
- Magnetic momentum,
- Total occupancy, ,
- Average of histogram, , ,
- Probability for the accept/reject events for various update
- Is the status of the solver normal?
- How long did the solver spend in this period?
NOTE:
From and , we can calculate the charge fluctuation. From , , and , we can calculate the skewness and kurtosis of the histogram of the perturbation expansion order.
>>> Part 4:
GARDENIA >>> CTQMC quantum impurity solver shutdown
GARDENIA >>> total time spent: 2987.44s
GARDENIA >>> I am tired and want to go to bed. Bye!
GARDENIA >>> happy ending at 15:24: 8 Dec 17 2015
This is the final part of the terminal output, from which you will find:
- How long did the solver spend in the whole calculation?
- When did the code terminate?
Code
N/A