function out = model % % Test_2D_Beam_Deflection_Analysis_A.m % % Model exported on May 3 2011, 17:19 by COMSOL 4.1.0.185. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('C:\users\ms329\LabWorks\Soft Tissue Simulation\Biopsy\NeedleFEA'); model.name('Test_2D_Beam_Deflection_Analysis_A.mph'); model.param.set('Fy', '-100 [N]'); model.modelNode.create('mod1'); model.geom.create('geom1', 2); model.geom('geom1').feature.create('r1', 'Rectangle'); model.geom('geom1').feature('r1').set('pos', {'0' '-0.05'}); model.geom('geom1').feature('r1').set('size', {'1' '0.1'}); model.geom('geom1').run; mphgeom(model,'geom1'); model.view.create('view2', 3); model.material.create('mat1'); model.material('mat1').materialModel.create('Enu', 'Young''s modulus and Poisson''s ratio'); model.material('mat1').materialModel.create('linzRes', 'Linearized resistivity'); model.physics.create('solid', 'SolidMechanics', 'geom1'); model.physics('solid').feature.create('pl1', 'PointLoad', 0); model.physics('solid').feature('pl1').selection.set([4]); model.physics('solid').feature.create('fix1', 'Fixed', 1); model.physics('solid').feature('fix1').selection.set([1]); model.mesh.create('mesh1', 'geom1'); model.mesh('mesh1').feature.create('ftri1', 'FreeTri'); model.mesh('mesh1').run; mphmesh(model,'mesh1'); model.view('view1').axis.set('xmin', '-0.4017021032550951'); model.view('view1').axis.set('xmax', '1.3980896237805467'); model.view('view1').axis.set('ymin', '-0.6827661781780956'); model.view('view1').axis.set('ymax', '0.6827661781780956'); model.view('view1').axis.set('xextra', {}); model.view('view1').axis.set('yextra', {}); model.material('mat1').name('Copper'); model.material('mat1').materialModel('def').set('relpermeability', {'1' '0' '0' '0' '1' '0' '0' '0' '1'}); model.material('mat1').materialModel('def').set('electricconductivity', {'5.998e7[S/m]' '0' '0' '0' '5.998e7[S/m]' '0' '0' '0' '5.998e7[S/m]'}); model.material('mat1').materialModel('def').set('thermalexpansioncoefficient', {'17e-6[1/K]' '0' '0' '0' '17e-6[1/K]' '0' '0' '0' '17e-6[1/K]'}); model.material('mat1').materialModel('def').set('heatcapacity', '385[J/(kg*K)]'); model.material('mat1').materialModel('def').set('relpermittivity', {'1' '0' '0' '0' '1' '0' '0' '0' '1'}); model.material('mat1').materialModel('def').set('density', '8700[kg/m^3]'); model.material('mat1').materialModel('def').set('thermalconductivity', {'400[W/(m*K)]' '0' '0' '0' '400[W/(m*K)]' '0' '0' '0' '400[W/(m*K)]'}); model.material('mat1').materialModel('Enu').set('youngsmodulus', '110e9[Pa]'); model.material('mat1').materialModel('Enu').set('poissonsratio', '0.35'); model.material('mat1').materialModel('linzRes').set('rho0', '1.72e-8[ohm*m]'); model.material('mat1').materialModel('linzRes').set('alpha', '0.0039[1/K]'); model.material('mat1').materialModel('linzRes').set('Tref', '298[K]'); model.material('mat1').materialModel('linzRes').addInput('temperature'); model.physics('solid').prop('d').set('d', '0.01'); model.physics('solid').prop('AddMixedFormPressure').set('AddMixedFormPressure', '1'); model.physics('solid').feature('pl1').set('Fp', {'0'; 'Fy'; '0'}); model.probe.create('pdom1', 'DomainPoint'); model.probe('pdom1').model('mod1'); % model.probe('pdom1').set('coords2', {'1' '0'}); model.probe('pdom1').setIndex('coords2', '1', 0, 0); model.probe('pdom1').setIndex('coords2', '0', 0, 1); model.probe('pdom1').feature('ppb1').set('probename', 'disp_probe'); model.probe('pdom1').feature('ppb1').set('expr', 'solid.disp'); 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.table.create('tbl1', 'Table'); model.result.create('pg1', 'PlotGroup2D'); model.result('pg1').feature.create('surf1', 'Surface'); model.result('pg1').feature('surf1').feature.create('def1', 'Deform'); model.sol('sol1').feature('st1').name('Compile Equations: Stationary'); model.sol('sol1').feature('st1').set('studystep', 'stat'); model.sol('sol1').runAll; model.result.table('tbl1').name('Probe Table 1'); model.result('pg1').set('title', 'Surface: Total displacement (m) Surface Deformation: Displacement field '); model.result('pg1').set('titleactive', false); model.result('pg1').feature('surf1').set('data', 'dset1'); mphplot(model,'pg1'); % Extract matrix data M = mphstate(model,'sol1','out',{'MA' 'MB' 'C' 'D'},... 'input','Fp', 'output', 'mod1.ppb1'); out = model;