vikram manoj
Student
Hi,
I’m doing a simulation of low-velocity impact on a composite laminate (32 layers, each 0.12 mm thick) using 15 J impact energy. I'm using a 3D Hashin failure model in my VUMAT. But I’m getting very high fiber damage (around 0.9), while the experimental paper I’m comparing with shows almost no fiber damage. I already tried increasing the fiber strength values and reducing the cohesive (interface) strength, but it didn’t help much. Here’s what could be going wrong and how to improve it:
c -- ---------------------------Fiber Mode-----------------------------------
if ( s11 .gt. zero ) then
rft = (s11/f1t*1.0d0 )**2 +(s12/f12*1.0d0)**2+(s13/f13*1.0d0)**2
c write(*,*),rft
if (rft .ge. one) then
dft=1.d0-exp((1.d0/(2.7182818d0*cmft))*
* (1.d0-(rft)**cmft))
else
dft =0
end if
if (dft .ge. 0.9) then
dft = 0.9d0
end if
else if ( s11 .lt. zero ) then
rfc = (s11/(f1c*1.0d0))**2
if (rfc.gt.one) then
dfc=1.d0-exp((1.d0/(2.7182818d0*cmfc))*
* (1.d0-(rfc)**cmfc))
else
dfc =0
end if
if (dfc .ge. 0.9) then
dfc = 0.9d0
end if
end if
c --------------------------Matrix mode--------------------------------------
if((s22+s33).gt.zero) then
rmt = ((s12**2+s13**2)/f12**2) +((s23**2 -s22*s33)/f23**2)
* +(s22/f2t)**2 +(s33/f2t)**2
if(rmt.gt.one) then
dmt=1.d0-exp((1.d0/(2.7182818d0*cmmt))*
* (1.d0-(rmt)**cmmt))
else
dmt=0
end if
if (dmt .ge. 0.9) then
dmt = 0.9d0
end if
else if ((s22+s33).lt.zero) then
rmc =(B/(D+(E*A)))**2+(C/(f12+(F*A)))**2
if(rmc.gt.one) then
dmc=1.d0-exp((1.d0/(2.7182818d0*cmmc))*
* (1.d0-(rmc)**cmmc))
else
dmc=0
end if
if (dmc .ge. 0.9) then
dmc = 0.9d0
end if
end if
I’m doing a simulation of low-velocity impact on a composite laminate (32 layers, each 0.12 mm thick) using 15 J impact energy. I'm using a 3D Hashin failure model in my VUMAT. But I’m getting very high fiber damage (around 0.9), while the experimental paper I’m comparing with shows almost no fiber damage. I already tried increasing the fiber strength values and reducing the cohesive (interface) strength, but it didn’t help much. Here’s what could be going wrong and how to improve it:
c -- ---------------------------Fiber Mode-----------------------------------
if ( s11 .gt. zero ) then
rft = (s11/f1t*1.0d0 )**2 +(s12/f12*1.0d0)**2+(s13/f13*1.0d0)**2
c write(*,*),rft
if (rft .ge. one) then
dft=1.d0-exp((1.d0/(2.7182818d0*cmft))*
* (1.d0-(rft)**cmft))
else
dft =0
end if
if (dft .ge. 0.9) then
dft = 0.9d0
end if
else if ( s11 .lt. zero ) then
rfc = (s11/(f1c*1.0d0))**2
if (rfc.gt.one) then
dfc=1.d0-exp((1.d0/(2.7182818d0*cmfc))*
* (1.d0-(rfc)**cmfc))
else
dfc =0
end if
if (dfc .ge. 0.9) then
dfc = 0.9d0
end if
end if
c --------------------------Matrix mode--------------------------------------
if((s22+s33).gt.zero) then
rmt = ((s12**2+s13**2)/f12**2) +((s23**2 -s22*s33)/f23**2)
* +(s22/f2t)**2 +(s33/f2t)**2
if(rmt.gt.one) then
dmt=1.d0-exp((1.d0/(2.7182818d0*cmmt))*
* (1.d0-(rmt)**cmmt))
else
dmt=0
end if
if (dmt .ge. 0.9) then
dmt = 0.9d0
end if
else if ((s22+s33).lt.zero) then
rmc =(B/(D+(E*A)))**2+(C/(f12+(F*A)))**2
if(rmc.gt.one) then
dmc=1.d0-exp((1.d0/(2.7182818d0*cmmc))*
* (1.d0-(rmc)**cmmc))
else
dmc=0
end if
if (dmc .ge. 0.9) then
dmc = 0.9d0
end if
end if