function out = model % % today.m % % Model exported on Jun 12 2011, 09:58 by COMSOL 4.1.0.88. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('C:\Users\Sherif\Desktop\Learning COMSOL 4.1'); model.name('Model.mph'); model.param.name('Time_Step'); model.param.set('t_10001', '0'); model.param.set('t_10002', '3600'); model.param.set('t_10003', '7200.1'); model.param.set('t_10004', '10000.1'); model.param.set('t_10005', '15000'); model.param.set('t_10006', '20000'); model.param.set('t_10007', '25000'); model.param.set('t_10008', '30000'); model.param.set('t_10009', '35000'); model.param.set('t_10010', '40000'); model.param.set('t_10011', '45000'); model.param.set('t_10012', '50000'); model.param.set('t_initial', 't_10001'); model.param.set('t_final', 't_10002'); model.modelNode.create('mod1'); model.func.create('int1', 'Interpolation'); model.geom.create('geom1', 2); model.geom('geom1').feature.create('sq1', 'Square'); model.geom('geom1').feature('sq1').set('size', '100'); model.geom('geom1').run; model.selection.create('sel1'); model.selection('sel1').geom('geom1', 0); model.selection('sel1').set([2 4]); model.physics.create('ht', 'HeatTransfer', 'geom1'); model.physics('ht').feature.create('temp1', 'TemperatureBoundary', 1); model.physics('ht').feature('temp1').selection.set([3]); model.mesh.create('mesh1', 'geom1'); model.mesh('mesh1').feature.create('ftri1', 'FreeTri'); model.func('int1').set('funcname', 'Temp'); model.func('int1').set('table', {'0' '50'; '3600' '50'; '3600.1' '50'; '7200.1' '50'; '10000.1' '50'}); model.physics('ht').feature('solid1').set('k_mat', 'userdef'); model.physics('ht').feature('solid1').set('k', {'3'; '0'; '0'; '0'; '3'; '0'; '0'; '0'; '3'}); model.physics('ht').feature('solid1').set('rho_mat', 'userdef'); model.physics('ht').feature('solid1').set('rho', '1200'); model.physics('ht').feature('solid1').set('Cp_mat', 'userdef'); model.physics('ht').feature('solid1').set('Cp', '0.85'); model.physics('ht').feature('init1').set('T', '10[degC]'); model.physics('ht').feature('temp1').selection.active(false); model.physics('ht').feature('temp1').set('T0', 'Temp(t)[degC]'); model.mesh('mesh1').run; model.study.create('std1'); model.study('std1').feature.create('time', 'Transient'); model.sol.create('sol1'); model.sol('sol1').study('std1'); n=11; for i=1:n if i==1 model.physics('ht').feature('temp1').active(true); model.sol('sol1').attach('std1'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature.create('t1', 'Time'); model.sol('sol1').feature('t1').feature.create('fc1', 'FullyCoupled'); model.sol('sol1').feature('t1').feature.create('d1', 'Direct'); model.sol('sol1').feature('t1').feature.remove('fcDef'); model.study('std1').feature('time').set('tlist', 'range(t_10001,60,t_10002)'); model.sol('sol1').feature('st1').name('Compile Equations: Time Dependent'); model.sol('sol1').feature('st1').set('studystep', 'time'); model.sol('sol1').feature('v1').set('control', 'time'); model.sol('sol1').feature('t1').set('control', 'time'); model.sol('sol1').feature('t1').set('tlist', 'range(t_10001,60,t_10002)'); model.sol('sol1').feature('t1').set('maxorder', '2'); model.sol('sol1').feature('t1').set('estrat', 'exclude'); model.sol('sol1').feature('t1').feature('fc1').set('maxiter', '5'); model.sol('sol1').feature('t1').feature('fc1').set('jtech', 'once'); model.sol('sol1').feature('t1').feature('d1').set('linsolver', 'pardiso'); model.sol('sol1').runAll; else NN=mod(i,2); if NN==1 model.physics('ht').feature('temp1').active(true); else model.physics('ht').feature('temp1').active(false); end k=10000+i; j=i-1; jj=num2str(j); kk=num2str(k); kkk=num2str(k+1) d=num2str(i); st=num2str(i); v_i=['v' st]; t_i=['t' st]; t_in=['t_' kk]; t_fin=['t_' kkk]; fc_i=['fc' st]; d_i=['d' st]; su_i=['su' st]; su_i1=['su' jj]; time_i=['time' jj]; sol_i=['sol' jj]; rep=['sol' d]; model.sol.create(rep); model.sol(rep).study('std1'); model.sol(rep).attach('std1'); model.study('std1').feature.create(time_i, 'Transient'); t_ini=t_in; t_fina=t_fin; model.param.set('t_initial', t_ini); model.param.set('t_final', t_fina); model.study('std1').feature(time_i).set('tlist', 'range(t_initial,60,t_final)'); model.sol(rep).feature.create('st2', 'StudyStep'); model.sol(rep).feature.create(v_i, 'Variables'); model.sol(rep).feature.create(t_i, 'Time'); model.sol(rep).feature(t_i).feature.create(fc_i, 'FullyCoupled'); model.sol(rep).feature(t_i).feature.create(d_i, 'Direct'); model.sol(rep).feature(t_i).feature.remove('fcDef'); model.sol(rep).feature('st2').name('Compile Equations: Time Dependent 1'); model.sol(rep).feature('st2').set('studystep', time_i); model.sol(rep).feature(v_i).set('control', time_i); model.sol(rep).feature(v_i).set('initmethod', 'sol'); model.sol(rep).feature(v_i).set('initsol', sol_i); model.sol(rep).feature(v_i).set('notsolmethod', 'sol'); model.sol(rep).feature(v_i).set('notsol', sol_i); model.sol(rep).feature(t_i).set('control', time_i); model.sol(rep).feature(t_i).set('tlist', 'range(t_initial,60,t_final)'); model.sol(rep).feature(t_i).set('maxorder', '2'); model.sol(rep).feature(t_i).set('estrat', 'exclude'); model.sol(rep).feature(t_i).feature(fc_i).set('maxiter', '5'); model.sol(rep).feature(t_i).feature(fc_i).set('jtech', 'once'); model.sol(rep).feature(t_i).feature(d_i).set('linsolver', 'pardiso'); model.sol(rep).runAll; end end model.save('C:\Users\Sherif\Desktop\Learning COMSOL 4.1\Model_2'); out = model;