Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

ABAQUS Subroutine VUSDFLD element deletion

Status
Not open for further replies.

Simon-666

Civil/Environmental
Jan 12, 2017
2
Dear all,

I am trying to use subroutine VUSDFLD to carry out element deletion for concrete fracture analysis. The subroutine is as follow. The model can run but i cannot see any element deleted during the analysis.

I suspect the subroutine does not change the status value as defined in DEPVAR. Can anyone have any suggestion on this issue? Thanks in advance.

c
c User subroutine VUSDFLD for user-defined fields
c
subroutine vusdfld(
c Read only -
* nblock, nstatev, nfieldv, nprops, ndir, nshr,
* jElemUid, kIntPt, kLayer, kSecPt,
* stepTime, totalTime, dt, cmname,
* coordMp, direct, T, charLength, props,
* stateOld,
c Write only -
* stateNew, field )
c
include 'vaba_param.inc'
c
dimension props(nprops),
* jElemUid(nblock), coordMp(nblock, *),
* direct(nblock, 3, 3), T(nblock,3,3),
* charLength(nblock),
* stateOld(nblock, nstatev),
* stateNew(nblock, nstatev),
* field(nblock, nfieldv)
character*80 cmname
c
character*3 cData(maxblk)
dimension jData(maxblk)
dimension eqps(maxblk)
dimension eqpst(maxblk)

c Get stresses and strains from previous increment
jStatus = 1
call vgetvrm( 'PEEQ', eqps, jData, cData, jStatus )
call vgetvrm( 'PEEQT', eqpst, jData, cData, jStatus )
c
do k = 1, nblock
StateUpdate = stateOld(k,1)
if ( (eqps(k) .ge. 0.004) .OR. (eqpst(k) .ge. 0.00005) ) then
c Element deletion
stateNew(k,1) = 0.d0
end if
stateNew(k,1) = StateUpdate
end do
c
return
end

 
 http://files.engineering.com/getfile.aspx?folder=83520dae-6fa6-4487-80fd-f8e70465dd30&file=CylinderCompression.inp
Replies continue below

Recommended for you

Anyway, i will update my progress about this issue here.
First of all, there is a mistake in the subroutine. The stateNew(k,1) = StateUpdate before end do should be deleted.
Second. I tried to just use plasticity for the concrete and didn't change the subroutine. Then it works well, i.e., element deletion can be observed. Therefore, it seems that the subroutine is not called when concrete damage plasticity in ABAQUS is used. But there are two papers claimed that VUSDFLD can be used with CDP, but details about the subroutine is not provided. There might be something missing either in the .inp file or .for file when damage plasticity is used.
 
Did you manage to get the subroutine running when incorporating damage?

If damage has to be omitted for it to work, then I see little difference with the brittle cracking model, unless you're considering element deletion in compression. Then this might be really handy.

I'm eager to read whether you succeeded.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor