Add scripts for c scan with k_range
This commit is contained in:
		
							parent
							
								
									362d856e74
								
							
						
					
					
						commit
						9276bc8008
					
				| 
						 | 
					@ -0,0 +1,87 @@
 | 
				
			||||||
 | 
					#! /bin/zsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For given N (L), this
 | 
				
			||||||
 | 
					# computes the required DSF (up to required sumrule)
 | 
				
			||||||
 | 
					# over a range of values of c_int.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $# -ne 5 ]]; then
 | 
				
			||||||
 | 
					    echo "Arguments needed: whichDSF, kBT, target_sumrule, N, nkmax (max momentum in units of kF/4)."
 | 
				
			||||||
 | 
					    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 "N must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $5 -lt 0 ]]; then
 | 
				
			||||||
 | 
					    echo "nkmax must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					whichDSF=$1
 | 
				
			||||||
 | 
					kBT=$2
 | 
				
			||||||
 | 
					target_sumrule=$3
 | 
				
			||||||
 | 
					N=$4
 | 
				
			||||||
 | 
					nkmax=$5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					correlator='rho-rho'
 | 
				
			||||||
 | 
					if [[ $whichDSF == 'o' ]]; then
 | 
				
			||||||
 | 
					    correlator='psidag-psi'
 | 
				
			||||||
 | 
					elif [[ $whichDSF == 'g' ]]; then
 | 
				
			||||||
 | 
					    correlator='psi-psidag'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					iKmax=$(($nkmax * $N/8))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Max_Secs=3600
 | 
				
			||||||
 | 
					refine=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#clist=(1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# List of interactions: fractional powers of 2
 | 
				
			||||||
 | 
					clist_raw=()
 | 
				
			||||||
 | 
					for nc in {-128..128}
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    clist_raw=($clist_raw $(( 4 * 2**($nc/16.) )))
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					# Now cast the integer values to true integers
 | 
				
			||||||
 | 
					zmodload zsh/mathfunc
 | 
				
			||||||
 | 
					clist=()
 | 
				
			||||||
 | 
					for c in $clist_raw
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    if [[ $((floor($c))) == $((ceil($c))) ]]; then
 | 
				
			||||||
 | 
						clist=($clist $((int($c))))
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
						clist=($clist $c)
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					basedir="$(pwd)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for c in $clist
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    echo '** Starting run for c =' $c', N = '$N
 | 
				
			||||||
 | 
					    dir='Lieb-Liniger/'$correlator'/T_'$kBT'/c_scan/k_range/k_0_to_'${(l:2::0:)nkmax}'kFo4/sr_'$target_sumrule'/store/data/N_'$N'/c_'$c
 | 
				
			||||||
 | 
					    mkdir -p $dir
 | 
				
			||||||
 | 
					    cd $dir
 | 
				
			||||||
 | 
					    LiebLin_DSF $whichDSF $c $N $N 0 $iKmax $kBT $Max_Secs $target_sumrule $refine
 | 
				
			||||||
 | 
					    cd $basedir
 | 
				
			||||||
 | 
					    echo ' Successfully computed DSFs for c =' $c', N = '$N'.\n'
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,92 @@
 | 
				
			||||||
 | 
					#! /bin/zsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For given N (L) this
 | 
				
			||||||
 | 
					# computes the smoothened dsfs for a `build_LiebLin_c_scan_k_range` run.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $# -ne 6 ]]; then
 | 
				
			||||||
 | 
					    echo "Arguments needed: whichDSF, kBT, target_sumrule, N, 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 "N must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $5 -lt 0 ]]; then
 | 
				
			||||||
 | 
					    echo "nkmax must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $6 -lt 0 ]]; then
 | 
				
			||||||
 | 
					    echo "width must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					whichDSF=$1
 | 
				
			||||||
 | 
					kBT=$2
 | 
				
			||||||
 | 
					target_sumrule=$3
 | 
				
			||||||
 | 
					N=$4
 | 
				
			||||||
 | 
					nkmax=$5
 | 
				
			||||||
 | 
					width=$6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					correlator='rho-rho'
 | 
				
			||||||
 | 
					if [[ $whichDSF == 'o' ]]; then
 | 
				
			||||||
 | 
					    correlator='psidag-psi'
 | 
				
			||||||
 | 
					elif [[ $whichDSF == 'g' ]]; then
 | 
				
			||||||
 | 
					    correlator='psi-psidag'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					iKmax=$(($nkmax * $N/8))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ommin=0
 | 
				
			||||||
 | 
					ommax=$(($nkmax*($nkmax - 8))) # use lower branch of 1ph continuum
 | 
				
			||||||
 | 
					Nom=1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#clist=(1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# List of interactions: fractional powers of 2
 | 
				
			||||||
 | 
					clist_raw=()
 | 
				
			||||||
 | 
					for nc in {-128..128}
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    clist_raw=($clist_raw $(( 4 * 2**($nc/16.) )))
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					# Now cast the integer values to true integers
 | 
				
			||||||
 | 
					zmodload zsh/mathfunc
 | 
				
			||||||
 | 
					clist=()
 | 
				
			||||||
 | 
					for c in $clist_raw
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    if [[ $((floor($c))) == $((ceil($c))) ]]; then
 | 
				
			||||||
 | 
						clist=($clist $((int($c))))
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
						clist=($clist $c)
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					basedir="$(pwd)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for c in $clist
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    echo '** Starting computation of DSFs for c =' $c', N = '$N
 | 
				
			||||||
 | 
					    dir='Lieb-Liniger/'$correlator'/T_'$kBT'/c_scan/k_range/k_0_to_'${(l:2::0:)nkmax}'kFo4/sr_'$target_sumrule'/store/data/N_'$N'/c_'$c
 | 
				
			||||||
 | 
					    cd $dir
 | 
				
			||||||
 | 
					    Smoothen_LiebLin_DSF_Scaled $whichDSF $c $N $N 0 $iKmax $kBT 0 $ommin $ommax $Nom $width
 | 
				
			||||||
 | 
					    cd $basedir
 | 
				
			||||||
 | 
					    echo ' Successfully computed DSFs for c =' $c', N = '$N'.\n'
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,90 @@
 | 
				
			||||||
 | 
					#! /bin/zsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For given N (L) this
 | 
				
			||||||
 | 
					# produces an interactive (tunable c_int) plot for S(k, \omega)
 | 
				
			||||||
 | 
					# from data produced from `build_LiebLin_c_scan_k_range[_dsfs]` scripts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $# -ne 6 ]]; then
 | 
				
			||||||
 | 
					    echo "Arguments needed: whichDSF, kBT, target_sumrule, N, 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 "N must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $5 -lt 0 ]]; then
 | 
				
			||||||
 | 
					    echo "nkmax must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $6 -lt 0 ]]; then
 | 
				
			||||||
 | 
					    echo "width must be > 0."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					whichDSF=$1
 | 
				
			||||||
 | 
					kBT=$2
 | 
				
			||||||
 | 
					target_sumrule=$3
 | 
				
			||||||
 | 
					N=$4
 | 
				
			||||||
 | 
					nkmax=$5
 | 
				
			||||||
 | 
					width=$6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					correlator='rho-rho'
 | 
				
			||||||
 | 
					if [[ $whichDSF == 'o' ]]; then
 | 
				
			||||||
 | 
					    correlator='psidag-psi'
 | 
				
			||||||
 | 
					elif [[ $whichDSF == 'g' ]]; then
 | 
				
			||||||
 | 
					    correlator='psi-psidag'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					iKmax=$(($nkmax * $N/8))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Max_Secs=3600
 | 
				
			||||||
 | 
					refine=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#clist=(1024 512 256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# List of interactions: fractional powers of 2
 | 
				
			||||||
 | 
					clist_raw=()
 | 
				
			||||||
 | 
					for nc in {-128..128}
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    clist_raw=($clist_raw $(( 4 * 2**($nc/16.) )))
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					# Now cast the integer values to true integers
 | 
				
			||||||
 | 
					zmodload zsh/mathfunc
 | 
				
			||||||
 | 
					clist=()
 | 
				
			||||||
 | 
					for c in $clist_raw
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    if [[ $((floor($c))) == $((ceil($c))) ]]; then
 | 
				
			||||||
 | 
						clist=($clist $((int($c))))
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
						clist=($clist $c)
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					basedir="$(pwd)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo '** Starting run for N = '$N
 | 
				
			||||||
 | 
					dir='Lieb-Liniger/'$correlator'/T_'$kBT'/c_scan/k_range/k_0_to_'${(l:2::0:)nkmax}'kFo4/sr_'$target_sumrule'/store/plots'
 | 
				
			||||||
 | 
					mkdir -p $dir
 | 
				
			||||||
 | 
					cd $dir
 | 
				
			||||||
 | 
					plot_c_scan_k_range_dsfs.py $N $width
 | 
				
			||||||
 | 
					cd $basedir
 | 
				
			||||||
 | 
					echo ' Successfully computed DSFs for N = '$N'.\n'
 | 
				
			||||||
