The files you send are much too large. Anyway, case.ene and case.latparam must look like:
-12035.77743100 -12035.75697968 -12035.79115863 .... and 12.44102 9.30176 15.97764 1.277 12.44102 9.30176 15.81786 1.277 12.56668 9.30176 15.97764 1.277 12.69235 9.30176 15.97764 1.277 ...The attached parabolfit_lapw should do this (the wien2k_21 script produces wrong ene and latparam files for 4D case.
In addition, since your monoclinic angle is gamma, you need to specify -g (otherwise you will always get angle alpha, which is always the same).
PS: I saw that you did not optimize the internal positions in the scf files, so these energies are probably not very good since they were done with fixed positions. You should optimize positions with run -min ....
-- -------------------------------------------------------------------------- Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna Phone: +43-1-58801-165300 Email: peter.bl...@tuwien.ac.at WIEN2k: http://www.wien2k.at WWW: http://www.imc.tuwien.ac.at -------------------------------------------------------------------------
#!/bin/tcsh -f set file = `pwd` set file = $file:t #tail of file-names unset help unset type unset scf set angle while ($#argv) switch ($1) case -h: set help shift; breaksw case -t: shift set type = $1 shift; breaksw case -p: # shift set terminal = png shift; breaksw case -f: shift; set file = $1 shift; breaksw case -scf: shift; set scf=`/bin/ls $1` # shift; set scf="$1" shift; breaksw case -a: set angle = a shift; breaksw case -b: set angle = b shift; breaksw case -g: set angle = g shift; breaksw default: shift; breaksw endsw end if ($?help) goto help if !($?type) then echo 'enter dimensionality (2-4) of fit:' set type=$< endif if( $type == '2' ) then if( ! $?scf ) set scf='*a+c*.scf' # grepline :ene "$scf" 1 -s| cut -c40- >$file.ene # grepline :lat "$scf" 1 -s| cut -c36->$file.latparam grepline :ene "$scf" 1 -s| cut -d = -f 2|grep -v files >$file.ene grepline :lat "$scf" 1 -s| cut -d = -f 2|grep -v files|cut -c10- >$file.latparam else if( $type == '3' ) then if( ! $?scf ) set scf='*abc*.scf' # grepline :ene "$scf" 1 -s| cut -c40- >$file.ene # grepline :lat "$scf" 1 -s| cut -c27->$file.latparam grepline :ene "$scf" 1 -s| cut -d = -f 2|grep -v files >$file.ene grepline :lat "$scf" 1 -s| cut -d = -f 2|grep -v files >$file.latparam else if( $type == '4' ) then if( ! $?scf ) set scf='*mon*.scf' # grepline :ene "$scf" 1 -s| cut -c40- >$file.ene # grepline :lat "$scf" 1 -s| cut -c27->$file.latparam grepline :ene "$scf" 1 -s| cut -d = -f 2|grep -v files >$file.ene grepline :lat "$scf" 1 -s| cut -d = -f 2|grep -v files >$file.latparam if($angle == 'b') then grepline :lat "$scf" 1 -s|cut -d = -f 2|grep -v files| cut -c1-30,40- >$file.latparam endif if($angle == 'g') then grepline :lat "$scf" 1 -s| cut -d = -f 2|grep -v files | cut -c1-30,50- >$file.latparam endif endif echo The following scf files were used for analysis: foreach i ($scf) echo $i end echo " " echo "$file.ene and $file.latparam generated" echo " " echo $type | x_lapw -f $file eosfit6 exit(0) help: cat <<EOF parabolfit_lapw is an interface for fitting E vs. 2-4-dim lattice parameters by a non-linear least squares fit (eosfit6) using PORT routines. Once you have several scf calculations at different volumes (usually generated with "optimize.job" or "optimize_abc_lapw") it generates the required "$file.ene" and "$file.latparam" parabolfit_lapw [ -t 2/3/4 ] [ -f FILEHEAD ] [ -scf '*xxx*.scf' ] [-a/b/g] -a/b/g allows to specify alpha,beta or gamma in 4D fit. EOF
_______________________________________________ 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