当前位置:文档之家› ansys复合材料渐进失效

ansys复合材料渐进失效

/title, pprogressive failure analysis of carbon fiber/epoxy composite laminates using CDM(40MPa hydrogen storage tank)
/uis,msgpop,3
/prep7
et,1,95
et,2,64
mp,ex,1,70e3
mp,nuxy,1,0.3
tb,biso,1,1,2
tbdata,,246,600
*afun,deg
E1=181e3
E2=10.3e3
v12=0.28
v23=0.49
*dim,ls,array,1000
*dim,offsy,array,5000
*dim,offsz,array,5000
*dim,offsyz,array,5000
*dim,offstrainz,array,5000
*dim,offstrainsita,array,5000
*dim,offstrainzsita,array,5000
*dim,ons1,array,5000
*dim,ons2,array,5000
*dim,ons6,array,5000
*dim,onstrain1,array,5000
*dim,onstrain2,array,5000
*dim,onstrain6,array,5000
*dim,H1,array,5000
*dim,H2,array,5000
*dim,H6,array,5000
*dim,H12,array,5000
*dim,Tsaiwu,array,5000
*dim,Y1,array,5000
*dim,Y2,array,5000
*dim,Y6,array,5000
F22=1.0/(298*298)
F66=1.0/(778*778)
F11=1.0/(2150*2150)
F12= -0.5*sqrt(F11*F22)
LFN=0
FFN=0
MCN=0
SSN=0
*dim,MLFN,array,100
*dim,MFFN,array,100
*dim,MMCN,array,100
*dim,MSSN,array,100
*dim,D1,array,5000
*dim,D2,array,5000
*dim,D6,array,5000
*dim,angle,array,10
*dim,m,array,10
*dim,n,array,10
*dim,te,array,6,6,5000
*dim,ts,array,6,6,5000
*dim,tst,array,6,6,5000
*dim,unit,array,6,6,5000
*dim,s,array,6,6,5000
*dim,c,array,6,6,5000
*dim,cp,array,6,6,5000
*dim,midlpf,array,6,6,5000

angle(1)=90
angle(2)=-90
angle(3)=18.9
angle(4)=-18.9
angle(5)=90
angle(6)=-90
angle(7)=28.6
angle(8)=-28.6
angle(9)=90
angle(10)=-90

*do,i,1,10
*vfun,m(i),cos,angle(i)
*vfun,n(i),sin,angle(i)
*enddo

*do,i,1,10
*do,j,(i-1)*500+1,i*500
te(1,1,j)=m(i)*m(i),n(i)*n(i),0,0,0,-2*m(i)*n(i)
te(1,2,j)=n(i)*n(i),m(i)*m(i),0,0,0,2*m(i)*n(i)
te(1,3,j)=0,0,1,0,0,0
te(1,4,j)=0,0,0,m(i),n(i),0
te(1,5,j)=0,0,0,-n(i),m(i),0
te(1,6,j)=m(i)*n(i),-m(i)*n(i),0,0,0,m(i)*m(i)-n(i)*n(i)
*enddo
*enddo

*do,i,1,5000
unit(1,1,i)=1,0,0,0,0,0
unit(1,2,i)=0,1,0,0,0,0
unit(1,3,i)=0,0,1,0,0,0
unit(1,4,i)=0,0,0,1,0,0
unit(1,5,i)=0,0,0,0,1,0
unit(1,6,i)=0,0,0,0,0,1
*enddo

*do,i,1,5000
*moper,tst(1,1,i),te(1,1,i),solv,unit(1,1,i)
*enddo

*do,i,1,5000
*mfun,ts(1,1,i),tran,tst(1,1,i)
*enddo

*do,i,1,5000
s(1,1,i)=1.0/E1,-v12/E1,-v12/E1,0,0,0
s(1,2,i)=-v12/E1,1.0/E2,-v23/E1,0,0,0
s(1,3,i)=-v12/E1,-v23/E1,1.0/E2,0,0,0
s(1,4,i)=0,0,0,2*(1+v23)/E2,0,0
s(1,5,i)=0,0,0,0,2*(1+v12)/E1,0
s(1,6,i)=0,0,0,0,0,2*(1+v12)/E1
*enddo

*do,i,1,5000
*moper,c(1,1,i),s(1,1,i),solv,unit(1,1,i)
*enddo




