


{"id":459414,"date":"2026-06-05T18:30:22","date_gmt":"2026-06-05T18:30:22","guid":{"rendered":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/define-user-material-that-calls-existing-ls-dyna-material-subroutines\/"},"modified":"2026-06-10T18:29:43","modified_gmt":"2026-06-10T18:29:43","slug":"define-user-material-that-calls-existing-ls-dyna-material-subroutines","status":"publish","type":"topic","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/define-user-material-that-calls-existing-ls-dyna-material-subroutines\/","title":{"rendered":"Define user material that calls existing LS-DYNA material subroutines"},"content":{"rendered":"<p>&lt;p&gt;&lt;p&gt;&lt;p&gt;I have read the user manual on user defined materials but it doens&#8217;t address the following use case so I thought I would post here.&nbsp;&lt;\/p&gt;&lt;p&gt;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?&nbsp;&lt;\/p&gt;&lt;p&gt;For example let&#8217;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.&nbsp;&lt;\/p&gt;&lt;p&gt;Any help or insight would be greatly appreciated. Thanks in advance.&nbsp;&lt;\/p&gt;&lt;\/p&gt;&lt;\/p&gt;&lt;p&gt;Update 6\/6\/26:&lt;\/p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt; 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&#8230;&lt;\/p&gt;&lt;\/p&gt;&lt;\/p&gt;&lt;p&gt;Update 6\/10\/26:&lt;\/p&gt;&lt;p&gt;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.,&lt;\/p&gt;&lt;p&gt;&nbsp; &nbsp;call umat41 (cm(mx+1),eps,sig,epsp,hsv,dt1,capa,eltype,tt,&lt;br&gt;&nbsp; &nbsp; &nbsp;. &nbsp; temper,failel,crv,nnpcrv,a(lcma),qmats,elsiz,idele,reject)&lt;\/p&gt;&lt;p&gt;Of course instead of calling umat41 it would be the material model you want to use. But now I&#8217;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 &#8220;matxxx&#8221;&#8230;.?&lt;\/p&gt;<\/p>\n","protected":false},"template":"","class_list":["post-459414","topic","type-topic","status-publish","hentry","topic-tag-add-material","topic-tag-custom-materials-1","topic-tag-elastic-plastic-material","topic-tag-material-set-up-1","topic-tag-materials","topic-tag-user-defined-1"],"aioseo_notices":[],"acf":[],"custom_fields":[{"0":{"_bbp_forum_id":["27814"],"_bbp_topic_id":["459414"],"_bbp_subscription":["695559"],"_bbp_author_ip":["128.220.159.214"],"_bbp_last_reply_id":["0"],"_bbp_last_active_id":["459414"],"_bbp_last_active_time":["2026-06-05 18:30:22"],"_bbp_reply_count":["0"],"_bbp_reply_count_hidden":["0"],"_bbp_voice_count":["1"],"_bbp_engagement":["695559"],"_btv_view_count":["99"],"_bbp_topic_status":["unanswered"],"_edit_last":["695559"],"_bbp_revision_log":["a:2:{i:459422;a:2:{s:6:\"author\";i:695559;s:6:\"reason\";s:21:\"Small progress update\";}i:459583;a:2:{s:6:\"author\";i:695559;s:6:\"reason\";s:23:\"Small progress update 2\";}}"]},"test":"mwhitte6jhu-edu"}],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/459414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":2,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/459414\/revisions"}],"predecessor-version":[{"id":459583,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/459414\/revisions\/459583"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=459414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}