function out = model % % Hetero_Phased_Array.m % % Model exported on Aug 6 2013, 22:31 by COMSOL 4.3.0.151. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('\\ad\eng\users\f\t\fteng\Desktop'); model.name('Hetero_Phased_Array.mph'); model.param.set('mua_tissue', '0.009[1/mm]', 'absorp coeff. in tissue'); model.param.set('mus_tissue', '1[1/mm]', 'scatter coeff. in tissue'); model.param.set('mua_tumor', '0.015[1/mm]', 'absorp coeff. in tumor'); model.param.set('mus_tumor', '1.5[1/mm]', 'scatter coeff. in tumor'); model.param.set('c_tissue', 'c/n_tissue', 'speed of light in tissue'); model.param.set('c', '3e11[mm/s]'); model.param.set('n_tissue', '1.4', 'refractive index of tissue'); model.param.set('q', '0.1698', 'problem 1'); model.param.set('W_ph', '15[cm]', 'width'); model.param.set('H_ph', '10[cm]', 'height'); model.param.set('disp', '5[mm]', 'displacement'); model.param.set('freq', '50[MHz]', 'modulation freq'); model.param.set('cordint_disp', '0[cm]', 'displacement of coordinate'); model.param.set('D_coeff_tissue', '1/(3*(mua_tissue+mus_tissue))', 'tissue diffusion coeff'); model.param.set('A_coeff_tissue', 'mua_tissue+i*2*pi*freq/c_tissue', 'tissue absorption coeff'); model.param.set('D_coeff_tumor', '1/(3*(mua_tumor+mus_tumor))', 'tumor diffusion coeff'); model.param.set('A_coeff_tumor', 'mua_tumor+i*2*pi*freq/c_tumor', 'tumor absorption coeff'); model.param.set('phase_diff', '180[degree]', 'phase difference'); model.param.set('amp_ratio', '1', 'amp ratio between sources'); model.param.set('radius_tumor', '1.72[cm]', 'radius of tumor'); model.param.set('c_tumor', 'c_tissue', 'speed of light in tumor'); model.param.set('depth_tumor', '2.5[cm]', 'depth of tumor'); model.modelNode.create('mod1'); model.geom.create('geom1', 2); model.geom('geom1').lengthUnit('cm'); model.geom('geom1').feature.create('r1', 'Rectangle'); model.geom('geom1').feature.create('c1', 'Circle'); model.geom('geom1').feature.create('pt1', 'Point'); model.geom('geom1').feature.create('pt2', 'Point'); model.geom('geom1').feature.create('pt4', 'Point'); model.geom('geom1').feature.create('pt5', 'Point'); model.geom('geom1').feature.create('pt6', 'Point'); model.geom('geom1').feature.create('pt7', 'Point'); model.geom('geom1').feature('r1').set('size', {'W_ph' 'H_ph'}); model.geom('geom1').feature('c1').set('pos', {'cordint_disp+W_ph/2' 'H_ph-depth_tumor-radius_tumor'}); model.geom('geom1').feature('c1').set('r', 'radius_tumor'); model.geom('geom1').feature('pt1').name('S1'); model.geom('geom1').feature('pt1').set('p', {'W_ph/2-2.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').feature('pt2').name('S2'); model.geom('geom1').feature('pt2').set('p', {'W_ph/2-1.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').feature('pt4').name('S3'); model.geom('geom1').feature('pt4').set('p', {'W_ph/2-0.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').feature('pt5').name('S4'); model.geom('geom1').feature('pt5').set('p', {'W_ph/2+0.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').feature('pt6').name('S5'); model.geom('geom1').feature('pt6').set('p', {'W_ph/2+1.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').feature('pt7').name('S6'); model.geom('geom1').feature('pt7').set('p', {'W_ph/2+2.5*disp'; 'H_ph-1/(mua_tissue+mus_tissue)'}); model.geom('geom1').run; model.physics.create('hzeq', 'HelmholtzEquation', 'geom1'); model.physics('hzeq').feature.create('flux1', 'FluxBoundary', 1); model.physics('hzeq').feature('flux1').selection.set([1 2 3 4]); model.physics('hzeq').feature.create('weak1', 'WeakContribution', 0); model.physics('hzeq').feature('weak1').selection.set([3]); model.physics('hzeq').feature.create('weak2', 'WeakContribution', 0); model.physics('hzeq').feature('weak2').selection.set([5]); model.physics('hzeq').feature.create('heq2', 'HelmholtzEquation', 2); model.physics('hzeq').feature('heq2').selection.set([2]); model.physics('hzeq').feature.create('weak3', 'WeakContribution', 0); model.physics('hzeq').feature('weak3').selection.set([6]); model.physics('hzeq').feature.create('weak4', 'WeakContribution', 0); model.physics('hzeq').feature('weak4').selection.set([9]); model.physics('hzeq').feature.create('weak5', 'WeakContribution', 0); model.physics('hzeq').feature('weak5').selection.set([10]); model.physics('hzeq').feature.create('weak6', 'WeakContribution', 0); model.physics('hzeq').feature('weak6').selection.set([12]); model.mesh.create('mesh1', 'geom1'); model.mesh('mesh1').feature.create('ftri1', 'FreeTri'); model.mesh('mesh1').feature('ftri1').feature.create('size1', 'Size'); model.mesh('mesh1').feature('ftri1').feature('size1').selection.geom('geom1', 1); model.mesh('mesh1').feature('ftri1').feature('size1').selection.set([2]); model.view('view1').set('showlabels', true); model.view('view1').axis.set('xmin', '-1.6782312393188477'); model.view('view1').axis.set('xmax', '16.678234100341797'); model.view('view1').axis.set('ymin', '-0.841489315032959'); model.view('view1').axis.set('ymax', '10.841489791870117'); model.physics('hzeq').feature('heq1').set('c', {'D_coeff_tissue' '0' '0' 'D_coeff_tissue'}); model.physics('hzeq').feature('heq1').set('a', 'A_coeff_tissue'); model.physics('hzeq').feature('heq1').set('f', '0'); model.physics('hzeq').feature('flux1').set('q', 'q'); model.physics('hzeq').feature('weak1').set('weakExpression', 'test(u)*exp(i*phase_diff)'); model.physics('hzeq').feature('weak1').name('S1'); model.physics('hzeq').feature('weak2').set('weakExpression', 'test(u)*exp(i*2*phase_diff)'); model.physics('hzeq').feature('weak2').name('S2'); model.physics('hzeq').feature('heq2').set('c', {'D_coeff_tumor' '0' '0' 'D_coeff_tumor'}); model.physics('hzeq').feature('heq2').set('a', 'A_coeff_tumor'); model.physics('hzeq').feature('heq2').set('f', '0'); model.physics('hzeq').feature('weak3').selection.active(false); model.physics('hzeq').feature('weak3').set('weakExpression', 'test(u)*exp(i*3*phase_diff)'); model.physics('hzeq').feature('weak3').active(false); model.physics('hzeq').feature('weak3').name('S3'); model.physics('hzeq').feature('weak4').selection.active(false); model.physics('hzeq').feature('weak4').set('weakExpression', 'test(u)*exp(i*4*phase_diff)'); model.physics('hzeq').feature('weak4').active(false); model.physics('hzeq').feature('weak4').name('S4'); model.physics('hzeq').feature('weak5').selection.active(false); model.physics('hzeq').feature('weak5').set('weakExpression', 'test(u)*exp(i*5*phase_diff)'); model.physics('hzeq').feature('weak5').active(false); model.physics('hzeq').feature('weak5').name('S5'); model.physics('hzeq').feature('weak6').selection.active(false); model.physics('hzeq').feature('weak6').set('weakExpression', 'test(u)*exp(i*6*phase_diff)'); model.physics('hzeq').feature('weak6').active(false); model.physics('hzeq').feature('weak6').name('S6'); model.mesh('mesh1').feature('size').set('hauto', 1); model.mesh('mesh1').feature('ftri1').feature('size1').set('hmax', '0.02'); model.mesh('mesh1').feature('ftri1').feature('size1').set('hminactive', false); model.mesh('mesh1').feature('ftri1').feature('size1').set('hcurveactive', false); model.mesh('mesh1').feature('ftri1').feature('size1').set('hnarrowactive', false); model.mesh('mesh1').feature('ftri1').feature('size1').set('hgradactive', false); model.mesh('mesh1').run; model.study.create('std1'); model.study('std1').feature.create('stat', 'Stationary'); model.sol.create('sol1'); model.sol('sol1').study('std1'); model.sol('sol1').attach('std1'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature.create('s1', 'Stationary'); model.sol('sol1').feature('s1').feature.create('fc1', 'FullyCoupled'); model.sol('sol1').feature('s1').feature.remove('fcDef'); model.result.dataset.create('cln1', 'CutLine2D'); model.result.create('pg1', 'PlotGroup2D'); model.result('pg1').feature.create('surf1', 'Surface'); model.result.create('pg2', 'PlotGroup1D'); model.result('pg2').set('probetag', 'none'); model.result('pg2').feature.create('lngr1', 'LineGraph'); model.sol('sol1').attach('std1'); model.sol('sol1').feature('st1').name('Compile Equations: Stationary {stat}'); model.sol('sol1').feature('st1').set('studystep', 'stat'); model.sol('sol1').feature('v1').set('control', 'stat'); model.sol('sol1').feature('s1').set('control', 'stat'); model.result.dataset('cln1').set('method', 'pointdir'); model.result('pg1').feature('surf1').set('expr', '10*log10(abs(u))'); model.result('pg1').feature('surf1').set('unit', ''); model.result('pg1').feature('surf1').set('descr', '10*log10(abs(u))'); model.result('pg2').set('data', 'cln1'); model.result('pg2').set('xlabel', 'Arc length'); model.result('pg2').set('ylabel', '10*log10(abs(u))'); model.result('pg2').set('xlabelactive', false); model.result('pg2').set('ylabelactive', false); model.result('pg2').feature('lngr1').set('expr', '10*log10(abs(u))'); model.result('pg2').feature('lngr1').set('unit', ''); model.result('pg2').feature('lngr1').set('descr', '10*log10(abs(u))'); model.sol('sol1').runAll; mphplot(model,'pg1','rangenum',1); out = model;