LS Dyna

LS Dyna

Topics related to LS-DYNA, Autodyn, Explicit STR and more.

User Material (UMAT) with EOS Coupling Issue – pc() Array Remains Zero

    • Amrith Mariappan
      Subscriber
       
      I'm experiencing an issue with coupling a user-defined material (UMAT49V) to an equation of state in LS-DYNA R16.1. The EOS pressure array pc(i) accessed via common/eosdloc/ remains zero throughout the simulation, even though the configuration appears correct.
       
      Environment:
      - LS-DYNA Version: R16.1-182-g5848067bc5 (MPP, Windows 10, Intel Fortran 19.0)
      - Material: *MAT_USER_DEFINED_MATERIAL_MODELS (MT=49)
      - EOS: *EOS_GRUNEISEN (EOSID=1)
       
      Configuration:
      My material card is set up with:
      - IEOS = 1 (EOS coupling enabled)
      - NHV = 12 (reserved 4 slots for EOS as per manual)
      - PART card references both MID=1 (UMAT) and EOSID=1 (EOS)
       
      In my UMAT49V subroutine, I access the pressure via:
      text
        common/eosdloc/pc(nlq)
        ...
        p_eos = pc(i)
      text
       
      Observed Behavior:
      - Debug prints show pc(i) = 0.0 for all cycles
      - The UMAT is being called (deviatoric stresses compute correctly)
      - Time stepping is working (4347 cycles completed)
      - Elements are deforming (strain increments are non-zero)
       
      What Works:
      - MAT_010 (*MAT_ELASTIC_PLASTIC_HYDRO) with the SAME *EOS_GRUNEISEN card works correctly and produces non-zero pressure
      - This confirms the EOS card itself is valid
       
      Question:
      Is the common/eosdloc/pc() mechanism supported for *MAT_USER_DEFINED_MATERIAL_MODELS in R16.1? The manual (Appendix A, section on user materials with EOS) states that I should:
      1. Set IEOS=1
      2. Reserve first 4 history variables for EOS
      3. Access pressure via pc(i)
       
      I've done all three, but pc(i) never gets populated. Is there a compilation flag, additional include file, or different approach needed for user materials to access EOS pressure in R16?
       
      Workaround Consideration:
      Would implementing the EOS in dyn21ueos.f (using ueos41) instead of relying on external *EOS_GRUNEISEN cards be more reliable for user material coupling?
       
      Any guidance would be greatly appreciated. I can provide the full keyword file and UMAT code if needed for troubleshooting.
       
      Thank you,
      Amrith


Viewing 0 reply threads
  • You must be logged in to reply to this topic.