function out = model % % MinimalModel_6_28_13.m % % Model exported on Jun 28 2013, 14:51 by COMSOL 4.3.1.161. import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.modelPath('/home/e/Desktop'); model.name('ConvergingModelMinimal-6-28-13.mph'); model.param.set('R', '0.17 [m]', 'radius'); model.param.set('height', '0.01734[m^3]/(R^2*(1+ratioR+ratioR^2))', 'height'); model.param.set('rBeam', '0.0156 [m]', 'Gaussian beam size'); model.param.set('PressureCenter', 'TotalForce*(1/pi)*(rBeam^-2)*(1-e^(-R^2/rBeam^2))^-1', 'pressure at center of mirror face'); model.param.set('e', '2.71828182845904523536028747135266249775724709369995'); model.param.set('TotalForce', '1 [N]', 'Total force applied to the face of the mirror'); model.param.set('ratioR', '1', 'multiplier for the radius of the back mirror face'); model.modelNode.create('mod1'); model.geom.create('geom1', 3); model.geom('geom1').geomRep('comsol'); model.geom('geom1').feature.create('cone1', 'Cone'); model.geom('geom1').feature.create('cone2', 'Cone'); model.geom('geom1').feature.create('ic1', 'InterpolationCurve'); model.geom('geom1').feature('cone1').name('Mirror'); model.geom('geom1').feature('cone1').set('h', 'height'); model.geom('geom1').feature('cone1').set('rtop', 'R'); model.geom('geom1').feature('cone1').set('r', 'R*ratioR'); model.geom('geom1').feature('cone1').set('specifytop', 'radius'); model.geom('geom1').feature('cone2').name('Inner Region to Mesh'); model.geom('geom1').feature('cone2').set('h', 'height'); model.geom('geom1').feature('cone2').set('rtop', 'rBeam'); model.geom('geom1').feature('cone2').set('r', 'rBeam'); model.geom('geom1').feature('cone2').set('specifytop', 'radius'); model.geom('geom1').feature('ic1').set('table', {'0' '0' '0'; '0' '0' 'height'}); model.geom('geom1').run; model.material.create('mat1'); model.material('mat1').info.create('Composition'); model.material('mat1').propertyGroup('def').func.create('dL_solid_NIST_SRM_739_Type_I_1', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('CTE_solid_NIST_SRM_739_Type_I_1', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('k', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('res_solid_1', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('epsilon', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('alpha_solid_NIST_SRM_739_Type_I_1', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('C', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('HC', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('mu', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('sigma_solid_1', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('rho', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('TD', 'Piecewise'); model.material('mat1').propertyGroup('def').func.create('kappa', 'Piecewise'); model.material('mat1').propertyGroup.create('Enu', 'Young''s modulus and Poisson''s ratio'); model.material('mat1').propertyGroup('Enu').func.create('E', 'Piecewise'); model.material('mat1').propertyGroup('Enu').func.create('nu', 'Piecewise'); model.cpl.create('aveop1', 'Average', 'geom1'); model.cpl('aveop1').selection.set([2]); model.physics.create('solid', 'SolidMechanics', 'geom1'); model.physics('solid').feature.create('bndl1', 'BoundaryLoad', 2); model.physics('solid').feature('bndl1').selection.set([3 7]); model.physics('solid').feature('bndl1').feature.create('ph1', 'Phase', 2); model.physics('solid').feature.create('fix1', 'Fixed', 2); model.physics('solid').feature('fix1').selection.set([4 8]); model.physics('solid').feature.create('bl1', 'BodyLoad', 3); model.physics('solid').feature('bl1').selection.set([1 2]); model.physics('solid').feature.create('spf1', 'SpringFoundation2', 2); model.physics('solid').feature('spf1').selection.set([3 7]); model.physics('solid').feature.create('disp1', 'Displacement1', 1); model.physics('solid').feature('disp1').selection.set([17]); model.physics('solid').feature.create('disp2', 'Displacement1', 1); model.physics('solid').feature('disp2').selection.set([11 21]); model.physics('solid').feature.create('disp3', 'Displacement1', 1); model.physics('solid').feature('disp3').selection.set([1 25]); model.physics('solid').feature.create('wc1', 'WeakConstraint', 2); model.physics('solid').feature('wc1').selection.set([8]); model.physics('solid').feature.create('constr1', 'PointwiseConstraint', 3); model.physics('solid').feature('constr1').selection.set([2]); model.mesh.create('mesh1', 'geom1'); model.mesh('mesh1').feature.create('ftet1', 'FreeTet'); model.result.table.create('tbl1', 'Table'); model.coordSystem.create('sys2', 'geom1', 'Cylindrical'); model.material('mat1').name('Corning 7940 (fused silica) [solid,NIST SRM 739 - Type I]'); model.material('mat1').info('Composition').body('46.7 Si, 53.3 O (wt%)'); model.material('mat1').propertyGroup('def').func('dL_solid_NIST_SRM_739_Type_I_1').set('pieces', {'80.0' '1000.0' '9.433058E-5-1.712933E-6*T^1+7.374643E-9*T^2-1.113379E-11*T^3+8.078969E-15*T^4-2.330577E-18*T^5'}); model.material('mat1').propertyGroup('def').func('dL_solid_NIST_SRM_739_Type_I_1').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('CTE_solid_NIST_SRM_739_Type_I_1').set('pieces', {'80.0' '1000.0' '-1.712933E-6+1.474929E-8*T^1-3.340137E-11*T^2+3.231588E-14*T^3-1.165288E-17*T^4'}); model.material('mat1').propertyGroup('def').func('CTE_solid_NIST_SRM_739_Type_I_1').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('k').set('pieces', {'5.0' '280.0' '0.09229359+0.003299521*T^1+4.343238E-5*T^2-2.258807E-7*T^3+3.049078E-10*T^4'; '280.0' '1400.0' '-0.9854696+0.01820907*T^1-5.290512E-5*T^2+7.552525E-8*T^3-5.008123E-11*T^4+1.311324E-14*T^5'; '1400.0' '1473.0' '-1798.509+4.192721*T^1-0.003251176*T^2+8.408144E-7*T^3'}); model.material('mat1').propertyGroup('def').func('k').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('res_solid_1').set('pieces', {'293.0' '823.0' 'exp(102.5761-0.4185428*T^1+8.035453E-4*T^2-7.491946E-7*T^3+2.719273E-10*T^4)'}); model.material('mat1').propertyGroup('def').func('res_solid_1').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('epsilon').set('pieces', {'75.0' '312.0' '0.7243795+5.530512E-5*T^1'}); model.material('mat1').propertyGroup('def').func('epsilon').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('alpha_solid_NIST_SRM_739_Type_I_1').set('pieces', {'80.0' '1000.0' '-3.695793E-7+5.412844E-9*T^1-1.114924E-11*T^2+1.004725E-14*T^3-3.418476E-18*T^4'}); model.material('mat1').propertyGroup('def').func('alpha_solid_NIST_SRM_739_Type_I_1').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('C').set('pieces', {'20.0' '115.0' '-41.6562+3.449789*T^1-0.002681788*T^2'; '115.0' '925.0' '61.49405+1.926794*T^1+0.004463629*T^2-1.704271E-5*T^3+1.88109E-8*T^4-7.062466E-12*T^5'; '925.0' '2000.0' '890.2414+0.3707459*T^1-1.107604E-4*T^2+3.139437E-8*T^3'}); model.material('mat1').propertyGroup('def').func('C').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('HC').set('pieces', {'20.0' '115.0' '-2.195319+0.2035589*T^1-1.778359E-4*T^2'; '115.0' '925.0' '3.394744+0.1154128*T^1+2.697214E-4*T^2-1.027028E-6*T^3+1.133063E-9*T^4-4.253438E-13*T^5'; '925.0' '2000.0' '53.46386+0.02165728*T^1-6.251109E-6*T^2+1.800145E-9*T^3'}); model.material('mat1').propertyGroup('def').func('HC').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('mu').set('pieces', {'2.0' '170.0' '3.093791E10-2.513966E7*T^1+372325.4*T^2-2429.327*T^3+7.746996*T^4-0.009450154*T^5'; '170.0' '450.0' '3.087221E10-6676611.0*T^1+36600.0*T^2-35.83581*T^3'; '450.0' '1700.0' '2.914548E10+9388166.0*T^1-8173.552*T^2+3.504887*T^3-5.616985E-4*T^4'}); model.material('mat1').propertyGroup('def').func('mu').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('sigma_solid_1').set('pieces', {'293.0' '823.0' '1/(exp(2.719273E-10*T^4-7.491946E-07*T^3+8.035453E-04*T^2-4.185428E-01*T+1.025761E+02))'}); model.material('mat1').propertyGroup('def').func('sigma_solid_1').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('rho').set('pieces', {'80.0' '1000.0' '2219.39+0.01105999*T^1-4.708012E-5*T^2+6.980692E-8*T^3-4.995273E-11*T^4+1.430874E-14*T^5'}); model.material('mat1').propertyGroup('def').func('rho').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('TD').set('pieces', {'82.0' '1039.0' '1.559138E-6-4.991949E-9*T^1+1.170891E-11*T^2-1.277613E-14*T^3+5.492523E-18*T^4'}); model.material('mat1').propertyGroup('def').func('TD').set('arg', 'T'); model.material('mat1').propertyGroup('def').func('kappa').set('pieces', {'2.0' '170.0' '3.548804E10-7.249187E7*T^1+1081126.0*T^2-5664.153*T^3+10.51074*T^4'; '170.0' '950.0' '3.234657E10+2.830576E7*T^1-87346.28*T^2+175.3606*T^3-0.1614875*T^4+5.404807E-5*T^5'; '950.0' '1700.0' '1.341176E10+8.005859E7*T^1-86531.61*T^2+41.37606*T^3-0.007122425*T^4'}); model.material('mat1').propertyGroup('def').func('kappa').set('arg', 'T'); model.material('mat1').propertyGroup('def').set('dL', 'dL_solid_NIST_SRM_739_Type_I_1(T[1/K])-dL_solid_NIST_SRM_739_Type_I_1(Tempref[1/K])'); model.material('mat1').propertyGroup('def').set('CTE', 'CTE_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]'); model.material('mat1').propertyGroup('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('mat1').propertyGroup('def').set('resistivity', {'res_solid_1(T[1/K])[ohm*m]' '0' '0' '0' 'res_solid_1(T[1/K])[ohm*m]' '0' '0' '0' 'res_solid_1(T[1/K])[ohm*m]'}); model.material('mat1').propertyGroup('def').set('emissivity', 'epsilon(T[1/K])'); model.material('mat1').propertyGroup('def').set('thermalexpansioncoefficient', {'alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]+(Tempref-293[K])/(T-Tempref)*(alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]-alpha_solid_NIST_SRM_739_Type_I_1(Tempref[1/K])[1/K])' '0' '0' '0' 'alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]+(Tempref-293[K])/(T-Tempref)*(alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]-alpha_solid_NIST_SRM_739_Type_I_1(Tempref[1/K])[1/K])' '0' '0' '0' 'alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]+(Tempref-293[K])/(T-Tempref)*(alpha_solid_NIST_SRM_739_Type_I_1(T[1/K])[1/K]-alpha_solid_NIST_SRM_739_Type_I_1(Tempref[1/K])[1/K])'}); model.material('mat1').propertyGroup('def').set('heatcapacity', 'C(T[1/K])[J/(kg*K)]'); model.material('mat1').propertyGroup('def').set('HC', 'HC(T[1/K])[J/(mol*K)]'); model.material('mat1').propertyGroup('def').set('mu', 'mu(T[1/K])[Pa]'); model.material('mat1').propertyGroup('def').set('electricconductivity', {'sigma_solid_1(T[1/K])[S/m]' '0' '0' '0' 'sigma_solid_1(T[1/K])[S/m]' '0' '0' '0' 'sigma_solid_1(T[1/K])[S/m]'}); model.material('mat1').propertyGroup('def').set('density', 'rho(T[1/K])[kg/m^3]'); model.material('mat1').propertyGroup('def').set('TD', 'TD(T[1/K])[m^2/s]'); model.material('mat1').propertyGroup('def').set('kappa', 'kappa(T[1/K])[Pa]'); model.material('mat1').propertyGroup('def').addInput('temperature'); model.material('mat1').propertyGroup('def').addInput('strainreferencetemperature'); model.material('mat1').propertyGroup('Enu').func('E').set('pieces', {'2.0' '170.0' '7.19219E10-7.955576E7*T^1+1200039.0*T^2-7440.215*T^3+21.72957*T^4-0.02394189*T^5'; '170.0' '1700.0' '6.906825E10+1.167539E7*T^1+11447.54*T^2-25.91953*T^3+0.01545627*T^4-3.022226E-6*T^5'}); model.material('mat1').propertyGroup('Enu').func('E').set('arg', 'T'); model.material('mat1').propertyGroup('Enu').func('nu').set('pieces', {'2.0' '170.0' '0.1623859-3.46611E-4*T^1+5.42002E-6*T^2-2.78502E-8*T^3+4.878708E-11*T^4'; '170.0' '950.0' '0.1442531+2.285363E-4*T^1-9.253567E-7*T^2+1.832686E-9*T^3-1.635196E-12*T^4+5.369587E-16*T^5'; '950.0' '1700.0' '0.04194888+4.230553E-4*T^1-4.739473E-7*T^2+2.308844E-10*T^3-4.040605E-14*T^4'}); model.material('mat1').propertyGroup('Enu').func('nu').set('arg', 'T'); model.material('mat1').propertyGroup('Enu').set('youngsmodulus', 'E(T[1/K])[Pa]'); model.material('mat1').propertyGroup('Enu').set('poissonsratio', 'nu(T[1/K])'); model.material('mat1').propertyGroup('Enu').addInput('temperature'); model.physics('solid').prop('StructuralTransientBehavior').set('StructuralTransientBehavior', 'Quasistatic'); model.physics('solid').feature('bndl1').set('FperArea', {'0'; '0'; 'PressureCenter*e^-(sys2.r^2/rBeam^2)'}); model.physics('solid').feature('bndl1').set('coordinateSystem', 'sys2'); model.physics('solid').feature('bndl1').name('Laser Applied Force'); model.physics('solid').feature('fix1').selection.active(false); model.physics('solid').feature('fix1').active(false); model.physics('solid').feature('fix1').name('Rigid Back Constraint'); model.physics('solid').feature('bl1').set('LoadType', 'TotalForce'); model.physics('solid').feature('bl1').set('Ftot', {'0'; '0'; 'TotalForce'}); model.physics('solid').feature('bl1').name('Balancing Body Load constraint'); model.physics('solid').feature('spf1').selection.active(false); model.physics('solid').feature('spf1').set('kPerArea', {'0'; '0'; '0.01'}); model.physics('solid').feature('spf1').active(false); model.physics('solid').feature('spf1').name('Spring Constraint'); model.physics('solid').feature('disp1').set('Direction', {'1'; '1'; '0'}); model.physics('solid').feature('disp2').set('Direction', {'1'; '0'; '0'}); model.physics('solid').feature('disp3').set('Direction', {'0'; '1'; '0'}); model.physics('solid').feature('wc1').selection.active(false); model.physics('solid').feature('wc1').set('constraintExpression', 'aveop1(w)'); model.physics('solid').feature('wc1').active(false); model.physics('solid').feature('constr1').set('constraintExpression', 'aveop1(w)'); model.mesh('mesh1').run; model.result.table('tbl1').comments('Strain Energy Umax (solid.Ws)'); model.study.create('std4'); model.study('std4').feature.create('stat', 'Stationary'); model.sol.create('sol6'); model.sol('sol6').study('std4'); model.sol('sol6').attach('std4'); model.sol('sol6').feature.create('st1', 'StudyStep'); model.sol('sol6').feature.create('v1', 'Variables'); model.sol('sol6').feature.create('s1', 'Stationary'); model.sol('sol6').feature('s1').feature.create('fc1', 'FullyCoupled'); model.sol('sol6').feature('s1').feature.remove('fcDef'); model.result.numerical.create('int1', 'IntVolume'); model.result.numerical('int1').selection.all; model.result.numerical('int1').set('probetag', 'none'); model.result.create('pg1', 'PlotGroup3D'); model.result('pg1').feature.create('surf1', 'Surface'); model.result('pg1').feature('surf1').feature.create('def', 'Deform'); model.result.export.create('tbl1', 'Table'); model.study('std4').name('Stationary Study'); model.sol('sol6').attach('std4'); model.sol('sol6').name('Solver'); model.sol('sol6').feature('st1').name('Compile Equations: Stationary'); model.sol('sol6').feature('st1').set('studystep', 'stat'); model.sol('sol6').feature('v1').set('control', 'stat'); model.sol('sol6').feature('s1').set('control', 'stat'); model.result.numerical('int1').name('Strain Energy Umax'); model.result.numerical('int1').set('unit', 'J'); model.result.numerical('int1').set('table', 'tbl1'); model.result.numerical('int1').set('descr', 'Strain energy density'); model.result.numerical('int1').set('expr', 'solid.Ws'); model.result.numerical('int1').setResult; model.result('pg1').name('Stress (solid)'); model.result('pg1').feature('surf1').feature('def').set('scale', '8.382961308692315E7'); model.result('pg1').feature('surf1').feature('def').set('scaleactive', false); model.result.export('tbl1').set('filename', '/home/e/Desktop/test.txt'); Umax=model.result.numerical('int1').getReal(); out = model;