找回密码
 注册
Simdroid-非首页
查看: 1445|回复: 26

我做的复合材料拉伸失效模拟

[复制链接]
发表于 2007-3-9 15:48:10 | 显示全部楼层 |阅读模式 来自 浙江杭州
模拟SiC/Ti-Al复合材料拉伸失效,这是一种
最常用的制造飞机的复合材料。

模拟技巧:
1.在拉伸过程中,当界面应力满足一定关系时,界面脱粘,
   结消失,界面脱粘之后依靠Coulomb摩擦律保持接触关系。
2.每个单元具有不同的拉伸强度,这些值是根据Monte Carlo
   方法随机分配的。
3.在模拟拉伸过程中,外载荷逐步增加,单元可能失效,就
   使用生死单元特性,“杀死”失效单元。
   论文发表在英国的“MATERIALS SCIENCE ANDENGINEERING:A” 杂志上,影响因子1.38

本帖子中包含更多资源

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

×
 楼主| 发表于 2007-3-22 10:31:12 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
具体细节请查看我发表的论文

Liu Pengfei, Zheng Jinyang. A Monte Carlo finite element simulation of damage and failure in SiC/Ti-Al composites. Materials


Science and Engineering :A, 2006, 425,15 (1-2): 260267.
回复 1 不支持 0

使用道具 举报

发表于 2007-3-9 16:29:15 | 显示全部楼层 来自 陕西西安
哥们能否给点命令流学习学习啊?
感觉做的很有深度,要是大家都觉得好,可以推荐给版主加分呢!
发表于 2007-3-19 14:15:59 | 显示全部楼层 来自 黑龙江哈尔滨
是呀,高手,请问能否给出详细的模拟过程,供大家学习一下,
 楼主| 发表于 2007-3-22 10:29:36 | 显示全部楼层 来自 浙江杭州

回复 #3 wangxiaohong422 的帖子

1 基于韦布尔分布,运用MATLAB 随机分配的998 个纤维单元的拉伸强度命令如下:
s=rand(998,1)
for n=1:998
d(n)=((-log(1-s(n,1)))*25*100/8.875)^(1/17.0)*4.58e3
end
fid = fopen(' fiberstrength.txt','w') !输出到fiberstrength.txt 文件中
fprintf(fid,'%10.4f \r\n',d)

2 运用MAPLE 计算基体材料属性进入塑性阶段后的20 个应力—应变点的命令如下:
strain:=array(1..20); stress:=array(1..20);
for i from 1 to 20 do
stress:=950+(1275.0-950)*i/20:
strain:=stress*1e-3/115e3+(stress/1229)^(1/0.0384):
end do;
writedata("D:\1.txt",strain,float); writedata("D:\2.txt",stress,float);