*create, material
*do,j,1,5000
c(1,1,j)=(1-D1(j))*c(1,1,j)
c(2,2,j)=(1-D2(j))*c(2,2,j)
c(6,6,j)=(1-D6(j))*c(6,6,j)
*enddo

*do,j,1,5000
*moper,midlpf(1,1,j),ts(1,1,j),mult,c(1,1,j)
*enddo

*do,j,1,5000
*moper,cp(1,1,j),midlpf(1,1,j),mult,tst(1,1,j)
*enddo

*do,j,1,5000
TB,ANEL,j+1,1,21,0
TBDATA,,cp(1,1,j),cp(1,2,j),cp(1,3,j),0,0,cp(1,6,j)
TBDATA,,cp(2,2,j),cp(2,3,j),0,0,cp(2,6,j),cp(3,3,j)
TBDATA,,0,0,cp(3,6,j),cp(4,4,j),cp(4,5,j

),0
TBDATA,,cp(5,5,j),0,cp(6,6,j)
*enddo
*end





*use,material

csys,1
cyl4,0,0,44,0,45.8,30,160
*do,i,1,10
cyl4,0,0,45.8+(i-1)*0.42,0,45.8+i*0.42,30,160
*enddo
vglue,all
numcmp,all
LESIZE,12,,,50
LESIZE,1,,,2
LESIZE,3,,,2
LESIZE,6,,,2
LESIZE,8,,,2
LESIZE,2,,,10
LESIZE,4,,,10
LESIZE,5,,,10
LESIZE,7,,,10

*do,i,1,9
LESIZE,13+(i-1)*4,,,10
*enddo

*do,i,1,9
LESIZE,14+(i-1)*4,,,10
*enddo

*do,i,1,9
LESIZE,15+(i-1)*4,,,50
*enddo

*do,i,1,9
LESIZE,16+(i-1)*4,,,50
*enddo

*do,i,1,10
LESIZE,55+(i-1)*4,,,1
*enddo

*do,i,1,10
LESIZE,56+(i-1)*4,,,1
*enddo

alls
type,1
mat,1
vmesh,1
type,2
*do,i,1,10
mat,i+1
vmesh,i+1
*enddo
nummrg,node,,,,low
nummrg,elem,,,,low
*do,i,1,5000
emodif,i+1000,mat,i+1
*enddo
/pnum,mat,1
eplot

/solu
da,5,symm
da,6,symm
*do,i,1,10
da,(i-1)*4+19,symm
*enddo

*do,i,1,10
da,(i-1)*4+20,symm
*enddo
d,1000,uz,0
rescontrol,define,all,1,1
sfa,4,1,pres,30
nsubst,5
cnvtol,f,,0.1,,0.1
solve

*do,i,2,92
/post1
rsys,1
etable,sequ,s,eqv
etable,sy,s,y
etable,sz,s,z
etable,syz,s,yz
etable,strainy,epel,y
etable,strainz,epel,z
etable,strainyz,epel,yz

*do,j,1,1000
*get,ls(j),elem,j,etab,sequ
*enddo

*do,j,1,5000
*get,offsy(j),elem,j+1000,etab,sy
*get,offsz(j),elem,j+1000,etab,sz
*get,offsyz(j),elem,j+1000,etab,syz
*enddo

*do,j,1,5000
*get,offstrainsita(j),elem,j+1000,etab,strainy
*get,offstrainz(j),elem,j+1000,etab,strainz
*get,offstrainzsita(j),elem,j+1000,etab,strainyz
*enddo

*do,j,1,10
*do,k,(j-1)*500+1,j*500
ons1(k)=m(j)*m(j)*offsz(k)+n(j)*n(j)*offsy(k)-2*m(j)*n(j)*offsyz(k)
ons2(k)=n(j)*n(j)*offsz(k)+m(j)*m(j)*offsy(k)+2*m(j)*n(j)*offsyz(k)
ons6(k)=m(j)*n(j)*offsz(k)-m(j)*n(j)*offsy(k)+(m(j)*m(j)-n(j)*n(j))*offsyz(k)
*enddo
*enddo

