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

     * 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 
}