找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

Flux电机有限元分析教程西莫团购入口 | 奖励入口当当网购物入口 | 奖励入口欢迎使用!西莫论坛App开放下载Motor-CAD电机多物理域设计教材购买入口 | 奖励入口
★新会员论坛须知★《西莫电机技术》第39期发售火热进行中Flux电机电磁阀有限元分析教程团购入口 | 奖励入口论坛微信公众平台欢迎入驻
西莫电机及相关产品供需交流群开放邀请★ 论坛VIP会员申请 ★Motor-CAD.MANATEE电磁热振动噪声教程 | 奖励入口西莫团队欢迎您的加盟!
宣传推广合作请联系QQ:25941174西莫电机论坛微信群正式开放Flux变压器与电抗器有限元分析团购入口 | 奖励入口西莫电机论坛技术版区QQ群汇总
查看: 3244|回复: 13

[COMSOL Multiphysics] 2D求解中边界条件设置请教

[复制链接]

该用户从未签到

发表于 2009-4-1 17:36 | 显示全部楼层 |阅读模式 来自: 中国天津

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 flyingmind 于 2009-4-1 19:57 编辑

我需要利用循环程序自行设置内部场域分布、边界条件设置、求解等过程,但是由于外边界编号也会随之改变,所以无法实现循环编程。请问有没有固定边界编号的方法,或是其他解决办法?

这个问题已经困惑很久了,

                               
登录/注册后可看大图
  否则课题无法继续 啊!
请高手指教!谢谢
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

该用户从未签到

发表于 2009-4-1 19:52 | 显示全部楼层 来自: 中国上海
只要你能将场域分布设置为一个数值,边界条件也设置为固定值,将值作为变量,然后在循环前修改变量,重新求解即可
这和你修改边界编号可能是不同的思路,可以考虑一下

评分

参与人数 1西莫币 +6 收起 理由
forlink + 6 我很赞同

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-4-2 08:47 | 显示全部楼层 来自: 中国天津
楼上的意思是将场域分布,和边界条件都看作变量吗?

因为我用的是一个圆形场域,16个电极均匀分布于场域周围,分别给相邻电极电流激励,相邻电压测量,循环16次激励测量为一组数据;我需要设置在场域内变换物体分布(包括物体的位置、大小),以求得不同的解。

楼上的能否说得更具体些?

谢谢啦!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-3 16:06 | 显示全部楼层 来自: 中国浙江杭州
物体的大小也变?大小变的话,模型也要重新建了。如果物体大小不变,只是每个循环内对相邻电极电流激励的话,可以给16个电极都各自加个激励,比如x1....x16,然后在每个循环n内,依次使xn,x_n+1的值为你想要的值,其余激励值为0,依次循环就可以了,当然需要将模型导出为.m文件,然后外加循环,最好在matlab中做

评分

参与人数 1西莫币 +6 收起 理由
forlink + 6 我很赞同

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-4-7 15:22 | 显示全部楼层 来自: 中国天津
楼上说,将场域分布设置为一个数值,边界条件也设置为固定值,将值作为变量,然后在循环前修改变量,当内部物体位置改变时,不太清楚怎么具体实现的,能否具体说明一下。
不太明白,谢谢啦!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-7 18:53 | 显示全部楼层 来自: 中国浙江杭州
你先看看matlab与comsol的联合的例子吧
链接如下:
http://bbs.simol.cn/thread-17547-1-1.html
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-4-8 09:07 | 显示全部楼层 来自: 中国天津
我一直用的都是matlab循环程序,只是一旦场域内部物体位置改变,边界编号也改变了,导致程序无法顺利进行。因为需要实现物体动态变化,所以想请教有没有什么解决方案?

谢谢哦!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-8 11:45 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 flyingmind 于 2009-4-8 11:49 编辑

你是要考虑物体的运动效应么?瞬态分析?
最好把你的问题描述清楚,配上图说明
现在信息根本不对称,我说我的,你说你的
对解决问题没有任何帮助
楼主不觉得是这样么?
对问题清楚的描述,虽然可能你当时多花了点时间,但得到好处确实很多的
要知道其他人并不是都对你的问题很清楚,如果你自己把问题都不能很好的描述,那更别期望别人能给你什么帮助了
毕竟别人只能给你一个思路,我觉得我的思路应该是比较清楚了,也有人提了ALE运动网格的解决方法
但这些都有相应的应用背景,虽然大家一股脑把解决思路都提出,你不还是一头雾水么?

评分

参与人数 1西莫币 +6 收起 理由
forlink + 6 我很赞同

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-4-8 17:33 | 显示全部楼层 来自: 中国天津
本帖最后由 fwr0605 于 2009-4-8 17:35 编辑

下图是场域分布图,场域周围均匀分布16个电极,内部有一个圆形物体做自由运动:

物场分布

物场分布

其激励测量激励如下图所示,相邻电极电流激励相邻电极电压测量,即1-2电极电流激励(1电极输入电流,2电极接地,其他电极浮空),获取2-3,3-4,...,14-15,15-16,16-1电极对电压差,如下图所示。依次循环,2-3激励,...,15-16,16-1激励。

边界条件

边界条件

由于内部圆形物体位置,或者半径大小改变,都会导致边界编号变化,循环出现问题。下面是我用的matlab循环部分程序:

