function out = model
%
% An
example about specify point loading on a structure.
%
CopyRight to mxio at Shanghai University.
% See more http://blog.sina.com.cn/mxio
%
%--------------------------------------------------------------------
import com.comsol.model.*
import com.comsol.model.util.*
model = ModelUtil.create('Model');
model.modelNode.create('mod1');
%--------------------------------------------------------------------
% Set
up for Points, position and load
num_point = 3;
%
Position
point_pos = [0.6, 0.05; 0.7, 0.05; 0.9, 0.05];
%
Load
point_load = {'1' '2' '0';'1' '2' '0';'1' '2' '0';};
%--------------------------------------------------------------------
%
Set-up for geometry
model.geom.create('geom1',
2);
model.geom('geom1').feature.create('r1',
'Rectangle');
model.geom('geom1').feature('r1').set('size',
{'1' '0.05'});
for pt_idx = 1:num_point
pt_name = ['pt', num2str(pt_idx)];
model.geom('geom1').feature.create(pt_name,
'Point');
model.geom('geom1').feature(pt_name).set('p',
point_pos(pt_idx,:));
model.geom('geom1').feature(pt_name).set('createselection',
true);
end
model.geom('geom1').run;
%--------------------------------------------------------------------
%
set-up for physics
model.physics.create('solid',
'SolidMechanics',
'geom1');
model.physics('solid').feature.create('fix1',
'Fixed', 1);
model.physics('solid').feature('fix1').selection.set([1]);
for pl_idx = 1:num_point
pl_name = ['pl',num2str(pl_idx)];
model.physics('solid').feature.create(pl_name,
'PointLoad', 0);
sl_pt_name = ['geom1_pt',num2str(pl_idx),'_pnt'];model.physics('solid').feature(pl_name).selection.named(sl_pt_name);
model.physics('solid').feature(pl_name).set('Fp',point_load(pl_idx,:));
end
model.physics('solid').feature('lemm1').set('E_mat',
1, 'userdef');
model.physics('solid').feature('lemm1').set('nu_mat',
1, 'userdef');
model.physics('solid').feature('lemm1').set('rho_mat',
1, 'userdef');
model.physics('solid').feature('lemm1').set('E',
1, '300e9[Pa]');
model.physics('solid').feature('lemm1').set('nu',
1, '0.222');
model.physics('solid').feature('lemm1').set('rho',
1, '3900');
%--------------------------------------------------------------------
%
set-up for mesh
model.mesh.create('mesh1',
'geom1');
%--------------------------------------------------------------------
model.study.create('std1');
model.study('std1').feature.create('stat',
'Stationary');
out = model;