commit 049fb54cca500d070c3b8905a4c51afa5e546fd2
parent 2d398582b3eedc34521506c01327b56026b6fd92
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Sun, 15 May 2022 10:35:48 +0200
merge fit into main Makefile and runs
Diffstat:
8 files changed, 28 insertions(+), 201 deletions(-)
diff --git a/Makefile b/Makefile
@@ -7,7 +7,8 @@ PDFS = \
fig-mohr_coulomb.pdf \
fig-sediment_flux.pdf
-stressvals = 5 8 10 15 20 22 25 30 35 40 45 50
+stressvals != range -l -N 20 0 2
+stressvals += 8 22 50
velvals = 3.169e-6 9.506e-6
default: ${PDFS}
@@ -24,13 +25,13 @@ strain_distribution_N50kPa_v3.169e-6ms.txt: ${BIN} Makefile
for P in ${stressvals}; do \
./${BIN} \
-d 530.7e-6 \
- -m 0.625 \
+ -m 0.6 \
-c 0e3 \
-s $${v} \
-L 0.11 \
-n $${P}e3 \
- -A 0.48 \
- -b 0.0003 \
+ -A 0.33 \
+ -b 0.002 \
> strain_distribution_N$${P}kPa_v$${v}ms.txt; \
done; done' # also close fit with lower A and higher b
@@ -42,12 +43,13 @@ mohr_coulomb_v3.169e-6ms.txt: strain_distribution_N50kPa_v3.169e-6ms.txt
tail -n 1 strain_distribution_N$${P}kPa_v$${v}ms.txt >> mohr_coulomb_v$${v}ms.txt; \
done; done'
-sediment_flux_v3.169e-6ms.txt: strain_distribution_N50kPa_v3.169e-6ms.txt
+sediment_flux_v3.169e-6ms.txt: strain_distribution_N50kPa_v3.169e-6ms.txt Makefile
sh -c '\
rm -f sediment_flux_v*ms.txt; \
for v in ${velvals}; do \
for P in ${stressvals}; do \
- (printf "%ge3\t" $$P; ${REPO}/shear_flux < strain_distribution_N$${P}kPa_v$${v}ms.txt) >> sediment_flux_v$${v}ms.txt; \
+ (printf "%ge3\t" $$P; ../cngf-pf/shear_flux < strain_distribution_N$${P}kPa_v$${v}ms.txt) >> sediment_flux_v$${v}ms.txt; \
+ echo sediment_flux_v$${v}ms.txt; \
done; done'
fig-strain_distribution.pdf: fig-strain_distribution.gp strain_distribution_N50kPa_v3.169e-6ms.txt
diff --git a/fig-fit/Makefile b/fig-fit/Makefile
@@ -1,64 +0,0 @@
-BIN = ../cngf-pf/cngf-pf
-FIG = fig-fit
-
-#stressvals != range -n 20 1 100
-stressvals != range -l -n 20 0 2
-
-velvals = 3.169e-6 9.506e-6
-
-default: \
- ../$(FIG)-strain_distribution.pdf \
- ../$(FIG)-mohr_coulomb.pdf \
- ../$(FIG)-sediment_flux.pdf
-
-strain_distribution_N5kPa_v3.169e-6ms.txt: $(BIN) Makefile
- sh -c '\
- for v in ${velvals}; do \
- for P in ${stressvals}; do \
- ./$(BIN) \
- -d 530.7e-6 \
- -m 0.6 \
- -c 0e3 \
- -s $${v} \
- -L 0.11 \
- -n $${P}e3 \
- -A 0.33 \
- -b 0.002 \
- > strain_distribution_N$${P}kPa_v$${v}ms.txt; \
- echo strain_distribution_N$${P}kPa_v$${v}ms.txt; \
- done; done'
- # also close: lower A, higher b
-
-mohr_coulomb_v3.169e-6ms.txt: strain_distribution_N5kPa_v3.169e-6ms.txt Makefile
- sh -c '\
- rm -f mohr_coulomb_v*ms.txt; \
- for v in ${velvals}; do \
- for P in ${stressvals}; do \
- tail -n 1 strain_distribution_N$${P}kPa_v$${v}ms.txt >> mohr_coulomb_v$${v}ms.txt; \
- done; done'
-
-sediment_flux_v3.169e-6ms.txt: strain_distribution_N5kPa_v3.169e-6ms.txt Makefile
- sh -c '\
- rm -f sediment_flux_v*ms.txt; \
- for v in ${velvals}; do \
- for P in ${stressvals}; do \
- (printf "%ge3\t" $$P; ../cngf-pf/shear_flux < strain_distribution_N$${P}kPa_v$${v}ms.txt) >> sediment_flux_v$${v}ms.txt; \
- echo sediment_flux_v$${v}ms.txt; \
- done; done'
-
-../$(FIG)-strain_distribution.pdf: fig-strain_distribution.gp strain_distribution_N5kPa_v3.169e-6ms.txt
- gnuplot fig-strain_distribution.gp > $@
-
-../$(FIG)-mohr_coulomb.pdf: fig-mohr_coulomb.gp mohr_coulomb_v3.169e-6ms.txt
- gnuplot fig-mohr_coulomb.gp > $@
-
-../$(FIG)-sediment_flux.pdf: fig-sediment_flux.gp sediment_flux_v3.169e-6ms.txt
- gnuplot fig-sediment_flux.gp > $@
-
-clean:
- rm -f strain_distribution_*.txt mohr_coulomb_*.txt sediment_flux_*.txt
- rm -f ../$(FIG)-strain_distribution.pdf
- rm -f ../$(FIG)-mohr_coulomb.pdf
- rm -f ../$(FIG)-sediment_flux.pdf
-
-.PHONY: default clean
diff --git a/fig-fit/fig-mohr_coulomb.gp b/fig-fit/fig-mohr_coulomb.gp
@@ -1,27 +0,0 @@
-#!/usr/bin/env gnuplot
-
-reset
-
-set terminal pdfcairo enhanced color size 7.5 cm, 8 cm
-set multiplot layout 2,1
-
-#set lmargin 7.0
-#set bmargin 3.5
-#set rmargin 2.0
-#set tmargin 2.0
-
-#set yrange [0.0:0.73]
-#set xrange [-0.13:1.13]
-#set key bottom right #samplen 0.9
-
-#set xlabel "Effective normal stress, {/Symbol s}_n' [kPa]"
-set ylabel "Shear stress, {/Symbol t} [kPa]"
-set key bottom right font ",10"
-plot "mohr_coulomb_v3.169e-6ms.txt" u ($3/1e3):($3*$5/1e3) w lp title "v = 100 m/a", \
- "mohr_coulomb_v9.506e-6ms.txt" u ($3/1e3):($3*$5/1e3) w lp title "v = 300 m/a"
-
-set xlabel "Effective normal stress, {/Symbol s}_n' [kPa]"
-set ylabel "Shear friction, {/Symbol m} [-]"
-set key top right font ",10"
-plot "mohr_coulomb_v3.169e-6ms.txt" u ($3/1e3):5 w lp title "v = 100 m/a", \
- "mohr_coulomb_v9.506e-6ms.txt" u ($3/1e3):5 w lp title "v = 300 m/a"
diff --git a/fig-fit/fig-sediment_flux.gp b/fig-fit/fig-sediment_flux.gp
@@ -1,42 +0,0 @@
-#!/usr/bin/env gnuplot
-
-reset
-
-set terminal pdfcairo enhanced color size 7.5 cm, 10 cm
-set multiplot layout 2,1
-
-rswidth = 1
-
-#set lmargin 7.0
-#set bmargin 3.5
-#set rmargin 2.0
-#set tmargin 2.0
-
-#set xrange [-5 : 105]
-#set yrange [0 : 0.11]
-
-# https://sodocumentation.net/gnuplot/topic/8825/fit-data-with-gnuplot
-#f(x) = a * exp(b * x)
-f(x, v) = a * x**b * v
-fit f(x, 100) "sediment_flux_v3.169e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) via a,b
-fitparams = sprintf("{/:Italic q}_t = %.2e {/:Italic v N'}^{%.3g}", a, b)
-
-set xrange [0:*]
-set yrange [0:*]
-
-#set xlabel "Normalized horizontal velocity, v_x [-]"
-set xlabel "Effective stress, {/:Italic N'} [kPa]"
-#set ylabel "Spec. sediment flux [m²/a]"
-set ylabel "Sediment flux, {/:Italic q}_t [m³/a]"
-set key bottom right font ",10" #samplen 0.9
-set title "{/:Italic v} = 100 m/a"
-set yrange [0:1]
-plot "rs_sediment_flux_100ma.txt" u ($1/1000):($2) w p ps 2 t "Hansen and Zoet 2022", \
- "sediment_flux_v3.169e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w p ps 0.5 t "CNGF-PF", \
- f(x, 100) t fitparams
-
-set title "{/:Italic v} = 300 m/a"
-set yrange [0:*]
-plot "rs_sediment_flux_300ma.txt" u ($1/1000):($2) w p ps 2 t "Hansen and Zoet 2022", \
- "sediment_flux_v9.506e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w p ps 0.5 t "CNGF-PF", \
- f(x, 300) t fitparams
diff --git a/fig-fit/fig-strain_distribution.gp b/fig-fit/fig-strain_distribution.gp
@@ -1,46 +0,0 @@
-#!/usr/bin/env gnuplot
-
-reset
-
-set terminal pdfcairo enhanced color size 7.5 cm, 10 cm
-set multiplot layout 2,1
-
-#set lmargin 7.0
-#set bmargin 3.5
-#set rmargin 2.0
-#set tmargin 2.0
-
-set xrange [-5 : 105]
-set yrange [0 : 0.11]
-
-#set xlabel "Normalized horizontal velocity, v_x [-]"
-set xlabel "Horizontal velocity, v_x [m/a]"
-set ylabel "Vertical position, z [m]"
-set key bottom right font ",10" #samplen 0.9
-set title "v = 100 m/a"
-plot "strain_distribution_N8kPa_v3.169e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 8 kPa", \
- "strain_distribution_N22kPa_v3.169e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 22 kPa", \
- "strain_distribution_N50kPa_v3.169e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 50 kPa"
-
-#unset xrange
-
-##set xlabel "Normalized horizontal velocity, v_x [-]"
-#set xlabel "Shear-strain rate, dv_x/dz [1/d]"
-#set ylabel "Vertical position, z [m]"
-#set key bottom right font ",10" #samplen 0.9
-#plot "strain_distribution_N8kPa_v9.506e-6ms.txt" u ($6*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 8 kPa", \
- #"strain_distribution_N22kPa_v9.506e-6ms.txt" u ($6*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 22 kPa", \
- #"strain_distribution_N50kPa_v9.506e-6ms.txt" u ($6*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 50 kPa"
-
-
-set xrange [-5 : 305]
-set yrange [0 : 0.11]
-
-#set xlabel "Normalized horizontal velocity, v_x [-]"
-set xlabel "Horizontal velocity, v_x [m/a]"
-set ylabel "Vertical position, z [m]"
-set key bottom right font ",10" #samplen 0.9
-set title "v = 300 m/a"
-plot "strain_distribution_N8kPa_v9.506e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 8 kPa", \
- "strain_distribution_N22kPa_v9.506e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 22 kPa", \
- "strain_distribution_N50kPa_v9.506e-6ms.txt" u ($2*365*24*3600):1 w l lw 2 title "{/Symbol s}_n' = 50 kPa"-
\ No newline at end of file
diff --git a/fig-fit/rs_sediment_flux_100ma.txt b/fig-fit/rs_sediment_flux_100ma.txt
@@ -1,3 +0,0 @@
-8.53e3 0.351 0.0053 0.0238
-22.2e3 0.510 0.0134 0.0434
-50.4e3 0.661 0.0835 0.0434
diff --git a/fig-fit/rs_sediment_flux_300ma.txt b/fig-fit/rs_sediment_flux_300ma.txt
@@ -1,2 +0,0 @@
-21.2e3 1.51 0.153
-50.2e3 1.99 0.0959
diff --git a/fig-sediment_flux.gp b/fig-sediment_flux.gp
@@ -15,18 +15,28 @@ rswidth = 1
#set xrange [-5 : 105]
#set yrange [0 : 0.11]
+# https://sodocumentation.net/gnuplot/topic/8825/fit-data-with-gnuplot
+#f(x) = a * exp(b * x)
+f(x, v) = a * x**b * v
+fit f(x, 100) "sediment_flux_v3.169e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) via a,b
+fitparams = sprintf("{/:Italic q}_t = %.2e {/:Italic v N'}^{%.3g}", a, b)
+
set xrange [0:*]
set yrange [0:*]
#set xlabel "Normalized horizontal velocity, v_x [-]"
-set xlabel "Effective stress [kPa]"
+set xlabel "Effective stress, {/:Italic N'} [kPa]"
#set ylabel "Spec. sediment flux [m²/a]"
-set ylabel "Sediment flux [m³/a]"
-set key bottom right font ",10" #samplen 0.9
-set title "v = 100 m/a"
-plot "sediment_flux_v3.169e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w l lw 2 t "CNGF-PF", \
- "rs_sediment_flux_100ma.txt" u ($1/1000):($2) w errorbars t "Hansen and Zoet 2022"
-
-set title "v = 300 m/a"
-plot "sediment_flux_v9.506e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w l lw 2 t "CNGF-PF", \
- "rs_sediment_flux_300ma.txt" u ($1/1000):($2) w errorbars t "Hansen and Zoet 2022"
+set ylabel "Sediment flux, {/:Italic q}_t [m³/a]"
+set key bottom right font ",10" invert #samplen 0.9
+set title "{/:Italic v} = 100 m/a"
+set yrange [0:1]
+plot f(x, 100) t fitparams, \
+ "sediment_flux_v3.169e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w p ps 0.5 t "CNGF-PF", \
+ "rs_sediment_flux_100ma.txt" u ($1/1000):($2) w p ps 1 t "Hansen and Zoet (2022)"
+
+set title "{/:Italic v} = 300 m/a"
+set yrange [0:*]
+plot f(x, 300) t fitparams, \
+ "sediment_flux_v9.506e-6ms.txt" u ($1/1000):($2*3600*24*365.25*rswidth) w p ps 0.5 t "CNGF-PF", \
+ "rs_sediment_flux_300ma.txt" u ($1/1000):($2) w p ps 1 t "Hansen and Zoet (2022)"