Иди на текст

Потпрограми за еластопластичну деформацију (uyield.f90)

Обезбеђени су потпрограми за израчунавање еластопластичне матрице крутости и return mapping-а напона. Када се користи кориснички дефинисана функција течења, прво у улазној датотеци треба поставити !PLASTIC, YIELD=USER и унети потребне материјалне константе, затим функцију uElastoPlasticNumStatus и потпрограме uElastoPlasticMatrix и uBackwardEuler треба направити.

(1) Функција која враћа број реалних променљивих стања

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: низ у којем се чувају материјалне константе (1-100: системски дефинисане материјалне константе, 101-200: кориснички дефинисане материјалне константе)

(2) Потпрограм за израчунавање еластопластичне матрице крутости

  subroutine uElastoPlasticMatrix( matl, stress, istat, fstat, plstrain, D, temp, hdflag )
    real(kind=kreal),   intent(in)  :: matl(:)
    real(kind=kreal),   intent(in)  :: stress(6)
    integer(kind=kint), intent(in)  :: istat
    real(kind=kreal),   intent(in)  :: fstat(:)
    real(kind=kreal),   intent(in)  :: plstrain
    real(kind=kreal),   intent(out) :: D(:,:)
    real(kind=kreal),   intent(in)  :: temp
    integer(kind=kint), intent(in)  :: hdflag
  • matl: низ у којем се чувају материјалне константе (1-100: системски дефинисане материјалне константе, 101-200: кориснички дефинисане материјалне константе)
  • stress: 2nd Piola-Kirchhoff напон
  • istat: целобројна променљива стања
  • fstat: низ реалних променљивих стања
  • plstrain: пластична деформација на почетку текућег подкорака
  • D: еластопластична матрица
  • temp: температура
  • hdflag: израчунава све компоненте (0), само девијаторске компоненте (1), или само запреминске компоненте (2)

(3) Потпрограм за израчунавање return mapping-а напона

  subroutine uBackwardEuler( matl, stress, plstrain, istat, fstat, temp, hdflag )
    real(kind=kreal),   intent(in)    :: matl(:)
    real(kind=kreal),   intent(inout) :: stress(6)
    real(kind=kreal),   intent(in)    :: plstrain
    integer(kind=kint), intent(inout) :: istat
    real(kind=kreal),   intent(inout) :: fstat(:)
    real(kind=kreal),   intent(in)    :: temp
    integer(kind=kint), intent(in)    :: hdflag
  • matl: низ у којем се чувају материјалне константе (1-100: системски дефинисане материјалне константе, 101-200: кориснички дефинисане материјалне константе)
  • stress: trial stress, 2nd Piola-Kirchhoff напон добијен уз претпоставку еластичне деформације
  • plstrain: пластична деформација на почетку текућег подкорака
  • istat: целобројна променљива стања
  • fstat: низ реалних променљивих стања
  • temp: температура
  • hdflag: израчунава све компоненте (0), само девијаторске компоненте (1), или само запреминске компоненте (2)
AI-assisted translation May contain errors Official docs Status