icm
(image charge model) code
icm.x
reads the wavefunction file in Gaussian Cube or
XCrySDen XSF format and computes the Coulomb integral within
an image charge model.
It is based on surface code, so the input parameter file formats for the two codes are quite similar.
Input file structure (icm.inp
)
inputfilename C6H6.b_15.cube
inputfileformat cube
threshold 0.99
threshold_power 1
coulomb_power 1
mirrorplaneorigin
0.0 0.0 -2.0
mirrorplanenormal
0.0 0.0 1.0
mirrorplaneunit angstrom
uc F
uco
0.0 0.0 0.0
ucv
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
ucu latvec
sc T
sco
-0.5 -0.5 -0.5
scv
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
scu latvec
Documentation
In the above example, the HOMO wavefunction of benzene is read from Gaussian
Cube file. The wavefunction is placed in the center of the supercell (see the
meaning of uc
, uco
, ucv
, ucu
, sc
, sco
, scv
, scu
parameters in
the surface code). The parts of the wavefunction outside an
isosurface that contains 99% of the charge density are dropped (parameters
threshold
and threshold_power
have the same meaning as isovalue
and
power
in the surface code). Parameter coulomb_power
tells the
code whether the wavefunction in the Coulomb integral needs to be squared. Set
both powers to 1 if the wavefunction file contains the squared amplitude as
produced by ESPRESSO, and to 2 for the linear amplitude as in PARATEC or
SIESTA. The mirror plane is defined by parameters mirrorplaneorigin
and
mirrorplanenormal
, in the above example it is parallel to the xy plane
crossing the z axis at -2 Angstrom. Problems may occur with non-orthogonal unit
cells; use of cubic cells is recommended.