3 以界面剪切强度f 10 τ = MPa 和摩擦系数0.25 μ= 时为例,ANSYS 命令语言和作者
运用APDL 语言编写的宏文件接口程序如下(长度单位:mm,应力单位:MPa):
/PREP7 !进入前处理器
ET,1,42 !平面单元
KEYOPT,1,3,0 !设置平面应力分析
KEYOPT,1,5,2 !设置输出结点应力
MP,EX,1,400e3 !纤维材料参数
MP,PRXY,1,0.17
MP,EX,2,115e3 !基体材料参数,进入塑性后用21 个应力-应变点拟合
MP,PRXY,2,0.3
TB, MISO,2,1,21,0
TBPT,,0.008260869565,950
TBPT,,0.01030599278,966.25
TBPT,,0.01148279762,982.5
TBPT,,0.01319060099,998.75
TBPT,,0.01568580449,1015
TBPT,,0.01934123137,1031.25
TBPT,,0.02469575862,1047.5
TBPT,,0.03252378039,1063.75
TBPT,,0.04393191531,1080
TBPT,,0.06049295633,1096.25
TBPT,,0.08443048782,1112.5
TBPT,,0.1188721142,1128.75
TBPT,,0.1681951823,1145
TBPT,,0.2384966466,1161.25
TBPT,,0.3382288502,1177.5
TBPT,,0.4790561384,1193.75
TBPT,,0.677004215,1210
TBPT,,0.9539960686,1226.25
TBPT,,1.339896413,1242.5
TBPT,,1.875222619,1258.75
TBPT,,2.614726016,1275
MP, MU,3,0.25 !界面摩擦系数0.25
RECTNG,8.875/100,8.875,0,0.071 ! 创建模型
RECTNG,0,8.875,0.071,0.284
RECTNG,0,8.875,0.284,0.426
RECTNG,0,8.875,0.426,0.639
RECTNG,0,8.875,0.639,0.781
RECTNG,0,8.875,0.781,0.8875
ASEL,S,,,1,5,2 !分配材料属性
AATT,1,1,1
ASEL,S,,,2,6,2
AATT,2,1,1
ASEL,ALL
LESIZE,1,,,99 !设置网格种子
LESIZE,3,,,99
LSEL,S,,,5,23,2
LESIZE, ALL,,,100
LESIZE,2,,,2
LESIZE,4,,,2
LESIZE,6,,,6
LESIZE,8,,,6
LESIZE,14,,,6
LESIZE,16,,,6
LESIZE,10,,,4
LESIZE,12,,,4
LESIZE,18,,,4
LESIZE,20,,,4
LESIZE,23,,,3
LESIZE,24,,,3
LSEL,ALL
AMESH,1,5,2 !网格化模型
AMESH,2,6,2
*do,i,1,99 !耦合界面重合位置结点
cp,i,ux,2726+i,1011-i
*enddo
*do,i,100,198
cp,i,uy,2627+i,1110-i
*enddo
*do,i,199,297
cp,i,ux,609+i,2423-i
*enddo
*do,i,298,396
cp,i,uy,510+i,2522-i
*enddo
*do,i,397,495
cp,i,ux,902-i,1623+i
*enddo
*do,i,496,594
cp,i,uy,1001-i,1524+i
*enddo
*do,i,595,693
cp,i,ux,-292+i,2112-i
*enddo
*do,i,694,792
cp,i,uy,-391+i,2211-i
*enddo
*do,i,793,890
cp,i,ux,521+i,994-i
*enddo
*do,i,891,988
cp,i,uy,423+i,1092-i
*enddo
cp,next,all,2725,911
cp,next,all,2726,907
cp,next,all,806,2125
cp,next,all,807,2119
cp,next,all,2018,406
cp,next,all,2019,402
cp,next,all,301,1418
cp,next,all,302,1412
cp,next,all,1313,103
cp,next,all,1312,101
!下面是创建5 对界面接触单元
ET,2,169 !定义目标单元
ET,3,172 !定义接触单元
R,3,,,1E6,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,3
LSEL,S,,,3
TYPE,2
NSLL,S,1
ESLN,S,0
ESURF !生成目标单元,下面类似
LSEL,S,,,5
TYPE,3
NSLL,S,1
ESLN,S,0
ESURF !生成接触单元,下面类似
ET,4,169 !定义目标单元
ET,5,172 !定义接触单元
R,4,,,1E6,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,4
LSEL,S,,,9
TYPE,4
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,7
TYPE,5
NSLL,S,1
ESLN,S,0
ESURF
ET,6,169 !定义目标单元
ET,7,172 !定义接触单元
R,5,,,1E6,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,5
LSEL,S,,,11
TYPE,6
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,13
TYPE,7
NSLL,S,1
ESLN,S,0
ESURF
ET,8,169 !定义目标单元
ET,9,172 !定义接触单元
R,6,,,1E6,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,6
LSEL,S,,,17
TYPE,8
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,15
TYPE,9
NSLL,S,1
ESLN,S,0
ESURF
ET,10,169 !定义目标单元
ET,11,172 !定义接触单元
R,7,,,1E6,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,7
LSEL,S,,,19
TYPE,10
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,21
TYPE,11
NSLL,S,1
ESLN,S,0
ESURF
LSEL,ALL
!下面是从fiberstrength.txt 文件中读入998 个纤维单元强度数据到FS 数组中
*DIM, FS,ARRAY,998
*CREATE,ansuitmp
*VREAD,FS(1),'fiberstrength','txt',' ',1
(f20.10)
*END
!下面是在对称边上施加对称约束
/SOLU !进入中间处理器
LSEL,S,,,1
LSEL,S,,,8
LSEL,S,,,12
LSEL,S,,,16
LSEL,S,,,20
LSEL,S,,,24
DL,ALL, ,SYMM
LSEL,ALL
!下面是作者运用牛顿法求解、且结合重启动分析编写的LPF1.MAC 宏文件内容
/SOLU
*DIM,array,comp,494 !定义界面结点等效应力数组
*DIM,array,normal,494 !定义界面结点法向应力数组
*DIM,array,tang,494 !定义界面结点剪切应力数组
*DIM,array,fes,998 !定义纤维单元拉伸应力数组
Rescontrol,define,all,1,1 !将每个载荷步和子步结果读出到文件parameter.txt 中
! 下面是施加第一次求解的位移载荷
dl,2,1,ux,0.1/20
dl,6,2,ux,0.1/20
dl,10,3,ux,0.1/20
dl,14,4,ux,0.1/20
dl,18,5,ux,0.1/20
dl,22,6,ux,0.1/20
nlgeom,on !设置大变形分析
nsubst,10 !设置载荷子步数
cnvtol,f,,0.1,,0.1 !设置力收敛准则
ALLS
solve !求解
*do,i,2,20 !进入重启动循环求解
/POST1 !进入后处理器
prnsol !列出所有结点的所有方向的应力结果
presol !列出所有单元的所有方向的应力结果
etable,sx,s,x !获取所有单元x 方向应力解
*do,j,1,998
*get,fes(j),elem,j,etab,sx !获取每个纤维单元的拉伸应力值
*enddo
*do,j,1,99
*get,normal(j),node,1011-j,s,y !获取界面结点法向应力值,下面类似
*get,tang(j),node,1011-j,s,xy !获取界面结点剪切应力值,下面类似
comp(j)=(normal(j)/30.0)*(normal(j)/30.0)+(tang(j)/10.0)*(tang(j)/10.0)
!获取判定界面失效的结点应力值,下面类似
*enddo
*do,j,100,198
*get,normal(j),node,708+j,s,y
*get,tang(j),node,708+j,s,xy
comp(j)=(normal(j)/30.0)*(normal(j)/30.0)+(tang(j)/10.0)*(tang(j)/10.0)
*enddo
*do,j,199,297
*get,normal(j),node,704-j,s,y
*get,tang(j),node,704-j,s,xy
comp(j)=(normal(j)/30.0)*(normal(j)/30.0)+(tang(j)/10.0)*(tang(j)/10.0)
*enddo
*do,j,298,396
*get,normal(j),node,5+j,s,y
*get,tang(j),node,5+j,s,xy
comp(j)=(normal(j)/30.0)*(normal(j)/30.0)+(tang(j)/10.0)*(tang(j)/10.0)
*enddo
*do,j,397,494
*get,normal(j),node,598-j,s,y
*get,tang(j),node,598-j,s,xy
comp(j)=(normal(j)/30.0)*(normal(j)/30.0)+(tang(j)/10.0)*(tang(j)/10.0)
*enddo
parsav,all,parameter,txt !保存所有参数到文件parameter.txt 中
/SOLU
antype,,rest !激发重启动分析
parres,new,parameter,txt !从文件parameter.txt 中读出所有参数数据
*do,j,1,998
*if,fes(j),gt,fs(j),then
ekill,j
*endif
*enddo !判断纤维单元是否失效
*do,j,1,99
*if,comp(j),gt,1.0,then
cpdele,j
cpdele,j+99
*endif
*enddo !基于界面应力失效准则,判断结点是否分离,下面类似
*do,j,100,198
*if,comp(j),gt,1.0,then
cpdele,j+99
cpdele,j+198
*endif
*enddo
*do,j,199,297
*if,comp(j),gt,1.0,then
cpdele,j+198
cpdele,j+297
*endif
*enddo
*do,j,298,396
*if,comp(j),gt,1.0,then
cpdele,j+297
cpdele,j+396
*endif
*enddo
*do,j,397,494
*if,comp(j),gt,1.0,then
cpdele,j+396
cpdele,j+494
*endif
*enddo
!下面是施加重启动分析载荷,设置20 个载荷步
dl,2,1,ux,i*0.1/20
dl,6,2,ux,i*0.1/20
dl,10,3,ux,i*0.1/20
dl,14,4,ux,i*0.1/20
dl,18,5,ux,i*0.1/20
dl,22,6,ux,i*0.1/20
nlgeom,on !设置大变形分析
nsubst,10 !设置载荷步
cnvtol,f,,0.1,,0.1 !设置力收敛准则
ncnv,2 !遇到求解不收敛时不退出
solve !求解
*enddo
!下面计算复合材料拉伸曲线下降段使用弧长法编写的LPF2.MAC 宏文件内容
/SOLU
antype,,rest,15 !从牛顿法第15 个载荷步结束时作重启动分析
dl,2,1,ux, 0.0755 !施加下降段载荷
dl,6,2,ux, 0.0755
dl,10,3,ux, 0.0755
dl,14,4,ux, 0.0755
dl,18,5,ux, 0.0755
dl,22,6,ux, 0.0755
nlgeom,on !设置大变形分析
arclen,on,2 !激发弧长法
nsubst,10,100,5 !设置载荷子步数10,最大为100,最小为5
neqit,15 !平衡迭代15 步,不收敛则进行弧长半径二分
cnvtol,f,,0.1,,0.1 !设置力收敛准则
arctrm,u,0.0755,800,ux !控制第800 号结点轴向位移,
当达到0.08 mm 时结束求解
solve !求解

