function out = model % % m3.m % % Model exported on Apr 2 2013, 14:51 by COMSOL 4.3.0.151. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('D:\mink\COMSOL\irreversible Eley-Rideal'); model.modelNode.create('mod1'); model.geom.create('geom1', 1); model.mesh.create('mesh1', 'geom1'); model.physics.create('cdeq', 'ConvectionDiffusionEquation', 'geom1'); model.study.create('std1'); model.study('std1').feature.create('time', 'Transient'); model.study('std1').feature('time').activate('cdeq', true); model.modelNode.create('mod2'); model.geom.create('geom2', 2); model.mesh.create('mesh2', 'geom2'); model.physics.create('cdeq2', 'ConvectionDiffusionEquation', 'geom2'); model.study('std1').feature('time').activate('cdeq2', false); model.study.create('std2'); model.study('std2').feature.create('time', 'Transient'); model.study('std2').feature('time').activate('cdeq', true); model.study('std2').feature('time').activate('cdeq2', true); model.param.set('beta', '0.75'); model.param.set('gamma', '10'); model.param.set('ka', '1000'); model.param.set('kb', '1000'); model.param.set('kd', '1000'); model.param.set('kr', '1000'); model.param.set('Ncat', '1'); model.param.set('Rn', '1'); model.param.set('Rd1', '1'); model.param.set('Rd2', '1'); model.param.set('Rd3', '1'); model.param.set('Rd4', '1'); model.param.set('Rd5', '1'); model.variable.create('var1'); model.variable('var1').model('mod1'); model.geom('geom1').run; model.cpl.create('genext1', 'GeneralExtrusion', 'geom1'); model.probe.create('pdom1', 'DomainPoint'); model.probe('pdom1').model('mod1'); model.geom('geom2').run; model.variable.create('var2'); model.variable('var2').model('mod2'); model.cpl.create('genext2', 'GeneralExtrusion', 'geom2'); model.variable('var1').set('ext_cApc', 'beta*mod1.cAb'); model.variable('var1').set('grad', 'mod2.genext2(ext_grad)'); model.variable('var1').set('gradB', 'mod2.genext2(ext_gradB)'); model.variable('var1').set('gradC', 'mod2.genext2(ext_gradC)'); model.variable('var1').set('ext_cBpc', 'beta*mod1.cBb'); model.variable('var1').set('ext_cCpc', 'beta*mod1.cCb'); model.geom('geom1').feature.create('i1', 'Interval'); model.geom('geom1').feature('i1').set('intervals', 'one'); model.geom('geom1').feature('i1').set('p1', '0'); model.geom('geom1').feature('i1').set('p2', '1'); model.geom('geom1').run('i1'); model.geom('geom1').run; model.probe('pdom1').setIndex('coords1', '1', 0, 0); model.cpl('genext1').selection.all; model.cpl('genext1').set('usesrcmap', 'on'); model.variable('var1').selection.geom('geom1', 1); model.variable('var1').selection.all; model.variable('var1').selection.set([1]); model.physics('cdeq').name('cAb'); model.physics('cdeq').field('dimensionless').field('cAb'); model.physics('cdeq').feature('cdeq1').set('f', 1, '-3*gamma*grad'); model.physics('cdeq').feature.create('zflx2', 'ZeroFluxBoundary', 0); model.physics('cdeq').feature.remove('zflx2'); model.physics('cdeq').feature.create('flux1', 'FluxBoundary', 0); model.physics('cdeq').feature.create('dir1', 'DirichletBoundary', 0); model.physics('cdeq').feature('flux1').set('g', 1, '2*fldc2hs(t,0.001)'); model.physics('cdeq').feature('flux1').selection.all; model.physics('cdeq').feature('flux1').selection.set([1]); model.physics('cdeq').feature('dir1').selection.all; model.physics('cdeq').feature('dir1').selection.set([2]); model.mesh('mesh1').autoMeshSize(4); model.physics.create('cdeq3', 'ConvectionDiffusionEquation', 'geom1'); model.study('std1').feature('time').activate('cdeq3', false); model.study('std2').feature('time').activate('cdeq3', false); model.study.create('std3'); model.study('std3').feature.create('time', 'Transient'); model.study('std3').feature('time').activate('cdeq', true); model.study('std3').feature('time').activate('cdeq2', true); model.study('std3').feature('time').activate('cdeq3', true); model.physics('cdeq3').name('cBb'); model.physics('cdeq3').field('dimensionless').field('cBb'); model.physics('cdeq3').feature('cdeq1').set('c', 1, 'Rd1'); model.physics('cdeq3').feature('cdeq1').set('f', 1, '-3*Rd3*gamma*gradB'); model.physics('cdeq3').feature.create('flux1', 'FluxBoundary', 0); model.physics('cdeq3').feature.create('dir1', 'DirichletBoundary', 0); model.physics('cdeq3').feature('flux1').set('g', 1, '2*fldc2hs(t,0.001)'); model.physics('cdeq3').feature('flux1').selection.all; model.physics('cdeq3').feature('flux1').selection.set([1]); model.physics('cdeq3').feature('dir1').selection.all; model.physics('cdeq3').feature('dir1').selection.set([2]); model.physics.create('cdeq4', 'ConvectionDiffusionEquation', 'geom1'); model.study('std1').feature('time').activate('cdeq4', false); model.study('std2').feature('time').activate('cdeq4', false); model.study('std3').feature('time').activate('cdeq4', false); model.study.create('std4'); model.study('std4').feature.create('time', 'Transient'); model.study('std4').feature('time').activate('cdeq', true); model.study('std4').feature('time').activate('cdeq2', true); model.study('std4').feature('time').activate('cdeq3', true); model.study('std4').feature('time').activate('cdeq4', true); model.physics('cdeq4').name('cCb'); model.physics('cdeq4').feature('cdeq1').set('c', 1, 'Rd2'); model.physics('cdeq4').feature('cdeq1').set('f', 1, '-3*Rd4*gamma*gradC'); model.physics('cdeq4').field('dimensionless').field('cCb'); model.physics('cdeq4').feature.create('flux1', 'FluxBoundary', 0); model.physics('cdeq4').feature.create('dir1', 'DirichletBoundary', 0); model.physics('cdeq4').feature('flux1').selection.all; model.physics('cdeq4').feature('flux1').selection.set([1]); model.physics('cdeq4').feature('dir1').selection.all; model.physics('cdeq4').feature('dir1').selection.set([2]); model.geom('geom2').feature.create('r1', 'Rectangle'); model.geom('geom2').feature('r1').set('type', 'solid'); model.geom('geom2').feature('r1').set('base', 'corner'); model.geom('geom2').feature('r1').set('pos', {'0' '0'}); model.geom('geom2').feature('r1').set('lx', '1'); model.geom('geom2').feature('r1').set('ly', '1'); model.geom('geom2').run('r1'); model.geom('geom2').run; model.variable('var2').set('cApc', 'mod1.genext1(ext_cApc)'); model.variable('var2').set('ext_grad', 'cApy'); model.variable('var2').set('cBpc', 'mod1.genext1(ext_cBpc)'); model.variable('var2').set('cCpc', 'mod1.genext1(ext_cCpc)'); model.variable('var2').set('ext_gradB', 'cBpy'); model.variable('var2').set('ext_gradC', 'cCpy'); model.cpl('genext2').selection.all; model.cpl('genext2').selection.geom('geom2', 1); model.cpl('genext2').selection.all; model.cpl('genext2').selection.set([3]); model.cpl('genext2').setIndex('dstmap', '', 1); model.cpl('genext2').set('usesrcmap', 'on'); model.cpl('genext2').setIndex('srcmap', '', 1); model.variable('var2').selection.geom('geom2', 1); model.variable('var2').selection.all; model.variable('var2').selection.set([3]); model.physics('cdeq2').name('cAp'); model.physics('cdeq2').field('dimensionless').field('cAp'); model.physics('cdeq2').feature('cdeq1').set('c', 1, 1, '0'); model.physics('cdeq2').feature('cdeq1').set('c', 1, 4, 'gamma*y^2'); model.physics('cdeq2').feature('cdeq1').set('f', 1, '-ka*cAp*(1-cs1-cs3)*y^2'); model.physics('cdeq2').feature('cdeq1').set('da', 1, 'y^2'); model.physics('cdeq2').feature.create('zflx2', 'ZeroFluxBoundary', 1); model.physics('cdeq2').feature('zflx2').selection.all; model.physics('cdeq2').feature('zflx2').selection.set([1 2 4]); model.physics('cdeq2').feature.create('dir1', 'DirichletBoundary', 1); model.physics('cdeq2').feature('dir1').selection.all; model.physics('cdeq2').feature('dir1').selection.set([3]); model.physics('cdeq2').feature('dir1').set('r', 1, 'cApc'); model.mesh('mesh2').autoMeshSize(4); model.physics.create('cdeq5', 'ConvectionDiffusionEquation', 'geom2'); model.study('std1').feature('time').activate('cdeq5', false); model.study('std2').feature('time').activate('cdeq5', false); model.study('std3').feature('time').activate('cdeq5', false); model.study('std4').feature('time').activate('cdeq5', false); model.study.create('std5'); model.study('std5').feature.create('time', 'Transient'); model.study('std5').feature('time').activate('cdeq', true); model.study('std5').feature('time').activate('cdeq2', true); model.study('std5').feature('time').activate('cdeq3', true); model.study('std5').feature('time').activate('cdeq4', true); model.study('std5').feature('time').activate('cdeq5', true); model.physics('cdeq5').name('cBp'); model.physics('cdeq5').field('dimensionless').field('cBp'); model.physics('cdeq5').feature('cdeq1').set('c', 1, 1, '0'); model.physics('cdeq5').feature('cdeq1').set('c', 1, 4, 'Rd3*gamma*y^2'); model.physics('cdeq5').feature('cdeq1').set('f', 1, '-kr*cBp*cs1*y^2'); model.physics('cdeq5').feature('cdeq1').set('da', 1, 'y^2'); model.physics('cdeq5').feature.create('zflx2', 'ZeroFluxBoundary', 1); model.physics('cdeq5').feature.create('dir1', 'DirichletBoundary', 1); model.physics('cdeq5').feature('zflx2').selection.all; model.physics('cdeq5').feature('zflx2').selection.set([1 2 4]); model.physics('cdeq5').feature('dir1').selection.all; model.physics('cdeq5').feature('dir1').selection.set([3]); model.physics('cdeq5').feature('dir1').set('r', 1, 'cBpc'); model.physics.create('cdeq6', 'ConvectionDiffusionEquation', 'geom2'); model.study('std5').feature('time').activate('cdeq6', false); model.study('std1').feature('time').activate('cdeq6', false); model.study('std2').feature('time').activate('cdeq6', false); model.study('std3').feature('time').activate('cdeq6', false); model.study('std4').feature('time').activate('cdeq6', false); model.study.create('std6'); model.study('std6').feature.create('time', 'Transient'); model.study('std6').feature('time').activate('cdeq', true); model.study('std6').feature('time').activate('cdeq2', true); model.study('std6').feature('time').activate('cdeq3', true); model.study('std6').feature('time').activate('cdeq4', true); model.study('std6').feature('time').activate('cdeq5', true); model.study('std6').feature('time').activate('cdeq6', true); model.physics('cdeq6').name('cCb'); model.physics('cdeq6').field('dimensionless').field('cCb'); model.physics('cdeq6').feature('cdeq1').set('c', 1, 1, '0'); model.physics('cdeq6').feature('cdeq1').set('c', 1, 4, 'Rd4*gamma*y^2'); model.physics('cdeq6').feature('cdeq1').set('f', 1, 'Ncat*kd*cs3*y^2'); model.physics('cdeq6').feature('cdeq1').set('da', 1, 'y^2'); model.physics('cdeq6').feature.create('zflx2', 'ZeroFluxBoundary', 1); model.physics('cdeq6').feature.create('dir1', 'DirichletBoundary', 1); model.physics('cdeq6').feature('zflx2').selection.all; model.physics('cdeq6').feature('zflx2').selection.set([1 2 4]); model.physics('cdeq6').feature('dir1').selection.all; model.physics('cdeq6').feature('dir1').selection.set([3]); model.physics('cdeq6').feature('dir1').set('r', 1, 'cCpc'); model.physics.create('cdeq7', 'ConvectionDiffusionEquation', 'geom2'); model.study('std5').feature('time').activate('cdeq7', false); model.study('std6').feature('time').activate('cdeq7', false); model.study('std1').feature('time').activate('cdeq7', false); model.study('std2').feature('time').activate('cdeq7', false); model.study('std3').feature('time').activate('cdeq7', false); model.study('std4').feature('time').activate('cdeq7', false); model.study.create('std7'); model.study('std7').feature.create('time', 'Transient'); model.study('std7').feature('time').activate('cdeq', true); model.study('std7').feature('time').activate('cdeq2', true); model.study('std7').feature('time').activate('cdeq3', true); model.study('std7').feature('time').activate('cdeq4', true); model.study('std7').feature('time').activate('cdeq5', true); model.study('std7').feature('time').activate('cdeq6', true); model.study('std7').feature('time').activate('cdeq7', true); model.physics('cdeq7').name('cs1'); model.physics('cdeq7').field('dimensionless').field('cs1'); model.physics('cdeq7').feature('cdeq1').set('f', 1, '((ka*cAp*(1-cs1-cs3))-(Rd5*kr*cBp*cs1))/Ncat'); model.physics('cdeq7').feature.create('zflx2', 'ZeroFluxBoundary', 1); model.physics('cdeq7').feature.create('dir1', 'DirichletBoundary', 1); model.physics('cdeq7').feature('zflx2').selection.all; model.physics('cdeq7').feature('zflx2').selection.set([1 2 4]); model.physics('cdeq7').feature('dir1').selection.all; model.physics('cdeq7').feature('dir1').selection.set([3]); model.physics.create('cdeq8', 'ConvectionDiffusionEquation', 'geom2'); model.study('std3').feature('time').activate('cdeq8', false); model.study('std4').feature('time').activate('cdeq8', false); model.study('std5').feature('time').activate('cdeq8', false); model.study('std6').feature('time').activate('cdeq8', false); model.study('std7').feature('time').activate('cdeq8', false); model.study('std1').feature('time').activate('cdeq8', false); model.study('std2').feature('time').activate('cdeq8', false); model.study.create('std8'); model.study('std8').feature.create('time', 'Transient'); model.study('std8').feature('time').activate('cdeq', true); model.study('std8').feature('time').activate('cdeq2', true); model.study('std8').feature('time').activate('cdeq3', true); model.study('std8').feature('time').activate('cdeq4', true); model.study('std8').feature('time').activate('cdeq5', true); model.study('std8').feature('time').activate('cdeq6', true); model.study('std8').feature('time').activate('cdeq7', true); model.study('std8').feature('time').activate('cdeq8', true); model.physics('cdeq8').name('cs3'); model.physics('cdeq8').field('dimensionless').field('cs3'); model.physics('cdeq8').feature('cdeq1').set('f', 1, '((Rd5*kr*cBp*cs1)-(Ncat*kd*cs3))/Ncat'); model.physics('cdeq7').feature('cdeq1').set('c', 1, {'0' '0' '0' '0'}); model.physics('cdeq8').feature('cdeq1').set('c', 1, {'0' '0' '0' '0'}); model.physics('cdeq8').feature.create('zflx2', 'ZeroFluxBoundary', 1); model.physics('cdeq8').feature.create('dir1', 'DirichletBoundary', 1); model.physics('cdeq8').feature('zflx2').selection.all; model.physics('cdeq8').feature('zflx2').selection.set([1 2 4]); model.physics('cdeq8').feature('dir1').selection.all; model.physics('cdeq8').feature('dir1').selection.set([3]); model.name('porous irreversible Eley-Rideal2.mph'); model.physics('cdeq6').name('cCp'); model.physics('cdeq6').field('dimensionless').field('cCp'); model.param.set('gamma', '10'); model.name('porous irreversible Eley-Rideal2.mph'); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'on' 'cdeq2' 'on' 'cdeq3' 'off' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'off' 'cdeq8' 'off'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'on' 'cdeq2' 'on' 'cdeq3' 'off' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'off' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'on' 'cdeq2' 'on' 'cdeq3' 'off' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('tlist', 'range(0,0.001,4)'); model.sol.create('sol1'); model.sol('sol1').study('std1'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature('st1').set('study', 'std1'); model.sol('sol1').feature('st1').set('studystep', 'time'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature('v1').set('control', 'time'); model.sol('sol1').feature.create('t1', 'Time'); model.sol('sol1').feature('t1').set('tlist', 'range(0,0.001,5)'); model.sol('sol1').feature('t1').set('plot', 'off'); model.sol('sol1').feature('t1').set('plotfreq', 'tout'); model.sol('sol1').feature('t1').set('probesel', 'all'); model.sol('sol1').feature('t1').set('probes', {'pdom1'}); model.sol('sol1').feature('t1').set('probefreq', 'tsteps'); model.sol('sol1').feature('t1').set('control', 'time'); model.sol('sol1').feature('t1').feature.create('seDef', 'Segregated'); model.sol('sol1').feature('t1').feature.create('fc1', 'FullyCoupled'); model.sol('sol1').feature('t1').feature.remove('fcDef'); model.sol('sol1').feature('t1').feature.remove('seDef'); model.sol('sol1').attach('std1'); model.result.create('pg1', 1); model.result('pg1').set('data', 'dset1'); model.result('pg1').feature.create('lngr1', 'LineGraph'); model.result('pg1').feature('lngr1').set('xdata', 'expr'); model.result('pg1').feature('lngr1').set('xdataexpr', 'x'); model.result('pg1').feature('lngr1').selection.all; model.result('pg1').feature('lngr1').set('expr', 'cAb'); model.result.create('pg2', 2); model.result('pg2').set('data', 'dset2'); model.result('pg2').feature.create('surf1', 'Surface'); model.result('pg2').feature('surf1').set('expr', 'cAp'); model.result.create('pg3', 2); model.result('pg3').set('data', 'dset2'); model.result('pg3').feature.create('surf1', 'Surface'); model.result('pg3').feature('surf1').set('expr', 'cs1'); model.result.create('pg4', 2); model.result('pg4').set('data', 'dset2'); model.result('pg4').feature.create('surf1', 'Surface'); model.result('pg4').feature('surf1').set('expr', 'cs3'); model.probe('pdom1').genResult([]); model.sol('sol1').runAll; model.result('pg1').run; model.sol('sol1').copySolution('sol2'); model.sol('sol1').feature('v1').set('initmethod', 'sol'); model.sol('sol1').feature('v1').set('initsol', 'sol2'); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'on' 'cdeq3' 'off' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'off' 'cdeq3' 'off' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'off' 'cdeq3' 'on' 'cdeq4' 'off' 'cdeq5' 'off' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'off' 'cdeq3' 'on' 'cdeq4' 'off' 'cdeq5' 'on' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'off' 'cdeq3' 'on' 'cdeq4' 'on' 'cdeq5' 'on' ... 'cdeq6' 'off' 'cdeq7' 'on' 'cdeq8' 'on'}); model.study('std1').feature('time').set('physselection', 'cdeq'); model.study('std1').feature('time').set('activate', {'cdeq' 'off' 'cdeq2' 'off' 'cdeq3' 'on' 'cdeq4' 'on' 'cdeq5' 'on' ... 'cdeq6' 'on' 'cdeq7' 'on' 'cdeq8' 'on'}); model.probe('pdom1').genResult([]); model.sol('sol1').runAll; model.result('pg1').run; model.result('pg5').set('window', 'window1'); model.result('pg5').run; model.result('pg5').feature.create('ptgr1', 'PointGraph'); model.result('pg5').feature('ptgr1').set('data', 'dset1'); model.result('pg5').feature('ptgr1').selection.all; model.result('pg5').feature('ptgr1').selection.set([2]); model.result('pg5').feature('ptgr1').set('expr', '-cAbx'); model.result('pg5').set('window', 'window1'); model.result('pg5').run; model.result('pg5').feature('ptgr1').set('expr', '-cBbx'); model.result('pg5').set('window', 'window1'); model.result('pg5').run; model.result.numerical('pev1').set('data', 'dset1'); model.result.numerical('pev1').setIndex('looplevelinput', 'all', 0); model.result.numerical('pev1').selection.all; model.result.numerical('pev1').selection.set([2]); model.result.numerical('pev1').set('expr', '-cAbx'); model.result.numerical('pev1').set('dataseries', 'integral'); model.result.table.create('tbl2', 'Table'); model.result.table('tbl2').comments('Point Probe Expression 1 (-cAbx)'); model.result.numerical('pev1').set('table', 'tbl2'); model.result.numerical('pev1').setResult; model.result.numerical('pev1').set('expr', '-cBbx'); model.result.table.create('tbl3', 'Table'); model.result.table('tbl3').comments('Point Probe Expression 1 (-cBbx)'); model.result.numerical('pev1').set('table', 'tbl3'); model.result.numerical('pev1').setResult; model.result.numerical('pev1').set('expr', '-cs1x'); model.result.table.create('tbl4', 'Table'); model.result.table('tbl4').comments('Point Probe Expression 1 (-cs1x)'); model.result.numerical('pev1').set('table', 'tbl4'); model.result.numerical('pev1').set('expr', 'cs1'); model.result.table.create('tbl5', 'Table'); model.result.table('tbl5').comments('Point Probe Expression 1 (cs1)'); model.result.numerical('pev1').set('table', 'tbl5'); model.result.numerical('pev1').set('data', 'dset2'); model.result.numerical('pev1').selection.all; model.result.table.create('tbl6', 'Table'); model.result.table('tbl6').comments('Point Probe Expression 1 (cs1)'); model.result.numerical('pev1').set('table', 'tbl6'); model.result.numerical('pev1').setResult; model.result.numerical('pev1').set('expr', '-cs1x'); model.result.table.create('tbl7', 'Table'); model.result.table('tbl7').comments('Point Probe Expression 1 (-cs1x)'); model.result.numerical('pev1').set('table', 'tbl7'); model.result.numerical('pev1').setResult; out = model;