Calling a utility routine from a subroutine in Abaqus Explicit

88 Views Asked by At

I am writing a VUSDFLD that has a dependence on the incremental principal strain. I use vgetvrm to get the current strain tensor, but I fail to pass this to vsprinc to calculate the principal strains.

My strain tensor is the length of nblock*nrData where nblock is the number of material points and nrData is 6 (all strain components). The call to vsprinc has nblock and strain tensor as input, and outputs an array that I've called eigVal which I would like to contain all three principal values for each nblock (so it should be of dimension eigVal(nblock, 3).

So far my results seem a bit off and I have failed to find any good examples to follow of how the utility routines in Abaqus Explicit works. I am mostly familiar with routines for Implicit, which have a different structure.

I have tried to resturcture the input to vsprinc, but my output seems strange. The values are either zero, very small (e-134) or really large. My VUSDFLD therefore predicts that all elements fail in the first step.

0

There are 0 best solutions below