Announcement

Collapse
No announcement yet.

VUMAT error when the element local coordinate system is varied

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VUMAT error when the element local coordinate system is varied

    Dear Friends,

    I have been working with ABAQUS VUMAT for quite some time now. Recently I came across a very strange issue that I am hoping that someone could shed some light on.
    Using Jorgen's isotropic compressible Neo-Hookean hyperelastic VUMAT, I performed tests on a single cubic element. This element was simply stretched in one direction.
    To better understand about ABAQUS corotational coordinate system and how the stretch and deformation gradient tensors are stored, I varied the initial local coordinate system and performed identical loading cases.
    For local coordinate systems that were identical or slightly varying from the global coordinate system, the jobs could be solved and the predicted stress values were identical to the analytical solution (AWESOME!).
    However, I found that for some initial local coordinate system, ABAQUS exited with error because of the failed VUMAT data check. In particular, this is the reoccurring error:
    ***ERROR: Bad Material definition in element number 1 instance CUBE-1: zero or
    negative initial dilatational modulus caused by bad material data.
    Please check your material input and any initial conditions if
    necessary.

    I have no idea what is going on. I only found a very few posts in internet forums who had exactly the same problem (see the links below) and they all remain unsolved:
    https://abaqus.yahoogroups.narkive.com/poLEOXLU/ma...
    https://polymerfem.com/forum/finite-element-modeli...

    If anyone ever experienced a similar issue and could give me some advice, it would be really appreciated. Thank you very much in advance.

    Regards,

    Willsen

  • #2
    That sounds strange. Can you provide one (short) inp-file that causes that error?

    -Jorgen
    Jorgen Bergstrom, Ph.D. PolymerFEM Administrator

    Comment


    • #3
      Hi Jorgen,

      Thank you very much for your kind reply. Attached is the input file. Note that the material constants that I assigned in the material definition correspond to C10 and D1 (I modified your VUMAT a bit to make use of these constants' definition). The constant values were arbitrarily selected.
      I sandwiched a single cubic element between two rigid plates using tie-based constraint to allow for an extension-rotation loading. But in the attached .inp file, I simply specified a simple extension along the global x-direction while leaving the other dimension unstretched. Notice that the orientation of the global and local coordinate system are different. I found that using this local orientation, the ABAQUS job cannot be solved and resulted in error that I mentioned earlier.
      Please let me know if you know what is going on.

      Regards,

      Willsen





      *Heading
      ** Job name: ExtensionRotation Model name: For_Jorgen
      ** Generated by: Abaqus/CAE 6.14-2
      *Preprint, echo=NO, model=NO, history=NO, contact=NO
      **
      ** PARTS
      **
      *Part, name=Cube
      *Node
      1, -0.5, -0.5, 1.
      2, -0.5, 0.5, 1.
      3, -0.5, -0.5, 0.
      4, -0.5, 0.5, 0.
      5, 0.5, -0.5, 1.
      6, 0.5, 0.5, 1.
      7, 0.5, -0.5, 0.
      8, 0.5, 0.5, 0.
      *Element, type=C3D8
      1, 5, 6, 8, 7, 1, 2, 4, 3
      *Nset, nset=_PickedSet2, internal, generate
      1, 8, 1
      *Elset, elset=_PickedSet2, internal
      1,
      *Nset, nset=_PickedSet15, internal
      2, 4
      *Elset, elset=_PickedSet15, internal
      1,
      *Nset, nset=_PickedSet22, internal
      2, 6
      *Elset, elset=_PickedSet22, internal
      1,
      *Elset, elset=__PickedSurf11_S1, internal
      1,
      *Surface, type=ELEMENT, name=_PickedSurf11, internal
      __PickedSurf11_S1, S1
      *Elset, elset=__PickedSurf14_S4, internal
      1,
      *Surface, type=ELEMENT, name=_PickedSurf14, internal
      __PickedSurf14_S4, S4
      *Elset, elset=__PickedSurf16_S4, internal
      1,
      *Surface, type=ELEMENT, name=_PickedSurf16, internal
      __PickedSurf16_S4, S4
      *Elset, elset=__PickedSurf21_S3, internal
      1,
      *Surface, type=ELEMENT, name=_PickedSurf21, internal
      __PickedSurf21_S3, S3
      *Orientation, name=Ori-1
      1., 0., 0., 0., 1., 0.
      3, 180.
      ** Section: Neo_Hookean_VUMAT
      *Solid Section, elset=_PickedSet2, orientation=Ori-1, material=Neo_Hookean_VUMAT
      ,
      *End Part
      **
      *Part, name=RigidPlate
      *End Part
      **
      **
      ** ASSEMBLY
      **
      *Assembly, name=Assembly
      **
      *Instance, name=Cube-1, part=Cube
      0., 0., -0.5
      *End Instance
      **
      *Instance, name=NegativePlate, part=RigidPlate
      -0.5, 0., 0.
      -0.5, 0., 0., -0.5, 0., 1., 90.
      *Node
      1, 0., 0., 0.
      *Nset, nset=NegativePlate-RefPt_, internal
      1,
      *Surface, type=CYLINDER, name=RigidSurface_, internal
      START, 1., 0.
      LINE, -1., 0.
      *Rigid Body, ref node=NegativePlate-RefPt_, analytical surface=RigidSurface_
      *End Instance
      **
      *Instance, name=PositivePlate, part=RigidPlate
      0.5, 0., 0.
      0.5, 0., 0., 0.5, 0., 1., 90.
      *Node
      1, 0., 0., 0.
      *Nset, nset=PositivePlate-RefPt_, internal
      1,
      *Surface, type=CYLINDER, name=RigidSurface_, internal
      START, -1., 0.
      LINE, 1., 0.
      *Rigid Body, ref node=PositivePlate-RefPt_, analytical surface=RigidSurface_
      *End Instance
      **
      *Nset, nset=AllNode, instance=Cube-1, generate
      1, 8, 1
      *Nset, nset=_PickedSet31, internal, instance=NegativePlate
      1,
      *Nset, nset=_PickedSet36, internal, instance=PositivePlate
      1,
      *Elset, elset=__PickedSurf29_S2, internal, instance=Cube-1
      1,
      *Surface, type=ELEMENT, name=_PickedSurf29, internal
      __PickedSurf29_S2, S2
      *Elset, elset=__PickedSurf35_S1, internal, instance=Cube-1
      1,
      *Surface, type=ELEMENT, name=_PickedSurf35, internal
      __PickedSurf35_S1, S1
      ** Constraint: TieConstraint-NegativeSurface
      *Tie, name=TieConstraint-NegativeSurface, adjust=yes
      _PickedSurf29, NegativePlate.RigidSurface_
      ** Constraint: TieConstraint-PositiveSurface
      *Tie, name=TieConstraint-PositiveSurface, adjust=yes
      _PickedSurf35, PositivePlate.RigidSurface_
      *End Assembly
      *Amplitude, name=Smooth, definition=SMOOTH STEP
      0., 0., 1., 1.
      **
      ** MATERIALS
      **
      *Material, name=Neo_Hookean_VUMAT
      *Density
      1.,
      *User Material, constants=2
      10., 0.1
      ** ----------------------------------------------------------------
      **
      ** STEP: UniaxialTension_explicit
      **
      *Step, name=UniaxialTension_explicit, nlgeom=YES
      *Dynamic, Explicit
      , 1.
      *Bulk Viscosity
      0.06, 1.2
      **
      ** BOUNDARY CONDITIONS
      **
      ** Name: BC-PositiveSurface Type: Displacement/Rotation
      *Boundary, amplitude=Smooth
      _PickedSet36, 1, 1, 2.
      _PickedSet36, 2, 2
      _PickedSet36, 3, 3
      _PickedSet36, 4, 4
      _PickedSet36, 5, 5
      _PickedSet36, 6, 6
      ** Name: BC_NegativeSurface Type: Displacement/Rotation
      *Boundary, amplitude=Smooth
      _PickedSet31, 1, 1
      _PickedSet31, 2, 2
      _PickedSet31, 3, 3
      _PickedSet31, 4, 4
      _PickedSet31, 5, 5
      _PickedSet31, 6, 6
      **
      ** OUTPUT REQUESTS
      **
      *Restart, write, number interval=1, time marks=NO
      **
      ** FIELD OUTPUT: F-Output-1
      **
      *Output, field
      *Node Output
      A, U
      *Element Output, directions=YES
      E, LE, MISES, S
      **
      ** HISTORY OUTPUT: H-Output-1
      **
      *Output, history
      *Energy Output
      ALLAE, ALLCD, ALLCW, ALLDC, ALLDMD, ALLFD, ALLIE, ALLKE, ALLMW, ALLPD, ALLPW, ALLSE, ALLVD, ALLWK, ETOTAL
      *End Step












      Attached Files

      Comment


      • #4
        Hi All,

        A senior expert from Simulia, Professor Randy Marlow addressed this question. He said:

        "What Abaqus release are you using? There was a problem in the packager that caused the strain increments to be inconsistent with the deformation gradient if a local orientation is used that is not coincident with the global system. According the bug report, this could lead to the error that you are seeing. But this problem was supposed to be fixed in Abaqus 2016."

        This could be the reason. The ABAQUS version that I am running at the moment is 6.14-2.

        Comment


        • #5
          I definitely recommend that you use a more recent version of Abaqus.

          -Jorgen
          Jorgen Bergstrom, Ph.D. PolymerFEM Administrator

          Comment


          • #6
            Hi Jorgen,

            Yes will do that soon and I will update what happen. Thank you very much for taking an interest in my question.

            Regards,

            Willsen

            Comment

            Working...
            X