xiaofengfeng 发表于 2012-3-2 16:18:16

蒙特卡洛方法下的纤维随机分布导电模型,有几个错误,欢迎大侠指点,附命令流

简要介绍一下:
本人想做导电纤维水泥基复合材料的电学模拟,选用的单元是link68和solid69.
具体遇到以下几个问题:
1.由于是计算机随机生成的伪随机数,所以在边界形成的关键点很少,在中间形成的较多,这将导致在边界处的导电效果非常微弱。
2.由于是随机生成的单元,所以很难通过共节点来进行建模,以至于link单元与solid的接触非常不理想(有人能帮我解决一下这个问题吗)
3.纤维之间的接触,我是通过先生成单元,划分网格,然后通过nummrg,node;nummrg,kp,并通过调整容差使节点距离≤纤维直径,来使节点合并(不知道这样可取吗)
4.纤维与水泥基材料的接触,我也想通过nummrg命令来共节点,可是实际操作起来非常麻烦,烦请大侠指教一二,谢谢

xiaofengfeng 发表于 2012-3-2 16:20:44

命令流如下
!定义坐标范围
xmin=0
xmax=1.676e-2
ymin=0
ymax=1.676e-2
zmin=0
zmax=1.676e-2
jmin=0
jmax=6.28318
hmin=0
hmax=3.14159
smin=0
smax=3.14159
!定义纤维个数
num=3000
!定义纤维单肢长度
l=0.5e-2
!定义纤维转角
u=1.04720
!存放纤维端点及其数组
*dim,point,array,num,3
*dim,angle,array,num,3
*dim,abc,array,num,1

cum=0
*do,i,1,1000000000000
*if,cum,eq,num,then
*exit
*endif
x=rand(xmin,xmax)
y=rand(ymin,ymax)
z=rand(zmin,zmax)
j=rand(jmin,jmax)
h=rand(hmin,hmax)
s=rand(smin,smax)
*if,(-0.5-cos(h)*cos(s))/(sin(h)*sin(s)),gt,-1,and,(-0.5-cos(h)*cos(s))/(sin(h)*sin(s)),lt,1,then
*if,x+l*sin(h)*cos(j),ge,xmin,and,x+l*sin(h)*cos(j),le,xmax,then
*if,y+l*sin(h)*sin(j),ge,ymin,and,y+l*sin(h)*sin(j),le,ymax,then
*if,z+l*cos(h),ge,zmin,and,z+l*cos(h),le,zmax,then
*if,x+l*sin(s)*cos(j-acos((-0.5-cos(h)*cos(s))/(sin(h)*sin(s)))),ge,xmin,and,x+l*sin(s)*cos(j-acos((-0.5-cos(h)*cos(s))/(sin(h)*sin(s)))),le,xmax,then
*if,y+l*sin(s)*sin(j-acos((-0.5-cos(h)*cos(s))/(sin(h)*sin(s)))),ge,ymin,and,y+l*sin(s)*sin(j-acos((-0.5-cos(h)*cos(s))/(sin(h)*sin(s)))),le,ymax,then
*if,z+l*cos(s),ge,zmin,and,z+l*cos(s),le,zmax,then
cum=cum+1
point(cum,1)=x
point(cum,2)=y
point(cum,3)=z
angle(cum,1)=j
angle(cum,2)=h
angle(cum,3)=s

*else
*endif
*endif
*endif
*endif
*endif
*endif
*endif
*enddo

/prep7
!选择单元类型
et,1,link68
!定义实常数
r,1,7.85e-9
!定义电阻率
mp,rsvx,1,1e-7
uimp,1,kxx,,,1e3
*do,i,1,num
abc(i,1)=angle(i,1)-acos((-0.5-cos(angle(i,2))*cos(angle(i,3)))/(sin(angle(i,2))*sin(angle(i,3))))
!生成关键点
k,point,point(i,1),point(i,2),point(i,3)
k,point1,point(i,1)+l*sin(angle(i,2))*cos(angle(i,1)),point(i,2)+l*sin(angle(i,2))*sin(angle(i,1)),point(i,3)+l*cos(angle(i,2))
k,point2,point(i,1)+l*sin(angle(i,3))*cos(abc(i,1)),point(i,2)+l*sin(angle(i,3))*sin(abc(i,1)),point(i,3)+l*cos(angle(i,3))
*enddo
!连接关键点生成线
*do,n,1,8997,3
lstr,n,n+1
lstr,n,n+2
*enddo
!布尔运算使纤维接触
btol,1e-5
!分配单元属性
latt,1,1,1
!划分网格
lesize,all,,,50
lmesh,all
nummrg,node,0.577e-5,1e-5,,low
nummrg,kp,0.577e-5,1e-5,,low
numcmp,all
!选择单元类型
et,2,solid69
!定义电阻率
mp,rsvx,2,1e4
uimp,2,kxx,,,2.33
!生成实体
BLC4,0,0,1.676e-2,1.676e-2,1.676e-2
/trlcy,volu,1,1
!分配单元属性
vatt,2,,2
!划分网格
esize,,30
!选择先映射后自由网格划分
mshkey,2
!选择3d六面体单元
mshape,0,3d
vmesh,all
!合并编号重复节点
nummrg,node,0.577e-5,1e-5,,low
nummrg,kp,0.577e-5,1e-5,,low
numcmp,all
finish

!进入求解器
/solu

!在面4上施加200电压
asel,s,area,,4
da,all,volt,200
!在面3上施加0电压
asel,s,area,,3
da,all,volt,0
asel,all
solve
finish
/post1

xiaofengfeng 发表于 2012-3-2 16:24:34

纤维的模拟最好用pipe单元,可是模拟电场的单元只有一种线单元,link68.
关于线单元和实体单元的接触,建模时最好采用共节点,而本模型无法做到共节点。
还有就是想用实体单元来做纤维模型,可是涉及到划分网格以及几何建模时的不可操作性,放弃了,不知道有大侠能帮忙解决不

xiaofengfeng 发表于 2012-3-5 01:08:03

我现在改用实体单元模拟,虽然难点,但很期待

小莫 发表于 2012-4-24 10:05:01

纤维和水泥基的接触问题你解决了嘛,我现在遇到同样的问题,请教一下!

小莫 发表于 2012-4-24 10:42:41

能不能把你的接触命令流给我说一下啊,我参考一下,用nummrg 计算会出现错误!

supremeliu 发表于 2013-12-23 22:21:38

有没有懂的啊,交流一下,940882343

menyutao 发表于 2015-6-9 12:02:10

用什么命令定义的随机分布,能说说怎么操作吗?

sl542662332sl 发表于 2019-7-19 15:40:45

你好,老师,请问可以分享下学习的资料吗?984694780@qq.com

罗斌 发表于 2019-9-6 11:24:00

xiaofengfeng 发表于 2012-3-5 01:08
我现在改用实体单元模拟,虽然难点,但很期待

你是用脚本生成随机纤维吗
页: [1]
查看完整版本: 蒙特卡洛方法下的纤维随机分布导电模型,有几个错误,欢迎大侠指点,附命令流