setVerbosity¶
- setVerbosity(verbosity_settings=None, **kwargs)¶
Set the verbosity of logging output in ATK Python.
Both pre-defined verbosity settings (
MinimalLogorSilentLog) or the verbosity of specific logging regions can be specified.Information on the logging region that each line in the logging output belongs to can be obtained with
showVerbosityRegions().- Parameters:
verbosity_settings (dict) – Dictionary of verbosity settings.
Usage Examples¶
Pre-defined verbosity settings¶
Two pre-defined dictionaries of verbosity settings are available. The MinimalLog
provides a minimalistic but useful QuantumATK logging output:
# QuantumATK verbosity
setVerbosity(MinimalLog)
# Set up configuration
molecule_configuration = MoleculeConfiguration(
elements=[Nitrogen, Hydrogen, Hydrogen, Hydrogen],
cartesian_coordinates=[[ 0. , 0. , 0.124001],
[ 0. , 0.941173, -0.289336],
[ 0.81508, -0.470587, -0.289336],
[-0.81508, -0.470587, -0.289336]]*Angstrom
)
# Calculator
calculator = LCAOCalculator()
molecule_configuration.setCalculator(calculator)
molecule_configuration.update()
Below is shown a section of the resulting QuantumATK logging output:
+------------------------------------------------------------------------------+
| DiagonalizationSolver parallelization report. |
+------------------------------------------------------------------------------+
| Total number of processes: 1 |
| Total number of k-points: 1 |
| Processes per k-point: 1 |
| Number of process groups: 1 |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Checkpoint Handler |
| Filename : /tmp/checkpoint84760295.nc |
| Interval : 0.5 h |
+------------------------------------------------------------------------------+
| 0 E = -4.24374 dE = 1.000000e+00 dH = 3.517309e-01 |
| 1 E = -3.5362 dE = 7.075433e-01 dH = 2.714105e-01 |
| 2 E = -3.59261 dE = 5.641406e-02 dH = 1.945382e-02 |
| 3 E = -3.46562 dE = 1.269879e-01 dH = 4.965302e-02 |
| 4 E = -3.46231 dE = 3.316244e-03 dH = 3.647576e-03 |
| 5 E = -3.45492 dE = 7.386256e-03 dH = 2.002716e-03 |
| 6 E = -3.45729 dE = 2.373353e-03 dH = 8.340864e-04 |
| 7 E = -3.45728 dE = 1.267347e-05 dH = 8.863979e-05 |
| Calculation Converged in 7 steps |
| |
| Fermi Level = -1.544221 eV |
+------------------------------------------------------------------------------+
The pre-defined SilentLog dictionary completely silences all QuantumATK logging output
(verbosity for all logging regions is False).
# QuantumATK verbosity
setVerbosity(SilentLog)
# Set up configuration
molecule_configuration = MoleculeConfiguration(
elements=[Nitrogen, Hydrogen, Hydrogen, Hydrogen],
cartesian_coordinates=[[ 0. , 0. , 0.124001],
[ 0. , 0.941173, -0.289336],
[ 0.81508, -0.470587, -0.289336],
[-0.81508, -0.470587, -0.289336]]*Angstrom
)
# Calculator
calculator = LCAOCalculator()
molecule_configuration.setCalculator(calculator)
molecule_configuration.update()
which results in nothing but a minimal header in the logging output:
+------------------------------------------------------------------------------+
| |
| Atomistix ToolKit 2016.0 |
| |
+------------------------------------------------------------------------------+
Advanced usage¶
Instruct QuantumATK Python to avoid printing time stamps, the size of density matrices, progress bars, and checkpoint file information in the logging output:
# QuantumATK verbosity
verbosity = {
'TIME_STAMP': False,
'MATRIX_SIZES': False,
'PROGRESS_BARS': False,
'CHECKPOINT_FILE': False,
}
setVerbosity(verbosity)
# Set up configuration
molecule_configuration = MoleculeConfiguration(
elements=[Nitrogen, Hydrogen, Hydrogen, Hydrogen],
cartesian_coordinates=[[ 0. , 0. , 0.124001],
[ 0. , 0.941173, -0.289336],
[ 0.81508, -0.470587, -0.289336],
[-0.81508, -0.470587, -0.289336]]*Angstrom
)
# Calculator
calculator = LCAOCalculator()
molecule_configuration.setCalculator(calculator)
molecule_configuration.update()
Note that the verbosity settings are given as a Python dictionary (key–value pairs). Below is shown a section of the resulting QuantumATK logging output:
+------------------------------------------------------------------------------+
| DiagonalizationSolver parallelization report. |
+------------------------------------------------------------------------------+
| Total number of processes: 1 |
| Total number of k-points: 1 |
| Processes per k-point: 1 |
| Number of process groups: 1 |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Density Matrix Report DM DD |
+------------------------------------------------------------------------------+
| 0 N [ 0.000 , 0.000 , 0.124 ] 5.35681 0.35681 |
| 1 H [ 0.000 , 0.941 , -0.289 ] 0.88105 -0.11895 |
| 2 H [ 0.815 , -0.471 , -0.289 ] 0.88107 -0.11893 |
| 3 H [ -0.815 , -0.471 , -0.289 ] 0.88107 -0.11893 |
+------------------------------------------------------------------------------+
| 0 E = -4.24374 dE = 1.000000e+00 dH = 3.517309e-01 |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Density Matrix Report DM DD |
+------------------------------------------------------------------------------+
| 0 N [ 0.000 , 0.000 , 0.124 ] 5.25696 0.25696 |
| 1 H [ 0.000 , 0.941 , -0.289 ] 0.91429 -0.08571 |
| 2 H [ 0.815 , -0.471 , -0.289 ] 0.91437 -0.08563 |
| 3 H [ -0.815 , -0.471 , -0.289 ] 0.91437 -0.08563 |
+------------------------------------------------------------------------------+
| 1 E = -3.5362 dE = 7.075433e-01 dH = 2.714105e-01 |
+------------------------------------------------------------------------------+
Pre-defined dictionaries of verbosity settings can be combined with keywords,
e.g to produce a minimalistic logging output, but keeping the otherwise silenced
SCF_HEADER verbose:
# QuantumATK verbosity
setVerbosity(MinimalLog, SCF_HEADER=True)
It is also possible to specify the verbosity dictionary from scratch,
e.g. to produce the equivalent of MinimalLog:
# QuantumATK verbosity
verbosity = {
'TIME_STAMP': True,
'MULLIKEN_REPORT': False,
'PROGRESS_BARS': False,
'SCF_HEADER': False,
'GRID_INFO': False,
'MATRIX_SIZES': False,
'SCF_PROGRESS_END': False,
'GRID_TOOL_INFO': False,
'MEMORY_INFO': False,
'INITIALIZE_HAMILTONIAN': False,
}
setVerbosity(verbosity)
Notes¶
Most parts of the QuantumATK logging output is associated with a “logging region”,
see showVerbosityRegions(). The default QuantumATK verbosity mode is True
for all logging regions, i.e., to print out all available logging output. Use the
setVerbosity() function to enable/disable verbosity for specific
logging regions.
Information about which logging region each line in the logging output belongs to
can be obtained using showVerbosityRegions().
See also saveVerbositySettings() for saving custom verbosity settings
for later use.
The dictionary of the current verbosity settings can be retrieved with getVerbosity().
MinimalLog¶
The MinimalLog dictionary of verbosity settings is reproduced below:
verbosity = {
'TIME_STAMP': True,
'MULLIKEN_REPORT': False,
'PROGRESS_BARS': False,
'SCF_HEADER': False,
'GRID_INFO': False,
'MATRIX_SIZES': False,
'SCF_PROGRESS_END': False,
'GRID_TOOL_INFO': False,
'MEMORY_INFO': False,
'INITIALIZE_HAMILTONIAN': False,
}
All available logging regions¶
The following is a list all currently available logging regions:
ALL
ATOMIC_CALCULATOR
ATOMIC_CONFIGURATION
BANDSTRUCTURE
BONDS_WARNING
CALCULATOR_UPDATE
CHECKPOINT_FILE
CHEMICAL_POTENTIAL
CONTOUR_INFO
COUNTERPOISE_CORRECTION
CRYSTAL_STRUCTURE_PREDICTION
DEATH_DATE
DELTATEST
DENSITYOFSTATES
DEPRECATION_WARNING
DEVICEDENSITYOFSTATES
DIAGONALIZATION_INFO
DYNAMICAL_MATRIX
EFFECTIVEBANDSTRUCTURE
ELASTICCONSTANTS
ELECTRON_PHONON
FEAST_DIAGONALIZER
FERMI_LEVEL
FORCES_CONVERGED
GRID_INFO
GRID_TOOL_INFO
GRIMME2
GRIMME3
HAMILTONIAN_DERIVATIVES
HARMONIC_CALCULATOR
HTST
INELASTICTRANSMISSION
INITIAL_STATE
INITIALIZE_HAMILTONIAN
LBFGS_MESSAGE
LCAO_INITILIZATION
MATRIX_SIZES
MD_PROGRESS
MD_RESTART
MD_STEP
MEMORY_INFO
MEMORY_USAGE
MOBILITY
MULLIKEN_REPORT
NEB_CONVERGED
NEB_INFO
NEB_PARALLEL_INFO
NEB_PREOPTIMIZATION_INFO
NEB_STEP
NEB_WARNING
NELDER_MEAD
NLPRINT
NLREAD_ERROR
NLREPACK
NLSAVE_WARNING
OPTIMIZATION_CELL
OPTIMIZATION_FORCES_CLASSICAL
OPTIMIZATION_FORCES_QUANTUM
OPTIMIZATION_STRESS
PARALLEL_INFO
PDOS_WARNING
PROGRESS_BARS
RESTART_INFO
REUSE_ELECTRODE
SCF_CONVERGED
SCF_HEADER
SCF_PROGRESS
SCF_PROGRESS_END
SCF_WARNING
SCFLOOP_INFO
SLATERORBITAL
SPINTRANSFERTORQUE
SPLINE_INTERPOLATION
STM
STRESS_CONVERGED
TIME_STAMP
TIMING_REPORT
TRANSMISSIONPATHWAYS
TRANSMISSIONSPECTRUM