1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #! /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_range`
- # runs which achieved the required sumrule saturation.
-
- if [[ $# -ne 5 ]]; then
- echo "Arguments needed: whichDSF, kBT, target_sumrule, nkmax (max momentum in units of kF/4), width."
- 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
-
- if [[ $4 -lt 0 ]]; then
- echo "nkmax must be > 0."
- exit 1
- fi
-
- if [[ $5 -lt 0 ]]; then
- echo "width must be > 0."
- exit 1
- fi
-
-
- whichDSF=$1
- kBT=$2
- target_sumrule=$3
- nkmax=$4
- width=$5
-
- 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
- echo '** Starting plotting of DSFs for c =' $c
- dir='Lieb-Liniger/'$correlator'/T_'$kBT'/c_fixed/c_'$c'/k_range/k_0_to_'${(l:2::0:)nkmax}'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
- elif [[ $file = K_* ]]; then
- kfile=$file
- fi
- done
- # For each .dsfs file, plot
- for file in *.dsfs
- do
- echo 'Found file ' $file
- # invoke the python script
- plot_dsf_k_range.py $kfile $omegafile $file
- done
- cd ..
- done
-
- cd $basedir
- echo '** Successfully plotted DSFs for c =' $c'.\n'
-
- done
|