function out = model % acoustic diode design for square lattice by changing hole radius % check.m % % Model exported on Apr 7 2017, 11:06 by COMSOL 5.0.0.243. import com.comsol.model.* %initial import com.comsol.model.util.* %initial model = ModelUtil.create('Model'); model.modelPath('C:\Users\KD35\Desktop'); model.modelNode.create('comp1'); model.geom.create('geom1', 3); model.mesh.create('mesh1', 'geom1'); model.physics.create('solid', 'SolidMechanics', 'geom1'); model.mesh('mesh1').run; model.study.create('std1'); model.study('std1').create('freq', 'Frequency'); model.geom('geom1').lengthUnit('um'); %unit r1=40;r2=100;r3=100;random=100*rand;x=0.5;y=0.5;a=300;h=50; %matlab parameter model.param.set('unitcell_length', a); %comsol parameter model.param.set('radius1', r1); model.param.set('radius2', r2); model.param.set('radius3', r3); %?³ç«¯?“æ? model.param.set('xcoor', x); model.param.set('ycoor', y); model.param.set('hight', h); model.param.set('rho_s', '8000[kg/m^3]'); model.param.set('E_s', '193[GPa]'); model.param.set('nu_s', '0.29'); model.param.set('randomradius', 'random'); %?¨æ??Šå? %% building model model.geom('geom1').create('blk1', 'Block'); model.geom('geom1').feature('blk1').set('size', {'15*unitcell_length' '10*unitcell_length' 'hight'}); model.geom('geom1').feature('blk1').set('pos', {'0' '0' '0'}); model.geom('geom1').create('blk2', 'Block'); model.geom('geom1').feature('blk2').set('size', {'20*unitcell_length' '10*unitcell_length' 'hight'}); model.geom('geom1').feature('blk2').set('pos', {'15*unitcell_length' '0' '0'}); model.geom('geom1').create('blk3', 'Block'); model.geom('geom1').feature('blk3').set('size', {'20*unitcell_length' '10*unitcell_length' 'hight'}); model.geom('geom1').feature('blk3').set('pos', {'-20*unitcell_length' '0' '0'}); model.geom('geom1').feature('blk3').set('layerleft', 'on'); model.geom('geom1').feature('blk3').setIndex('layer', '5*unitcell_length', 1); model.geom('geom1').feature('blk2').set('layerright', 'on'); model.geom('geom1').feature('blk2').setIndex('layer', '5*unitcell_length', 1); model.geom('geom1').feature('blk3').set('layerbottom', 'off'); model.geom('geom1').feature('blk2').set('layerbottom', 'off'); for i=1:10 cly=num2str(i); model.geom('geom1').create('cly', 'Cylinder'); model.geom('geom1').feature('cly').set('pos', {'(0.5+i)*unitcell_length' '0.5*unitcell_length' '0'}); model.geom('geom1').feature('cly').set('r', 'radius3'); model.geom('geom1').feature('cly').set('h', 'hight'); end model.geom('geom1').run; %launch %% material property model.material.create('mat1', 'Common', 'comp1'); model.material('mat1').propertyGroup('def').set('youngsmodulus', {'E_s'}); model.material('mat1').propertyGroup('def').set('poissonsratio', {'nu_s'}); model.material('mat1').propertyGroup('def').set('density', {'rho_s'}); out = model;