评分

1

查看全部评分

发表于 2007-3-29 16:40:51 | 显示全部楼层 来自 黑龙江哈尔滨
谢谢,学习中
发表于 2007-6-3 20:51:06 | 显示全部楼层 来自 湖南湘潭
非常非常的感谢,正学习Zhong
回复 不支持

使用道具 举报

发表于 2007-6-3 21:28:55 | 显示全部楼层 来自 浙江杭州
做的不错
回复 不支持

使用道具 举报

发表于 2007-6-10 10:52:46 | 显示全部楼层 来自 LAN
2 运用MAPLE 计算基体材料属性进入塑性阶段后的20 个应力—应变点的命令如下:
strain:=array(1..20); stress:=array(1..20);
for i from 1 to 20 do
stress:=950+(1275.0-950)*i/20:
strain:=stress*1e-3/115e3+(stress/1229)^(1/0.0384):
end do;
writedata("D:\1.txt",strain,float); writedata("D:\2.txt",stress,float);

需要稍加修改
strain:=array(1..20); stress:=array(1..20);
for i from 1 to 20 do
stress:=950+(1275.0-950)*i/20:
strain:=stress*1e-3/115e3+(stress/1229)^(1/0.0384):
end do;
writedata("D:\1.txt",strain,float); writedata("D:\2.txt",stress,float);
回复 不支持

