The Ansys Innovation Space website recently experienced a database corruption issue. While service has been restored there appears to have been some data loss from November 13. We are still investigating and apologize for any issues our users may have as a result.
LS Dyna

LS Dyna

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

Using user subroutine with Autodyn – Parallel Processing Issue

    • Myunghyun Shin
      Subscriber

      Hi, there.

      I am a mechanical engineering student who is studying the implementation of Autodyn subroutines.

      I am having difficulty implementing subroutines as parallel processes.

      The Autodyn manual states that to implement subroutines as parallel processes, one should use the "MDPP module".

      Please refer to the picture below.

      As shown in the picture, the manual mentions using "IFPP" and "MYTASK" variables, but I haven't been able to find any relevant sample code related to these instructions.

      I would appreciate it if you could explain how to use the "MDPP module", "IFPP and MYTASK variables" to implement a subroutine as a parallel process.

      If possible, providing a simple example code along with the explanation would be greatly appreciated.

      Thanks and best regards,

      Myunghyun Shin

    • Chris Quan
      Ansys Employee

      You don't need to define IFPP and MYTASK in your user subroutines. They are defined when Autodyn starts to solve and are then passed to MDPP. See attached pictures below.

      When the box "Activate Parallel Processing" is checked, IFPP = 1. Otherwise IFPP = 0. "MYTASK" is the task number. It is assigned by Autodyn automatically during runtime.

      Once an Autodyn user subroutine is integrated into Autodyn user executable, Autodyn will automatically incorporate it into parallel processing scheme. User don't need to do anything while writing the user subroutines. 

      Furthmore, to start Autodyn with parallel processing, a command of AutodynWrapper.exe or a user-defined configuration file "applfile" is needed. The total number of workers is defined in the command or applfile and is then passed to the module MDPP.

      More information about how to use AutodynWrapper.exe can be found from ANSYS HELP in the Section 22.1 Running Autodyn on Windows Platforms under Autodyn User's Manual.

      More information about how to use applfile can be found from ANSYS HELP in the Section 3.1.1 Running Autodyn with Intel MPI under Autodyn Parallel Processing Guide.

       

      • Myunghyun Shin
        Subscriber

        Thanks for you kind respone!

        I have an additional question to ask.

        In the provided subroutine example, I am studying the modification of the strength model (mdstr_user_1.f90).

        In the manual, it is specified that the internal array for effective plastic strain is named "EPS". Please refer to the picture below.

        However, in the subroutine code, it appears that the variable "EPST" is being used to retrieve the effective plastic strain. Please refer to the picture below.

        Shouldn't we be using the internal array "EPS" to access the effective plastic strain in the subroutine code?


        Thanks and best regards,

    • Chris Quan
      Ansys Employee

      Yes, it is true that EPS is the effective plastic strain. It is an element variable. It is an array.

      EPST from your note is a local variable. It is not an array. It is a scalar and has a single value. See the picture below.

      User Subroutine "SOLVE_STR_USER_1" is called for every element automatically by Autodyn. EPST is the Effective Plastic Strain for the current element, i.e., EPST = EPS(current element #).

      EPST is used to interpolated plastic strain from the input of material hardenning curve (Yield Stress vs Plastic Strain) to obtain the Yield Stress for the current element.

       

      • Myunghyun Shin
        Subscriber

        Thank you!

        Then, where can I check the list of local value call names (e.g., from EPS to EPST) for all variables?

        Is it only possible to use the local value call names mentioned in the commented sections within the subroutine code?

    • Chris Quan
      Ansys Employee

      EPS - > EPST is in the subroutine which calls the user subroutine. It's not accessible.

      If you want to look at the entire EPS array, you need to use the user subroutine EXEDIT.

Viewing 3 reply threads
  • The topic ‘Using user subroutine with Autodyn – Parallel Processing Issue’ is closed to new replies.