87 linhas
1.8 KiB
Bash
Arquivo executável
87 linhas
1.8 KiB
Bash
Arquivo executável
#! /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
|
|
|
|
correlator='rho-rho'
|
|
if [[ $whichDSF == 'o' ]]; then
|
|
correlator='psidag-psi'
|
|
elif [[ $whichDSF == 'g' ]]; then
|
|
correlator='psi-psidag'
|
|
fi
|
|
|
|
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', k = '$nk' kFo4.'
|
|
dir='Lieb-Liniger/'$correlator'/T_'$kBT'/c_fixed/c_'$c'/k_fixed/k_'${(l:2::0:)nk}'kFo4/sr_'$target_sumrule'/store/plots'
|
|
mkdir -p $dir
|
|
cd $dir
|
|
|
|
for datadir in ../data/*
|
|
do
|
|
N=${datadir#"../data/N_"}
|
|
mkdir -p 'N_'$N
|
|
cd 'N_'$N
|
|
# Move all K_, Omega_ and .dsfs files here
|
|
mv ../../data/N_$N/K_* .
|
|
mv ../../data/N_$N/Omega_* .
|
|
mv ../../data/N_$N/*dsfs .
|
|
|
|
# Find the K and Omega file
|
|
for file in *
|
|
do
|
|
if [[ $file = Omega* ]]; then
|
|
omegafile=$file
|
|
fi
|
|
done
|
|
# For each .dsfs file, plot
|
|
for file in *.dsfs
|
|
do
|
|
echo 'Found file ' $file
|
|
# invoke the python script
|
|
plot_dsf_k_fixed.py $omegafile $file
|
|
done
|
|
cd ..
|
|
done
|
|
|
|
cd $basedir
|
|
echo '** Successfully plotted DSFs for c =' $c', k = '$nk'kFo4.\n'
|
|
done
|
|
done
|