From b872172800b69f256bdd9f39e2a59d57e94806ec Mon Sep 17 00:00:00 2001
From: Lars Hubatsch <hubatsch@pks.mpg.de>
Date: Tue, 23 Mar 2021 23:54:13 +0100
Subject: [PATCH] Test jump length with tanh mobility. Slightly off.

---
 @Ternary_model/calc_real_params.m |  5 +++
 prob_laplace.m                    | 72 ++++++++++++++++++++-----------
 run_jump_lengths.m                |  7 +--
 3 files changed, 57 insertions(+), 27 deletions(-)

diff --git a/@Ternary_model/calc_real_params.m b/@Ternary_model/calc_real_params.m
index 226cf01..6408665 100644
--- a/@Ternary_model/calc_real_params.m
+++ b/@Ternary_model/calc_real_params.m
@@ -18,5 +18,10 @@ elseif strcmp(T.mode, 'Const_mob')
                             T.e_g0*T.real_params.phi_in^2);
     T.real_params.D_out = (1-T.real_params.phi_out+...
                             T.e_g0*T.real_params.phi_out^2);
+elseif strcmp(T.mode, 'Mobility_ratio')
+    % e_g0 and u_g0 in this case have nothing to do with tanh. See
+    % flory_hugg_pde
+    T.real_params.D_in = T.u_g0.*(1-T.e_g0*T.real_params.phi_in);
+    T.real_params.D_out = T.u_g0.*(1-T.e_g0*T.real_params.phi_out);
 end
 end
\ No newline at end of file
diff --git a/prob_laplace.m b/prob_laplace.m
index 717e984..fd03de0 100644
--- a/prob_laplace.m
+++ b/prob_laplace.m
@@ -309,31 +309,55 @@ for j = 1:length(bp)
     csvwrite([pa, 'prob_7_7_lb002_bp', num2str(bp(j)), '.csv'], p);
 end
 %% Mean cross jump length chi 7/3
