搜索
 找回密码
 立即注册
查看: 1526|回复: 41

[小纳君分享] 【小纳君分享】COMSOL with Matlab随机圆新:随机圆圆心在正...

[复制链接]
回帖奖励 320 纳米币 回复本帖可获得 5 纳米币奖励! 每人限 10 次
  • TA的每日心情
    开心
    2018-3-16 17:49
  • 签到天数: 103 天

    [LV.6]常住居民II

    106

    主题

    345

    帖子

    3305

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3305

    灌水之王荣誉会员

    发表于 2016-12-22 22:27:05 | 显示全部楼层 |阅读模式
    [img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\370484048\QQ\WinTemp\RichOle\P)$%7(]ZN[IRE))5NBMEJDP.png[/img]COMSOL with Matlab随机圆新:随机圆圆心在正方形阵列上

    [img]file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/370484048/QQ/WinTemp/RichOle/P)$%7(]ZN[IRE))5NBMEJDP.png[/img]COMSOL with Matlab随机圆新:随机圆圆心在正方形阵列上

    直接存成matlab的m文件,运行即可
    1. clc;clear
    2. % This is a script for Comsol with Matlab.
    3. import com.comsol.model.*
    4. import com.comsol.model.util.*

    5. model = ModelUtil.create('Model');
    6. model.modelNode.create('mod1');
    7. model.geom.create('geom1', 2);

    8. % Model Parameters
    9. rd_seed = rng('shuffle'); % random number seed
    10. sq_length = 1; % square length
    11. sq_posx = 0; % square position x
    12. sq_posy = 0; % square position y
    13. sq_numx = 10; % square number
    14. sq_num = sq_numx^2; % square number total
    15. co_radius_max = 0.4; % the maximum circle radius :
    16. co_radius_min = 0.1; % the min circle radius :
    17. %------------------------------------------------------------------------------
    18. idx = 1; % index for square
    19. idx2 = 1; % index for circle
    20. for i = 1: sq_numx
    21.     for j = 1:sq_numx
    22.         cl_name = ['c', num2str(idx2)];
    23.         co_radius = rand();
    24.         while (co_radius<co_radius_min)||(co_radius>co_radius_max)
    25.             co_radius = rand();
    26.         end
    27.         model.geom('geom1').feature.create(cl_name, 'Circle');
    28.         model.geom('geom1').feature(cl_name).set('r', num2str(co_radius));
    29.         model.geom('geom1').feature(cl_name).setIndex('pos', num2str(sq_posx + (i-0.5)*sq_length), 0);
    30.         model.geom('geom1').feature(cl_name).setIndex('pos', num2str(sq_posx + (j-0.5)*sq_length), 1);
    31.         idx2 = idx2 +1;
    32.         idx = idx + 1;
    33.     end
    34. end
    35. sq_name = ['sq',num2str(idx)];
    36. model.geom('geom1').feature.create(sq_name, 'Square');
    37. model.geom('geom1').feature(sq_name).set('base', 'center');
    38. model.geom('geom1').feature(sq_name).set('size', num2str(sq_length*sq_numx));
    39. model.geom('geom1').feature(sq_name).setIndex('pos', num2str(sq_length*sq_numx/2), 0);
    40. model.geom('geom1').feature(sq_name).setIndex('pos', num2str(sq_length*sq_numx/2), 1);

    41. model.geom('geom1').runAll;
    42. mphgeom(model, 'geom1');
    43. %------------------------------------------------------------------------------
    44. mphsave(model,'随机阵列')
    复制代码




    本帖子中包含更多资源

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

    x
  • TA的每日心情
    开心
    2018-3-16 17:49
  • 签到天数: 103 天

    [LV.6]常住居民II

    106

    主题

    345

    帖子

    3305

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3305

    灌水之王荣誉会员

     楼主 发表于 2016-12-23 14:43:49 | 显示全部楼层
    霸王问天 发表于 2016-12-23 13:46
    其实可以用离散元方法生成一定密度的圆心坐标

    写个案例分享,教教我吧。
  • TA的每日心情
    奋斗
    2017-8-25 10:42
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    6

    主题

    40

    帖子

    1564

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1564

    灌水之王学生会员会员荣誉会员

    发表于 2016-12-22 22:36:44 | 显示全部楼层
    不错,哈哈哈哈
  • TA的每日心情
    奋斗
    2017-9-9 09:50
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    0

    主题

    20

    帖子

    176

    积分

    注册会员

    Rank: 2

    积分
    176
    发表于 2016-12-23 11:17:07 | 显示全部楼层

    回帖奖励 +10 纳米币

    能不能做一个足够密集相切 随机半径的很多圆
  • TA的每日心情
    开心
    2018-3-16 17:49
  • 签到天数: 103 天

    [LV.6]常住居民II

    106

    主题

    345

    帖子

    3305

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3305

    灌水之王荣誉会员

     楼主 发表于 2016-12-23 11:29:48 | 显示全部楼层
    haroldluck 发表于 2016-12-23 11:17
    能不能做一个足够密集相切 随机半径的很多圆


    这个算是吗

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    难过
    2017-4-14 08:28
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    0

    主题

    27

    帖子

    178

    积分

    注册会员

    Rank: 2

    积分
    178
    发表于 2016-12-23 11:50:05 | 显示全部楼层

    回帖奖励 +5 纳米币

    GOOD,GOOD,不错

    该用户从未签到

    0

    主题

    2

    帖子

    33

    积分

    新手上路

    Rank: 1

    积分
    33
    发表于 2016-12-23 13:46:38 | 显示全部楼层

    回帖奖励 +5 纳米币

    其实可以用离散元方法生成一定密度的圆心坐标
  • TA的每日心情
    奋斗
    2017-4-7 13:43
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    4

    主题

    78

    帖子

    405

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    405
    发表于 2016-12-23 13:56:06 | 显示全部楼层

    回帖奖励 +5 纳米币

    本帖最后由 卢阿龙 于 2016-12-23 13:59 编辑

    为什么运行之后,出现了想要的图形,但是同时也出现了这么一系列警告呢?群主是否也遇到这个问题?

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    奋斗
    2017-11-1 08:24
  • 签到天数: 252 天

    [LV.8]以坛为家I

    30

    主题

    416

    帖子

    4165

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4165

    灌水之王学生会员

    发表于 2016-12-26 15:49:33 | 显示全部楼层

    回帖奖励 +5 纳米币

    再抢一下手工
  • TA的每日心情
    无聊
    昨天 08:54
  • 签到天数: 394 天

    [LV.9]以坛为家II

    113

    主题

    1070

    帖子

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    14241

    荣誉会员学者

    QQ
    发表于 2016-12-26 18:51:57 | 显示全部楼层

    回帖奖励 +5 纳米币

    不错:)
    流场,温度场,低温等离子体
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    41