使用道具 举报

发表于 2007-8-27 23:58:21 | 显示全部楼层 来自 陕西西安

回复 #5 amani 的帖子

还是个EI的。
回复 不支持

使用道具 举报

发表于 2007-8-28 10:44:21 | 显示全部楼层 来自 加拿大
It is time-consuming work.
回复 不支持

使用道具 举报

发表于 2008-5-4 20:49:24 | 显示全部楼层 来自 陕西西安
支持加分!!!!
回复 不支持

使用道具 举报

发表于 2008-5-7 12:31:46 | 显示全部楼层 来自 江苏镇江
楼主辛苦了
回复 不支持

使用道具 举报

发表于 2008-11-30 16:44:59 | 显示全部楼层 来自 内蒙古包头
good job, searching. . .
回复 不支持

使用道具 举报

发表于 2009-4-11 10:37:44 | 显示全部楼层 来自 山东济南
楼主好强啊!呵呵,谢谢分享!!!!!
回复 不支持

使用道具 举报

发表于 2009-4-11 10:41:58 | 显示全部楼层 来自 山东济南
为表感谢,再顶一下~~~~~~~~
回复 不支持

使用道具 举报

发表于 2009-4-11 23:39:23 | 显示全部楼层 来自 北京
此贴不错!可以学习一下!
回复 不支持

使用道具 举报

