/usr/share/xcrysden/Tcl/gengeom.tcl is in xcrysden-data 1.5.60-1build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #############################################################################
# Author: #
# ------ #
# Anton Kokalj Email: Tone.Kokalj@ijs.si #
# Department of Physical and Organic Chemistry Phone: x 386 1 477 3523 #
# Jozef Stefan Institute Fax: x 386 1 477 3811 #
# Jamova 39, SI-1000 Ljubljana #
# SLOVENIA #
# #
# Source: $XCRYSDEN_TOPDIR/Tcl/gengeom.tcl #
# ------ #
# Copyright (c) 1996-2014 by Anton Kokalj #
#############################################################################
proc GetGengM3Arg {mode3 {mode4 {}}} {
global geng
if { $mode3 == "ANGS" } {
set m31 1
} elseif { $mode3 == "BOHR" } {
set m31 2
}
if { $mode4 == "95" } {
set m32 1
} elseif { $mode4 == "98" || $mode4 == "03" || $mode4 == "06" || $mode4 == "09" || $mode4 == "14" } {
set m32 2
} else {
set m32 1
}
return ${m31}${m32}
}
proc GenGeom {m1 m2 m3 igroup nx ny nz output} {
global system xcMisc periodic working_XSF_file
if { [xcIsActive c95] || [xcIsActive external34] } {
# for CRYSTALXX or EXTERNAL34 read from unit 34
xcDebug -debug "exec $system(BINDIR)/gengeom \
$m1 $m2 $m3 $igroup $nx $ny $nz $output"
xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup $nx $ny $nz $output
} elseif [xcIsActive wien] {
# for WIENXX read from xc_str2xcr.$$
xcDebug -debug "exec $system(BINDIR)/gengeom \
$m1 $m2 $m3 $igroup $nx $ny $nz $output \
$system(SCRDIR)/xc_str2xcr.$system(PID)"
xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
$nx $ny $nz $output $system(SCRDIR)/xc_str2xcr.$system(PID)
} elseif [xcIsActive external] {
# for EXTERNAL read from $xcMisc(external_xsf_name)
xcDebug -debug "exec $system(BINDIR)/gengeom \
$m1 $m2 $m3 $igroup $nx $ny $nz $output \
$xcMisc(external_xsf_name)"
xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
$nx $ny $nz $output $xcMisc(external_xsf_name)
} elseif { [info exists working_XSF_file] } {
# it must be some XSF struct file
xcDebug -debug "exec $system(BINDIR)/gengeom \
$m1 $m2 $m3 $igroup $nx $ny $nz $output $working_XSF_file"
xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
$nx $ny $nz $output $working_XSF_file
} else {
ErrorDialog "don't know what to do in GenGeom (this is a bug)"
return
}
#
# query dimensionality of the sistem
#
set channel [open $output r]
set dim 0
while { ! [eof $channel] } {
set line [gets $channel]
if { [string match *DIM* $line] } {
set dim [lindex [gets $channel] 0]
break
}
}
close $channel
set periodic(dim) $dim
}
|