Autodyn user subroutine:The specific heat capacity set in the "modes_user_1.f90" does not work

code

      DDD=SHCV  
      SHCV=765      !specific heat  
      IF_SIMULTANEOUS = 1
      EE=E0+DSIE-PP*DVV/DEN1
      PP=EE*(2.0/5.0)*DEN1
      SOUND=sqrt(1.4*PP/DEN1)  


      
      IJK_USER = IJKSET3(INOW,JNOW,KNOW)
      VOLUME = GV3(NVOLN,IJK_USER)
      INT_ENERGY = GV3(NCEN,IJK_USER)
      PRESSURE = GV3(NPN,IJK_USER)
      DENSITY = GV3(NDEN,IJK_USER)
      TEMP = GV3(NCTP,IJK_USER)
      
      CALL GETMLT3(IJK_USER,0)
      int_energy1=cen(1,1)
      temp1=ctp(1,1)                                                                       


In the mdstr_user_1.f90(equation of state subroutine) I assign the specific heat capacity 765, but every time before entering the subroutine, the specific heat capacity will be assigned 1.01E20.

It is the reason why the temperature does not change. So how can the specific heat capacity be set correctly?and get the right temperature.😆

Answers

  • cxquancxquan Berkeley, CAForum Coordinator

    In mdeos_user_1.f90, assign nonzero value to Specific Heat. This should give temperature change if internal energy is not zero.

    Furthermore, in Autodyn user subroutines for every GETMLT call, PUTMLT has been called after to store the values properly.

  • @cxquan

    I assigned a non-zero value to SHCV in subroutine, but it seems to work only in subroutine. In the main program, SHCV is assigned a value of 1E21,so the temperature never change.

  • When debugging , I found that only when DVV (DV/V) < 0, specific heat(SHCV) will work, and the temperature will rise.When DVV > 0, the temperature remains unchanged.

    Moreover, the increase in internal energy caused by energy deposition will not cause temperature change.

    Using autodyn's original equation of state will get the result of Fig. 1, which is correct, but the custom equation of state will get the result of Fig. 2, the temperature only rises when DVV < 0.

    Fig. 3 shows the variation of temperature and DVV over time.


Sign In or Register to comment.