function out = model % % axisymmetric_PML.m % % Model exported on Oct 8 2011, 15:50 by COMSOL 4.0.0.993. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('C:\Users\linjiao\slit\plasmon lens'); model.modelNode.create('mod1'); model.geom.create('geom1', 2); model.geom('geom1').axisymmetric(true); model.mesh.create('mesh1', 'geom1'); model.physics.create('emw', 'ElectromagneticWaves', 'geom1'); model.study.create('std1'); model.study('std1').feature.create('freq', 'Frequency'); model.geom('geom1').lengthUnit('nm'); model.geom('geom1').run; model.geom('geom1').feature.create('r1', 'Rectangle'); model.geom('geom1').feature('r1').setIndex('size', '8000', 0); model.geom('geom1').feature('r1').setIndex('size', '1000', 1); model.geom('geom1').run('r1'); model.geom('geom1').run('r1'); model.geom('geom1').feature.create('r2', 'Rectangle'); model.geom('geom1').feature('r2').setIndex('size', '8000', 0); model.geom('geom1').feature('r2').setIndex('size', '1000', 1); model.geom('geom1').feature('r2').setIndex('pos', '-5000', 1); model.geom('geom1').run('r2'); model.view('view1').axis.set('manualgrid', 'on'); model.view('view1').axis.set('xspacing', '100'); model.view('view1').axis.set('yspacing', '100'); model.geom('geom1').feature.create('r3', 'Rectangle'); model.geom('geom1').feature('r3').set('base', 'corner'); model.geom('geom1').feature('r3').set('pos', {'7000' '-5000'}); model.geom('geom1').feature('r3').set('lx', '1000'); model.geom('geom1').feature('r3').set('ly', '5900'); model.geom('geom1').run('r3'); model.geom('geom1').feature('r3').setIndex('size', '6000', 1); model.geom('geom1').run('r3'); model.geom('geom1').feature.create('r4', 'Rectangle'); model.geom('geom1').feature('r4').set('base', 'corner'); model.geom('geom1').feature('r4').set('pos', {'0' '-4000'}); model.geom('geom1').feature('r4').set('lx', '7000'); model.geom('geom1').feature('r4').set('ly', '4000'); model.geom('geom1').run('r4'); model.geom('geom1').feature.create('r5', 'Rectangle'); model.geom('geom1').feature('r5').set('base', 'corner'); model.geom('geom1').feature('r5').set('pos', {'0' '-1800'}); model.geom('geom1').feature('r5').set('lx', '8000'); model.geom('geom1').feature('r5').set('ly', '300'); model.geom('geom1').run('r5'); model.geom('geom1').run; model.material.create('mat1'); model.material.create('mat2'); model.material('mat1').materialModel('def').set('electricconductivity', {'0'}); model.material('mat1').materialModel('def').set('relpermittivity', {'1'}); model.material('mat1').materialModel('def').set('relpermeability', {'1'}); model.material('mat2').selection.set([3 8]); model.material('mat2').materialModel('def').set('electricconductivity', {'0'}); model.material('mat2').materialModel('def').set('relpermittivity', {'-10.1786-i*0.8238'}); model.material('mat2').materialModel('def').set('relpermeability', {'1'}); model.physics('emw').feature.create('pml1', 'PML', 2); model.physics('emw').feature('pml1').selection.set([1 5 6 7 8 9 10]); model.physics('emw').feature('pml1').set('ScalingType', 1, 'Cylindrical'); model.physics('emw').feature.create('efbc1', 'ElectricField', 1); model.physics('emw').feature('efbc1').set('E0', {'1' '0' '0'}); model.physics('emw').feature('efbc1').selection.set([4]); model.mesh('mesh1').feature.create('ftri1', 'FreeTri'); model.mesh('mesh1').feature('size').set('custom', 'on'); model.mesh('mesh1').feature('size').set('hmax', '40'); model.mesh('mesh1').run; model.study('std1').feature('freq').set('plist', '3e8/532e-9'); model.sol.create('sol1'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature('st1').set('study', 'std1'); model.sol('sol1').feature('st1').set('studystep', 'freq'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature.create('s1', 'Stationary'); model.sol('sol1').feature('s1').set('nonlin', 'linearized'); model.sol('sol1').feature('s1').feature.create('p1', 'Parametric'); model.sol('sol1').feature('s1').feature('p1').set('pname', 'freq'); model.sol('sol1').feature('s1').feature('p1').set('plist', '3e8/532e-9'); model.sol('sol1').feature('s1').feature('p1').set('plot', 'off'); model.sol('sol1').feature('s1').feature('p1').set('probesel', 'all'); model.sol('sol1').feature('s1').feature('p1').set('probes', {}); model.sol('sol1').feature('s1').feature('aDef').set('complexfun', true); model.sol('sol1').feature('s1').feature.create('fc1', 'FullyCoupled'); model.sol('sol1').feature('s1').feature.remove('fcDef'); model.sol('sol1').attach('std1'); model.result.create('pg1', 2); model.result('pg1').set('data', 'dset1'); model.result('pg1').feature.create('surf1', 'Surface'); model.sol('sol1').runAll; model.result('pg1').run; model.material('mat1').selection.set([1 2 4 5 6 7 9 10]); model.sol('sol1').clearSolution; model.sol('sol1').feature.remove('s1'); model.sol('sol1').feature.remove('v1'); model.sol('sol1').feature.remove('st1'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature('st1').set('study', 'std1'); model.sol('sol1').feature('st1').set('studystep', 'freq'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature.create('s1', 'Stationary'); model.sol('sol1').feature('s1').set('nonlin', 'linearized'); model.sol('sol1').feature('s1').feature.create('p1', 'Parametric'); model.sol('sol1').feature('s1').feature('p1').set('pname', 'freq'); model.sol('sol1').feature('s1').feature('p1').set('plist', '3e8/532e-9'); model.sol('sol1').feature('s1').feature('p1').set('plot', 'off'); model.sol('sol1').feature('s1').feature('p1').set('plotgroup', 'pg1'); model.sol('sol1').feature('s1').feature('p1').set('probesel', 'all'); model.sol('sol1').feature('s1').feature('p1').set('probes', {}); model.sol('sol1').feature('s1').feature('aDef').set('complexfun', true); model.sol('sol1').feature('s1').feature.create('fc1', 'FullyCoupled'); model.sol('sol1').feature('s1').feature.remove('fcDef'); model.sol('sol1').attach('std1'); model.sol('sol1').runAll; model.result('pg1').run; out = model;