10
1
mirror of https://github.com/pfloos/quack synced 2025-05-06 23:24:58 +02:00
2025-04-22 16:00:39 +02:00

38 lines
944 B
Bash
Executable File

#!/bin/bash
# Starting, ending, and step size
eta_start=0.00005
eta_end=0.007
eta_step=0.00005
# Job script name
job_script="$QUACK_ROOT/submission_scripts/submit_script_eta_scan.sh"
# Number format for eta
format="%.6f"
# Function to compare floating point values
float_ge() { awk -v n1="$1" -v n2="$2" 'BEGIN {exit !(n1 >= n2)}'; }
eta=$eta_start
while float_ge "$eta_end" "$eta"; do
echo "Running with eta = $eta"
# Write eta to eta_opt.dat (adjust if more complex format is needed)
echo "$eta" > "$QUACK_ROOT/input/eta_opt.dat"
# Submit job and capture job ID
job_id=$(sbatch --parsable "$job_script")
echo "Submitted job $job_id"
# Wait for job to finish
while squeue -j "$job_id" > /dev/null 2>&1 && squeue -j "$job_id" | grep -q "$job_id"; do
sleep 10 # Check every 10 seconds
done
# Increase eta
eta=$(awk -v a="$eta" -v s="$eta_step" 'BEGIN {printf "%.6f", a + s}')
done