RodrygoFigueiredo
Mechanical
- Sep 23, 2015
- 2
Hello everyone,
I have to model the crack propagation in a pipe under an internal pressure. In order to do that I am trying to use the VDLOAD subroutine to model the pressure decay behind the crack tip during propagation, however I cannot find a way to inform the subroutine the instantaneous crack tip position. I can only make it work based on the initial crack tip coordinates.
Since I am using Porous metal plasticity to model the damage, I could use the Void Volume Fraction (VVF) output do identify when an element fail and move my crack tip coordinate. Is there a way to use that output coupled with the VDLOAD subroutine?
I would really appreciate any help.
Here is my VDLOAD code.
subroutine vdload (
C Read only (unmodifiable)variables -
1 nblock, ndim, stepTime, totalTime,
2 amplitude, curCoords, velocity, dirCos, jltyp, sname,
C Write only (modifiable) variable -
1 value )
C
include 'vaba_param.inc'
parameter( zcoord_crack=7.0776d3, ! INITIAL CRACK TIP COORDINATE
* Diametro = 1422.4d0,
* Pressao = 18.7d0,
* Time_decay = 0.02d0,
* Coef_angular = 561d0)
C
dimension curCoords(nblock,ndim), velocity(nblock,ndim),
1 dirCos(nblock,ndim,ndim), value(nblock)
character*80 sname
C
do 100 km = 1, nblock
zcoord=curCoords(km,3)
IF (zcoord .GT. zcoord_crack) THEN
value(km) = Pressao * exp((zcoord_crack - zcoord)/Diametro)
ELSEIF (zcoord .LE. zcoord_crack) THEN
IF (stepTime .LE. Time_decay) THEN
value(km) = Pressao - (Coef_angular * stepTime)
ELSE IF (stepTime .GT. Time_decay) THEN
value(km) = Pressao * 0.4d0
END IF
END IF
100 continue
return
end
I have to model the crack propagation in a pipe under an internal pressure. In order to do that I am trying to use the VDLOAD subroutine to model the pressure decay behind the crack tip during propagation, however I cannot find a way to inform the subroutine the instantaneous crack tip position. I can only make it work based on the initial crack tip coordinates.
Since I am using Porous metal plasticity to model the damage, I could use the Void Volume Fraction (VVF) output do identify when an element fail and move my crack tip coordinate. Is there a way to use that output coupled with the VDLOAD subroutine?
I would really appreciate any help.
Here is my VDLOAD code.
subroutine vdload (
C Read only (unmodifiable)variables -
1 nblock, ndim, stepTime, totalTime,
2 amplitude, curCoords, velocity, dirCos, jltyp, sname,
C Write only (modifiable) variable -
1 value )
C
include 'vaba_param.inc'
parameter( zcoord_crack=7.0776d3, ! INITIAL CRACK TIP COORDINATE
* Diametro = 1422.4d0,
* Pressao = 18.7d0,
* Time_decay = 0.02d0,
* Coef_angular = 561d0)
C
dimension curCoords(nblock,ndim), velocity(nblock,ndim),
1 dirCos(nblock,ndim,ndim), value(nblock)
character*80 sname
C
do 100 km = 1, nblock
zcoord=curCoords(km,3)
IF (zcoord .GT. zcoord_crack) THEN
value(km) = Pressao * exp((zcoord_crack - zcoord)/Diametro)
ELSEIF (zcoord .LE. zcoord_crack) THEN
IF (stepTime .LE. Time_decay) THEN
value(km) = Pressao - (Coef_angular * stepTime)
ELSE IF (stepTime .GT. Time_decay) THEN
value(km) = Pressao * 0.4d0
END IF
END IF
100 continue
return
end