24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1488  |  回复: 5

gq0502

木虫 (正式写手)

[求助] comsol with matlab并行

大家好,我最近新建的一个模型需要不同的区域里面有不同的material,我使用comsol with matlab去实现,循环过程如下,很简单的一个过程,但是实现起来速度极慢,因此我考虑并行,但是提示有问题“Identifier: root is not serializable”,大家知道该怎么解决吗?或者如果不使用并行,有什么办法能让着一个过程快一点么?

多谢多谢!

    parfor n2=1:4096        %no of grids
        model.material.duplicate(strcat('mat', num2str(n2+3)), 'mat1');
        model.material(strcat('mat', num2str(n2+3))).selection.set(n2+2);
        model.material(strcat('mat', num2str(n2+3))).propertyGroup('def').set('relpermittivity', grid_permittivity(n2));
    end
回复此楼
gq0502
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

363913191

木虫 (著名写手)


xiegangmai: 金币-1, 专业版块,请勿灌水。 2016-06-28 16:59:03
2楼2016-06-27 15:54:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

363913191

木虫 (著名写手)


xiegangmai: 金币-1, 专业版块,请勿灌水。 2016-06-28 16:59:09
3楼2016-06-27 16:05:03
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

bingomini

金虫 (正式写手)

并行机群一般支持的语言是c和fortan,matlab高版本有自带的并行工具箱,建议用并行机群去计算,比如openmp或者mpi,这块的代码我这学期学了一些,matlab对于大规模循环是死穴

发自小木虫IOS客户端
go!
4楼2016-06-28 06:22:55
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

gq0502

木虫 (正式写手)

引用回帖:
4楼: Originally posted by bingomini at 2016-06-28 06:22:55
并行机群一般支持的语言是c和fortan,matlab高版本有自带的并行工具箱,建议用并行机群去计算,比如openmp或者mpi,这块的代码我这学期学了一些,matlab对于大规模循环是死穴
...

太对了,matlab循环真不行。
你重新采用应助回答一下吧,有金币
gq0502
5楼2016-06-28 08:52:00
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

gq0502

木虫 (正式写手)

问题已解决,comsol并行并不好,因此还需要在模型上下手解决问题,本模型事实上不需要设置那么多mat,可用dom完成
gq0502
6楼2016-07-07 15:51:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gq0502 的主题更新
信息提示
请填处理意见