% Geometry
% Import CAD data
garr = geomimport('F:\Program\Comsol_Pro\2009.4.1kalman\model1.mphbin');
[g1,g2,g3]=deal(garr{:});
g3=rotate(g3,0.5235987755982988,[0,0]);  %%%%%%%%%%%%%%%%%%%%%%  物体旋转角度任意设定  
% Analyzed geometry
clear s
s.objs={g1,g2,g3};
s.name={'CO1','CO2','CO3'};
s.tags={'g1','g2','g3'};
fem.draw=struct('s',s);
fem.geom=geomcsg(fem);
% Initialize mesh
fem.mesh=meshinit(fem, ...
                  'hauto',5);
% (Default values are not included)

A=[74 80 78 71 65 57 51 45 38 33 34 43 49 55 62 68];%%%%  16个电极编号 %%%%变换物体位置时会发生变化????
for i=1:16    %%%%%%%%%%%% 设置16次循环激励 %%%%%%%%%%%%%
    L=16;       % The number of electrodes.%%%%%%%%%%%%%%%%%%%%%%%%%%%
    [T]=Currenteit(L,'adj'); %%%%%%%%% 调用激励模式子程序 %%%%%%%%%%%%%%%%%%
    T(find(T==1))=3;%%%%%%%%% 设置电极电流激励 %%%%%%%%%%%%%5
    T(find(T==-1))=4;%%%%%%%% 设置电极接地 %%%%%%%%
    T(find(T==0))=1;%%%%%%%%% 设置电极浮空 %%%%%%%%%%55
clear appl
appl.mode.class = 'EmConductiveMediaDC';
appl.module = 'ACDC';
appl.assignsuffix = '_emdc';
clear bnd
bnd.Jn = {0,0,1,0};
bnd.type = {'nJ0','cont','nJ','V0'};
bnd.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ...             %%%%变换物体位置时,有些边界变为内部边界或内部变为外部,导致设置不成立?????
  1,1,1,1,2,1,1,1,2,2,1,1,1,2,1,2,1,1,1,2,1,2,1,1,1,2,1,2,1,1,2,1,2,1,1, ...
  1,2,1,2,1,1,1,2,3,2,1,1,1,2,4];
bnd.ind(A(:))=T(:,i); %%%%%%  设置电极激励条件  %%%%%%%%%
appl.bnd = bnd;
clear equ
equ.sigma = {5.99e7,80,1};
equ.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3];
appl.equ = equ;
fem.appl{1} = appl;
fem.frame = {'ref'};
fem.border = 1;
clear units;
units.basesystem = 'SI';
fem.units = units;
% ODE Settings
clear ode
clear units;
units.basesystem = 'SI';
ode.units = units;
fem.ode=ode;
% Multiphysics
fem=multiphysics(fem);
% Extend mesh
fem.xmesh=meshextend(fem);
% Solve problem
fem.sol=femstatic(fem, ...
                  'solcomp',{'V'}, ...
                  'outcomp',{'V'});
% Save current fem structure for restart purposes
fem0=fem;
for j=1:16%%%%%%%%%%%%%%%%%导出电极电压值%%%%%%%%%%%%%%%%%%%5
    I1(i,j)=postint(fem,'V', ...          %potenital on each electrode
           'unit','V*m', ...
           'dl',[A(j)], ...
           'edim',1);
end
    I1(i,17)=postint(fem,'V', ...
           'unit','V*m', ...
           'dl',[A(1)], ...
           'edim',1);
end

不知问题交代清楚了吗?
请多多指教!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-9 07:44 | 显示全部楼层 来自: 中国浙江杭州
按照你的说法,是想做瞬态分析?是想研究当电极激励在不断循环过程中,中间物体的运动情况?但你是用循环实现,中间不涉及任何时间,似乎是静态分析?
你好像是改变模型的结构来做循环的?
其实你可以用ALE方法,也就是在multiphysics下面的deform mesh,下有个moving mesh(ALE),添加这个以后,里面的物体你可以设置为自由运动,周围电极设置为静止,这样周围电极的边界条件编号就不会变了

评分

参与人数 1西莫币 +6 收起 理由
forlink + 6 我很赞同

查看全部评分

西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-4-9 10:05 | 显示全部楼层 来自: 中国天津
谢谢版主的答复,可以前没有用过ALE,不知道怎么具体设置,有没有什么参考资料可以借鉴一下啊?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-9 11:37 | 显示全部楼层 来自: 中国浙江杭州
comsol里有例子的还有比较详尽的例子的相关文档的
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2009-4-25 18:57 | 显示全部楼层 来自: 中国重庆
LZ 用的哪个版本?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2012-8-19 17:07 | 显示全部楼层 来自: 中国广东广州
回复 9# fwr0605

你好,我最近在做这个,但是新手,可以请教你吗?我的QQ627205677,或者你把QQ告诉我加你也行,非常感谢
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

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

本版积分规则

西莫电机论坛微信公众平台欢迎您的关注!

QQ|Archiver|手机版|小黑屋|西莫电机圈 ( 浙ICP备10025899号-3|浙公网安备:33028202000436号 )

GMT+8, 2024-12-26 04:07 , Processed in 0.113693 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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