TABLE OF CONTENTS
::pwtk::shiftAtmPos
SYNOPSIS
proc ::pwtk::shiftAtmPos {dx dy dz atmPos} {
PURPOSE
Displace given atomic coordinates by ($dx,$dy,$dz) vector.
ARGUMENTS
- dx, dy, dz -- displacement vector
- atmPos -- atomic coordinates to displace
SOURCE
set result "" foreach line [split $atmPos \n] { set len [llength $line] if { $len == 4 || $len == 7 } { set sym [lindex $line 0] set x [lindex $line 1] set y [lindex $line 2] set z [lindex $line 3] set ix [lindex $line 4] set iy [lindex $line 5] set iz [lindex $line 6] # we multiply $dx by 1.0 to force the use of floating-point arithmetics append result [format "%3s %15.10f %15.10f %15.10f %3s%3s%3s\n" \ $sym [expr $x + 1.0*$dx] [expr $y + 1.0*$dy] [expr $z + 1.0*$dz] $ix $iy $iz] } } return $result }