- 积分
- 15
- 注册时间
- 2011-4-2
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2013-7-25 20:16:47
|
显示全部楼层
来自 上海杨浦区
那前提你要会用CwM,给你写了一个指定3个点载荷的例子。
代码已出,不接受任何释疑,请自己琢磨。- 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.mesh('mesh1').feature.create('map1', 'Map');
- model.mesh('mesh1').feature('map1').selection.geom('geom1', 2);
- model.mesh('mesh1').feature('map1').selection.set([1]);
- model.mesh('mesh1').feature('map1').feature.create('dis1', 'Distribution');
- model.mesh('mesh1').feature('map1').feature.create('dis2', 'Distribution');
- model.mesh('mesh1').feature('map1').feature('dis1').selection.set([1 7]);
- model.mesh('mesh1').feature('map1').feature('dis2').selection.set([2]);
- model.mesh('mesh1').feature('map1').feature('dis2').set('numelem', '40');
- model.mesh('mesh1').run;
- %--------------------------------------------------------------------
- model.study.create('std1');
- model.study('std1').feature.create('stat', 'Stationary');
- model.sol.create('sol1');
- model.sol('sol1').study('std1');
- model.sol('sol1').feature.create('st1', 'StudyStep');
- model.sol('sol1').feature('st1').set('study', 'std1');
- model.sol('sol1').feature('st1').set('studystep', 'stat');
- model.sol('sol1').feature.create('v1', 'Variables');
- model.sol('sol1').feature('v1').set('control', 'stat');
- model.sol('sol1').feature.create('s1', 'Stationary');
- model.sol('sol1').feature('s1').feature.create('fc1', 'FullyCoupled');
- model.sol('sol1').feature('s1').feature('fc1').set('termonres', 'auto');
- model.sol('sol1').feature('s1').feature('fc1').set('reserrfact', 1000);
- model.sol('sol1').feature('s1').feature('fc1').set('termonres', 'auto');
- model.sol('sol1').feature('s1').feature('fc1').set('reserrfact', 1000);
- model.sol('sol1').feature('s1').feature.remove('fcDef');
- model.sol('sol1').attach('std1');
- model.sol('sol1').runAll;
- model.result.create('pg1', 2);
- model.result('pg1').set('data', 'dset1');
- model.result('pg1').feature.create('surf1', 'Surface');
- model.result('pg1').feature('surf1').set('expr', {'solid.mises'});
- model.result('pg1').name('Stress (solid)');
- model.result('pg1').feature('surf1').feature.create('def', 'Deform');
- model.result('pg1').feature('surf1').feature('def').set('expr', {'u' 'v'});
- model.result('pg1').feature('surf1').feature('def').set('descr', 'Displacement field (Material)');
- out = model;
复制代码 |
|