function out = model % % Try.m % % Model exported on Aug 28 2010, 16:24 by COMSOL 4.0.0.993. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('C:\Users\Kyo\Desktop\Cloaking'); model.name('Try2.mph'); model.param.set('kx', '0.0', 'Kx Vector'); model.param.set('ky', '0.2', 'Ky Vector'); model.param.set('C_m', '1.49[km/s]', 'Longitudinal Velocity of Matrix_Water'); model.param.set('Rho_m', '1[g/cm^3]', 'Density of Matrix'); model.param.set('Cl_e', '6.01[km/s]', 'Longitudinal Velocity of Embedded Scatterers_Steel'); model.param.set('Ct_e', '3.23[km/s]', 'Transverse Velocity of Embedded Scatterers_Steel'); model.param.set('Rho_e', '7.67[g/cm^3]', 'Density of Embedded Scatterers_Steel'); model.param.set('E_e', '(Cl_e^2*(1+Nu_e)*(1-2*Nu_e)*Rho_e)/(1-Nu_e)', 'Young''s Modulus of Embedded Scatterers_Steel'); model.param.set('Nu_e', '(Cl_e^2-2*Ct_e^2)/(2*(Cl_e^2-Ct_e^2))', 'Poisson''s Ratio of Embedded Scatterers_Steel'); model.modelNode.create('mod1'); model.geom.create('geom1', 2); model.geom('geom1').feature.create('sq1', 'Square'); model.geom('geom1').feature.create('c1', 'Circle'); model.geom('geom1').feature('c1').set('pos', {'0.5' '0.5'}); model.geom('geom1').feature('c1').set('r', '0.3568'); model.geom('geom1').run; model.material.create('mat1'); model.material('mat1').materialModel.create('Enu', 'Young''s modulus and Poisson''s ratio'); model.material('mat1').materialModel.create('Murnaghan', 'Murnaghan'); model.material('mat1').materialModel.create('Lame', ['Lam' native2unicode(hex2dec('00e9'), 'Cp1252') ' constants']); model.material('mat1').materialModel.create('NeoHookean', 'Neo-Hookean'); model.material('mat1').selection.set([2]); model.material.create('mat2'); model.material('mat2').materialModel('def').func.create('eta', 'Piecewise'); model.material('mat2').materialModel('def').func.create('Cp', 'Piecewise'); model.material('mat2').materialModel('def').func.create('rho', 'Piecewise'); model.material('mat2').materialModel('def').func.create('k', 'Piecewise'); model.material('mat2').materialModel('def').func.create('cs', 'Interpolation'); model.material('mat2').selection.set([1]); model.physics.create('solid', 'SolidMechanics', 'geom1'); model.physics('solid').feature.create('bndl1', 'BoundaryLoad', 1); model.physics('solid').feature('bndl1').selection.set([5 6 7 8]); model.physics('solid').selection.set([2]); model.physics.create('acpr', 'PressureAcoustics', 'geom1'); model.physics('acpr').feature.create('nacc1', 'NormalAcceleration', 1); model.physics('acpr').feature('nacc1').selection.set([5 6 7 8]); model.physics('acpr').feature.create('constr1', 'PointwiseConstraint', 1); model.physics('acpr').feature('constr1').selection.set([4]); model.physics('acpr').feature.create('constr2', 'PointwiseConstraint', 1); model.physics('acpr').feature('constr2').selection.set([3]); model.physics('acpr').selection.set([1]); model.mesh.create('mesh1', 'geom1'); model.mesh('mesh1').feature.create('fq1', 'FreeQuad'); model.cpl.create('bndsim1', 'BoundarySimilarity', 'geom1'); model.cpl('bndsim1').selection.set([1]); model.cpl.create('bndsim2', 'BoundarySimilarity', 'geom1'); model.cpl('bndsim2').selection.set([2]); model.view('view1').axis.set('xmin', '-0.26217672413793097'); model.view('view1').axis.set('xmax', '1.262176724137931'); model.view('view1').axis.set('ymin', '-0.07501862709598346'); model.view('view1').axis.set('ymax', '1.0750186270959834'); model.view('view1').axis.set('xextra', {}); model.view('view1').axis.set('yextra', {}); model.material('mat1').name('Aluminum'); model.material('mat1').materialModel('def').set('relpermeability', {'1' '0' '0' '0' '1' '0' '0' '0' '1'}); model.material('mat1').materialModel('def').set('heatcapacity', '900[J/(kg*K)]'); model.material('mat1').materialModel('def').set('thermalconductivity', {'160[W/(m*K)]' '0' '0' '0' '160[W/(m*K)]' '0' '0' '0' '160[W/(m*K)]'}); model.material('mat1').materialModel('def').set('electricconductivity', {'3.774e7[S/m]' '0' '0' '0' '3.774e7[S/m]' '0' '0' '0' '3.774e7[S/m]'}); model.material('mat1').materialModel('def').set('relpermittivity', {'1' '0' '0' '0' '1' '0' '0' '0' '1'}); model.material('mat1').materialModel('def').set('thermalexpansioncoefficient', {'23e-6[1/K]' '0' '0' '0' '23e-6[1/K]' '0' '0' '0' '23e-6[1/K]'}); model.material('mat1').materialModel('def').set('density', '2700[kg/m^3]'); model.material('mat1').materialModel('Enu').set('youngsmodulus', '70e9[Pa]'); model.material('mat1').materialModel('Enu').set('poissonsratio', '0.33'); model.material('mat1').materialModel('Murnaghan').set('l', '-2.5e11[Pa]'); model.material('mat1').materialModel('Murnaghan').set('m', '-3.3e11[Pa]'); model.material('mat1').materialModel('Murnaghan').set('n', '-3.5e11[Pa]'); model.material('mat1').materialModel('Murnaghan').set('lambLame', '5.1e10[Pa]'); model.material('mat1').materialModel('Murnaghan').set('muLame', '2.6e10[Pa]'); model.material('mat1').materialModel('Lame').set('lambLame', '5.1e10[Pa]'); model.material('mat1').materialModel('Lame').set('muLame', '2.6e10[Pa]'); model.material('mat1').materialModel('NeoHookean').set('mu', '2.6e10[Pa]'); model.material('mat1').materialModel('NeoHookean').set('lambda', '5.1e10[Pa]'); model.material('mat2').name('Water, liquid'); model.material('mat2').materialModel('def').func('eta').set('arg', 'T'); model.material('mat2').materialModel('def').func('eta').set('pieces', {'273.15' '413.15' '1.3799566804-0.021224019151*T^1+1.3604562827E-4*T^2-4.6454090319E-7*T^3+8.9042735735E-10*T^4-9.0790692686E-13*T^5+3.8457331488E-16*T^6'; '413.15' '553.75' '0.00401235783-2.10746715E-5*T^1+3.85772275E-8*T^2-2.39730284E-11*T^3'}); model.material('mat2').materialModel('def').func('Cp').set('arg', 'T'); model.material('mat2').materialModel('def').func('Cp').set('pieces', {'273.15' '553.75' '12010.1471-80.4072879*T^1+0.309866854*T^2-5.38186884E-4*T^3+3.62536437E-7*T^4'}); model.material('mat2').materialModel('def').func('rho').set('arg', 'T'); model.material('mat2').materialModel('def').func('rho').set('pieces', {'273.15' '553.75' '838.466135+1.40050603*T^1-0.0030112376*T^2+3.71822313E-7*T^3'}); model.material('mat2').materialModel('def').func('k').set('arg', 'T'); model.material('mat2').materialModel('def').func('k').set('pieces', {'273.15' '553.75' '-0.869083936+0.00894880345*T^1-1.58366345E-5*T^2+7.97543259E-9*T^3'}); model.material('mat2').materialModel('def').func('cs').set('table', {'273' '1403'; '278' '1427'; '283' '1447'; '293' '1481'; '303' '1507'; '313' '1526'; '323' '1541'; '333' '1552'; '343' '1555'; '353' '1555'; '363' '1550'; '373' '1543'}); model.material('mat2').materialModel('def').func('cs').set('interp', 'piecewisecubic'); model.material('mat2').materialModel('def').set('dynamicviscosity', 'eta(T[1/K])[Pa*s]'); model.material('mat2').materialModel('def').set('ratioofspecificheat', '1.0'); model.material('mat2').materialModel('def').set('electricconductivity', {'5.5e-6[S/m]' '0' '0' '0' '5.5e-6[S/m]' '0' '0' '0' '5.5e-6[S/m]'}); model.material('mat2').materialModel('def').set('heatcapacity', 'Cp(T[1/K])[J/(kg*K)]'); model.material('mat2').materialModel('def').set('density', 'rho(T[1/K])[kg/m^3]'); model.material('mat2').materialModel('def').set('thermalconductivity', {'k(T[1/K])[W/(m*K)]' '0' '0' '0' 'k(T[1/K])[W/(m*K)]' '0' '0' '0' 'k(T[1/K])[W/(m*K)]'}); model.material('mat2').materialModel('def').set('soundspeed', 'cs(T[1/K])[m/s]'); model.material('mat2').materialModel('def').addInput('temperature'); model.physics('solid').feature('lemm1').set('E_mat', 'userdef'); model.physics('solid').feature('lemm1').set('E', 'E_e'); model.physics('solid').feature('lemm1').set('nu_mat', 'userdef'); model.physics('solid').feature('lemm1').set('nu', 'Nu_e'); model.physics('solid').feature('lemm1').set('rho_mat', 'userdef'); model.physics('solid').feature('lemm1').set('rho', 'Rho_e'); model.physics('solid').feature('bndl1').set('FperArea_src', 'root.mod1.acpr.FAcoPerAreax'); model.physics('solid').feature('bndl1').set('FperArea', {'acpr.nx*p'; 'acpr.ny*p'; '0'}); model.physics('acpr').prop('ReferencePressure').set('ReferenceType', 'ReferencePressureWater'); model.physics('acpr').feature('pam1').set('rho_mat', 'userdef'); model.physics('acpr').feature('pam1').set('rho', 'Rho_m'); model.physics('acpr').feature('pam1').set('c_mat', 'userdef'); model.physics('acpr').feature('pam1').set('c', 'C_m'); model.physics('acpr').feature('nacc1').set('acc_src', 'root.mod1.solid.u_ttX'); model.physics('acpr').feature('nacc1').set('nacc', '-acpr.nx*solid.u_ttX-acpr.ny*solid.u_ttY-acpr.nz*solid.u_ttZ'); model.physics('acpr').feature('nacc1').set('Type', 'acc'); model.physics('acpr').feature('constr1').set('constraintType', 'userDefined'); model.physics('acpr').feature('constr1').set('constraintExpression', 'bndsim1(p)*exp(i*kx*2*pi)-p'); model.physics('acpr').feature('constr1').set('constraintForce', 'test(bndsim1(p)-p*exp(i*kx*2*pi))'); model.physics('acpr').feature('constr2').set('constraintType', 'userDefined'); model.physics('acpr').feature('constr2').set('constraintExpression', 'bndsim2(p)*exp(i*ky*2*pi)-p'); model.physics('acpr').feature('constr2').set('constraintForce', 'test(bndsim2(p)-p*exp(i*ky*2*pi))'); model.mesh('mesh1').feature('size').set('hmax', '0.05'); model.mesh('mesh1').feature('size').set('hauto', '4'); model.mesh('mesh1').feature('size').set('hmax', '0.05'); model.mesh('mesh1').run; model.cpl('bndsim1').selection('destination').geom('geom1', 1); model.cpl('bndsim1').selection('destination').set([4]); model.cpl('bndsim2').selection('destination').geom('geom1', 1); model.cpl('bndsim2').selection('destination').set([3]); model.study.create('std1'); model.study('std1').feature.create('param', 'Parametric'); model.study('std1').feature.create('eig', 'Eigenfrequency'); model.sol.create('sol1'); model.sol('sol1').attach('std1'); model.sol.create('sol2'); model.sol('sol1').feature.create('st1', 'StudyStep'); model.sol('sol1').feature.create('v1', 'Variables'); model.sol('sol1').feature.create('e1', 'Eigenvalue'); model.batch.create('p1', 'Parametric'); model.batch('p1').feature.create('so1', 'Solutionseq'); model.result.dataset.remove('dset3'); model.result.dataset.remove('dset4'); model.result.dataset.remove('dset5'); model.result.dataset.remove('dset6'); model.result.create('pg1', 2); model.result('pg1').feature.create('surf1', 'Surface'); model.study('std1').feature('param').set('pname', {'kx' 'ky'}); model.study('std1').feature('param').set('plist', '0 0.1 0 0.2'); model.study('std1').feature('param').set('loadparameters', 'C:\Users\Kyo\Desktop\para.txt'); model.study('std1').feature('eig').set('neigs', '20'); model.study('std1').feature('eig').set('shift', '2000'); model.sol('sol1').feature('st1').name('Compile Equations: Eigenfrequency'); model.sol('sol1').feature('st1').set('studystep', 'eig'); model.sol('sol1').feature('e1').set('neigs', '20'); model.sol('sol1').feature('e1').set('transform', 'eigenfrequency'); model.sol('sol1').feature('e1').set('shift', '2000'); model.sol('sol1').feature('e1').set('eigref', '100'); model.sol('sol1').feature('e1').feature('aDef').set('complexfun', true); model.sol('sol1').runAll; model.batch('p1').set('pname', {'kx' 'ky'}); model.batch('p1').set('plist', '0 0.1 0 0.2'); model.batch('p1').set('err', true); model.batch('p1').feature('so1').set('seq', 'sol1'); model.batch('p1').feature('so1').set('store', 'on'); model.batch('p1').feature('so1').set('psol', 'sol2'); model.batch('p1').feature('so1').set('param', {'"kx","0","ky","0.1"' '"kx","0","ky","0.2"'}); model.batch('p1').attach('std1'); model.batch('p1').run; model.result('pg1').set('data', 'dset2'); model.result('pg1').set('outersolnum', '2'); out = model;