ABACUS/scripts/build_LiebLin_catalogue_k_f...

70 lines
1.4 KiB
Bash
Executable File

#! /bin/zsh
# We use zsh here to support floats (not supported in bash)
# This script produces the plots for the runs from `build_LiebLin_catalogue_k_fixed`
# runs which achieved the required sumrule saturation.
if [[ $# -ne 3 ]]; then
echo "Arguments needed: whichDSF, kBT, target_sumrule."
exit 1
fi
if [[ $1 != 'd' && $1 != 'g' && $1 != 'o' ]]; then
echo "Only the d, g and o scanning options are implemented."
exit 1
fi
if [[ $2 -lt 0 ]]; then
echo "Temperature kBT must be > 0."
exit 1
fi
if [[ $3 -lt 0 || $3 -gt 1 ]]; then
echo "Requirement: 0 < target_sumrule < 1."
exit 1
fi
whichDSF=$1
kBT=$2
target_sumrule=$3
width=$4
clist=(1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625)
basedir="$(pwd)"
for c in $clist
do
for nk in {1..16}
do
echo 'Starting plotting of DSFs for c =' $c', kfact = '$nk | tee -a $logfile
dir='c_'$c'/kBT_'$kBT'/k_fixed/k_'${(l:2::0:)nk}'kFo4/sr_'$target_sumrule'/plots'
cd $dir
dirlist="$(ls)"
# Find the Omega file
for file in *
do
if [[ $file = Omega* ]]; then
omegafile=$file
fi
done
echo 'Omega file: ' $omegafile
# For each .dsfs file, plot
for file in *
do
if [[ $file = LiebLin*dsfs ]]; then
echo 'Found file ' $file
# invoke the python script
plot_dsf_k_fixed.py $omegafile $file
fi
done
cd $basedir
echo ' Successfully plotted DSFs for c =' $c', kfact = '$nk'\n' | tee -a $logfile
done
done