Към съдържанието

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

Предоставят се подпрограми за изчисляване на еластопластичната матрица на коравината и за връщане на напрежението към повърхнината на текучество. При използване на потребителски дефинирана функция на текучество първо задайте !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: Второ напрежение на Пиола–Кирхоф
  • istat: Целочислена променлива на състоянието
  • fstat: Масив от реални променливи на състоянието
  • plstrain: Пластична деформация в началото на текущата подстъпка
  • D: Еластопластична матрица
  • temp: Температура
  • hdflag: Изчисляване на всички компоненти (0), само девиаторните компоненти (1) или само обемните компоненти (2)

(3) Подпрограма за изчисляване на връщането на напрежението

  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: Второ напрежение на Пиола–Кирхоф, получено при предположение за еластична деформация за пробното напрежение
  • plstrain: Пластична деформация в началото на текущата подстъпка
  • istat: Целочислена променлива на състоянието
  • fstat: Масив от реални променливи на състоянието
  • temp: Температура
  • hdflag: Изчисляване на всички компоненти (0), само девиаторните компоненти (1) или само обемните компоненти (2)
AI-assisted translation May contain errors Official docs Status