找回密码
 注册
Simdroid-非首页
查看: 190|回复: 5

[12.前后处理] 如何在comsol中用xyz数据来做3D模型中的面

[复制链接]
发表于 2010-7-12 15:36:22 | 显示全部楼层 |阅读模式 来自 北京
悬赏10仿真币已解决
本帖最后由 zy-nwu 于 2010-7-13 12:33 编辑

现有 不规则 物体表面形态数据 x y z(如地形),请问如何导入comsol,以设为模型的上表面或内部边界;用哪种方式实现最简单?谢谢。

最佳答案

查看完整内容

geomsurf脚本函数,具体用法请查阅Reference Guide
发表于 2010-7-12 15:36:23 | 显示全部楼层 来自 上海徐汇区
Simdroid开发平台
geomsurf脚本函数,具体用法请查阅Reference Guide
回复

使用道具 举报

发表于 2010-7-12 18:52:57 | 显示全部楼层 来自 江苏徐州
看书 应该会有详解
回复

使用道具 举报

发表于 2010-7-12 19:02:32 | 显示全部楼层 来自 英国
方法一用“工作面”参考comsol的三维流固耦合例子(在结构力学模块中)。
方法二,用CAD 软件导入(参考用户手册例子)
方法三,直接绘图。。。。。。可以选择点坐标输入或者直接绘制面
回复

使用道具 举报

 楼主| 发表于 2010-7-13 12:23:00 | 显示全部楼层 来自 北京
本帖最后由 zy-nwu 于 2010-7-13 12:24 编辑

3# 浪客星魂

谢谢两位

我先按你的方法 做做(我没用过CAD软件 “)
回复

使用道具 举报

 楼主| 发表于 2010-7-15 10:33:41 | 显示全部楼层 来自 北京
KingGun版主这招果真相当强大,多谢!!!

%%%%
n = 25;
L=5e3;
alpha=deg2rad(0.5);
omega=2*pi/L;
x=linspace(0,L,n);
y=linspace(0,L,n);
X=repmat(x,size(y'));
Y=repmat(y',size(x));
% surface
S = -X.*tan(alpha);
% base
B = S - 1000 + 500*sin(omega.*X).*sin(omega.*Y);
mimi=min(min(B));
mama=max(max(S));
fs = geomsurf(X,Y,S); % type face3
fb = geomsurf(X,Y,B); % type face3
b1 = block3(x(n),y(n),abs(mimi-mama), ...
'base','corner','pos',[0 0 mimi-mama],...
'axis',[0 0 1],'rot',0)
g = geomcoerce('solid',{fs,b1,fb});
ss=split(g);
geom=ss{2}; % the 3D region (solid3 object)
clear X Y Z S B x y fs fb b1 g ss
%%%%
__._,_.___

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 22:24 , Processed in 0.040845 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表