A multiphysics computational model of focused ultrasound-enhanced drug delivery using temperature-sensitive liposomes
Full text
function out = FUS_TSLs import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('C:\Users\mkouts03\Desktop\Comsol for Zenodo'); model.label('FUS_TSLs.mph'); model.comments('Untitled\n\n'); model.param.set('T00', '310.15[K]', '310.15[K]=37 Celsius Degrees Initial temperature value'); model.param.set('alpha_tissue0', '8.55[Np/m]', 'Absorption coefficient of tissue'); model.param.set('f0', '1[MHz]', 'Source frequency'); model.param.set('freq', '1[MHz]'); model.param.set('alpha_tissue', 'alpha_tissue0*(freq/f0)'); model.modelNode.create('comp1'); model.geom.create('geom1', 3); model.func.create('rn1', 'Random'); model.func.create('step1', 'Step'); model.func.create('step24', 'Step'); model.func.create('rect1', 'Rectangle'); model.func.create('step25', 'Step'); model.func.create('step26', 'Step'); model.func.create('step27', 'Step'); model.func.create('rect2', 'Rectangle'); model.func('rn1').set('uniformrange', '0.5'); model.func('rn1').set('mean', '1'); model.func('step1').model('comp1'); model.func('step1').set('funcname', 'dose1'); model.func('step1').set('smooth', '899[s]'); model.func('step1').set('location', '21[d]'); model.func('step24').model('comp1'); model.func('step24').set('funcname', 'step1'); model.func('step24').set('smooth', '0.001'); model.func('step24').set('location', '0.00045'); model.func('rect1').model('comp1'); model.func('rect1').set('upper', '1816200[s]'); model.func('rect1').set('lower', '1814400[s]'); model.func('rect1').set('smooth', '1799[s]'); model.func('step25').model('comp1'); model.func('step25').active(false); model.func('step25').set('to', '5*(7.523e-14[(m^3*s)/(kg)])'); model.func('step25').set('smooth', '86400[s]'); model.func('step25').set('from', '7.523e-14[(m^3*s)/(kg)]'); model.func('step25').set('location', '1814400[s]'); model.func('step26').model('comp1'); model.func('step26').active(false); model.func('step26').set('to', '5*(7.523e-14[(m^3*s)/(kg)])'); model.func('step26').set('smooth', '86400[s]'); model.func('step26').set('from', '7.523e-14[(m^3*s)/(kg)]');
model.func('step26').set('location', '1814400[s]'); model.func('step27').model('comp1'); model.func('step27').active(false); model.func('step27').set('to', '1.5*(1E-4)'); model.func('step27').set('smooth', '86400[s]'); model.func('step27').set('from', '1E-4'); model.func('step27').set('location', '1814400[s]'); model.func('rect2').model('comp1'); model.func('rect2').set('upper', '1900800[s]'); model.func('rect2').set('lower', '1814400[s]'); model.func('rect2').set('smooth', '86399[s]'); model.mesh.create('mesh1', 'geom1'); model.geom('geom1').geomRep('comsol'); model.geom('geom1').create('sph1', 'Sphere'); model.geom('geom1').feature('sph1').set('r', '900e-6'); model.geom('geom1').create('blk1', 'Block'); model.geom('geom1').feature('blk1').set('size', {'0.005' '0.005' '0.005'}); model.geom('geom1').create('int1', 'Intersection'); model.geom('geom1').feature('int1').selection('input').set({'blk1' 'sph1'}); model.geom('geom1').create('blk2', 'Block'); model.geom('geom1').feature('blk2').set('size', {'0.1' '0.1' '0.1'}); model.geom('geom1').create('uni1', 'Union'); model.geom('geom1').feature('uni1').selection('input').set({'blk2' 'int1'}); model.geom('geom1').run; model.variable.create('var1'); model.variable('var1').model('comp1'); model.variable('var1').set('solid.kappa', '2*solid.muLame*(1+poissonr)/(3*(1-2*poissonr))'); model.variable('var1').set('ri', 'sqrt(x^2+y^2+z^2)'); model.variable('var1').set('phi', 'atan2(y,x)'); model.variable('var1').set('th', 'acos(z/ri)'); model.variable('var1').set('Smat11', '2*solid.Ji*d(Wmat,solid.Cl11)'); model.variable('var1').set('Smat12', 'solid.Ji*d(Wmat,solid.Cl12)'); model.variable('var1').set('Smat13', 'solid.Ji*d(Wmat,solid.Cl13)'); model.variable('var1').set('Smat22', '2*solid.Ji*d(Wmat,solid.Cl22)'); model.variable('var1').set('Smat23', 'solid.Ji*d(Wmat,solid.Cl23)'); model.variable('var1').set('Smat33', '2*solid.Ji*d(Wmat,solid.Cl33)'); model.variable('var1').set('smat11', '(Smat11*(solid.Fdlx1)^2+Smat22*(solid.Fdlx2)^2+2*Smat23*solid.Fdlx2*soli d.Fdlx3+Smat33*(solid.Fdlx3)^2+2*solid.Fdlx1*(Smat12*solid.Fdlx2+Smat13*s olid.Fdlx3))/solid.J'); model.variable('var1').set('smat12', '(solid.Fdlx1*(Smat11*solid.Fdly1+Smat12*solid.Fdly2+Smat13*solid.Fdly3)+ solid.Fdlx2*(Smat12*solid.Fdly1+Smat22*solid.Fdly2+Smat23*solid.Fdly3)+so lid.Fdlx3*(Smat13*solid.Fdly1+Smat23*solid.Fdly2+Smat33*solid.Fdly3))/sol id.J'); model.variable('var1').set('smat13', '(solid.Fdlx1*(Smat11*solid.Fdlz1+Smat12*solid.Fdlz2+Smat13*solid.Fdlz3)+ solid.Fdlx2*(Smat12*solid.Fdlz1+Smat22*solid.Fdlz2+Smat23*solid.Fdlz3)+so lid.Fdlx3*(Smat13*solid.Fdlz1+Smat23*solid.Fdlz2+Smat33*solid.Fdlz3))/sol id.J');
model.variable('var1').set('smat22', '(Smat11*(solid.Fdly1)^2+Smat22*(solid.Fdly2)^2+2*Smat23*solid.Fdly2*soli d.Fdly3+Smat33*(solid.Fdly3)^2+2*solid.Fdly1*(Smat12*solid.Fdly2+Smat13*s olid.Fdly3))/solid.J'); model.variable('var1').set('smat23', '(solid.Fdly1*(Smat11*solid.Fdlz1+Smat12*solid.Fdlz2+Smat13*solid.Fdlz3)+ solid.Fdly2*(Smat12*solid.Fdlz1+Smat22*solid.Fdlz2+Smat23*solid.Fdlz3)+so lid.Fdly3*(Smat13*solid.Fdlz1+Smat23*solid.Fdlz2+Smat33*solid.Fdlz3))/sol id.J'); model.variable('var1').set('smat33', '(Smat11*(solid.Fdlz1)^2+Smat22*(solid.Fdlz2)^2+2*Smat23*solid.Fdlz2*soli d.Fdlz3+Smat33*(solid.Fdlz3)^2+2*solid.Fdlz1*(Smat12*solid.Fdlz2+Smat13*s olid.Fdlz3))/solid.J'); model.variable('var1').set('smatrr', 'smat33*cos(th)*cos(th)+smat11*cos(phi)*cos(phi)*sin(th)*sin(th)+smat13*c os(phi)*sin(2*th)+2*smat12*cos(phi)*sin(th)*sin(th)*sin(phi)+smat23*sin(2 *th)*sin(phi)+smat22*sin(th)*sin(th)*sin(phi)*sin(phi)'); model.variable('var1').set('smattt', 'smat11*cos(th)*cos(th)*cos(phi)*cos(phi)+smat33*sin(th)*sin(th)- smat13*cos(phi)*sin(2*th)- smat23*sin(2*th)*sin(phi)+smat22*cos(th)*cos(th)*sin(phi)*sin(phi)+smat12 *cos(th)*cos(th)*sin(2*phi)'); model.variable('var1').set('smatpp', 'smat22*cos(phi)*cos(phi)- 2*smat12*cos(phi)*sin(phi)+smat11*sin(phi)*sin(phi)'); model.variable('var1').set('srr', 'solid.sz*cos(th)*cos(th)+solid.sx*cos(phi)*cos(phi)*sin(th)*sin(th)+soli d.sxz*cos(phi)*sin(2*th)+2*solid.sxy*cos(phi)*sin(th)*sin(th)*sin(phi)+so lid.syz*sin(2*th)*sin(phi)+solid.sy*sin(th)*sin(th)*sin(phi)*sin(phi)'); model.variable('var1').set('stt', 'solid.sx*cos(th)*cos(th)*cos(phi)*cos(phi)+solid.sz*sin(th)*sin(th)- solid.sxz*cos(phi)*sin(2*th)- solid.syz*sin(2*th)*sin(phi)+solid.sy*cos(th)*cos(th)*sin(phi)*sin(phi)+s olid.sxy*cos(th)*cos(th)*sin(2*phi)'); model.variable('var1').set('spp', 'solid.sy*cos(phi)*cos(phi)- 2*solid.sxy*cos(phi)*sin(phi)+solid.sx*sin(phi)*sin(phi)'); model.variable('var1').set('smatbulk', '(smatrr+smattt+smatpp)/3'); model.variable('var1').set('sbulk', '(srr+stt+spp)/3'); model.variable('var1').set('Wmat', '0.5*(solid.muLame*(solid.I1CIel3)+solid.kappa*(solid.Jel-1)^2)'); model.variable.create('var6'); model.variable('var6').model('comp1'); model.variable('var6').set('uof', '-khy*d(p,x)/(1-phis)+ut'); model.variable('var6').set('vof', '-khy*d(p,y)/(1-phis)+vt'); model.variable('var6').set('wof', '-khy*d(p,z)/(1-phis)+wt'); model.variable('var6').set('Perox', 'Dox/Lwv'); model.variable('var6').set('Rl', '-(d(uof,x)+d(vof,y)+d(wof,z))*clKrel*cl+Qsta'); model.variable('var6').set('Rf', '- (d(uof,x)+d(vof,y)+d(wof,z))*cf+Krel*cl-((Kon*Crec*cf)/fivf)+Koff*cb'); model.variable('var6').set('Rb', '((Kon*Crec*cf)/fivf)-Koff*cb-Kint*cb'); model.variable('var6').set('Rint', 'Kint*cb', '-Kdeg*cint'); model.variable('var6').set('Do', '(KbT*Tabs*24*3600)/(6*pi*Vis*rs)'); model.variable('var6').set('Lpn', '(gama*ro*ro)/(8*Vis*Lwv)'); model.variable('var6').set('lamda1', 'rs/ro', 'ratio of radious'); model.variable('var6').set('Fi', '(1-lamda)^2', 'ratio of intrapore concetration'); model.variable('var6').set('sinte', '9*(pi^2)*(2^0.5)/((1lamda)^(2.5))/4');
model.variable('var6').set('skt11', '-(73/60)*(1-lamda)'); model.variable('var6').set('skt12', '(77.293/50.400)*((1-lamda)^2)'); model.variable('var6').set('skt1', 'skt11+skt12'); model.variable('var6').set('skt21', '-22.5083'); model.variable('var6').set('skt22', '-5.6117*lamda'); model.variable('var6').set('skt23', '-0.3363*lamda^2'); model.variable('var6').set('skt24', '-1.216*lamda^3'); model.variable('var6').set('skt25', '1.647*lamda^4'); model.variable('var6').set('skt2', 'skt21+skt22+skt23+skt24+skt25'); model.variable('var6').set('kt', 'sinte*(1+skt1)+skt2'); model.variable('var6').set('sks11', '(7/60)*(1-lamda)'); model.variable('var6').set('sks12', '(-2.227/50.400)*((1-lamda)^2)'); model.variable('var6').set('sks1', 'sks11+sks12'); model.variable('var6').set('sks21', '4.0180'); model.variable('var6').set('sks22', '-3.9788*lamda'); model.variable('var6').set('sks23', '-1.9215*lamda^2'); model.variable('var6').set('sks24', '4.392*lamda^3'); model.variable('var6').set('sks25', '5.006*lamda^4'); model.variable('var6').set('sks2', 'sks21+sks22+sks23+sks24+sks25'); model.variable('var6').set('ks', 'sinte*(1+sks1)+sks2'); model.variable('var6').set('H', '6*pi*Fi/kt'); model.variable('var6').set('W', '(Fi*(2-Fi)*ks/(2*kt))*(lamda1<1)'); model.variable('var6').set('sf', '1-W', 'reflection coefficient'); model.variable('var6').set('Per', '((gama*H*Do)/Lwv)*(lamda1<1)', 'Permeability'); model.variable('var6').set('Qsta', 'Per*Sv*(Civ-cl)+Lpn*Sv*(pv-p)*(1sf)*Civ', 'Starling approximation'); model.variable('var6').set('lamda', 'lamda1*(lamda1<1)'); model.variable('var6').set('Vis1', 'Vis*24*3600'); model.variable('var6').set('Civ1', 'dose1(t[1/s])*(exp(-(tt01)/(Kd))[mol/m^3])', 'dose1(t[1/s])*(exp(-(t-t01)/(Kd))[mol/m^3])'); model.variable('var6').set('Civ2', '0 [mol/m^3]', 'dose2(t[1/s])*(exp(- (t-t02)/(Kd))[mol/m^3])'); model.variable('var6').set('Civ', '(Civ1)/2.7'); model.variable('var6').set('Surf', 'exp(-omega*cint)', 'exp(- 0.6603*cint*0.023/0.0172[mol/m^3])'); model.variable('var6').set('Surfcsc', 'exp(-omegacsc*cint)', 'exp(- (0.6603/20)*cint*0.023/0.0172[mol/m^3])'); model.variable('var6').set('Surfind', 'exp(-omegaind*cint)'); model.variable('var6').set('Sf', '2*(Surf-0.50)*((Surf-0.50)>=0)', '2*(Surf-0.50)*((Surf-0.50)>=0)'); model.variable('var6').set('Sfcsc', '2*(Surfcsc-0.50)*((Surfcsc0.50)>=0)', '2*(Surfcsc-0.50)*((Surfcsc-0.50)>=0)'); model.variable('var6').set('Sfind', '2*(Surfind-0.50)*((Surfind0.50)>=0)', '2*(Surfind-0.50)*((Surfind-0.50)>=0)'); model.variable('var6').set('Qex', '0*(1- (rect1(t[1/s])))+Qexx*(0.7*rect1(t[1/s]))'); model.variable('var6').set('Qexx', 'acpr.Q_pw', 'heat source term due to US absorption or external power deposition term---'); model.variable.create('var7'); model.variable('var7').model('comp1'); model.variable('var7').set('cvox', '0.2 [mol/m^3]'); model.variable('var7').set('Lwv', '5e-6[m]', 'vessel wall thickness'); model.variable('var7').set('pv', '3000 [Pa]', '4000 [Pa]'); model.variable('var7').set('gama', '1E-4*(1-(rect2(t[1/s])))+(1.5*1E4)*(rect2(t[1/s]))', 'analogue of pores,1E-5, surface area of vessel wall occupied by pores'); model.variable('var7').set('Vis', '7e-4[Pa*s]', 'Viscosity,4e-3[Pa*s]');
model.variable('var7').set('Tabs', '310.0[K]', 'Absolute temperature'); model.variable('var7').set('KbT', '1.38e-23[(m^2*kg)/(s^2*K)]', 'Boltzman Constant'); model.variable('var7').set('rs', '50e-9[m]', 'radius of the drug'); model.variable('var7').set('Crec', '1e-5[M]', '0.01[mol/m^3]=1e-5[M] concetration of cell-surface receptors'); model.variable('var7').set('Kint', '5e-5[1/s]', 'Internalization rate constant of the drug by the cancer cells'); model.variable('var7').set('Koff', '8e-3[1/s]', '691.2[1/d]=8e3[1/s]unbinding constant/Dissociation rate'); model.variable('var7').set('Kon', '1.50e3[1/(M*s)]', '1.296e6[m^3/(mol*d)] binding contant for high affinity/association rate'); model.variable('var7').set('fivf', '0.05', 'volume fraction of tumor accessible to r=50nm drug'); model.variable('var7').set('Kel', '0.181[1/d]'); model.variable('var7').set('Kdeg', '0.002[1/h]', '0.01[1/d], 0.02[1/h]=0.48[1/d]'); model.variable('var7').set('Dint', '0[m^2/d]'); model.variable('var7').set('Db', '0[m^2/d]'); model.variable('var7').set('Krel', '(4e-73*exp(0.5204*T2[1/(K)]))[1/s]', '37=T,(0.0013*(cf^2)[(m^3/mol)^2]-0.0904*(cf)[m^3/mol]+1.5963)[1/s]'); model.variable('var7').set('Kd', '1440[min]', '1440min=24h-Half-life of TSL in plasma/Blood circulation decay constant'); model.variable('var7').set('t01', '21[d]'); model.variable('var7').set('t02', '17[d]'); model.variable('var7').set('omega', '(0.0051)[m^3/mol]', 'cancer cell survival constant'); model.variable('var7').set('omegacsc', '(0.0051/4)[m^3/mol]', 'stem cancer cell survival constant'); model.variable('var7').set('omegaind', '(0.0051/4)[m^3/mol]', 'induced cancer cell survival constant'); model.variable('var7').set('alphaa', '0.1[Np/m]', 'frequency dependant absorption coefficient (describes how much an acoustic wave''s amplitude decreases as it travels through a medium)'); model.variable('var7').set('Ius', '6e4[W/m^2]', '6[W/cm^2] ultrasound wave intensity or time-averaged acoustic intensity'); model.variable('var7').set('rho0', '1044[kg/m^3]', 'tissue density'); model.variable('var7').set('c0', '1568[m/s]', 'speed of sound'); model.variable('var7').set('k0', '0.59[W/(m*K)]', 'thermal conductivity'); model.variable('var7').set('Cp0', '3710[J/(kg*K)]', 'heat capacity'); model.variable('var7').set('k', 'k0-0.02094*(T2[1/(K)]- 273.15)[W/(m*K)]+3.89971e-4*(T2[1/(K)]-273.15)^2 [W/(m*K)]-5.47541e-7 *(T2[1/(K)]-273.15)^3[W/(m*K)]- 4.14455e-8 *(T2[1/(K)]- 273.15)^4[W/(m*K)]+ 2.97188e-10 *(T2[1/(K)]-273.15)^5[W/(m*K)]', 'thermal conductivity---'); model.variable('var7').set('Cp', 'Cp0+53.55552*(T2[1/(K)]- 273.15)[J/(kg*K)]-3.96009 *(T2[1/(K)]-273.15)^2[J/(kg*K)] +0.10084 *(T2[1/(K)]-273.15)^3[J/(kg*K)]- 0.00106 *(T2[1/(K)]-273.15)^4[J/(kg*K)]+ 4.01666e-6 *(T2[1/(K)]-273.15)^5[J/(kg*K)]', 'heat capacity---'); model.variable('var7').set('rho', 'rho0-2.97434*(T2[1/(K)]- 273.15)[kg/m^3]+0.0042*(T2[1/(K)]-273.15)^2[kg/m^3]+0.00293 *(T2[1/(K)]- 273.15)^3[kg/m^3]- 6.14447e-5 *(T2[1/(K)]-273.15)^4[kg/m^3]+3.33019e-7 *(T2[1/(K)]-273.15)^5[kg/m^3]', 'tissue density---'); model.variable.create('var2'); model.variable('var2').model('comp1'); model.variable('var2').set('poissonr', '0.45');
model.variable('var2').set('solid.muLame', '60e3 [Pa]'); model.variable('var2').set('khy', '(7.523e-14[(m^3*s)/(kg)])*(1- (rect2(t[1/s])))+(5*(7.523e-14[(m^3*s)/(kg)]))*(rect2(t[1/s]))', '6.5e9[m^2/(Pa*d)]'); model.variable('var2').set('Dox', '1.78e-9[m^2/s]'); model.variable('var2').set('Aox', '2200[mol/(m^3*d)]', 'oxygen uptake parameter'); model.variable('var2').set('kox', '0.00464[mol/(m^3)]', 'oxygen uptake parameter'); model.variable('var2').set('Sv', '(Svin*dd0*ec)*(dd0>=0)', '(Svin*dd0*ec)*(dd0>=0)'); model.variable('var2').set('dd0', 'G7+G8', '((-2e10)*Tumc/(4*pi*(ri^2)))+1'); model.variable('var2').set('Svin', '19000[1/m]', '7000-(7000/(250E9))*(ro-400E-9)'); model.variable('var2').set('ro', '100e-9 [m]', 'rn1(1)*150e-9 [m]'); model.variable('var2').set('loxc', '0.51[1/d]'); model.variable('var2').set('Koxc', '0.0083 [mole/m^3]'); model.variable('var2').set('lp', '2.7e-12[m/(Pa*s)]'); model.variable('var2').set('T0in', '500', 'initial tumor cell concentration'); model.variable('var2').set('cnk', '(3.23e-7[1/d])*T0in', 'fractional tumor cell kill by nk cels'); model.variable('var2').set('dt8', '1.43[1/d]', 'tumor cell kill by t8'); model.variable('var2').set('limt8', '1.36', 'exponent of cell kill by t8'); model.variable('var2').set('st8', '2.73', 'steepness coefficient of t8'); model.variable('var2').set('snkcon', '(1.3e4[1/d])/T0in', 'constant source of nk'); model.variable('var2').set('fdrnk0', '0.0412[1/d]', 'death rate of nk'); model.variable('var2').set('grrnk0', '0.025[1/d]', 'nk cel recruitment'); model.variable('var2').set('hscnk', '(2.02e7)/(T0in^2)', 'steepness coefficient of nk'); model.variable('var2').set('pirnk', '(1e-7[1/d])*T0in', 'nk cell inactivation rate'); model.variable('var2').set('mdrt80', '0.02[1/d]', 'death rate of t8'); model.variable('var2').set('jrrt80', '0.0375[1/d]', 't8 cell recruitment'); model.variable('var2').set('ksct8', '(2e7)/(T0in^2)', 'steepness coefficient of t8 recruitment'); model.variable('var2').set('qirt8', '(3.42e-10[1/d])*T0in', 't8 inactivation rate'); model.variable('var2').set('rst8', '(1.1e-7[1/d])*T0in', 'stimulation of t8'); model.variable('var2').set('tn', 't-4'); model.variable('var2').set('lreg', '100[1/d]'); model.variable('var2').set('mtreg', '0.02[1/d]'); model.variable('var2').set('ptc', '0.55[1/d]', 'transition from tumor cells to stem cells'); model.variable('var2').set('ptcd', '0[1/d]', 'transition from tumor cells to stem cells after drug'); model.variable('var2').set('pct', '1[1/d]', 'transition from tumor cells to stem cells'); model.variable('var2').set('pctd', '0.96[1/d]', 'transition from tumor cells to stem cells after drug'); model.variable('var2').set('pti', '0.21[1/d]', 'transition from tumor cells to induced cells');
model.variable('var2').set('ptid', '1[1/d]', 'transition from tumor cells to induced cells after drug'); model.variable('var2').set('pit', '1[1/d]', 'transition to tumor cells from induced cells'); model.variable('var2').set('pitd', '0.98[1/d]', 'transition to tumor cells from induced cells after drug'); model.variable('var2').set('pci', '0.58[1/d]', 'transition from stem cells to induced cells'); model.variable('var2').set('pcid', '0[1/d]', 'transition from stem cells to induced cells after drug'); model.variable('var2').set('pic', '0.96[1/d]', 'transition to stem cells from induced cells'); model.variable('var2').set('picd', '0.38[1/d]', 'transition to stem cells from induced cells after drug'); model.variable('var2').set('gtreg', '0.0375[1/d]'); model.variable('var2').set('rcd4', '(1E-15)*500[1/d]'); model.variable('var2').set('lm2CD8', '-0.14286[1/d]*M2+1.3214[1/d]'); model.variable('var2').set('lm2Nk', '-100[1/d]*M2+8[1/d]'); model.variable('var2').set('scd4', '150[1/d]'); model.variable('var2').set('mcd4', '0.02[1/d]'); model.variable('var2').set('recd4', '0.03[1/d]'); model.variable('var2').set('Cd4max', '45'); model.variable('var2').set('grm1ex', '0.0002[1/(d^2)]*t-0.005[1/d]'); model.variable('var2').set('grm1', 'grm1ex*oxrate'); model.variable('var2').set('mm1', '0.02[1/d]'); model.variable('var2').set('grm2', 'grm1ex+(1-oxrate)*1.05*grm1ex'); model.variable('var2').set('mm2', '0.02[1/d]'); model.variable('var2').set('b1', '2280[1/h]'); model.variable('var2').set('m1', '4.56*100[1/h]'); model.variable('var2').set('a10', '1e-3[uM]'); model.variable('var2').set('b2', '18240[1/h]'); model.variable('var2').set('m2', '4.56*100[1/h]'); model.variable('var2').set('a20', '1e-3[uM]'); model.variable('var2').set('Dvegf', '3.1e-7[cm^2/s]'); model.variable('var2').set('l10', '6.8e-9[1/s]'); model.variable('var2').set('l11', '4[cm/(s)]/1000000'); model.variable('var2').set('l13', '4e-5[1/s]/10000'); model.variable('var2').set('T0', '1e-3[g/cm^3]'); model.variable('var2').set('Cvegf0', '1e-3[g/cm^3]'); model.variable('var2').set('Decn', '1e-7[cm^2/s]*1e-4'); model.variable('var2').set('l2', '1e-5[cm^3/(g*s)]*1e3'); model.variable('var2').set('l4', '1e-9[cm/(s)]'); model.variable('var2').set('xn', '(10[cm^5/(g*s)])/(100000*10)'); model.variable('var2').set('s1', '1e3[1/uM]'); model.variable('var2').set('s2', '1e3[1/uM]'); model.variable('var2').set('aD', '1'); model.variable('var2').set('bD', '1'); model.variable('var2').set('G7', '1*(sbulk>-18.68[kPa])'); model.variable('var2').set('G8', '1.5888*exp(0.0313[1/kPa]*sbulk)*(sbulk<=-18.68[kPa])'); model.variable('var2').set('lm1', '3[1/d]'); model.variable('var2').set('Dl', '2.2e-12[m^2/s]', 'TSL diffusion coefficient in the interstitial fluid of tumor tissue'); model.variable('var2').set('Df', '3.4e-10[m^2/s]', 'drug diffusion coefficient in the interstitial fluid of tumor tissue'); model.variable('var2').selection.geom('geom1', 3); model.variable('var2').selection.set(1); model.variable.create('var3');
model.variable('var3').model('comp1'); model.variable('var3').set('poissonr', '0.2'); model.variable('var3').set('solid.muLame', '21e3 [Pa]'); model.variable('var3').set('khy', '(7.523e-14[(m^3*s)/(kg)])*(1- (rect2(t[1/s])))+(5*(7.523e-14[(m^3*s)/(kg)]))*(rect2(t[1/s]))', '6.5e9[m^2/(Pa*d)]'); model.variable('var3').set('Dox', '1.79e-9 [m^2/s]'); model.variable('var3').set('Tumc', '0'); model.variable('var3').set('Sv', '7000[1/m]'); model.variable('var3').set('lg', '1'); model.variable('var3').set('phis', '0.3'); model.variable('var3').set('lp', '2.7e-12 [m/(Pa*s)]'); model.variable('var3').set('lpSv', '3.75e-4 [1/(Pa*s)]'); model.variable('var3').set('ro', '7e-9[m]'); model.variable('var3').set('Dl', '1.4e-12[m^2/s]', 'TSL diffusion coefficient in the interstitial fluid of normal tissue'); model.variable('var3').set('Df', '1.58e-10[m^2/s]', 'drug diffusion coefficient in the interstitial fluid of normal tissue'); model.variable('var3').selection.geom('geom1', 3); model.variable('var3').selection.set(2); model.variable.create('var4'); model.variable('var4').model('comp1'); model.variable('var4').set('Rox', '- ((Aox*cox)/(kox+cox))*(Totcel)+Perox*Sv*(cvox-cox)'); model.variable('var4').set('fg', '((Tumc/Totcel)*Rtumcfg+(Csc/Totcel)*Rcscfg+(IndC/Totcel)*Rindfg)*lg/3'); model.variable('var4').set('Rtumc', 'Grox*Sf-cnknew*Nkcel*TumcDfck+pct*Csc+pic*IndC-ptc*Tumc-pti*Tumc-lm1*M1*Tumc'); model.variable('var4').set('Grox', '(loxc*cox)/(cox+Koxc)'); model.variable('var4').set('fp', 'Qs+Qf'); model.variable('var4').set('Qf', '-(uXt+vYt+wZt)+(lp*Sv)*(pv-p)'); model.variable('var4').set('Qs', '(Tumc/Totcel)*Rtumc+(Csc/Totcel)*Rcsc+(IndC/Totcel)*Rind'); model.variable('var4').set('Rcsc', 'acsc*Groxsc*Sfcsc*Csc0.14*cnknew*Nkcel*Csc-0.14*Dfckcsc+ptc*Tumc+pic*IndC-pct*Csc-pci*Csc'); model.variable('var4').set('Rind', 'aind*Groxsc*Sfind*IndC0.14*cnknew*Nkcel*IndC-0.14*Dfckind+pti*Tumc+pci*Csc-pit*IndC-pic*IndC'); model.variable('var4').set('Rnk', 'snkconfdrnk*Nkcel+(grrnk0*(Tumc^2)*Nkcel)/(hscnk+(Tumc^2))-pirnk*Nkcel*Tumclreg*Nkcel*Tregs+lm2Nk*Nkcel*M2'); model.variable('var4').set('Rt8im', '- mdrt8*T8imcel+(jrrt80*(Dfck^2)*T8imcel)/(ksct8+(Dfck^2))- qirt8*T8imcel*Tumc+rst8*Nkcel*Tumclreg*T8imcel*Tregs+rcd4*Cd4*T8imcel+lm2CD8*M2*T8imcel'); model.variable('var4').set('Rtreg', 'gtreg*Tregs-mtreg*Tregs'); model.variable('var4').set('Totcel', 'Tumc+Csc+IndC'); model.variable('var4').set('oxrate', 'cox/0.2[mol/m^3]'); model.variable('var4').set('mdrt8', 'mdrt80+(1-oxrate)*1.025*mdrt80'); model.variable('var4').set('fdrnk', 'fdrnk0+(1-oxrate)*1.025*fdrnk0'); model.variable('var4').set('acsc', '1+(1-oxrate)*1.05'); model.variable('var4').set('cnknew', 'cnk+10*oxrate*cnk'); model.variable('var4').set('dt8new', 'dt8+4*oxrate*dt8'); model.variable('var4').set('aind', '0.5+(1-oxrate)*1.05'); model.variable('var4').set('Dfckind', '(dt8new*((T8imcel/IndC)^limt8)*IndC/(st8+(T8imcel/IndC)^limt8))'); model.variable('var4').set('Dfckcsc', '(dt8new*((T8imcel/Csc)^limt8)*Csc/(st8+(T8imcel/Csc)^limt8))');
model.variable('var4').set('Dfck', '(dt8new*((T8imcel/Tumc)^limt8)*Tumc/(st8+(T8imcel/Tumc)^limt8))'); model.variable('var4').set('Groxsc', '0.452e-5[1/d]'); model.variable('var4').set('phis', '0.5'); model.variable('var4').set('Rcd4', 'scd4+recd4*Cd4*(1-(Cd4/Cd4max))- mcd4*Cd4'); model.variable('var4').set('Rmacro1', 'grm1*M1-mm1*M1'); model.variable('var4').set('Rmacro2', 'grm2*M2-mm2*M2+rm2vegf*M2*Cvegf'); model.variable('var4').set('Ra2', '(b2*1e-11[mole/m^2]*ec*Sv*Ga/a20)/2m2*a2'); model.variable('var4').set('Rvegf', '(l10*Ga*Tumc*T0*T0in*oxrate/Cvegf0)- l11*ec*70[1/cm]*Cvegf-l13*Cvegf+rcd4vegf*Cd4*Cvegf'); model.variable('var4').set('rcd4vegf', '-0.0004[1/d]*Cd4+0.04[1/d]'); model.variable('var4').set('rm2vegf', '0.00437[1/(d^2)]*t-0.011[1/d]'); model.variable('var4').set('fec', 'l2*step1(ecc)*Cvegfn*Cvegf0*ecl4*step1(ecc)*Svhh*ec*ec'); model.variable('var4').set('Svhh', '70[1/cm]'); model.variable('var4').set('Dec', '(Decn*(1+s1*a1*a10)^- aD)*((1+s2*a2*a20)^bD)'); model.variable('var4').set('Cvegfn', '0.01'); model.variable('var4').set('ec', '0.6'); model.variable('var4').set('Ra1', '((b1*1e10[mole/m^2]*Ga*ec*Sv/a10)+m1*(1-a1))/2'); model.variable('var4').set('Ga', '2-oxrate'); model.variable('var4').set('Rtumcfg', 'Grox*Sf-cnknew*Nkcel*Tumclm1*M1*Tumc'); model.variable('var4').set('Rcscfg', 'acsc*Groxsc*Sfcsc*Csc0.14*cnknew*Nkcel*Csc'); model.variable('var4').set('Rindfg', 'aind*Groxsc*Sfind*IndC0.14*cnknew*Nkcel*IndC'); model.variable('var4').selection.geom('geom1', 3); model.variable('var4').selection.set(1); model.variable.create('var5'); model.variable('var5').model('comp1'); model.variable('var5').set('Rox', 'Perox*Sv*(cvox-cox)'); model.variable('var5').set('fp', 'Qs+Qf'); model.variable('var5').set('Qs', '0[1/d]'); model.variable('var5').set('Qf', '-(uXt+vYt+wZt)+(lp*Sv)*(pv-p)-lpSv*(ppi)'); model.variable('var5').selection.geom('geom1', 3); model.variable('var5').selection.set(2); model.material.create('mat1', 'Common', 'comp1'); model.physics.create('solid', 'SolidMechanics', 'geom1'); model.physics('solid').create('hmm1', 'HyperelasticModel', 3); model.physics('solid').feature('hmm1').selection.set([1 2]); model.physics('solid').create('bl1', 'BodyLoad', 3); model.physics('solid').feature('bl1').selection.set([1 2]); model.physics('solid').create('roll1', 'Roller', 2); model.physics('solid').feature('roll1').selection.set([1 2 3 4 5 8]); model.physics.create('Oxygen', 'DilutedSpecies', 'geom1'); model.physics('Oxygen').identifier('Oxygen'); model.physics('Oxygen').field('concentration').field('cox'); model.physics('Oxygen').field('concentration').component({'cox'}); model.physics('Oxygen').create('reac1', 'Reactions', 3); model.physics('Oxygen').feature('reac1').selection.all; model.physics.create('Growth', 'DomainODE', 'geom1');
model.study.create('std1'); model.study('std1').create('time', 'Transient'); model.study('std1').feature('time').set('activate', {'solid' 'on' 'Oxygen' 'on' 'Growth' 'on' 'pressure' 'on' 'Nk_cells' 'on' ... 'CD8T_cells' 'on' 'Tregulators_cells' 'on' 'Temperature_Sentitive_Liposome' 'on' 'free' 'on' 'bound' 'on' ... 'internalized' 'on' 'CD4_cells' 'on' 'TAMS_M1' 'on' 'TAMS_M2' 'on' 'Ang1' 'on' ... 'Ang2' 'on' 'VEGF' 'on' 'endothelial_cells' 'on' 'Tumc' 'on' 'Csc' 'on' ... 'IndC' 'on' 'acpr' 'off' 'ht' 'off'}); model.study.create('std2'); model.study('std2').create('freq', 'Frequency'); model.study('std2').feature('freq').set('activate', {'solid' 'off' 'Oxygen' 'off' 'Growth' 'off' 'pressure' 'off' 'Nk_cells' 'off' ... 'CD8T_cells' 'off' 'Tregulators_cells' 'off' 'Temperature_Sentitive_Liposome' 'off' 'free' 'off' 'bound' 'off' ... 'internalized' 'off' 'CD4_cells' 'off' 'TAMS_M1' 'off' 'TAMS_M2' 'off' 'Ang1' 'off' ... 'Ang2' 'off' 'VEGF' 'off' 'endothelial_cells' 'off' 'Tumc' 'off' 'Csc' 'off' ... 'IndC' 'off' 'acpr' 'on' 'ht' 'off'}); model.study.create('std3'); model.study('std3').create('time', 'Transient'); model.study('std3').feature('time').set('activate', {'solid' 'off' 'Oxygen' 'off' 'Growth' 'off' 'pressure' 'off' 'Nk_cells' 'off' ... 'CD8T_cells' 'off' 'Tregulators_cells' 'off' 'Temperature_Sentitive_Liposome' 'off' 'free' 'off' 'bound' 'off' ... 'internalized' 'off' 'CD4_cells' 'off' 'TAMS_M1' 'off' 'TAMS_M2' 'off' 'Ang1' 'off' ... 'Ang2' 'off' 'VEGF' 'off' 'endothelial_cells' 'off' 'Tumc' 'off' 'Csc' 'off' ... 'IndC' 'off' 'acpr' 'off' 'ht' 'on'}); model.study.create('std4'); model.study('std4').create('time', 'Transient'); model.study('std4').feature('time').set('activate', {'solid' 'on' 'Oxygen' 'on' 'Growth' 'on' 'pressure' 'on' 'Nk_cells' 'on' ... 'CD8T_cells' 'on' 'Tregulators_cells' 'on' 'Temperature_Sentitive_Liposome' 'on' 'free' 'on' 'bound' 'on' ... 'internalized' 'on' 'CD4_cells' 'on' 'TAMS_M1' 'on' 'TAMS_M2' 'on' 'Ang1' 'on' ... 'Ang2' 'on' 'VEGF' 'on' 'endothelial_cells' 'on' 'Tumc' 'on' 'Csc' 'on' ... 'IndC' 'on' 'acpr' 'off' 'ht' 'off'}); model.study.create('std5'); model.study('std5').create('time', 'Transient'); model.study('std5').feature('time').set('activate', {'solid' 'on' 'Oxygen' 'on' 'Growth' 'on' 'pressure' 'on' 'Nk_cells' 'on' ... 'CD8T_cells' 'on' 'Tregulators_cells' 'on' 'Temperature_Sentitive_Liposome' 'on' 'free' 'on' 'bound' 'on' ... 'internalized' 'on' 'CD4_cells' 'on' 'TAMS_M1' 'on' 'TAMS_M2' 'on' 'Ang1' 'on' ... 'Ang2' 'on' 'VEGF' 'on' 'endothelial_cells' 'on' 'Tumc' 'on' 'Csc' 'on' ... 'IndC' 'on' 'acpr' 'off' 'ht' 'off'}); model.sol.create('sol1'); model.sol('sol1').study('std1');
model.sol('sol1').attach('std1'); model.sol('sol1').create('st1', 'StudyStep'); model.sol('sol1').create('v1', 'Variables'); model.sol('sol1').create('t1', 'Time'); model.sol('sol1').feature('t1').create('se1', 'Segregated'); model.sol('sol1').feature('t1').create('fc1', 'FullyCoupled'); model.sol('sol1').feature('t1').feature('se1').create('ss1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ss2', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ll1', 'LowerLimit'); model.sol('sol1').feature('t1').feature('se1').create('tds1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('tds21', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('tds31', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('dode1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('dode21', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('dode31', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('dode32', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('dode33', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq2', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq3', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq21', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq31', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('Cancer_Cells1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('Stem_cells1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('Induced_Cells1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('Tumc1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('Tumc2', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq22', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('cdeq32', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('nanoparticle1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('free1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('internalized1', 'SegregatedStep');
model.sol('sol1').feature('t1').feature('se1').create('tds32', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht1', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht21', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht31', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht32', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht22', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').create('ht33', 'SegregatedStep'); model.sol('sol1').feature('t1').feature('se1').feature.remove('ssDef'); model.sol('sol1').feature('t1').feature.remove('fcDef'); model.sol.create('sol2'); model.sol('sol2').study('std2'); model.sol('sol2').attach('std2'); model.sol('sol2').create('st1', 'StudyStep'); model.sol('sol2').create('v1', 'Variables'); model.sol('sol2').create('s1', 'Stationary'); model.sol('sol2').feature('s1').create('p1', 'Parametric'); model.sol('sol2').feature('s1').create('fc1', 'FullyCoupled'); model.sol('sol2').feature('s1').feature.remove('fcDef'); model.sol.create('sol3'); model.sol('sol3').study('std3'); model.sol('sol3').attach('std3'); model.sol('sol3').create('st1', 'StudyStep'); model.sol('sol3').create('v1', 'Variables'); model.sol('sol3').create('t1', 'Time'); model.sol('sol3').feature('t1').create('fc1', 'FullyCoupled'); model.sol('sol3').feature('t1').feature.remove('fcDef'); model.sol.create('sol4'); model.sol('sol4').study('std4'); model.sol('sol4').attach('std4'); model.sol('sol4').create('st1', 'StudyStep'); model.sol('sol4').create('v1', 'Variables'); model.sol('sol4').create('t1', 'Time'); model.sol('sol4').feature('t1').create('fc1', 'FullyCoupled'); model.sol('sol4').feature('t1').feature.remove('fcDef'); model.sol.create('sol5'); model.sol('sol5').study('std5'); model.sol('sol5').attach('std5'); model.sol('sol5').create('st1', 'StudyStep'); model.sol('sol5').create('v1', 'Variables'); model.sol('sol5').create('t1', 'Time'); model.sol('sol5').feature('t1').create('fc1', 'FullyCoupled'); model.sol('sol5').feature('t1').feature.remove('fcDef'); model.result.dataset.remove('dset1'); model.result.dataset.remove('dset2'); model.result.dataset.remove('dset3'); model.result.dataset.remove('dset4'); model.result.dataset.remove('dset5'); model.study('std1').label('Study 1_Tumor Growth'); model.study('std1').feature('time').set('rtol', '0.0001');
model.study('std1').feature('time').set('rtolactive', true); model.study('std1').feature('time').set('tlist', 'range(0,1,21)'); model.study('std1').feature('time').set('usesol', 'on'); model.study('std1').feature('time').set('tunit', 'd'); model.study('std2').label('Study 2-Pressure Acoustics, Frequency Domain'); model.study('std2').feature('freq').set('notsolnum', 'last'); model.study('std2').feature('freq').set('notsolmethod', 'sol'); model.study('std2').feature('freq').set('plist', 'freq'); model.study('std2').feature('freq').set('notstudy', 'std1'); model.study('std2').feature('freq').set('usesol', 'on'); model.study('std3').label('Study 3_Heat_Transfer'); model.study('std3').feature('time').set('notstudy', 'std2'); model.study('std3').feature('time').set('rtol', '0.0001'); model.study('std3').feature('time').set('notsolmethod', 'sol'); model.study('std3').feature('time').set('rtolactive', true); model.study('std3').feature('time').set('tlist', 'range(1814400,1,1816200) range(1816200,2400,2160000)'); model.study('std3').feature('time').set('usesol', 'on'); model.study('std3').feature('time').set('notsolnum', '1'); model.study('std4').label('Study 4_Tumor_Growth_TSLs'); model.study('std4').feature('time').set('initstudy', 'std1'); model.study('std4').feature('time').set('useinitsol', 'on'); model.study('std4').feature('time').set('notstudy', 'std3'); model.study('std4').feature('time').set('rtol', '0.0001'); model.study('std4').feature('time').set('notsolmethod', 'sol'); model.study('std4').feature('time').set('rtolactive', true); model.study('std4').feature('time').set('tlist', 'range(1814400,1,1816200) range(1816200,2400,2160000)'); model.study('std4').feature('time').set('usesol', 'on'); model.study('std4').feature('time').set('initmethod', 'sol'); model.study('std4').feature('time').set('notsolnum', 'all'); model.study('std4').feature('time').set('solnum', 'last'); model.study('std5').label('Study 5_Tumor Volume_TSLs'); model.study('std5').feature('time').set('initstudy', 'std4'); model.study('std5').feature('time').set('useinitsol', 'on'); model.study('std5').feature('time').set('rtol', '0.0001'); model.study('std5').feature('time').set('rtolactive', true); model.study('std5').feature('time').set('tlist', 'range(25,1,33)'); model.study('std5').feature('time').set('usesol', 'on'); model.study('std5').feature('time').set('initmethod', 'sol'); model.study('std5').feature('time').set('solnum', 'last'); model.study('std5').feature('time').set('tunit', 'd'); model.sol('sol1').attach('std1'); model.sol('sol1').feature('v1').set('clist', {'range(0,1,21)'}); model.sol('sol1').feature('v1').feature('comp1_u').set('scalemethod', 'manual'); model.sol('sol1').feature('v1').feature('comp1_u').set('scaleval', '1e2*0.17320508075688776'); model.sol('sol1').feature('v1').feature('comp1_cl').label('comp1.cl'); model.sol('sol1').feature('v1').feature('comp1_cf').label('comp1.cf'); model.sol('sol1').feature('v1').feature('comp1_cb').label('comp1.cb'); model.sol('sol1').feature('v1').feature('comp1_cint').label('comp1.cint') ; model.sol('sol1').feature('t1').set('rtol', '0.0001'); model.sol('sol1').feature('t1').set('atoludotactive', {'comp1_cox' 'off' 'comp1_lg' 'off' 'comp1_p' 'off' 'comp1_u' 'off' 'comp1_Nkcel' 'off' ...
'comp1_T8imcel' 'off' 'comp1_Tregs' 'off' 'comp1_Cd4' 'off' 'comp1_M1' 'off' 'comp1_M2' 'off' ... 'comp1_a1' 'off' 'comp1_a2' 'off' 'comp1_Cvegf' 'off' 'comp1_ecc' 'off' 'comp1_Tumc' 'off' ... 'comp1_Csc' 'off' 'comp1_IndC' 'off' 'comp1_p1' 'off' 'comp1_T2' 'off' 'comp1_cl' 'off' ... 'comp1_cf' 'off' 'comp1_cb' 'off' 'comp1_cint' 'off'}); model.sol('sol1').feature('t1').set('maxstepbdfactive', true); model.sol('sol1').feature('t1').set('tlist', 'range(0,1,21)'); model.sol('sol1').feature('t1').set('atoludot', {'comp1_cox' '1e-3' 'comp1_lg' '1e-3' 'comp1_p' '1e-3' 'comp1_u' '1e-3' 'comp1_Nkcel' '1e-3' ... 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_M1' '1e-3' 'comp1_M2' '1e-3' ... 'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e3' 'comp1_Tumc' '1e-3' ... 'comp1_Csc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_p1' '1e-3' 'comp1_T2' '1e3' 'comp1_cl' '1e-3' ... 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); model.sol('sol1').feature('t1').set('tunit', 'd'); model.sol('sol1').feature('t1').set('maxstepbdf', '0.25'); model.sol('sol1').feature('t1').set('eventtol', '0.001'); model.sol('sol1').feature('t1').set('atolmethod', {'comp1_cox' 'global' 'comp1_lg' 'global' 'comp1_p' 'global' 'comp1_u' 'global' 'comp1_Nkcel' 'global' ... 'comp1_T8imcel' 'global' 'comp1_Tregs' 'global' 'comp1_Cd4' 'global' 'comp1_M1' 'global' 'comp1_M2' 'global' ... 'comp1_a1' 'global' 'comp1_a2' 'global' 'comp1_Cvegf' 'global' 'comp1_ecc' 'global' 'comp1_Tumc' 'global' ... 'comp1_Csc' 'global' 'comp1_IndC' 'global' 'comp1_p1' 'global' 'comp1_T2' 'global' 'comp1_cl' 'global' ... 'comp1_cf' 'global' 'comp1_cb' 'global' 'comp1_cint' 'global'}); model.sol('sol1').feature('t1').set('fieldselection', 'comp1_cox'); model.sol('sol1').feature('t1').set('atol', {'comp1_cox' '1e-3' 'comp1_lg' '1e-3' 'comp1_p' '1e-3' 'comp1_u' '1e-3' 'comp1_Nkcel' '1e-3' ... 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_M1' '1e-3' 'comp1_M2' '1e-3' ... 'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e3' 'comp1_Tumc' '1e-3' ... 'comp1_Csc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_p1' '1e-3' 'comp1_T2' '1e3' 'comp1_cl' '1e-3' ... 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); model.sol('sol1').feature('t1').feature('dDef').set('linsolver', 'pardiso'); model.sol('sol1').feature('t1').feature('dDef').set('pardmtsolve', false); model.sol('sol1').feature('t1').feature('se1').active(false); model.sol('sol1').feature('t1').feature('se1').feature('ss1').set('segvar ', {'comp1_p' 'comp1_u'}); model.sol('sol1').feature('t1').feature('se1').feature('ss2').set('segvar ', {'comp1_cox' 'comp1_lg' 'comp1_Nkcel' 'comp1_T8imcel' 'comp1_Tregs'}); model.sol('sol1').feature('t1').feature('se1').feature('ss2').set('subdam p', '0.7'); model.sol('sol1').feature('t1').feature('se1').feature('ss2').set('subjte ch', 'onevery'); model.sol('sol1').feature('t1').feature('se1').feature('ll1').set('lowerl imit', 'comp1.Tumc 0');
model.sol('sol1').feature('t1').feature('se1').feature('dode1').set('segv ar', {'comp1_Cd4'}); model.sol('sol1').feature('t1').feature('se1').feature('dode21').set('seg var', {'comp1_M1'}); model.sol('sol1').feature('t1').feature('se1').feature('dode31').set('seg var', {'comp1_M2'}); model.sol('sol1').feature('t1').feature('se1').feature('dode32').set('seg var', {'comp1_a1'}); model.sol('sol1').feature('t1').feature('se1').feature('dode33').set('seg var', {'comp1_a2'}); model.sol('sol1').feature('t1').feature('se1').feature('cdeq1').set('segv ar', {'comp1_Cvegf'}); model.sol('sol1').feature('t1').feature('se1').feature('cdeq2').set('segv ar', {'comp1_ecc'}); model.sol('sol1').feature('t1').feature('se1').feature('Tumc2').set('segv ar', {'comp1_Tumc'}); model.sol('sol1').feature('t1').feature('se1').feature('cdeq22').set('seg var', {'comp1_Csc'}); model.sol('sol1').feature('t1').feature('se1').feature('cdeq32').set('seg var', {'comp1_IndC'}); model.sol('sol1').feature('t1').feature('se1').feature('ht33').set('segva r', {'comp1_T2'}); model.sol('sol1').feature('t1').feature('fc1').active(true); model.sol('sol1').feature('t1').feature('fc1').set('dtech', 'auto'); % model.sol('sol1').runAll; % model.sol('sol2').attach('std2'); % model.sol('sol2').feature('v1').set('notsolmethod', 'sol'); % model.sol('sol2').feature('v1').set('clist', {'freq'}); % model.sol('sol2').feature('v1').set('cname', {'freq'}); % model.sol('sol2').feature('v1').set('notsolnum', 'last'); % model.sol('sol2').feature('v1').set('notsol', 'sol1'); % model.sol('sol2').feature('v1').set('clistctrl', {'p1'}); % model.sol('sol2').feature('v1').feature('comp1_cl').label('comp1.cl'); % model.sol('sol2').feature('v1').feature('comp1_cf').label('comp1.cf'); % model.sol('sol2').feature('v1').feature('comp1_cb').label('comp1.cb'); % model.sol('sol2').feature('v1').feature('comp1_cint').label('comp1.cint') ; % model.sol('sol2').feature('s1').feature('aDef').set('complexfun', true); % model.sol('sol2').feature('s1').feature('p1').set('preusesol', 'auto'); % model.sol('sol2').feature('s1').feature('p1').set('pname', {'freq'}); % model.sol('sol2').feature('s1').feature('p1').set('punit', {'Hz'}); % model.sol('sol2').feature('s1').feature('p1').set('plistarr', {'freq'}); % model.sol('sol2').feature('s1').feature('p1').set('pcontinuationmode', 'no'); % model.sol('sol2').runAll; % model.sol('sol3').attach('std3'); % model.sol('sol3').feature('v1').set('initsol', 'sol1'); % model.sol('sol3').feature('v1').set('initmethod', 'sol'); % model.sol('sol3').feature('v1').set('notsolmethod', 'sol'); % model.sol('sol3').feature('v1').set('clist', {'range(1814400,1,1816200) range(1816200,2400,2160000)'}); % model.sol('sol3').feature('v1').set('notsol', 'sol2'); % model.sol('sol3').feature('v1').set('solnum', 'last'); % model.sol('sol3').feature('v1').set('notsolnum', '1');
% model.sol('sol3').feature('v1').feature('comp1_u').set('scalemethod', 'manual'); % model.sol('sol3').feature('v1').feature('comp1_u').set('scaleval', '1e2*0.17320508075688776'); % model.sol('sol3').feature('v1').feature('comp1_cl').label('comp1.cl'); % model.sol('sol3').feature('v1').feature('comp1_cf').label('comp1.cf'); % model.sol('sol3').feature('v1').feature('comp1_cb').label('comp1.cb'); % model.sol('sol3').feature('v1').feature('comp1_cint').label('comp1.cint') ; % model.sol('sol3').feature('t1').set('rtol', '0.0001'); % model.sol('sol3').feature('t1').set('atoludotactive', {'comp1_a1' 'off' 'comp1_a2' 'off' 'comp1_Cd4' 'off' 'comp1_cox' 'off' 'comp1_Csc' 'off' ... % 'comp1_Cvegf' 'off' 'comp1_ecc' 'off' 'comp1_IndC' 'off' 'comp1_lg' 'off' 'comp1_M1' 'off' ... % 'comp1_M2' 'off' 'comp1_Nkcel' 'off' 'comp1_p' 'off' 'comp1_p1' 'off' 'comp1_T2' 'off' ... % 'comp1_T8imcel' 'off' 'comp1_Tregs' 'off' 'comp1_Tumc' 'off' 'comp1_u' 'off' 'comp1_cl' 'off' ... % 'comp1_cf' 'off' 'comp1_cb' 'off' 'comp1_cint' 'off'}); % model.sol('sol3').feature('t1').set('tlist', 'range(1814400,1,1816200) range(1816200,2400,2160000)'); % model.sol('sol3').feature('t1').set('atoludot', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol3').feature('t1').set('estrat', 'exclude'); % model.sol('sol3').feature('t1').set('maxorder', '2'); % model.sol('sol3').feature('t1').set('atolmethod', {'comp1_a1' 'global' 'comp1_a2' 'global' 'comp1_Cd4' 'global' 'comp1_cox' 'global' 'comp1_Csc' 'global' ... % 'comp1_Cvegf' 'global' 'comp1_ecc' 'global' 'comp1_IndC' 'global' 'comp1_lg' 'global' 'comp1_M1' 'global' ... % 'comp1_M2' 'global' 'comp1_Nkcel' 'global' 'comp1_p' 'global' 'comp1_p1' 'global' 'comp1_T2' 'global' ... % 'comp1_T8imcel' 'global' 'comp1_Tregs' 'global' 'comp1_Tumc' 'global' 'comp1_u' 'global' 'comp1_cl' 'global' ... % 'comp1_cf' 'global' 'comp1_cb' 'global' 'comp1_cint' 'global'}); % model.sol('sol3').feature('t1').set('atol', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol3').feature('t1').feature('dDef').set('linsolver', 'pardiso');
% model.sol('sol3').feature('t1').feature('dDef').set('pardmtsolve', false); % model.sol('sol3').feature('t1').feature('fc1').set('dtech', 'auto'); % model.sol('sol3').runAll; % model.sol('sol4').attach('std4'); % model.sol('sol4').feature('v1').set('initsol', 'sol1'); % model.sol('sol4').feature('v1').set('initmethod', 'sol'); % model.sol('sol4').feature('v1').set('notsolmethod', 'sol'); % model.sol('sol4').feature('v1').set('clist', {'range(1814400,1,1816200) range(1816200,2400,2160000)'}); % model.sol('sol4').feature('v1').set('notsolnum', 'all'); % model.sol('sol4').feature('v1').set('notsol', 'sol3'); % model.sol('sol4').feature('v1').set('solnum', 'last'); % model.sol('sol4').feature('v1').feature('comp1_u').set('scalemethod', 'manual'); % model.sol('sol4').feature('v1').feature('comp1_u').set('scaleval', '1e2*0.17320508075688776'); % model.sol('sol4').feature('v1').feature('comp1_cl').label('comp1.cl'); % model.sol('sol4').feature('v1').feature('comp1_cf').label('comp1.cf'); % model.sol('sol4').feature('v1').feature('comp1_cb').label('comp1.cb'); % model.sol('sol4').feature('v1').feature('comp1_cint').label('comp1.cint') ; % model.sol('sol4').feature('t1').set('rtol', '0.0001'); % model.sol('sol4').feature('t1').set('atoludotactive', {'comp1_a1' 'off' 'comp1_a2' 'off' 'comp1_Cd4' 'off' 'comp1_cox' 'off' 'comp1_Csc' 'off' ... % 'comp1_Cvegf' 'off' 'comp1_ecc' 'off' 'comp1_IndC' 'off' 'comp1_lg' 'off' 'comp1_M1' 'off' ... % 'comp1_M2' 'off' 'comp1_Nkcel' 'off' 'comp1_p' 'off' 'comp1_p1' 'off' 'comp1_T2' 'off' ... % 'comp1_T8imcel' 'off' 'comp1_Tregs' 'off' 'comp1_Tumc' 'off' 'comp1_u' 'off' 'comp1_cl' 'off' ... % 'comp1_cf' 'off' 'comp1_cb' 'off' 'comp1_cint' 'off'}); % model.sol('sol4').feature('t1').set('consistent', 'off'); % model.sol('sol4').feature('t1').set('tlist', 'range(1814400,1,1816200) range(1816200,2400,2160000)'); % model.sol('sol4').feature('t1').set('atoludot', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol4').feature('t1').set('maxorder', '2'); % model.sol('sol4').feature('t1').set('atolmethod', {'comp1_a1' 'global' 'comp1_a2' 'global' 'comp1_Cd4' 'global' 'comp1_cox' 'global' 'comp1_Csc' 'global' ... % 'comp1_Cvegf' 'global' 'comp1_ecc' 'global' 'comp1_IndC' 'global' 'comp1_lg' 'global' 'comp1_M1' 'global' ... % 'comp1_M2' 'global' 'comp1_Nkcel' 'global' 'comp1_p' 'global' 'comp1_p1' 'global' 'comp1_T2' 'global' ... % 'comp1_T8imcel' 'global' 'comp1_Tregs' 'global' 'comp1_Tumc' 'global' 'comp1_u' 'global' 'comp1_cl' 'global' ... % 'comp1_cf' 'global' 'comp1_cb' 'global' 'comp1_cint' 'global'});
% model.sol('sol4').feature('t1').set('atol', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol4').feature('t1').feature('dDef').set('linsolver', 'pardiso'); % model.sol('sol4').feature('t1').feature('dDef').set('pardmtsolve', false); % model.sol('sol4').feature('t1').feature('fc1').set('dtech', 'auto'); % model.sol('sol4').runAll; % model.sol('sol5').attach('std5'); % model.sol('sol5').feature('v1').set('initsol', 'sol4'); % model.sol('sol5').feature('v1').set('initmethod', 'sol'); % model.sol('sol5').feature('v1').set('clist', {'range(25,1,33)'}); % model.sol('sol5').feature('v1').set('solnum', 'last'); % model.sol('sol5').feature('v1').feature('comp1_u').set('scalemethod', 'manual'); % model.sol('sol5').feature('v1').feature('comp1_u').set('scaleval', '1e2*0.17320508075688776'); % model.sol('sol5').feature('v1').feature('comp1_cl').label('comp1.cl'); % model.sol('sol5').feature('v1').feature('comp1_cf').label('comp1.cf'); % model.sol('sol5').feature('v1').feature('comp1_cb').label('comp1.cb'); % model.sol('sol5').feature('v1').feature('comp1_cint').label('comp1.cint') ; % model.sol('sol5').feature('t1').set('rtol', '0.0001'); % model.sol('sol5').feature('t1').set('atoludotactive', {'comp1_a1' 'off' 'comp1_a2' 'off' 'comp1_Cd4' 'off' 'comp1_cox' 'off' 'comp1_Csc' 'off' ... % 'comp1_Cvegf' 'off' 'comp1_ecc' 'off' 'comp1_IndC' 'off' 'comp1_lg' 'off' 'comp1_M1' 'off' ... % 'comp1_M2' 'off' 'comp1_Nkcel' 'off' 'comp1_p' 'off' 'comp1_p1' 'off' 'comp1_T2' 'off' ... % 'comp1_T8imcel' 'off' 'comp1_Tregs' 'off' 'comp1_Tumc' 'off' 'comp1_u' 'off' 'comp1_cl' 'off' ... % 'comp1_cf' 'off' 'comp1_cb' 'off' 'comp1_cint' 'off'}); % model.sol('sol5').feature('t1').set('consistent', 'off'); % model.sol('sol5').feature('t1').set('tlist', 'range(25,1,33)'); % model.sol('sol5').feature('t1').set('atoludot', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol5').feature('t1').set('tunit', 'd'); % model.sol('sol5').feature('t1').set('maxorder', '2');
% model.sol('sol5').feature('t1').set('atolmethod', {'comp1_a1' 'global' 'comp1_a2' 'global' 'comp1_Cd4' 'global' 'comp1_cox' 'global' 'comp1_Csc' 'global' ... % 'comp1_Cvegf' 'global' 'comp1_ecc' 'global' 'comp1_IndC' 'global' 'comp1_lg' 'global' 'comp1_M1' 'global' ... % 'comp1_M2' 'global' 'comp1_Nkcel' 'global' 'comp1_p' 'global' 'comp1_p1' 'global' 'comp1_T2' 'global' ... % 'comp1_T8imcel' 'global' 'comp1_Tregs' 'global' 'comp1_Tumc' 'global' 'comp1_u' 'global' 'comp1_cl' 'global' ... % 'comp1_cf' 'global' 'comp1_cb' 'global' 'comp1_cint' 'global'}); % model.sol('sol5').feature('t1').set('atol', {'comp1_a1' '1e-3' 'comp1_a2' '1e-3' 'comp1_Cd4' '1e-3' 'comp1_cox' '1e-3' 'comp1_Csc' '1e3' ... % 'comp1_Cvegf' '1e-3' 'comp1_ecc' '1e-3' 'comp1_IndC' '1e-3' 'comp1_lg' '1e-3' 'comp1_M1' '1e-3' ... % 'comp1_M2' '1e-3' 'comp1_Nkcel' '1e-3' 'comp1_p' '1e-3' 'comp1_p1' '1e3' 'comp1_T2' '1e-3' ... % 'comp1_T8imcel' '1e-3' 'comp1_Tregs' '1e-3' 'comp1_Tumc' '1e-3' 'comp1_u' '1e-3' 'comp1_cl' '1e-3' ... % 'comp1_cf' '1e-3' 'comp1_cb' '1e-3' 'comp1_cint' '1e-3'}); % model.sol('sol5').feature('t1').feature('dDef').set('linsolver', 'pardiso'); % model.sol('sol5').feature('t1').feature('dDef').set('pardmtsolve', false); % model.sol('sol5').feature('t1').feature('fc1').set('dtech', 'auto'); % model.sol('sol5').runAll; mphsave(model,'comsol_file.mph'); out = model;