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.willi...@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@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.bl...@tuwien.ac.at
WWW:http://www.imc.tuwien.ac.at WIEN2k:http://www.wien2k.at
-------------------------------------------------------------------------
#!/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
_______________________________________________
Wien mailing list
Wien@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