% COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) flclear fem % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.5'; vrsn.ext = ''; vrsn.major = 0; vrsn.build = 494; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2008/09/19 16:09:48 $'; fem.version = vrsn; % Geometry g1=rect2('3','25','base','corner','pos',{'0','0'},'rot','0'); g2=rect2('0.125','25','base','corner','pos',{'3','0'},'rot','0'); g3=rect2('3','25','base','corner','pos',{'3.125','0'},'rot','0'); % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'I','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'D_m_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_a_V','1500[mol/m^3]', ... 'c0_c_V','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_a_4','3.9e-10[m^2/s]', ... 'D_a_5','3.9e-10[m^2/s]', ... 'D_c_2','2.4e-10[m^2/s]', ... 'D_c_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'I','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'D_m_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_a_V','1500[mol/m^3]', ... 'c0_c_V','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_a_4','3.9e-10[m^2/s]', ... 'D_a_5','3.9e-10[m^2/s]', ... 'D_c_2','2.4e-10[m^2/s]', ... 'D_c_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]'}; % Geometry % Geometry objects clear s s.objs={g1,g2,g3}; s.name={'R1','R2','R3'}; s.tags={'g1','g2','g3'}; fem.draw=struct('s',s); % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear pnt pnt.V0 = {}; pnt.name = {}; pnt.type = {}; pnt.Qj0 = {}; pnt.ind = []; appl.pnt = pnt; clear bnd bnd.chsrcdst = {}; bnd.inport = {}; bnd.Jn = {}; bnd.sigmabnd = {}; bnd.index = {}; bnd.I0 = {}; bnd.J0 = {}; bnd.V0 = {}; bnd.pertype = {}; bnd.I0port = {}; bnd.type = {}; bnd.portnr = {}; bnd.name = {}; bnd.Vref = {}; bnd.dbnd = {}; bnd.V0port = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.Sd = {}; equ.srcpnt = {}; equ.S0 = {}; equ.Qj = {}; equ.T = {}; equ.gporder = {}; equ.coordOn = {}; equ.sigma = {}; equ.alpha = {}; equ.name = {}; equ.Je = {}; equ.dr = {}; equ.rOn = {}; equ.cporder = {}; equ.sigrel = {}; equ.d = {}; equ.init = {}; equ.Stype = {}; equ.R0 = {}; equ.T0 = {}; equ.usage = {}; equ.res0 = {}; equ.srcaxis = {}; equ.user = {}; equ.ind = []; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_m'}; appl.name = 'membrane'; appl.module = 'ACDC'; appl.assignsuffix = '_membrane'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.V0 = {}; pnt.name = {}; pnt.type = {}; pnt.Qj0 = {}; pnt.ind = []; appl.pnt = pnt; clear bnd bnd.chsrcdst = {}; bnd.inport = {}; bnd.Jn = {}; bnd.sigmabnd = {}; bnd.index = {}; bnd.I0 = {}; bnd.J0 = {}; bnd.V0 = {}; bnd.pertype = {}; bnd.I0port = {}; bnd.type = {}; bnd.portnr = {}; bnd.name = {}; bnd.Vref = {}; bnd.dbnd = {}; bnd.V0port = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.Sd = {}; equ.srcpnt = {}; equ.S0 = {}; equ.Qj = {}; equ.T = {}; equ.gporder = {}; equ.coordOn = {}; equ.sigma = {}; equ.alpha = {}; equ.name = {}; equ.Je = {}; equ.dr = {}; equ.rOn = {}; equ.cporder = {}; equ.sigrel = {}; equ.d = {}; equ.init = {}; equ.Stype = {}; equ.R0 = {}; equ.T0 = {}; equ.usage = {}; equ.res0 = {}; equ.srcaxis = {}; equ.user = {}; equ.ind = []; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.p0 = {}; bnd.name = {}; bnd.N = {}; bnd.type = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.cporder = {}; equ.eta = {}; equ.F = {}; equ.init = {}; equ.k = {}; equ.gporder = {}; equ.Dts = {}; equ.name = {}; equ.usage = {}; equ.epsilon = {}; equ.rho = {}; equ.ind = []; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.name = 'DCa'; appl.module = 'CHEM'; appl.assignsuffix = '_DCa'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.d = {}; bnd.Dbnd = {}; bnd.c0 = {}; bnd.name = {}; bnd.N = {}; bnd.type = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.cporder = {}; equ.D = {}; equ.delsd = {}; equ.delid = {}; equ.init = {}; equ.cdon = {}; equ.gporder = {}; equ.dtensor = {}; equ.v = {}; equ.u = {}; equ.sdon = {}; equ.sdtype = {}; equ.Dts = {}; equ.delcd = {}; equ.cdtype = {}; equ.name = {}; equ.R = {}; equ.dtype = {}; equ.idon = {}; equ.usage = {}; equ.ind = []; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c2'}; appl.name = 'DCc'; appl.module = 'CHEM'; appl.assignsuffix = '_DCc'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm5'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.d = {}; bnd.Dbnd = {}; bnd.c0 = {}; bnd.name = {}; bnd.N = {}; bnd.type = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.cporder = {}; equ.D = {}; equ.delsd = {}; equ.delid = {}; equ.init = {}; equ.cdon = {}; equ.gporder = {}; equ.dtensor = {}; equ.v = {}; equ.u = {}; equ.sdon = {}; equ.sdtype = {}; equ.Dts = {}; equ.delcd = {}; equ.cdtype = {}; equ.name = {}; equ.R = {}; equ.dtype = {}; equ.idon = {}; equ.usage = {}; equ.ind = []; appl.equ = equ; fem.appl{5} = appl; fem.sdim = {'x','y'}; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'D_m_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_a_V','1500[mol/m^3]', ... 'c0_c_V','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_a_4','3.9e-10[m^2/s]', ... 'D_a_5','3.9e-10[m^2/s]', ... 'D_c_2','2.4e-10[m^2/s]', ... 'D_c_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)'}; % Geometry % Analyzed geometry clear s s.objs={g2,g1,g3}; s.name={'R2','R1','R3'}; s.tags={'g2','g1','g3'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'D_m_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_a_4','3.9e-10[m^2/s]', ... 'D_a_5','3.9e-10[m^2/s]', ... 'D_c_2','2.4e-10[m^2/s]', ... 'D_c_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1_a','6.8e-7[m/s]', ... 'k2_c','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'K_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_m'}; appl.name = 'membrane'; appl.module = 'ACDC'; appl.assignsuffix = '_membrane'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.name = 'DCa'; appl.module = 'CHEM'; appl.assignsuffix = '_DCa'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c2'}; appl.name = 'DCc'; appl.module = 'CHEM'; appl.assignsuffix = '_DCc'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm5'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{5} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'phi_s','phi_m','p','c','c2'}; % Subdomain expressions equ.expr = {'i0_1',{'F*k1*(c_4^alp1_c)*(c_5^alp1_a)','',''}, ... 'i0_2',{'','','F*k2*(c_2^alp2_c)*(c_3^alp2_a)'}, ... 'U_1',{'U0_1+(R*T/F)*ln(c_5/c_4)','',''}, ... 'U_2',{'','','U0_2+(R*T/F)*ln(c_3/c_2)'}, ... 'A_1',{'(k1/km)*(c4^-alp1_c)*(c_5^alp1_a)*exp(alp1_a*F*eta_1/(R*T))', ... '',''}, ... 'B_1',{'(k1/km)*(c4^alp1_c)*(c_5^-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','(k2/km)*(c2^-alp2_c)*(c_3^alp2_a)*exp(alp2_a*F*eta_2/(R*T))'}, ... 'B_2',{'','','(k2/km)*(c2^alp2_c)*(c_3^-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc_1','1-(c_4/c0_4)', ... 'soc_2','1-(c_3/c0_3)', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff*i*c_2)', ... 'km','1.6e-4*v^(-0.4)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_m'}; appl.name = 'membrane'; appl.module = 'ACDC'; appl.assignsuffix = '_membrane'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.name = 'DCa'; appl.module = 'CHEM'; appl.assignsuffix = '_DCa'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c2'}; appl.name = 'DCc'; appl.module = 'CHEM'; appl.assignsuffix = '_DCc'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm5'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{5} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'phi_s','phi_m','p','c','c2'}; % Subdomain expressions equ.expr = {'i0_1',{'F*k1*c_4^alp1_c*c_5^alp1_a','',''}, ... 'i0_2',{'','','F*k2*c_2^alp2_c*c_3^alp2_a'}, ... 'U_1',{'U0_1+R*T*log(c_5/c_4)/F','',''}, ... 'U_2',{'','','U0_2+R*T*log(c_3/c_2)/F'}, ... 'A_1',{'k1*c4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... '',''}, ... 'B_1',{'k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km'}, ... 'B_2',{'','','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc_1','1-(c_4/c0_4)', ... 'soc_2','1-(c_3/c0_3)', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff*i*c_2)', ... 'km','1.6e-4*v^(-0.4)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_m'}; appl.name = 'membrane'; appl.module = 'ACDC'; appl.assignsuffix = '_membrane'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'V0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.name = 'DCa'; appl.module = 'CHEM'; appl.assignsuffix = '_DCa'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c2'}; appl.name = 'DCc'; appl.module = 'CHEM'; appl.assignsuffix = '_DCc'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm5'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,2,1,1,2,1,1,1]; appl.bnd = bnd; fem.appl{5} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'phi_s','phi_m','p','c','c2'}; % Subdomain expressions equ.expr = {'i0_1',{'F*k1*c_4^alp1_c*c_5^alp1_a','',''}, ... 'i0_2',{'','','F*k2*c_2^alp2_c*c_3^alp2_a'}, ... 'U_1',{'U0_1+((R*T)/F)*log(c_5/c_4)','',''}, ... 'U_2',{'','','U0_2+((R*T)/F)*log(c_3/c_2)'}, ... 'A_1',{'k1*c4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... '',''}, ... 'B_1',{'k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km'}, ... 'B_2',{'','','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc_1','1-(c_4/c0_4)', ... 'soc_2','1-(c_3/c0_3)', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff*i*c_2)', ... 'km','1.6e-4*v^(-0.4)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.sshape = 2; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,1,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.shape = 1; equ.usage = {1,0}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = 'V0'; bnd.ind = [1,1,1,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.shape = 1; equ.usage = {1,0}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electrodes'; clear bnd bnd.type = 'V0'; bnd.ind = [1,1,1,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.shape = 1; equ.usage = {1,0}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_5','c_4','cs_5','cs_4'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6','lm7'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {{'N0';'N0';'N0';'N0'},{'cont';'cont';'cont';'cont'}}; bnd.ind = [1,1,1,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.shape = [1;2;3;4]; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','cs_2','c_3','cs_3'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm8','lm9','lm10','lm11'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {{'cont';'cont';'cont';'cont'},{'N0';'N0';'N0';'N0'}}; bnd.ind = [1,1,1,1,1,1,2,2,2,2]; appl.bnd = bnd; clear equ equ.shape = [1;2;3;4]; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{5} = appl; % Application mode 6 clear appl appl.mode.class = 'Diffusion'; appl.dim = {'c_H'}; appl.name = 'membrane'; appl.module = 'CHEM'; appl.sshape = 2; appl.assignsuffix = '_membrane'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm12'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'cont','N0'}; bnd.ind = [1,1,1,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.usage = {0,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{6} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_5','c_4','cs_5','cs_4','c_2','cs_2', ... 'c_3','cs_3','c_H'}; % Subdomain expressions equ.expr = {'i0_1',{'F*k1*c_4^alp1_c*c_5^alp1_a','',''}, ... 'i0_2',{'','','F*k2*c_2^alp2_c*c_3^alp2_a'}, ... 'U_1',{'U0_1+R*T*log(c_5/c_4)/F','',''}, ... 'U_2',{'','','U0_2+R*T*log(c_3/c_2)/F'}, ... 'A_1',{'k1*c_4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... '',''}, ... 'B_1',{'k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km'}, ... 'B_2',{'','','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc_1','1-(c_4/c0_4)', ... 'soc_2','1-(c_3/c0_3)', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)', ... 'km','1.6e-4*v^(-0.4)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^-1]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^-1]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.sshape = 2; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'N0','cont'}; bnd.ind = [1,1,1,1,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = 'V0'; bnd.ind = [1,1,1,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l',5.99e7,'kapeff_l'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electrodes'; clear bnd bnd.type = 'V0'; bnd.ind = [1,1,1,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_5','c_4','cs_5','cs_4'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6','lm7'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {{'N0';'N0';'N0';'N0'},{'cont';'cont';'cont';'cont'}}; bnd.ind = [1,1,1,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_5';'D_4';'D_5';'D_4'},{1;1;1;1}}; equ.init = {{0;1.5;0;0},0}; equ.v = {{'v_Darcy';'v_Darcy';'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy';'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'A_e*j_1/F';'-A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','cs_2','c_3','cs_3'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm8','lm9','lm10','lm11'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {{'cont';'cont';'cont';'cont'},{'N0';'N0';'N0';'N0'}}; bnd.ind = [1,1,1,1,1,1,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{1;1;1;1},{'D_2';'D_2';'D_3';'D_3'}}; equ.init = {0,{0;0;1.5;0}}; equ.v = {0,{'v_Darcy';'v_Darcy';'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy';'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'A_e*j_2/F';'-A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{5} = appl; % Application mode 6 clear appl appl.mode.class = 'Diffusion'; appl.dim = {'c_H'}; appl.name = 'membrane'; appl.module = 'CHEM'; appl.sshape = 2; appl.assignsuffix = '_membrane'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm12'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'cont','N0'}; bnd.ind = [1,1,1,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.D = {1,'Dm_H'}; equ.usage = {0,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{6} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_5','c_4','cs_5','cs_4','c_2','cs_2', ... 'c_3','cs_3','c_H'}; % Subdomain expressions equ.expr = {'i0_1',{'F*k1*c_4^alp1_c*c_5^alp1_a','',''}, ... 'i0_2',{'','','F*k2*c_2^alp2_c*c_3^alp2_a'}, ... 'U_1',{'U0_1+R*T*log(c_5/c_4)/F','',''}, ... 'U_2',{'','','U0_2+R*T*log(c_3/c_2)/F'}, ... 'A_1',{'k1*c_4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... '',''}, ... 'B_1',{'k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km'}, ... 'B_2',{'','','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}, ... 'E',{'phi_s','phi_l','phi_s'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc_1','1-(c_4/c0_4)', ... 'soc_2','1-(c_3/c0_3)', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)', ... 'km','1.6e-4*v^(-0.4)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Initialize mesh fem.mesh=meshinit(fem, ... 'hauto',5); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'rmethod','regular'); % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.shape = 1; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0;0},{0.2;0},{0;0},{0.2;0},{-0.2;0}}; bnd.type = {'V0','J','nJ0','nJ0','J'}; bnd.ind = [4,3,3,5,1,1,2,3,3,3]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l',5.99e7,'kapeff_l'}; equ.shape = 1; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'V0','J','nJ0','J'}; bnd.ind = [4,3,3,3,1,1,3,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.shape = 1; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'Diffusion'; appl.dim = {'c_H'}; appl.name = 'membrane'; appl.module = 'CHEM'; appl.assignsuffix = '_membrane'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm12'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'cont','N0'}; bnd.ind = [1,1,1,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.D = {1,'Dm_H'}; equ.shape = 1; equ.usage = {0,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{5} = appl; % Application mode 6 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{6} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_H','c_4','c_5','c1_H','c_2','c_3', ... 'c2_H'}; % Subdomain expressions equ.expr = {'U_1',{'U0_1+R*T*log(c_5/c_4)/F','',''}, ... 'U_2',{'','','U0_2+R*T*log(c_3/c_2)/F'}, ... 'A_1',{'k1*c_4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... '',''}, ... 'B_1',{'k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... '',''}, ... 'cs_4',{'(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)','',''}, ... 'cs_5',{'(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)','',''}, ... 'A_2',{'','','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km'}, ... 'B_2',{'','','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km'}, ... 'cs_2',{'','','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)'}, ... 'cs_3',{'','','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)'}, ... 'E',{'phi_s','phi_l','phi_s'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc','1-c_4/c0_4', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)', ... 'km','1.6e-4*v^(-0.4)', ... 'i0_1','F*k1*c_4^0.5*c_5^0.5', ... 'i0_2','F*k2*c_2^0.5*c_3^0.5'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0;0},{0.2;0},{0;0},{0.2;0},{-0.2;0}}; bnd.type = {'V0','J','nJ0','nJ0','J'}; bnd.ind = [4,3,3,5,1,1,2,3,3,3]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l',5.99e7,'kapeff_l'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'V0','J','nJ0','J'}; bnd.ind = [4,3,3,3,1,1,3,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'Diffusion'; appl.dim = {'c_H'}; appl.name = 'membrane'; appl.module = 'CHEM'; appl.assignsuffix = '_membrane'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm12'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'cont','N0'}; bnd.ind = [1,1,1,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.D = {1,'Dm_H'}; equ.usage = {0,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{5} = appl; % Application mode 6 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{6} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_H','c_4','c_5','c1_H','c_2','c_3', ... 'c2_H'}; % Subdomain expressions equ.expr = {'E_s',{'phi_s','','phi_s'}, ... 'E_l',{'phi_l','','phi_l'}, ... 'cH',{'c1_H','c_H','c2_H'}, ... 'reactant',{'c_4','','c_3'}, ... 'resultant',{'1500-c_4','','1500-c_3'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp(alp1_a*F*eta_1)/(R*T))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp(alp2_a*F*eta_2)/(R*T))', ... 'soc','1-c_4/c0_4', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)', ... 'km','1.6e-4*v^(-0.4)', ... 'i0_1','F*k1*c_4^0.5*c_5^0.5', ... 'i0_2','F*k2*c_2^0.5*c_3^0.5', ... 'A_1','k1*c_4^(-alp1_c)*c_5^alp1_a*exp(alp1_a*F*eta_1/(R*T))/km', ... 'B_1','k1*c4^alp1_c*c_5^(-alp1_a)*exp(-alp1_c*F*eta_1/(R*T))/km', ... 'cs_4','(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)', ... 'cs_5','(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)', ... 'A_2','k2*c2^(-alp2_c)*c_3^alp2_a*exp(alp2_a*F*eta_2/(R*T))/km', ... 'B_2','k2*c2^alp2_c*c_3^(-alp2_a)*exp(-alp2_c*F*eta_2/(R*T))/km', ... 'cs_2','(B_2*c_3+(1+B_2)*c_2)/(1+A_2+B_2)', ... 'cs_3','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)', ... 'U_1','U0_1+R*T*log(c_5/c_4)/F', ... 'U_2','U0_2+R*T*log(c_3/c_2)/F'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*v_in^-0.4'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[m^2*kg/(s^2*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[m^2*kg/(s^2*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[m^2*kg/(s^2*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S*m^2*kg/(s^3*A^2*K^2)]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0;0},{0.2;0},{0;0},{0.2;0},{-0.2;0}}; bnd.type = {'V0','J','nJ0','nJ0','J'}; bnd.ind = [4,3,3,5,1,1,2,3,3,3]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l',5.99e7,'kapeff_l'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'V0','J','nJ0','J'}; bnd.ind = [4,3,3,3,1,1,3,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'Diffusion'; appl.dim = {'c_H'}; appl.name = 'membrane'; appl.module = 'CHEM'; appl.assignsuffix = '_membrane'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm12'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.type = {'cont','N0'}; bnd.ind = [1,1,1,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.D = {1,'Dm_H'}; equ.usage = {0,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{5} = appl; % Application mode 6 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{6} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_H','c_4','c_5','c1_H','c_2','c_3', ... 'c2_H'}; % Subdomain expressions equ.expr = {'E_s',{'phi_s','','phi_s'}, ... 'E_l',{'phi_l','','phi_l'}, ... 'cH',{'c1_H','c_H','c2_H'}, ... 'react',{'c_4','','c_3'}, ... 'result',{'c_5','','c_2'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp((alp1_a*F*eta_1)/(R*T)))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp((alp2_a*F*eta_2)/(R*T)))', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'i0_1','F*k1*sqrt(c_4*c_5)', ... 'i0_2','F*k2*sqrt(c_2*c_3)', ... 'A_1','k1*sqrt(c_5/c_4)*exp(0.5*F*eta_1/(R*T))/km', ... 'B_1','k1*sqrt(c_4/c_5)*exp(-alp1_c*F*eta_1/(R*T))/km', ... 'cs_4','(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)', ... 'cs_5','(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)', ... 'A_2','k2*sqrt(c_3/c_2)*exp(alp2_a*F*eta_2/(R*T))/km', ... 'B_2','k2*sqrt(c_2/c_3)*exp(-alp2_c*F*eta_2/(R*T))/km', ... 'cs_2','(B_2*react+(1+B_2)*result)/(1+A_2+B_2)', ... 'cs_3','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)', ... 'U_1','U0_1+R*T*log(c_5/c_4)/F', ... 'U_2','U0_2+R*T*log(c_3/c_2)/F', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0.2;0},{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'nJ0','nJ0','cont','V0','cont'}; bnd.ind = [1,2,2,3,4,4,5,2,2,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l','kapeff_m','kapeff_l'}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'V0','J','nJ0','J'}; bnd.ind = [4,3,3,3,1,1,3,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{5} = appl; fem.appl(6:end)=[]; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_4','c_5','c1_H','c_2','c_3','c2_H'}; % Subdomain expressions equ.expr = {'E_s',{'phi_s','','phi_s'}, ... 'E_l','phi_l', ... 'cH',{'c1_H','','c2_H'}, ... 'react',{'c_4','','c_3'}, ... 'result',{'c_5','','c_2'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp((alp1_a*F*eta_1)/(R*T)))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp((alp2_a*F*eta_2)/(R*T)))', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'i0_1','F*k1*sqrt(c_4*c_5)', ... 'i0_2','F*k2*sqrt(c_2*c_3)', ... 'A_1','k1*sqrt(c_5/c_4)*exp(0.5*F*eta_1/(R*T))/km', ... 'B_1','k1*sqrt(c_4/c_5)*exp(-alp1_c*F*eta_1/(R*T))/km', ... 'cs_4','(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)', ... 'cs_5','(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)', ... 'A_2','k2*sqrt(c_3/c_2)*exp(alp2_a*F*eta_2/(R*T))/km', ... 'B_2','k2*sqrt(c_2/c_3)*exp(-alp2_c*F*eta_2/(R*T))/km', ... 'cs_2','(B_2*react+(1+B_2)*result)/(1+A_2+B_2)', ... 'cs_3','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)', ... 'U_1','U0_1+R*T*log(c_5/c_4)/F', ... 'U_2','U0_2+R*T*log(c_3/c_2)/F', ... 'kapeff_l','(F^2/R*T)*(25*Deff_5*c_5+16*Deff_4*c_4+9*Deff_3*c_3+4*Deff_2*c_2)'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H[S/m]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','(-(F^2/R*T)*z_f*c_f*Dm_H)[S/m]', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/R*T)*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/R*T)'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^2]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0.2;0},{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'nJ0','nJ0','cont','V0','cont'}; bnd.ind = [1,2,2,3,4,4,5,2,2,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l','kapeff_m','kapeff_l'}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.assignsuffix = '_electrodes'; clear bnd bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'V0','J','nJ0','J'}; bnd.ind = [4,3,3,3,1,1,3,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{5} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_4','c_5','c1_H','c_2','c_3','c2_H'}; % Subdomain expressions equ.expr = {'E_s',{'phi_s','','phi_s'}, ... 'E_l','phi_l', ... 'cH',{'c1_H','','c2_H'}, ... 'react',{'c_4','','c_3'}, ... 'result',{'c_5','','c_2'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp((alp1_a*F*eta_1)/(R*T)))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp((alp2_a*F*eta_2)/(R*T)))', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'i0_1','F*k1*sqrt(c_4*c_5)', ... 'i0_2','F*k2*sqrt(c_2*c_3)', ... 'A_1','k1*sqrt(c_5/c_4)*exp(0.5*F*eta_1/(R*T))/km', ... 'B_1','k1*sqrt(c_4/c_5)*exp(-alp1_c*F*eta_1/(R*T))/km', ... 'cs_4','(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)', ... 'cs_5','(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)', ... 'A_2','k2*sqrt(c_3/c_2)*exp(alp2_a*F*eta_2/(R*T))/km', ... 'B_2','k2*sqrt(c_2/c_3)*exp(-alp2_c*F*eta_2/(R*T))/km', ... 'cs_2','(B_2*react+(1+B_2)*result)/(1+A_2+B_2)', ... 'cs_3','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)', ... 'U_1','U0_1+R*T*log(c_5/c_4)/F', ... 'U_2','U0_2+R*T*log(c_3/c_2)/F'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5 (COMSOL 3.5.0.494, $Date: 2008/09/19 16:09:48 $) % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^-1]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % Constants fem.const = {'T','298[K]', ... 'V','30[ml]', ... 'Q','60[ml/min]', ... 'P_out','0[Pa]', ... 'Ich','0.2[A]', ... 'eps0','0.929', ... 'A_e','1.62e+4[m^-1]', ... 'sig_s','1000[S/m]', ... 'd_f','1.76e-05[m]', ... 'k_ck','4.28', ... 'H_e','0.025[m]', ... 'W_e','3[mm]', ... 'H_m','25[mm]', ... 'W_m','0.125[mm]', ... 'c_f','1200[mol/m^3]', ... 'z_f','-1', ... 'Dm_H','3.5e-10[m^2/s]', ... 'mu','4.928e-03[Pa*s]', ... 'c0_4','1500[mol/m^3]', ... 'c0_3','1500[mol/m^3]', ... 'c0_a_H','6000[mol/m^3]', ... 'c0_c_H','4500[mol/m^3]', ... 'D_e_H','9.312e-9[m^2/s]', ... 'D_4','3.9e-10[m^2/s]', ... 'D_5','3.9e-10[m^2/s]', ... 'D_2','2.4e-10[m^2/s]', ... 'D_3','2.4e-10[m^2/s]', ... 'k1','6.8e-7[m/s]', ... 'k2','1.7e-7[m/s]', ... 'alp1_a','0.5', ... 'alp1_c','0.5', ... 'alp2_a','0.5', ... 'alp2_c','0.5', ... 'U0_1','1.004[V]', ... 'U0_2','-0.225[V]', ... 'F','96485[C/mol]', ... 'v_in','Q/(eps0*thickness*W_e)', ... 'thickness','20[mm]', ... 'i_ch','Ich/(thickness*H_e)', ... 'sigeff_s','(1-eps0)^(3/2)*sig_s', ... 'Deff_5','eps0^(3/2)*D_5', ... 'Deff_4','eps0^(3/2)*D_4', ... 'Deff_3','eps0^(3/2)*D_3', ... 'Deff_2','eps0^(3/2)*D_2', ... 'kapeff_m','-(F^2/(R*T))*z_f*c_f*Dm_H', ... 'R','8.314[J/(mol*K)]', ... 'K','(d_f^2*eps0^3)/(16*k_ck*(1-eps)^2)', ... 'km','1.6e-4*0.01794^-0.4[m/s]', ... 'soc','0.2', ... 'Deff_H','eps0^(3/2)*D_e_H', ... 'kapeff_l','(F^2/(R*T))*Deff_H*c0_a_H'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'DarcysLaw'; appl.name = 'Darcy'; appl.module = 'CHEM'; appl.assignsuffix = '_Darcy'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm3'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.N = {0,0,'v_in',0}; bnd.type = {'N0','cont','N','P'}; bnd.ind = [1,3,4,1,2,2,1,3,4,1]; appl.bnd = bnd; clear equ equ.eta = {'mu',3e-5}; equ.k = {'K',1e-9}; equ.usage = {1,0}; equ.rho = {1350,1}; equ.ind = [1,2,1]; appl.equ = equ; fem.appl{1} = appl; % Application mode 2 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_l'}; appl.name = 'electolyte'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electolyte'; clear prop clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm2'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.J0 = {{0.2;0},{0;0},{-0.2;0},{0;0},{0.2;0}}; bnd.type = {'nJ0','nJ0','cont','V0','cont'}; bnd.ind = [1,2,2,3,4,4,5,2,2,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'kapeff_l','kapeff_m','kapeff_l'}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{2} = appl; % Application mode 3 clear appl appl.mode.class = 'EmConductiveMediaDC'; appl.dim = {'phi_s'}; appl.name = 'electrodes'; appl.module = 'ACDC'; appl.sshape = 2; appl.assignsuffix = '_electrodes'; clear bnd bnd.Jn = {0,-0.2,0,0.2,-0.2}; bnd.J0 = {{0;0},{-0.2;0},{0;0},{0.2;0},{0;0}}; bnd.type = {'V0','nJ','nJ0','nJ','nJ0'}; bnd.ind = [4,3,3,5,1,1,5,3,3,2]; appl.bnd = bnd; clear equ equ.Qj = {'A_e*j_1',0,'A_e*j_2'}; equ.sigma = {'sigeff_s',5.99e7,'sigeff_s'}; equ.usage = {1,0,1}; equ.ind = [1,2,3]; appl.equ = equ; fem.appl{3} = appl; % Application mode 4 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_4','c_5','c1_H'}; appl.name = 'pos'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_pos'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_4*(1-soc)';'c0_4*soc';'c0_a_H+c0_4*soc'},0}; bnd.type = {{'N0';'N0';'N'},{'cont';'cont';'cont'},{'C';'C';'C'},{'N0';'N0'; ... 'Nc'}}; bnd.ind = [1,3,4,1,2,2,2,2,2,2]; appl.bnd = bnd; clear equ equ.D = {{'D_4';'D_5';'D_e_H'},{1;1;1}}; equ.init = {{1500;0;6000},0}; equ.v = {{'v_Darcy';'v_Darcy';'v_Darcy'},0}; equ.u = {{'u_Darcy';'u_Darcy';'u_Darcy'},0}; equ.R = {{'A_e*j_1/F';'-A_e*j_1/F';'-2*A_e*j_1/F'},0}; equ.usage = {1,0}; equ.ind = [1,2,2]; appl.equ = equ; fem.appl{4} = appl; % Application mode 5 clear appl appl.mode.class = 'ConvDiff'; appl.dim = {'c_2','c_3','c2_H'}; appl.name = 'neg'; appl.module = 'CHEM'; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.assignsuffix = '_neg'; clear prop prop.analysis='static'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm7','lm8','lm9'}; prop.weakconstr = weakconstr; appl.prop = prop; clear bnd bnd.c0 = {0,0,{'c0_3*soc';'c0_3*(1-soc)';'c0_c_H+c0_3*soc'},0,0}; bnd.type = {{'cont';'cont';'cont'},{'N';'N0';'N0'},{'C';'C';'C'},{'N';'N0'; ... 'Nc'},{'Nc';'Nc';'Nc'}}; bnd.ind = [1,1,1,1,1,1,2,3,5,4]; appl.bnd = bnd; clear equ equ.D = {{1;1;1},{'D_2';'D_3';'D_e_H'}}; equ.init = {0,{0;1500;4500}}; equ.v = {0,{'v_Darcy';'v_Darcy';'v_Darcy'}}; equ.u = {0,{'u_Darcy';'u_Darcy';'u_Darcy'}}; equ.R = {0,{'A_e*j_2/F';'-A_e*j_2/F'}}; equ.usage = {0,1}; equ.ind = [1,1,2]; appl.equ = equ; fem.appl{5} = appl; fem.frame = {'ref'}; fem.border = 1; fem.outform = 'general'; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,3]; equ.dim = {'p','phi_l','phi_s','c_4','c_5','c1_H','c_2','c_3','c2_H'}; % Subdomain expressions equ.expr = {'E_s',{'phi_s','','phi_s'}, ... 'E_l','phi_l', ... 'cH',{'c1_H','','c2_H'}, ... 'react',{'c_4','','c_3'}, ... 'result',{'c_5','','c_2'}, ... 'j_elec',{'j_1','','j_2'}}; fem.equ = equ; % Scalar expressions fem.expr = {'j_1','i0_1*((cs_5/c_5)*exp(-(alp1_c*F*eta_1)/(R*T))-(cs_4/c_4)*exp((alp1_a*F*eta_1)/(R*T)))', ... 'j_2','i0_2*((cs_3/c_3)*exp(-(alp2_c*F*eta_2)/(R*T))-(cs_2/c_2)*exp((alp2_a*F*eta_2)/(R*T)))', ... 'eta_1','phi_s-phi_l-U_1', ... 'eta_2','phi_s-phi_l-U_2', ... 'i0_1','F*k1*sqrt(c_4*c_5)', ... 'i0_2','F*k2*sqrt(c_2*c_3)', ... 'A_1','k1*sqrt(c_5/c_4)*exp(0.5*F*eta_1/(R*T))/km', ... 'B_1','k1*sqrt(c_4/c_5)*exp(-alp1_c*F*eta_1/(R*T))/km', ... 'cs_4','(B_1*c_5+(1+B_1)*c_4)/(1+A_1+B_1)', ... 'cs_5','(A_1*c_4+(1+A_1)*c_5)/(1+A_1+B_1)', ... 'A_2','k2*sqrt(c_3/c_2)*exp(alp2_a*F*eta_2/(R*T))/km', ... 'B_2','k2*sqrt(c_2/c_3)*exp(-alp2_c*F*eta_2/(R*T))/km', ... 'cs_2','(B_2*react+(1+B_2)*result)/(1+A_2+B_2)', ... 'cs_3','(A_2*c_2+(1+A_2)*c_3)/(1+A_2+B_2)', ... 'U_1','U0_1+R*T*log(c_5/c_4)/F', ... 'U_2','U0_2+R*T*log(c_3/c_2)/F'}; % Descriptions clear descr descr.const= {'T','温度','Q','流量'}; fem.descr = descr; % ODE Settings clear ode clear units; units.basesystem = 'SI'; ode.units = units; fem.ode=ode; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem); % Evaluate initial value init = asseminit(fem,'blocksize','auto'); % Update model fem.sol = init; % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'phi_s','cont','internal','unit','V'}, ... 'trimap','jet(1024)', ... 'title','Time=0 表 面: 电 位 能 [V]', ... 'axis',[-16.436823410013535,11.993487821380242,-1.25,26.25]);