Skip to content
Snippets Groups Projects
Commit 1e4abf93 authored by Lars Hubatsch's avatar Lars Hubatsch
Browse files

WIP: Matlab jump length distribution moving boundary.

parent 475f7d5b
No related branches found
No related tags found
No related merge requests found
......@@ -30,6 +30,6 @@ if strcmp(T.mode, 'Constituent')
T.x(ind+21:end)];
end
elseif strcmp(T.mode, 'Client')
T.x = linspace(0, 20, 24000);
T.x = linspace(0, T.system_size, 24000);
end
end
......@@ -27,7 +27,7 @@ elseif strcmp(mode, 'plot')
figure(20);
cla;
hold on;
xlim([-inf, 6.0]); ylim([-inf, max(T.sol(:))]);
% xlim([-inf, 6.0]); ylim([-inf, max(T.sol(:))]);
ax = gca;
ax.FontSize = 12;
xlabel('x [\mum]'); ylabel('volume fraction');
......
......@@ -113,15 +113,16 @@ end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t = linspace(0, 10, 9000);
tic
T_mov = Ternary_model(0, 'phi_tot', {-10, b(7/3, 10^-6), 0.5, e(7/3),...
0, 1, 10, 7, 0.5, 'Client'}, t, 0);
params_mov_bound = {-10, b(7/3, 10^-6), 0.5, e(7/3),...
0, 1, 20, 7, 0.5, 'Client'};
T_mov = Ternary_model(0, 'phi_tot', params_mov_bound, t, 0);
T_mov.solve_tern_frap();
toc
norm_fac = 1/sum(diff(T_mov.x).*...
(T_mov.sol(1, 1:end-1)+T_mov.sol(1, 2:end))/2);
s = '~/Nextcloud/Langevin_vs_MeanField/Data_Figs_FokkPla/';
csvwrite([s, 'MovingBound.csv'], [T_mov.x', norm_fac*T_mov.sol(1, :)',...
norm_fac*T_mov.sol(end, :)'])
% csvwrite([s, 'MovingBound.csv'], [T_mov.x', norm_fac*T_mov.sol(1, :)',...
% norm_fac*T_mov.sol(end, :)'])
%% Flux and entropy change for moving boundary
chi_phi = -4.530864768482371;
s_dot = zeros(1, length(T_mov.t));
......@@ -143,8 +144,42 @@ s_dot(i) = sum(diff(T_mov.x).*f.^2./(g0.*u_interp));
% [0, T_mov.system_size, min(f(:)), max(f)])
% pause()
end
csvwrite([s, 'Mov_Bou_Flux.csv'], [x_interp; f])
csvwrite([s, 'Mov_Bou_Entr.csv'], [T_mov.t; s_dot])
% csvwrite([s, 'Mov_Bou_Flux.csv'], [x_interp; f])
% csvwrite([s, 'Mov_Bou_Entr.csv'], [T_mov.t; s_dot])
%% MOVING BOUNDARY JUMP LENGTH DISTRIBUTION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
direction = 1; % 1: jump from left to right, -1: jump from right to left.
x0 = sort(10-direction*(0:0.02:4.01));
t_snap = repmat((0.25:0.5:9.75)', 1, length(x0));
si_t = size(t_snap);
x0 = sort(10-T_mov.v*t_snap-direction*repmat(0:0.02:4.01, [si_t(1), 1]), 2);
%% Run simulations for 'delta' IC across outside
F = {};
v = T_mov.v;
for i = 1:si_t(2)
tic
parfor j = 1:si_t(1)
F{i, j} = Ternary_model(0, 'Gauss', params_mov_bound, t, 0);
F{i, j} = Ternary_model(0, 'Gauss', params, t, 0.1);
F{i, j}.x0 = x0(j, i);
F{i, j}.a = -10+v*t_snap(i);
F{i, j}.solve_tern_frap();
end
toc
end
%% Calc. probs. for each jump length in ls and sum over time
%%% THIS PART DOES NOT WORK YET!!!
ls = -direction*(0.001:0.04:4);
n_T=45;
p = nan(length(ls), n_T);
for j = 1:n_T
tic
parfor i = 1:length(ls)
p(i, j) = int_prob(ls(i), F, x0, direction, j, T_mov, 5);
end
toc
end
% save prob_laplace_X_7_3_FRAP_in_out
%% %%%%%%%%%%%%%%%%%%%%%% FRAP TIME COURSE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment