Recent Changes - Search:

HomePage

PmWiki

pmwiki.org

ConfigurationFile

In the current trunk version, it is now possible to specify, for each sweep separately, the desired truncation error per site.

To do this, use the 'r' suffix, as in

NumStates = 100r1e-5

meaning use a truncation error per site of {$10^{-5}$}. The number of states (100, in this example) then becomes the maximum number of states to keep.

If you want to enforce a minimum number of states, this is now done with the MinStates option in the configuration file. This is global - it is not possible to adjust it per sweep. The default MinStates is zero.

Similarly, in GMRES, the broadening can be specified per sweep using the 'b' suffix. This overrides the value supplied to mp-gmres-init.

#
# Sample configuration program for DMRG calculations
#
# All entries are of the form Label = definition
# Environment string substituations are allowed, of the
# form ${env_string}
# for example BinPath = ${TMP}
# All entries have defaults.  No guarantees on how well the defaults work.
#

# BinPath: directory where checkpoint files are stored
BinPath = .

# NumPageFiles: number of checkpoint files to use.
# Only useful to set larger than 1 if you have a parallel filesystem
# that stripes different files.  In this case, writes are cycled
# among the files sequentially.
NumPageFiles = 1

# PageSize: granularity of I/O to the checkpoint file.
# Must be a multiple of the operating system memory page size (usually 4K)
PageSize = 8M

# PageCacheSize: use up to this much RAM to cache the checkpoint files.
# If you have extra memory, then increase this up to the maximum.
PageCacheSize = 100M

# NumStates: this is important.  The number of states to keep at each sweep.
# Basic usage:
#
# 3 sweeps, keeping 10, then 20, then 30 states
# NumStates = 10 20 30
#
# The same, with a more concise notation:
# NumStates = 10x3+10
#
# Add 's' to save the wavefunction at the end of the sweep.
# Add 't' to test the convergence at the end of the sweep.
# Add 'w' to test the convergence, and additionally repeat the sweep if not converged.
#
# Real example:
NumStates = 10x20+10 200w 200ts

# Heuristics used by the convergence test.  This works by testing the
# overlap of the wavefunction from the current and previous sweep.
# Two conditions are required.
# 1. the ratio of the overlap to the truncation error must be smaller than
#    Convergence::OverlapTruncationRatio
# 2. the ratio of the overlap derivative to the overlap must be smaller than
#    Convergence::OverlapDerivativeRatio
# Typically, the OverlapDerivativeRatio should be somewhat smaller than one,
# perhaps 0.1 works.  OverlapTruncationRatio shouldn't be too small, around 1
# might work.
Convergence::OverlapTruncationRatio = 0.8
Convergence::OverlapDerivativeRatio = 0.1

# Convergence::TruncationCutoff: if the sweep truncation error is less than this
# amount, then don't require the OverlapTruncationRatio test.  Defaults to 1E-13.
# Convergence::OverlapCutoff: if the overlap is less than this, then
# dont require the OverlapDerivativeRatio test.
Convergence::TruncationCutoff = 5.0E-13
Convergence::OverlapCutoff = 1.0E-13

# The mix factor for the density matrix.  0.01 seems to work well in most cases.
MixFactor = 0.01

# Normally only on A-matrix is modified at a time.  TwoSite = true to modify
# two matrices at once.  To reproduce traditional two-site DMRG, set
# TwoSite=true and MixFactor=0
TwoSite = false

# MaxCPUTime: Force a checkpoint after this many seconds of CPU time have been used
MaxCPUTime = 0

# MaxWallTime: Force a checkpoint after this many seconds have
# elapsed since the start of the run
MaxWallTime = 0

# NumIterations: Number of iterations of the solver (Lanczos, Davidson, GMRES, ...)
NumIterations = 10

# ClearLogs: If true, remove old log files of the same name.  If false, append.
ClearLogs = false

# XXXLogLevel: Amount of information to put into the logs.  Higher numbers = more information
# EnergyLogLevel: the .e file.  Only useful levels are 0 and 1.
# SweepLogLevel: the .sweep file.  Only useful levels are 0 and 1.
# DensityLogLevel: the .density file.  0=off, 1=show eigenvalues of kept states, 10=show all
# PHeapLogLevel: show some information about the files to standard output.
EnergyLogLevel = 1
SweepLogLevel = 1
DensityLogLevel = 1
PHeapLogLevel = 100

Edit - History - Print - Recent Changes - Search
Page last modified on May 03, 2007, at 12:46 PM