SimWe仿真论坛's Archiver

case123 发表于 2008-7-16 10:54

初始值可以设置成一个矩阵使每个网格节点值是随机数吗

一个圆柱体,材料的破损等力学性能,划分网格后,想把里面每一个网格的初始破损状态设成随机数,但是在PDE里面bulk和boundary都只有一个整体初始值,而不能精确到每个小网格。这个可以通过什么可以设置到每个小网格吗?谢谢

kinggun 发表于 2008-7-18 10:00

偶是用脚本来实现的:在一个1D的例子中实现初始电压的随机值设定。-\I^+JQL
例如建立一个脚本 ranVolt.m
!k%n/TnS!g#H%q#a d 内容如下:t+q J'jsIt~D
function V=ranVolt(A)C0kI4n*~V5n wc
[rr,cc]=size(A);
fid|4Q _bf8wx$sj V=rand(rr,cc);
\C){x8a5K&p.V] 然后在子域中设置初始值为ranVolt(V)。#w$r;@FF E
B*pb;T%^RM M+C'm
[[i] 本帖最后由 kinggun 于 2008-7-18 11:39 编辑 [/i]]

case123 发表于 2008-7-19 19:31

谢谢你的回答,但是是你所说的子域中设置初始值是在哪里呢?{!XT'b6@j s m#E
我先把图形转换成了m文件^pC~ K2y
我试过在fem.equ.init里,像你所说设定成一个随机矩阵函数,但是不行,每次运行都有错误。}#Oj7_1E5j;b
然后又试过在init.u或者fem.sol.u里面直接改动,但是也显示femsol value无法改动。:qH~O't9w*x1Z p}7z
能否详细告诉我“子域”指得是在哪里?

kinggun 发表于 2008-7-23 16:24

我是直接在GUI里面测试的。就是在菜单>Subdomain Setting里面设置子域参数。另外,提醒你一下,如果确实需要模拟随机数,最好是加上种子,即加上一句:-CE ?7F&K
rand('state', x),其中x是种子,一般是用时间(至少C语言是如此)。

页: [1]
 

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.