TABLE OF CONTENTS
::pwtk::difden::DIFDEN
SYNOPSIS
proc ::pwtk::difden::DIFDEN {content} {
PURPOSE
Specify DIFDEN namelist for "difden" calculation (difden acronym stands for difference-density).
An example of "difden" calculation is the calculation of bonding (formation) density (i.e. charge density difference). For example, consider we want to calculate/plot the charge density difference of AB system as:
\Delta n(r) = n(AB;r) - [n(A;r) + n(B;r)].
This would involve 3 scf + 3 pp.x (&inputpp namelist) + 1 pp.x (&plot namelist) calculations. The "difden" utility does it automatically. User only needs to define the atomic structural segments (in the example above, there are three segments: AB, A, B).
Here is an example of DIFDEN namelist specification.
DIFDEN { segment(1) = "all" weight(1) = 1.0 name(1) = "whole_structure"
segment(2) = "1 3-7" weight(2) = -1.0 name(2) = "name_of_segment_2" segment(3) = "2 8-" weight(3) = -1.0 name(3) = "name_of_segment_3" }
ARGUMENTS
- content -- the DIFDEN namelist specification. It consists of the following namelist variables:
* nsegment -- [OPTIONAL] number of segments; if not specified, determined from the specification of the segment(*) array.
* segment(i), i=1,nsegment -- [REQUIRED] specify list of atoms belonging to the segment using the following syntax: "1 3 4-12 17-21" (also word "all" can be used, which designates all atoms) Examples: "all" -- means all atoms "1-" -- means all atoms (i.e. from 1 to the end)" "1 3-5 7-" -- means atoms 1 3 4 5 and from 7 to the end * weight(i), i=1,nsegment -- [REQUIRED] weight of the segment
* name(i), i=1,nsegment -- [OPTIONAL] symbolic name of the segment(i) (used for naming the corresponding I/O files)
* restart -- [OBSOLETE] if true, restart the DIFDEN calculation (use the ::pwtk::restart mechanism instead)
SOURCE
variable difden ::pwtk::input::namelist DIFDEN $content }