function Q = optimization(X) cd('D:\Program Files\MATLAB\R2010b\COMSOL43\mli') comsolPort=[2036 2037 2038]; t = getCurrentTask(); labit=t.ID; mphstart(comsolPort(labit)); import com.comsol.model.* import com.comsol.model.util.* model = ModelUtil.create('Model'); model.param.set('mug', '2.1e-5[Pa*s]'); model.param.set('kF', '1e-10[m^2]'); model.param.set('k', '1e-18'); model.modelNode.create('mod1'); model.geom.create('geom1', 2); model.geom('geom1').feature.create('r1', 'Rectangle'); model.geom('geom1').feature('r1').set('size', {'500' '250'}); model.geom('geom1').feature.create('b1', 'BezierPolygon'); model.geom('geom1').feature.create('b2', 'BezierPolygon'); model.geom('geom1').feature.create('b3', 'BezierPolygon'); model.geom('geom1').feature('b1').set('p', {num2str(X(1)) num2str(X(1)); '0' '150'}); model.geom('geom1').feature('b1').set('degree', {'1'}); model.geom('geom1').feature('b1').set('w', {'1' '1'}); model.geom('geom1').feature('b2').set('p', {num2str(X(2)) num2str(X(2)); '0' '150'}); model.geom('geom1').feature('b2').set('degree', {'1'}); model.geom('geom1').feature('b2').set('w', {'1' '1'}); % model.geom('geom1').feature('b2').feature.comments(''); model.geom('geom1').feature('b3').set('p', {num2str(X(3)) num2str(X(3)); '0' '150'}); model.geom('geom1').feature('b3').set('degree', {'1'}); model.geom('geom1').feature('b3').set('w', {'1' '1'}); % model.geom('geom1').feature('b3').feature.comments(''); .................................................................... . . . . . . . Q=-(trapz(Q1(:,1),Q1(:,8))); end