From b047d291d89cc821f1890bd847b5cd9c1572ddfb Mon Sep 17 00:00:00 2001 From: Lars Hubatsch <hubatsch@pks.mpg.de> Date: Tue, 10 Aug 2021 11:53:15 +0200 Subject: [PATCH] Start working on Hammerhead/Ribozyme reaction. Seems to work in principle. --- @Ternary_model/solve_tern_frap.m | 14 ++++++++++++++ flory_hugg_pde.m | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/@Ternary_model/solve_tern_frap.m b/@Ternary_model/solve_tern_frap.m index 5c20dff..ba46461 100644 --- a/@Ternary_model/solve_tern_frap.m +++ b/@Ternary_model/solve_tern_frap.m @@ -50,6 +50,14 @@ elseif strcmp(ic, 'phi_tot') A = (P-1)*off/(exp_tern(-200)-exp_tern(200)); B = off - A*exp_tern(200); u = A*exp_tern(x)+B; +elseif strcmp(ic, 'Substrate') + u = zeros(2, 1); + if x < -a + u(1) = 0; + else + u(1) = 1; + end + u(2) = 0; elseif isnumeric(ic) % use ic as initial condition by interpolating the given values between % 0 and a @@ -73,6 +81,12 @@ function [pl,ql,pr,qr] = flory_bc(xl, ul, xr, ur, t, u0, e, j) % Dirichlet BC % pr = ur-u0+e; % qr = 0; + elseif j == -1 %% For now this means we're looking at Hammerhead/Ribo + pl = [0; 0]; + ql = [1; 1]; + % No flux + pr = [0; 0];%ur - 0.01; + qr = [1; 1]; % Dirichlet BC constant flux case else pr = ur; diff --git a/flory_hugg_pde.m b/flory_hugg_pde.m index b3f98fd..fb9ced6 100644 --- a/flory_hugg_pde.m +++ b/flory_hugg_pde.m @@ -24,5 +24,15 @@ elseif strcmp(mode, 'Const_flux') f = g0.*(1-pt)./pt.*(pt.*dudx-u.*gra_a)-j*u/pt; elseif strcmp(mode, 'Mobility_ratio') f = u_g0.*(1-e_g0*pt).*(dudx-u.*gra_a./pt); +elseif strcmp(mode, 'Hammer_Ribo') + % Use code from client (flux) and constituent (mobility) + c = [1; 1]; + g0 = Ternary_model.gamma0(x, a+t*v, b, e_g0, u_g0, v*t, e, u0); + chi_phi = -4; + chi_phi1 = -10; + k_H = 0.2; + f = [1;1].*g0.*(dudx+[chi_phi; chi_phi1].*u*gra_a); + F = k_H*pt*u(1); + s = [-F; F]; end end \ No newline at end of file -- GitLab