Notifications
Clear all

Abaqus Field Output result and SDV result from VUSDFLD vgetvrm are different, what am I doing wrong?

1 Posts
1 Users
0 Likes
227 Views
Posts: 1
Topic starter
(@wsmni)
New Member
Joined: 7 months ago
Hi everyone,
 
I am trying to write a subroutine using VUSDFLD. Before I do, I try to test how can I output results as SDV using VUSDFLD subroutine with a single-element model. However, my logarithmic strain (LE) field output is different from SDV LE from VUSDFLD using the vgetvrm. I am sharing the code below to ask what am I doing wrong or am I missing something. I am using 3D stress and reduced integration elements.
 
subroutine vusdfld(
c Read only variables -
1 nblock, nstatev, nfieldv, nprops, ndir, nshr,
2 jElem, kIntPt, kLayer, kSecPt,
3 stepTime, totalTime, dt, cmname,
4 coordMp, direct, T, charLength, props,
5 stateOld,
c Write only variables -
6 stateNew, field )
c
include 'vaba_param.inc'
c
dimension jElem(nblock), coordMp(nblock,*),
1 direct(nblock,3,3), T(nblock,3,3),
2 charLength(nblock), props(nprops),
3 stateOld(nblock,nstatev),
4 stateNew(nblock,nstatev),
5 field(nblock,nfieldv)
character*80 cmname

c
c Local arrays from vgetvrm are dimensioned to
c maximum block size (maxblk)
c
parameter( nrData=6 )
character*3 cData(maxblk*nrData)
dimension rData(maxblk*nrData), jData(maxblk*nrData)

call vgetvrm( 'LE', rData, jData, cData, jStatus )
c

do k = 1, nblock
St11 = rData(k)
St22 = rData(nblock+k)
St33 = rData(2*nblock+k)
St12 = rData(3*nblock+k)
St23 = rData(4*nblock+k)
St13 = rData(5*nblock+k)

stateNew(k,1) = St11
stateNew(k,2) = St22
stateNew(k,3) = St33
stateNew(k,4) = St12
stateNew(k,5) = St23
stateNew(k,6) = St13

end do

return
end

Share: