[Wien] "so: Undefined variable" error
Peter Blaha
peter.blaha at tuwien.ac.at
Mon Feb 13 10:08:42 CET 2023
Ups.
I'm sorry, for some unknown reasons the qtlpara_lapw script from version
19 slipped into the WIEN2k_23 distribution, which had 2 bugs already
fixed in WIEN2k_21.
The correct qtlpara_lapw is attached and the corrected version is
also in the download area (WIEN2k_23.1.tar from 13.2.23).
Copy it into your WIENROOT directory.
Regards
Peter Blaha
Am 13.02.2023 um 01:01 schrieb Tim Williams via Wien:
> Hi,
>
> I have upgraded to 23.1 and encountered an error running qtl
>
> /running LAPW2 in parallel mode/
> /STOP LAPW2 - FERMI; weights written/
> /FERMI only/
> /0.229u 0.063s 0:00.13 215.3%0+0k 0+1312io 0pf+0w/
> /running QTL in parallel mode/
> /calculating QTL's from parallel vectors/
> */so: Undefined variable./*
> /0.015u 0.005s 0:00.01 100.0%0+0k 0+24io 0pf+0w/
> /error: command /home/mcem-admin/wien2k/qtlpara qtl.def failed/
>
> The SCF ran to convergence (parallel, 6 cores on one Intel machine).
>
> The error somewhat resembles those previously present in x_lapw fixed
> with the Github patches. “so” is defined in x_lapw (*set so*).
>
> Happy to provide more details but is anyone aware of any need for a
> patch in 23.1?
>
> Many thanks,
>
> Tim.
>
>
>
> ---
> Dr. Tim Williams
> Transmission Electron Microscope Manager
>
> Monash Centre for Electron Microscopy (MCEM)
> Monash University
> Room 103, 10 Innovation Walk, Clayton Campus
> Wellington Road
> Clayton VIC 3800
> Australia
> T: +61 (0) 3 9902 0721
> M: +61 (0) 401 853 850
> e: timothy.williams at monash.edu
>
> CRICOS Provider: Monash University
> 00008C/01857J
>
> We acknowledge and pay respects to the Elders
> and Traditional Owners of the land on which our
> four Australian campuses stand.
>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
--
-----------------------------------------------------------------------
Peter Blaha, Inst. f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-158801165300
Email:peter.blaha at tuwien.ac.at
WWW:http://www.imc.tuwien.ac.at WIEN2k:http://www.wien2k.at
-------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20230213/8ad94e0b/attachment.htm>
-------------- next part --------------
#!/bin/tcsh -f
#
set tmp = .tmp_qtlpara.$$
set tmp2 = .tmp_qtlpara.$$_2
onintr exit
set name = $0
set bin = $name:h #default directory for WIEN-executables
if !(-d $bin) set bin = .
unalias rm
alias testinput 'if (! -e \!:1 || -z \!:1) goto \!:2'
alias testerror 'if (! -z \!:1.error) goto error'
set t = time
set log = :parallel
set defmach = `hostname`
set updn # spinpolarization switch
set dnup = 'dn' # spinpolarization switch
set sc # semicore-switch
set so
set cmplx
set remote = ssh
set init = init:
set res = residue:
############################################################################
# In this section use 0 to turn of an option, 1 to turn it on,
# respectively choose a value
set useremote = 1 # using remote shell to launch processes
setenv DELAY 0.1 # delay launching of processes by n seconds
setenv SLEEPY 1 # additional sleep before checking
set debug = 0 # set verbosity of debugging output
############################################################################
############################################################################
# and now we look if we should override the defaults
if (-e $bin/parallel_options) then
source $bin/parallel_options
endif
if ( $?USE_REMOTE ) then
set useremote = $USE_REMOTE
endif
############################################################################
if ($#argv < 1) then
echo usage: $0 deffile
exit
endif
while ($#argv)
switch ($1)
case -h:
case -H:
set help
shift; breaksw
case -up:
set updn = '-up'
set dnup = '-dn'
shift; breaksw
case -dn:
set updn = '-dn'
set dnup = '-up'
shift; breaksw
case -so:
set so = 'so'
shift; breaksw
default:
set def = $1:r
shift; breaksw
endsw
end
set exe = $bin/qtl
set exe = qtl
#are we running parallel?
testinput .processes single
echo "running QTL in parallel mode"
echo "RUNNING" >.qtlpara
#before we start, we wipe away all parallel error files
if ( -e qtl.error ) rm *qtl*.error
if ( -e upqtl.error ) rm *qtl*.error
if ( -e dnqtl.error ) rm *qtl*.error
if ( -e qtl_1.error ) rm *qtl_*.error
if ( -e upqtl_1.error ) rm *qtl_*.error
if ( -e dnqtl_1.error ) rm *qtl_*.error
if ( -e .timeq_1) rm .timeq_*
if (-e .machines.help) rm .machines.help
grep -v $init .processes|grep : | grep -v $res >$tmp2
set mist = `wc $tmp2 `
set maxproc = $mist[1]
set machine = `grep $init .processes | cut -f2 -d: | xargs`
if ($#machine > $maxproc) then
set machine = `grep $init .processes |head -$maxproc| cut -f2 -d: | xargs`
endif
set lockfile = `cut -f2 -d: $tmp2 | awk '{print $1 NR}'|xargs`
set residue = `grep $res .processes|cut -f2 -d:`
if ($residue == "") unset residue
if ($debug > 0) echo machines: $machine
echo "** " Error in Parallel QTL >$def.error
#get name of case
setenv PWD `pwd|sed "s/tmp_mnt\///"`
setenv PWD $cwd
set case = $PWD
set case = $case:t
if ($case == "") then
echo "ERROR: cannot detect working directory $cwd -> exit"
exit 1
endif
if ($debug > 0) echo Setting up case $case for parallel execution
if ($debug > 0) echo of QTL
if ($debug > 0) echo " "
#
echo "calculating QTL's from parallel vectors"
vec2old_lapw -p -local $so $updn
$exe $def.def $maxproc
rm $tmp* >&/dev/null
echo "DONE" >.qtlpara
exit 0
error:
echo "** " QTL crashed!
echo "** " QTL crashed at `date`>>$log
echo "** " check ERROR FILES! >>$log
echo "-----------------------------------------------------------------">>$log
echo "** " Error in Parallel QTL >>$def.error
rm $tmp* >&/dev/null
echo "ERROR" >.qtlpara
exit 1
More information about the Wien
mailing list