diff --git a/@Ternary_model/Ternary_model.m b/@Ternary_model/Ternary_model.m index 42ac2687dee914c0cf11a45cddbc01369d0cce49..0c1928fd30500a4ea4e105ce56aed351fc390af7 100644 --- a/@Ternary_model/Ternary_model.m +++ b/@Ternary_model/Ternary_model.m @@ -21,7 +21,7 @@ classdef Ternary_model < handle b = 0.025; u0 = 0.05; e = 0.4; - e_g0 = 0.16; + e_g0 = 0.16; % mobility spread. Also used in square mobility ansatz. ic_c = 0; % initial concentration inside droplet u_g0 = 0.2; system_size = 300; diff --git a/@Ternary_model/create_mesh.m b/@Ternary_model/create_mesh.m index fc3686cebf283a4b8ea484db18394e0a3da65d8c..35884d83ce52d336a2efc9d8ed0bed5cfed22c08 100644 --- a/@Ternary_model/create_mesh.m +++ b/@Ternary_model/create_mesh.m @@ -2,7 +2,7 @@ function create_mesh(T) %CREATE_MESH creates mesh for solving Ternary_model. % Mesh density larger for steeper gradients. -if strcmp(T.mode, 'Constituent') | T.v == 0 +if strcmp(T.mode, 'Constituent') || strcmp(T.mode, 'Const_mob') || T.v == 0 % Start with left side of mesh, at r=0/x=0, with a given step size x = linspace(0, -0.75*T.a, 40); x = [x, x(end)+0.001/T.precision]; diff --git a/flory_hugg_pde.m b/flory_hugg_pde.m index 981342d5b0103ffc060535b5ab61394ad33ef77b..1afe3b9148f29c4257f5b7c25526d4d7d8295c7f 100644 --- a/flory_hugg_pde.m +++ b/flory_hugg_pde.m @@ -11,6 +11,10 @@ c = 1; if strcmp(mode, 'Constituent') g0 = Ternary_model.gamma0(x, a+t*v, b, e_g0, u_g0, v*t); f = g0.*(1-pt)./pt.*(pt.*dudx-u.*gra_a); +elseif strcmp(mode, 'Const_mob') + % Using Stefano's mobility ansatz (1-phi_tot+a*phi_tot^2) to obtain a + % certain ratio of D_in/D_out. + f = (1-pt+e_g0*pt^2)./pt.*(pt.*dudx-u.*gra_a); elseif strcmp(mode, 'Client') g0 = 0.5; chi_phi = -4.530864768482371;