Ansys Assistant will be unavailable on the Learning Forum starting January 30. An upgraded version is coming soon. We apologize for any inconvenience and appreciate your patience. Stay tuned for updates.
LS Dyna

LS Dyna

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

Define user material that calls existing LS-DYNA material subroutines

    • mwhitte6
      Subscriber

      I have read the user manual on user defined materials but it doens't address the following use case so I thought I would post here. 

      Is it possible define a user material that calls a predefined LS-DYNA material model? If so what would the syntax look like to accomplish this? 

      For example let's say I want to introduce a topology optimization variable as part of a user defined material model and I want to use a predefined elastoplatic model which already exists in LS-DYNA in combination with said TO variable. I am trying to take advantage of the material model that already exists rather than reimplementing it myself. 

      Any help or insight would be greatly appreciated. Thanks in advance. 

      Update 6/6/26:

      A small update. I remembered being able to view the signatures of object files .o or .a files with command line tools like nm or objdump. So as a small first step I can at least view the function names available in precompiled object files. Which I believe correspond to the material subroutine names. However, this is not the complete function definition with variable names in the correct order but it is a start. It is also probably reasonable to assume that the variable ordering in the card definitions in the user manual are the same order as the variables in the function call. Although it will probably get a little tricky with cards that can be repeated and other such options. But it is a start...

      Update 6/10/26:

      After downloading and reviewing the object version of LS-DYNA and the accompanying Fortran files for defining the user defined materials I actually think the calls to the existing material models will look more like what is found in those Fortran files, e.g.,

         call umat41 (cm(mx+1),eps,sig,epsp,hsv,dt1,capa,eltype,tt,
           .   temper,failel,crv,nnpcrv,a(lcma),qmats,elsiz,idele,reject)

      Of course instead of calling umat41 it would be the material model you want to use. But now I'm having a hard time finding the function names of the existing material functions in the object files as suggested above. I wonder if it as simple as "matxxx"....?

    • Pedram Samadian
      Ansys Employee

      Hello,

      I don't think you can directly call or reuse the internal compiled *MAT material routines within LS-DYNA user material subroutines since UMATs are treated as standalone constitutive models at each integration point. However, I'll double check this with the developer and get back to you.

      I'll keep you posted.

      Thanks,

      Pedram

       

    • Pedram Samadian
      Ansys Employee

      Hi,

       

      The developer also confirmed that this is not unfortunately feasible. Feel free to reach out if you have any questions.

       

      Thanks,

      Pedram

    • mwhitte6
      Subscriber

       

      Hi Pedram,

      Thanks for looking into this for me. It is an unfortunate conclusion. It is honestly surprising to me that the integration point material routine implementation is different enough that this functionality isn’t available. If one of the developers decides it is worthwhile to implement this functionality please let me know. It will save me a lot of time.

      best,

      Michael

       

    • Pedram Samadian
      Ansys Employee

      Hi Michael,

      No worries. I understand it is disappointing. I conveyed your interest to the developer, but he thinks this requires a complete reorganization of the code, which might be time consuming. They may consider it in the future.

      Best,

      Pedram

Viewing 4 reply threads
  • You must be logged in to reply to this topic.
[bingo_chatbox]