From 4a3e2165642e25e7a95a4797f25f1b954a661cb5 Mon Sep 17 00:00:00 2001 From: Antoine Hoffmann <antoine.hoffmann@epfl.ch> Date: Mon, 10 Oct 2022 11:17:19 +0200 Subject: [PATCH] Include a folder for saving useful scripts --- .gitignore | 3 +- scripts/fort_00.90 | 85 +++++++++++++++++++++++++++++++++++++++++ scripts/job_pipeline.sh | 44 +++++++++++++++++++++ scripts/submit_00.cmd | 13 +++++++ 4 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 scripts/fort_00.90 create mode 100644 scripts/job_pipeline.sh create mode 100644 scripts/submit_00.cmd diff --git a/.gitignore b/.gitignore index cf060981..35b853be 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,5 @@ Gallery/ .vscode/settings.json *figure* *results* -out* +out* +!scripts/* diff --git a/scripts/fort_00.90 b/scripts/fort_00.90 new file mode 100644 index 00000000..ae9b19ba --- /dev/null +++ b/scripts/fort_00.90 @@ -0,0 +1,85 @@ +&BASIC + nrun = 100000000 + dt = 0.01 + tmax = 500 + maxruntime = 60 ! 1h 14400 !4h +/ +&GRID + pmaxe = 6 + jmaxe = 3 + pmaxi = 6 + jmaxi = 3 + Nx = 200 + Lx = 120 + Ny = 32 + Ly = 60 + Nz = 1 + SG = .f. +/ +&GEOMETRY + geom = 'Z-pinch' + q0 = 0 + shear = 0 + eps = 0 +/ +&OUTPUT_PAR + nsave_0d = 10 + nsave_1d = -1 + nsave_2d = -1 + nsave_3d = 100 + nsave_5d = 10000 + write_doubleprecision = .t. + write_gamma = .t. + write_hf = .t. + write_phi = .t. + write_Na00 = .t. + write_Napj = .t. + write_Sapj = .f. + write_dens = .t. + write_temp = .t. + job2load = -1 +/ +&MODEL_PAR + ! Collisionality + CLOS = 0 + NL_CLOS = 0 + LINEARITY = 'nonlinear' + KIN_E = .t. + mu_x = 1.0 + mu_y = 1.0 + N_HD = 4 + mu_z = 0.0 + mu_p = 0 + mu_j = 0 + nu = 0.01 + tau_e = 1 + tau_i = 1 + sigma_e = 0.023338 + sigma_i = 1 + q_e = -1 + q_i = 1 + K_Ne = 1.7 + K_Ni = 1.7 + K_Te = 0.425 + K_Ti = 0.425 + GradB = 1 + CurvB = 1 + lambdaD = 0 +/ +&COLLISION_PAR + collision_model = 'LD' + gyrokin_CO = .true. + interspecies = .true. + mat_file = 'LDGK_P10_J5_dk_5e-2_km_5_NFLR_30.h5' + collision_kcut = 1.8 +/ +&INITIAL_CON + INIT_OPT = 'phi' + ACT_ON_MODES = 'donothing' + init_background = 0 + init_noiselvl = 0.001 + iseed = 42 +/ +&TIME_INTEGRATION_PAR + numerical_scheme = 'RK4' +/ diff --git a/scripts/job_pipeline.sh b/scripts/job_pipeline.sh new file mode 100644 index 00000000..7cf4f334 --- /dev/null +++ b/scripts/job_pipeline.sh @@ -0,0 +1,44 @@ +#! /bin/bash +#This script automatizes the launch of multiple job with chain dependency. +nu_=0.01 +dnu=0.01 + +Tm_=2000 +dTm=2000 + +# First submit +lastji=$(sbatch submit_00.cmd) +lastjid=${lastji##* } +echo $lastji +#echo $lastjid + +for i in {1..1}; do + # Setup indices of job id (current and previous one) + im1=$(awk "BEGIN {print $i-1}") + idm1=$(printf '%02d' $im1) + id=$(printf '%02d' $i) + + # Create new submit file from older one + awk -v "ID=$id" '{ + if (NR == 8) print "#SBATCH --error=err_"ID".txt"; + else if (NR == 9) print "#SBATCH --output=out_"ID".txt"; + else if (NR == 12) print "srun --cpu-bind=cores ./gyacomo 2 24 1 "ID; + else print $0}' submit_$idm1.cmd > submit_$id.cmd + + # Create new fort file from older one + awk -v "NU=$nu_" -v "TM=$Tm_" -v "J2L=$im1" '{ + if (NR == 04) print " tmax = "TM; + else if (NR == 40) print " job2load = "J2L; + else if (NR == 54) print " nu = "NU; + else print $0}' fort_$idm1.90 > fort_$id.90 + + # Retrieve last jobid and launch next job with dep + lastji=$(sbatch --dependency=afterok:$lastjid submit_0$i.cmd) + lastjid=${lastji##* } + echo $lastjid + + # Increment variables + nu_=$(awk "BEGIN {print $nu_+$dnu}") + Tm_=$(awk "BEGIN {print $Tm_+$dTm}") +done + diff --git a/scripts/submit_00.cmd b/scripts/submit_00.cmd new file mode 100644 index 00000000..a08f8813 --- /dev/null +++ b/scripts/submit_00.cmd @@ -0,0 +1,13 @@ +#!/bin/bash +#SBATCH --job-name=test_pipe +#SBATCH --time=00:02:00 +#SBATCH --nodes=1 +#SBATCH --cpus-per-task=1 +#SBATCH --ntasks-per-node=48 +#SBATCH --mem=64GB +#SBATCH --error=err_00.txt +#SBATCH --output=out_00.txt +#SBATCH --account=FUA36_TSVVT422 +#SBATCH --partition=skl_fua_dbg +srun --cpu-bind=cores ./gyacomo 2 24 1 0 + -- GitLab