commit d47e95b4ebcc3323cd9a824252dd6ecde5c2931d
parent 8c7aaae09ec24d954876051cff2c81b41d781c90
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Tue, 14 Jun 2022 14:06:00 +0200
add figure with skin depth
Diffstat:
2 files changed, 135 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
@@ -8,6 +8,7 @@ PDFS = \
fig-sediment_flux.pdf \
fig-sediment_flux-100ma.pdf \
fig-sediment_flux_daily.pdf \
+ fig-skin_depth_diff.pdf \
stressvals_ != range -l -N 40 0.01 100
stressvals_ += 8 22 50
@@ -28,6 +29,7 @@ grain_rate_dependence = 0.002
# grain_nonlocal_ampl = 0.33 -> a = 1.79
time_end = 345600
time_interval = 1800
+N = 64 # resolution for skin-depth figure
default: ${PDFS}
@@ -128,11 +130,30 @@ fig-sediment_flux-100ma.pdf: fig-sediment_flux-100ma.gp sediment_flux_v3.169e-6m
gnuplot fig-sediment_flux-100ma.gp > $@
fig-sediment_flux_daily.pdf: fig-sediment_flux_daily.gp sediment_flux_freq1.157e-5s.txt max_depth_daily.txt
-
gnuplot fig-sediment_flux_daily.gp > $@
+fig-skin_depth_diff.pdf: fig-skin_depth_diff.gp max_depth_ampl10e3.txt
+ gnuplot fig-skin_depth_diff.gp > $@
+
+max_depth_ampl10e3.txt:
+ for A_f in 10e3 100e3; do\
+ out=max_depth_ampl$${A_f}.txt;\
+ rm -f $$out;\
+ for D in $$(range -l -N ${N} 1e-9 1e-3); do\
+ for f in $$(range -l -N ${N} 1e-9 1e-3); do\
+ printf '%g\t%g\t' $$f $$D >> $$out;\
+ ./${REPO}/max_depth_simple_shear \
+ -D $$D \
+ -a $$A_f \
+ -q $$f | \
+ awk '{print $$1}' >> $$out;\
+ done;\
+ echo >> $$out;\
+ done;\
+ done
+
clean:
- rm -f strain_distribution_*.txt mohr_coulomb_*.txt sediment_flux_*.txt
+ rm -f strain_distribution_*.txt mohr_coulomb_*.txt sediment_flux_*.txt max_depth*.txt
rm -f ${PDFS}
make -C $(REPO)/ clean
diff --git a/fig-skin_depth_diff.gp b/fig-skin_depth_diff.gp
@@ -0,0 +1,112 @@
+#!/usr/bin/env gnuplot
+
+reset
+
+set terminal pdfcairo color size 17.8 cm, 4.45 cm font ",10"
+
+set multiplot layout 1,3 \
+ margin 0.07,0.92,0.25,0.86 \
+ spacing 0.17,0.0
+
+set key bottom right #samplen 0.9
+
+# hydraulic parameters
+D_min = 1e-9
+D_max = 1e-3
+
+# forcing parameters
+f_min = 0.5*1.0/(24*365)/36000.0
+f_max = 2.0/3600.0
+
+# f: frequency, D: diffusivity
+skindepth(f,D) = (D/(3.141592654*f))**(0.5) # f: 1/s
+
+set xlabel "Forcing frequency {/:Italic f} [s^{-1}]"
+set ylabel "Diffusivity {/:Italic D} [m^2/s]"
+set cblabel "Skin depth {/:Italic d}_s [m]"
+
+set logscale xyzcb
+set xrange [f_min:f_max]
+set yrange [D_min:D_max]
+set samples 100
+set isosamples 60
+
+# Generate contours
+set view map
+unset surface
+set xtics rotate by 90
+set ytics offset 1
+set format x '10^{%T}'
+set format y '10^{%T}'
+
+set pm3d
+
+label_y = 3e-9
+x=1.0/3600.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "hourly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "daily" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0/30.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "monthly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0/365.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "yearly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+
+splot skindepth(x,y) notitle with lines palette, \
+ skindepth(x,y) with pm3d notitle
+
+reset
+set pm3d
+
+x=1.0/3600.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "hourly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "daily" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0/30.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "monthly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+x=1.0/3600.0/24.0/365.0
+set arrow from x,D_min to x,D_max nohead lc "white" front
+set label "yearly" at x,label_y rotate by 90 front offset screen -0.01,0 textcolor "white"
+
+set label "a" at screen 0.01,0.95 font ",12"
+set label "b" at screen 0.35,0.95 font ",12"
+set label "c" at screen 0.70,0.95 font ",12"
+
+set xlabel "Forcing frequency {/:Italic f} [s^{-1}]"
+set ylabel "Diffusivity {/:Italic D} [m^2/s]"
+set cblabel "Max. deformation depth [m]"
+
+set xrange [f_min:f_max]
+set yrange [D_min:D_max]
+set xtics rotate by 90
+set ytics offset 1
+set format x '10^{%T}'
+set format y '10^{%T}'
+
+set view map scale 1
+set style data pm3d
+set style function pm3d
+set xyplane relative 0
+set nomcbtics
+set pm3d implicit at b
+set pm3d scansforward
+#set pm3d interpolate 10,10
+set logscale xy
+
+#unset colorbox
+
+set title "{/:Italic A}_f = 10 kPa"
+splot 'max_depth_ampl10e3.txt' notitle with lines palette, \
+ '' with pm3d notitle
+
+#unset ylabel
+#set colorbox
+set title "{/:Italic A}_f = 100 kPa"
+splot 'max_depth_ampl100e3.txt' notitle with lines palette, \
+ '' with pm3d notitle