*do,j,1,10
*do,k,(j-1)*500+1,j*500
onstrain1(k)=m(j)*m(j)*offstrainz(k)+n(j)*n(j)*offstrainsita(k)-m(j)*n(j)*offstrainzsita(k)
onstrain2(k)=n(j)*n(j)*offstrainz(k)+m(j)*m(j)*offstrainsita(k)+m(j)*n(j)*offstrainzsita(k)
onstrain6(k)=2*m(j)*n(j)*(offstrainz(k)-offstrainsita(k))+(m(j)*m(j)-n(j)*n(j))*offstrainzsita(k)
*enddo
*enddo

*do,j,1,5000
Y1(j)=abs(0.5*ons1(j)*onstrain1(j))
Y2(j)=abs(0.5*ons2(j)*onstrain2(j))
Y6(j)=abs(0.5*ons6(j)*onstrain6(j))
*enddo

*do,j,1,5000
H1(j)=F11*ons1(j)*ons1(j)
H2(j)=F22*ons2(j)*ons2(j)
H6(j)=F66*ons6(j)*ons6(j)
H12(j)=2*F12*ons1(j)*ons2(j)
Tsaiwu(j)=H1(j)+H2(j)+H6(j)+H12(j)
*enddo
parsav,all,parameter,txt

/solu
antype,,rest
parres,new,parameter,txt
*do,j,1,1000
*if,ls(j),gt,324,then
ekill,j
LFN=LFN+1
*endif
*enddo

*do,j,1,5000
*if,Tsaiwu(j),gt,1,then
*if,H1(j),gt,H2(j),and,H1(j),gt,H6(j),then
D1(j)=1-exp(-0.01*Y1(j))
FFN=FFN+1
*elsei

f,H2(j),gt,H1(j),and,H2(j),gt,H6(j),then
D2(j)=Y2(j)/40
MCN=MCN+1
*else
D6(j)=Y6(j)/15
SSN=SSN+1
*endif
*endif
*enddo

MLFN(i-1)=LFN
MFFN(i-1)=FFN
MMCN(i-1)=MCN
MSSN(i-1)=SSN

/prep7
*do,j,1,5000
TBDE,ANEL,j+1
*enddo
*use,material

/solu
sfa,4,1,pres,30+i*100/100
nsubst,5
cnvtol,f,,0.1,,0.1
ncnv,2
solve
*enddo

! 下面是运用弧长法计算下降段的宏文件程序
antype,,rest !从载荷步92进行重启动分析
sfa,4,1,pres,140 ! 施加下降段载荷140MPa
arclen,on,1000 !弧长法弧长设置
nsubst,500,1000,250 !载荷子步设置
neqit,15 !一个载荷步内最多叠代15次,然后进行弧长二分
cnvtol,f,,0.1,,0.1 !定义力收敛准则
ncnv,2
solve

! 创建宏文件,提取随内压上升的纤维/基体/剪切失效次数
*create,data1
*cfopen,d:\file1,txt
*vwrite, MLFN(1)
(f5.0)
*cfclose
*end

*create,data2
*cfopen,d:\file2,txt
*vwrite, MFFN(1)
(f5.0)
*cfclose
*end

*create,data3
*cfopen,d:\file3,txt,
*vwrite, MMCN(1)
(f5.0)
*cfclose
*end

*create,data4
*cfopen,d:\file4,txt
*vwrite, MSSN(1)
(f5.0)
*enddo
*cfclose
*end

*use,data1
*use,data2
*use,data3
*use,data4

/title,
本文摘自: 复材中国(https://www.doczj.com/doc/0e8762575.html,) 详细出处请参考:https://www.doczj.com/doc/0e8762575.html,/forum.php?mod=viewthread&tid=913&extra=page%3D2


论文:Progressive failure analysis of carbon fiber/epoxy composite laminates using continuum damage mechanics
应用背景:氢燃料电池汽车轻质高压储氢容器
单位:浙江大学化工系
QQ:56691747
国际杂志:MATERIALS SCIENCE AND ENGINEERING:A(影响因子1.8)
现附上程序,供大家参考,请多引用哟。

本文摘自: 复材中国(https://www.doczj.com/doc/0e8762575.html,) 详细出处请参考:https://www.doczj.com/doc/0e8762575.html,/forum.php?mod=viewthread&tid=913&extra=page%3D2

相关主题
文本预览
相关文档 最新文档