| 
						 | 
					@ -53,7 +53,6 @@ fig, ax = plt.subplots()
 | 
				
			||||||
ax.set_xlim(omega[0], omega[-1])
 | 
					ax.set_xlim(omega[0], omega[-1])
 | 
				
			||||||
# To determine the y axis limits, we look at the lowest value of c (sharpest peak)
 | 
					# To determine the y axis limits, we look at the lowest value of c (sharpest peak)
 | 
				
			||||||
dsfsmax = max(dsfs[str(clist[0])])
 | 
					dsfsmax = max(dsfs[str(clist[0])])
 | 
				
			||||||
print('dsfsmax = ', dsfsmax)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
ymax = 1.01 * dsfsmax
 | 
					ymax = 1.01 * dsfsmax
 | 
				
			||||||
ymax=4
 | 
					ymax=4
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,83 @@
 | 
				
			||||||
 | 
					#! /usr/bin/env python
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					Plot DSF.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Usage: python plot_dsf_k_range.py [omega file] [dsf file]
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import glob
 | 
				
			||||||
 | 
					import matplotlib.pyplot as plt
 | 
				
			||||||
 | 
					import matplotlib.animation as animation
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					N = str(sys.argv[1])
 | 
				
			||||||
 | 
					width = str(sys.argv[2])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get the list of interactions which have been computed
 | 
				
			||||||
 | 
					dirlist = os.listdir('../data/N_%s' % N)
 | 
				
			||||||
 | 
					clist = sorted([float(c.lstrip('c_')) for c in dirlist])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get the K file
 | 
				
			||||||
 | 
					kfile = glob.glob('../data/N_%s/c_%s*/K_*' % (N, str(clist[0]).rstrip('.0')[:12]))[0]
 | 
				
			||||||
 | 
					k = np.loadtxt(kfile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get the Omega file
 | 
				
			||||||
 | 
					omegafile = glob.glob('../data/N_%s/c_%s*/Omega*' % (N, str(clist[0]).rstrip('.0')[:12]))[0]
 | 
				
			||||||
 | 
					omega = np.loadtxt(omegafile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load all the available dsfs from the data store
 | 
				
			||||||
 | 
					dsfs = {}
 | 
				
			||||||
 | 
					for c in clist:
 | 
				
			||||||
 | 
					    # Do some black magic here: for matching the interaction,
 | 
				
			||||||
 | 
					    # first try for exact match, stripping '.0' to treat integer values, e.g. 4.0 into 4
 | 
				
			||||||
 | 
					    # and then (if it doesn't work) use only the first 12 characters, plus wildcard, to cover rounding errors
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        dsffile = glob.glob('../data/N_%s/c_%s/*_w_%s.dsfs' % (N, str(c).rstrip('.0'), width))[0]
 | 
				
			||||||
 | 
					    except IndexError:
 | 
				
			||||||
 | 
					        dsffile = glob.glob('../data/N_%s/c_%s*/*_w_%s.dsfs' % (N, str(c).rstrip('.0')[:12], width))[0]
 | 
				
			||||||
 | 
					    dsfs[str(c)] = np.loadtxt(dsffile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Read some useful parameters from (last) file name:
 | 
				
			||||||
 | 
					elements = dsffile.rpartition('/')[2].split('_')
 | 
				
			||||||
 | 
					L = elements[5]
 | 
				
			||||||
 | 
					#N = elements[7]
 | 
				
			||||||
 | 
					iKmax = elements[14]
 | 
				
			||||||
 | 
					width = elements[22].rpartition('.')[0]
 | 
				
			||||||
 | 
					# which leads to
 | 
				
			||||||
 | 
					rho = int(N)/int(L)
 | 
				
			||||||
 | 
					#kokF = int(iK)*0.5/int(L)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fig, ax = plt.subplots()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# To determine the y axis limits, we look at the lowest value of c (sharpest peak)
 | 
				
			||||||
 | 
					dsfsmax = 0.5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ymax = omega[-1]
 | 
				
			||||||
 | 
					xtext = 0.05 * k[-1]
 | 
				
			||||||
 | 
					ytext = 0.9 * ymax
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ax.text(xtext, ytext, f'c = {clist[0]:10.6f}', color='white', fontsize='large')
 | 
				
			||||||
 | 
					pcm = ax.pcolormesh(k, omega, dsfs[str(clist[0])], vmax=dsfsmax)
 | 
				
			||||||
 | 
					fig.colorbar(pcm, ax=ax)
 | 
				
			||||||
 | 
					def animate(i):
 | 
				
			||||||
 | 
					    ax.clear()
 | 
				
			||||||
 | 
					    ax.set_title(f'c scan, rho={rho} (N={N}), w={width}', fontsize='x-large')
 | 
				
			||||||
 | 
					    ax.text(xtext, ytext, f'c = {clist[i]:10.6f}', color='white', fontsize='x-large')
 | 
				
			||||||
 | 
					    ax.pcolormesh(k, omega, dsfs[str(clist[i])], vmax=dsfsmax)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ani = animation.FuncAnimation(fig, animate, frames=len(clist), interval=100, repeat=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					outfilename = (dsffile.partition('_c_')[0].rpartition('/')[2] + '_c_scan_' +
 | 
				
			||||||
 | 
					               dsffile.partition('_c_')[2].partition('_')[2].partition('.dsfs')[0])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ani.save(outfilename + '.mp4')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					with open(outfilename + '.html', 'w') as file:
 | 
				
			||||||
 | 
					    file.write(ani.to_html5_video())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#plt.show()
 | 
				
			||||||
		Loading…
	
		Reference in New Issue