发表于 2009-6-1 19:35:21 | 显示全部楼层 来自 福建福州
强,谢谢分享了。。。
回复 不支持

使用道具 举报

发表于 2009-7-12 19:19:13 | 显示全部楼层 来自 陕西西安
在按照上述方法对复合材料进行数值模拟,命令流如下

/PREP7 !进入前处理器
MU0=0.25
tang0=100
normal0=100
dis=0.001
FKN0=1E6
max_step=4
fibre_damage=0
interface_damage=0
ET,1,42!平面单元
KEYOPT,1,3,0 !设置平面应力分析
KEYOPT,1,5,2 !设置输出结点应力
MP,EX,1,400e3 !纤维材料参数
MP,PRXY,1,0.17
MP,EX,2,115e3 !基体材料参数,进入塑性后用21 个应力-应变点拟合
MP,PRXY,2,0.3
TB, MISO,2,1,21,0
TBPT,,0.008260869565,950
TBPT,,0.01030599278,966.25
TBPT,,0.01148279762,982.5
TBPT,,0.01319060099,998.75
TBPT,,0.01568580449,1015
TBPT,,0.01934123137,1031.25
TBPT,,0.02469575862,1047.5
TBPT,,0.03252378039,1063.75
TBPT,,0.04393191531,1080
TBPT,,0.06049295633,1096.25
TBPT,,0.08443048782,1112.5
TBPT,,0.1188721142,1128.75
TBPT,,0.1681951823,1145
TBPT,,0.2384966466,1161.25
TBPT,,0.3382288502,1177.5
TBPT,,0.4790561384,1193.75
TBPT,,0.677004215,1210
TBPT,,0.9539960686,1226.25
TBPT,,1.339896413,1242.5
TBPT,,1.875222619,1258.75
TBPT,,2.614726016,1275

MP, MU,3,MU0 !界面摩擦系数0.25
RECTNG,8.875/100,8.875,0,0.071 ! 创建模型
RECTNG,0,8.875,0.071,0.284
RECTNG,0,8.875,0.284,0.426
RECTNG,0,8.875,0.426,0.639
RECTNG,0,8.875,0.639,0.781
RECTNG,0,8.875,0.781,0.8875
ASEL,S,,,1,5,2 !分配材料属性
AATT,1,1,1
ASEL,S,,,2,6,2
AATT,2,1,1
ASEL,ALL
LSEL,S,,,1,3,2
LESIZE,all,,,99

LSEL,S,,,5,23,2
LESIZE, ALL,,,100

LSEL,S,,,2,4,2
LESIZE, ALL,,,2

LSEL,S,,,6,8,2
LESIZE, ALL,,,6

LSEL,S,,,14,16,2
LESIZE, ALL,,,6

LSEL,S,,,10,12,2
LESIZE, ALL,,,4

LSEL,S,,,18,20,2
LESIZE, ALL,,,4

LSEL,S,,,22,24,2
LESIZE, ALL,,,3


LSEL,ALL


AMESH,1,5,2 !网格化模型
AMESH,2,6,2
*do,i,1,99 !耦合界面重合位置结点
cp,i,ux,2726+i,1011-i
*enddo
*do,i,100,198
cp,i,uy,2627+i,1110-i
*enddo
*do,i,199,297
cp,i,ux,609+i,2423-i
*enddo
*do,i,298,396
cp,i,uy,510+i,2522-i
*enddo
*do,i,397,495
cp,i,ux,902-i,1623+i
*enddo
*do,i,496,594
cp,i,uy,1001-i,1524+i
*enddo
*do,i,595,693
cp,i,ux,-292+i,2112-i
*enddo
*do,i,694,792
cp,i,uy,-391+i,2211-i
*enddo
*do,i,793,890
cp,i,ux,521+i,994-i
*enddo
*do,i,891,988
cp,i,uy,423+i,1092-i
*enddo
cp,next,all,2725,911
cp,next,all,2726,907
cp,next,all,806,2125
cp,next,all,807,2119
cp,next,all,2018,406
cp,next,all,2019,402
cp,next,all,301,1418
cp,next,all,302,1412
cp,next,all,1313,103
cp,next,all,1312,101