-run_jump_lengths(-5, 1, 7/3, 1, 4, '73_1_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 1, 7/3, 1, 4, '73_1_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, 0, 7/3, 1, 4, '73_6_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 0, 7/3, 1, 4, '73_6_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, -0.08410041, 7/3, 1, 4, '73_10_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, -0.08410041, 7/3, 1, 4, '73_10_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, -0.12314694, 7/3, 1, 4, '73_15_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, -0.12314694, 7/3, 1, 4, '73_15_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, -0.14264143, 7/3, 1, 4, '73_20_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, -0.14264143, 7/3, 1, 4, '73_20_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, -0.15432893, 7/3, 1, 4, '73_25_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, -0.15432893, 7/3, 1, 4, '73_25_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, -0.16211677, 7/3, 1, 4, '73_30_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, -0.16211677, 7/3, 1, 4, '73_30_10', 10^-6, 4, 0.5);
+run_jump_lengths(-5, 0, 7/3, 1, 4, '73_1_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 1, 7/3, 1, 4, '73_6_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 1.10612003, 7/3, 1, 4, '73_15_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 1.13188434, 7/3, 1, 4, '73_25_10_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 0, 7/3, 1, 4, '73_1_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 1, 7/3, 1, 4, '73_5_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 1.10612003, 7/3, 1, 4, '73_15_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 1.13188434, 7/3, 1, 4, '73_25_1_m', 10^-6, 4, 0.5, 1);
+%%
+strings = {'73_1_01_m', '73_6_01_m', '73_15_01_m', '73_25_10_m', ...
+           '73_1_1_m', '73_5_1_m', '73_15_1_m', '73_25_1_m'};
+for i = 1:length(strings)
+    load(strings{i});
+    disp([D_ratio, m]);
+end
+%%
+run_jump_lengths(-5, -0.08410041, 7/3, 1, 4, '73_10_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, -0.08410041, 7/3, 1, 4, '73_10_10_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, -0.12314694, 7/3, 1, 4, '73_15_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, -0.12314694, 7/3, 1, 4, '73_15_10_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, -0.14264143, 7/3, 1, 4, '73_20_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, -0.14264143, 7/3, 1, 4, '73_20_10_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, -0.15432893, 7/3, 1, 4, '73_25_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, -0.15432893, 7/3, 1, 4, '73_25_10_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, -0.16211677, 7/3, 1, 4, '73_30_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, -0.16211677, 7/3, 1, 4, '73_30_10_m', 10^-6, 4, 0.5, 1);
 %% chi 7.7/3
-run_jump_lengths(-5, 1, 7.7/3, 1, 4, '773_1_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 1, 7.7/3, 1, 4, '773_1_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, 0.136322219, 7.7/3, 1, 4, '773_6_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 0.136322219, 7.7/3, 1, 4, '773_6_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, 0.0618145816, 7.7/3, 1, 4, '773_10_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 0.0618145816, 7.7/3, 1, 4, '773_10_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, 0.027120457, 7.7/3, 1, 4, '773_15_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 0.027120457, 7.7/3, 1, 4, '773_15_10', 10^-6, 4, 0.5);
-run_jump_lengths(-5, 0.00977482501, 7.7/3, 1, 4, '773_20_01', 10^-6, 3, 0.5);
-run_jump_lengths(-5, 0.00977482501, 7.7/3, 1, 4, '773_20_10', 10^-6, 4, 0.5);
+run_jump_lengths(-5, 0, 7.7/3, 1, 4, '773_1_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 0.86811566, 7.7/3, 1, 4, '773_6_10_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 0.97386999, 7.7/3, 1, 4, '773_15_01_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 1, 7.7/3, 1, 4, '773_25_10_m', 10^-6, 3, 0.5, 1);
+run_jump_lengths(-5, 0, 7.7/3, 1, 4, '773_1_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 0.86811566, 7.7/3, 1, 4, '773_6_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 0.97386999, 7.7/3, 1, 4, '773_15_1_m', 10^-6, 4, 0.5, 1);
+run_jump_lengths(-5, 1, 7.7/3, 1, 4, '773_25_1_m', 10^-6, 4, 0.5, 1);
+%%
+strings = {'773_1_01_m', '773_6_10_m', '773_15_01_m', '773_25_10_m', ...
+           '773_1_1_m', '773_6_1_m', '773_15_1_m', '773_25_1_m'};
+for i = 1:length(strings)
+    load(strings{i});
+    disp([D_ratio, m]);
+end
+%%
+run_jump_lengths(-5, 0.0618145816, 7.7/3, 1, 4, '773_10_01_m', 10^-6, 3, 0.5);
+run_jump_lengths(-5, 0.0618145816, 7.7/3, 1, 4, '773_10_10_m', 10^-6, 4, 0.5);
+run_jump_lengths(-5, 0.027120457, 7.7/3, 1, 4, '773_15_01_m', 10^-6, 3, 0.5);
+run_jump_lengths(-5, 0.027120457, 7.7/3, 1, 4, '773_15_10_m', 10^-6, 4, 0.5);
+run_jump_lengths(-5, 0.00977482501, 7.7/3, 1, 4, '773_20_01_m', 10^-6, 3, 0.5);
+run_jump_lengths(-5, 0.00977482501, 7.7/3, 1, 4, '773_20_10_m', 10^-6, 4, 0.5);
 run_jump_lengths(-5, 0, 7.7/3, 1, 4, '773_25_01', 10^-6, 3, 0.5);
 run_jump_lengths(-5, 0, 7.7/3, 1, 4, '773_25_10', 10^-6, 4, 0.5);
 run_jump_lengths(-5, -0.00756985349, 7.7/3, 1, 4, '773_30_01', 10^-6, 3, 0.5);
diff --git a/run_jump_lengths.m b/run_jump_lengths.m
index 51093eb..fb4f675 100644
--- a/run_jump_lengths.m
+++ b/run_jump_lengths.m
@@ -1,9 +1,10 @@
-function run_jump_lengths(a, ad, chi, direc, l_max, name, nu, t_ind, u0)
+function run_jump_lengths(a, ad, chi, direc, l_max, name, nu, t_ind, u0, u_g0)
 % Calculate jump length distribution for given parameter set.
-% ad ... prefactor of quadratic term in Stefano's mobility ansatz
+% ad ... prefactor of quadratic term in Stefano's mobility ansatz or e_g0
+%        if mode is 'Mobility ratio'
 b = @(chi, nu) nu^(1/3)*sqrt(chi/(chi-2));
 e = @(chi) sqrt(3/8*(chi-2));
-params = {a, b(chi, nu), u0, e(chi), ad, 0, 10, 7, 0, 0, 'Const_mob', 0};
+params = {a, b(chi, nu), u0, e(chi), ad, u_g0, 10, 7, 0, 0, 'Mobility_ratio', 0};
 t = [0, 0.05, 0.1, 1];
 x0 = sort(5-direc*(0:0.001:4.01));
 %% Run simulations for 'delta' IC across outside
-- 
GitLab