!下面是创建5 对界面接触单元
ET,2,169 !定义目标单元
ET,3,172 !定义接触单元
R,3,,,FKN0,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,3
LSEL,S,,,3
TYPE,2
NSLL,S,1
ESLN,S,0
ESURF !生成目标单元,下面类似
LSEL,S,,,5
TYPE,3
NSLL,S,1
ESLN,S,0
ESURF !生成接触单元,下面类似
ET,4,169 !定义目标单元
ET,5,172 !定义接触单元
R,4,,,FKN0,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,4
LSEL,S,,,9
TYPE,4
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,7
TYPE,5
NSLL,S,1
ESLN,S,0
ESURF
ET,6,169 !定义目标单元
ET,7,172 !定义接触单元
R,5,,,FKN0,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,5
LSEL,S,,,11
TYPE,6
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,13
TYPE,7
NSLL,S,1
ESLN,S,0
ESURF
ET,8,169 !定义目标单元
ET,9,172 !定义接触单元
R,6,,,1FKN0,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,6
LSEL,S,,,17
TYPE,8
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,15
TYPE,9
NSLL,S,1
ESLN,S,0
ESURF
ET,10,169 !定义目标单元
ET,11,172 !定义接触单元
R,7,,,FKN0,0.1,0, !定义接触刚度为1E6
MAT,3
REAL,7
LSEL,S,,,19
TYPE,10
NSLL,S,1
ESLN,S,0
ESURF
LSEL,S,,,21
TYPE,11
NSLL,S,1
ESLN,S,0
ESURF
LSEL,ALL
ALLSEL,ALL  


*DIM, FS,,998,1
*VREAD,FS(1,1),G:\cell\fiberstrength,csv,,jik,1,998
(1f6.1)

/SOLU
*DIM,comp,array,494 !定义界面结点等效应力数组
*DIM,interface,array,494 !
*DIM,normal,array,494 !定义界面结点法向应力数组
*DIM,tang,array,494 !定义界面结点剪切应力数组
*DIM,fes,array,998 !定义纤维单元拉伸应力数组
Rescontrol,define,all,1,1 !将每个载荷步和子步结果读出到文件parameter.txt 中
! 下面是施加第一次求解的位移载荷



/SOLU !进入中间处理器
LSEL,S,,,1
LSEL,a,,,8
LSEL,a,,,12
LSEL,a,,,16
LSEL,a,,,20
LSEL,a,,,24
DL,ALL, ,SYMM
LSEL,ALL


dl,2,1,ux,dis/20
dl,6,2,ux,dis/20
dl,10,3,ux,dis/20
dl,14,4,ux,dis/20
dl,18,5,ux,dis/20
dl,22,6,ux,dis/20
nlgeom,on !设置大变形分析
nsubst,10 !设置载荷子步数
cnvtol,f,,0.1,,0.1 !设置力收敛准则
ALLS
solve
/POST1
save,job%first%,db



*do,i,2,max_step!进入重启动循环求解
/POST1 !进入后处理器
prnsol !列出所有结点的所有方向的应力结果
presol !列出所有单元的所有方向的应力结果
etable,sx,s,x !获取所有单元x 方向应力解
*do,j,1,998
*get,fes(j),elem,j,etab,sx !获取每个纤维单元的拉伸应力值
*enddo
*do,j,1,99
*get,normal(j),node,1011-j,s,y !获取界面结点法向应力值,下面类似
*get,tang(j),node,1011-j,s,xy !获取界面结点剪切应力值,下面类似
comp(j)=(normal(j)/normal0)*(normal(j)/normal0)+(tang(j)/tang0)*(tang(j)/tang0)
!获取判定界面失效的结点应力值,下面类似
*enddo
*do,j,100,198
*get,normal(j),node,708+j,s,y
*get,tang(j),node,708+j,s,xy
comp(j)=(normal(j)/normal0)*(normal(j)/normal0)+(tang(j)/tang0)*(tang(j)/tang0)
*enddo
*do,j,199,297
*get,normal(j),node,704-j,s,y
*get,tang(j),node,704-j,s,xy
comp(j)=(normal(j)/normal0)*(normal(j)/normal0)+(tang(j)/tang0)*(tang(j)/tang0)
*enddo
*do,j,298,396
*get,normal(j),node,5+j,s,y
*get,tang(j),node,5+j,s,xy
comp(j)=(normal(j)/normal0)*(normal(j)/normal0)+(tang(j)/tang0)*(tang(j)/tang0)
*enddo
*do,j,397,494
*get,normal(j),node,598-j,s,y
*get,tang(j),node,598-j,s,xy
comp(j)=(normal(j)/normal0)*(normal(j)/normal0)+(tang(j)/tang0)*(tang(j)/tang0)
*enddo
parsav,all,parameter,txt !保存所有参数到文件parameter.txt 中


/SOLU
antype,,rest !激发重启动分析
parres,new,parameter,txt !从文件parameter.txt 中读出所有参数数据
*do,j,1,998
*if,fes(j),gt,fs(j),then
ekill,j
fibre_damage=fibre_damage+1
*endif
*enddo !判断纤维单元是否失效

*do,j,1,99
*if,comp(j),gt,1.0,then
CPDELE,j,j,any
CPDELE,j+99,j+99,any
interface_damage=interface_damage+1
interface(j)=1
*endif
*enddo !

基于界面应力失效准则,判断结点是否分离,下面类似
*do,j,100,198
*if,comp(j),gt,1.0,then
cpdele,j+99,j+99,any
cpdele,j+198,j+198,any
interface_damage=interface_damage+1
interface(j)=1
*endif
*enddo

*do,j,199,297
*if,comp(j),gt,1.0,then
cpdele,j+198,j+198,any
cpdele,j+297,j+297,any
interface_damage=interface_damage+1
interface(j)=1
*endif
*enddo

*do,j,298,396
*if,comp(j),gt,1.0,then
cpdele,j+297,j+297,any
cpdele,j+396,j+396,any
interface_damage=interface_damage+1
interface(j)=1
*endif
*enddo

*do,j,397,494
*if,comp(j),gt,1.0,then
cpdele,j+396,j+396,any
cpdele,j+494,j+494,any
interface_damage=interface_damage+1
interface(j)=1
*endif
*enddo


dl,2,1,ux,i*0.1/20
dl,6,2,ux,i*0.1/20
dl,10,3,ux,i*0.1/20
dl,14,4,ux,i*0.1/20
dl,18,5,ux,i*0.1/20
dl,22,6,ux,i*0.1/20
nlgeom,on !设置大变形分析
autos on !设置自动步长
cnvtol,f,,0.1,,0.1 !设置力收敛准则
!cnvtol,f,,1,,1 !设置力收敛准则
NROPT, FULL, , OFF
ncnv,0 !遇到求解不收敛时不退出
solve !求解
tiwebull=i-1
save,job%tiwebull%,db
*enddo


以上程序将纤维和基体界面处的位移进行耦合,表示粘接良好状态,两者只将通过接触单元描述界面脱粘后两者之间的应力传递,脱粘后,脱粘处的耦合删除。
然而,在执行以上程序时,载荷导致界面失效后,一旦相应的耦合被删除后,在以后计算中出现以下错误,导致程序执行不下去。
出现的错误提示如下:
One or more elements have become highly distorted.  Excessive           
distortion of elements is usually a symptom indicating the need for     
corrective action elsewhere.  Try incrementing the load more slowly     
(increase the number of substeps or decrease the time step size).  You  
may need to improve your mesh to obtain elements with better aspect     
ratios.  Also consider the behavior of materials, contact pairs,        
and/or constraint equations.  If this message appears in the first      
iteration of first substep, be sure to perform element shape checking.

实际上在最开始加载过程中,若纤维和基体界面上不加任何耦合,光有接触单元时,在第一步计算就不收敛,除非将接触刚度系数FKN设置为10以下,但此时计算结果明显不对。
也就是若纤维和基体界面上如果有节点没耦合上,则程序就运行不下去。
出现上述问题的原因是什么呢?
回复 不支持

使用道具 举报

发表于 2011-3-16 00:17:54 | 显示全部楼层 来自 浙江杭州
技术贴,
顶一下。
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 15:37 , Processed in 0.067798 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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