Tarkibga o'tish

Elastoplastik deformatsiyaga oid subrutinlar (uyield.f90)

Elastoplastik qattiqlik matritsasi va kuchlanishning return mapping hisobini bajarish uchun subrutinlar taqdim etiladi. Foydalanuvchi aniqlagan oqish funksiyasidan foydalanilganda, avval kiritish faylida !PLASTIC, YIELD=USER ni o‘rnating va zarur material konstantalarini kiriting, so‘ng uElastoPlasticNumStatus funksiyasi hamda uElastoPlasticMatrix va uBackwardEuler subrutinlarini yaratish kerak.

(1) Haqiqiy turdagi holat o‘zgaruvchilari sonini qaytaruvchi funksiya

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: material konstantalarini saqlovchi massiv (1-100: tizim aniqlagan material konstantalari, 101-200: foydalanuvchi aniqlagan material konstantalari)

(2) Elastoplastik qattiqlik matritsasini hisoblash subrutini

  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: material konstantalarini saqlovchi massiv (1-100: tizim aniqlagan material konstantalari, 101-200: foydalanuvchi aniqlagan material konstantalari)
  • stress: 2nd Piola-Kirchhoff kuchlanishi
  • istat: butun turdagi holat o‘zgaruvchisi
  • fstat: haqiqiy turdagi holat o‘zgaruvchilari massivi
  • plstrain: joriy substep boshidagi plastik deformatsiya
  • D: elastoplastik matritsa
  • temp: harorat
  • hdflag: barcha komponentlarni (0), faqat deviatorik komponentlarni (1) yoki faqat hajmiy komponentlarni (2) hisoblaydi

(3) Kuchlanish uchun Return mapping hisoblash subrutini

  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: material konstantalarini saqlovchi massiv (1-100: tizim aniqlagan material konstantalari, 101-200: foydalanuvchi aniqlagan material konstantalari)
  • stress: elastik deformatsiya farazidan olingan trial stress uchun 2nd Piola-Kirchhoff kuchlanishi
  • plstrain: joriy substep boshidagi plastik deformatsiya
  • istat: butun turdagi holat o‘zgaruvchisi
  • fstat: haqiqiy turdagi holat o‘zgaruvchilari massivi
  • temp: harorat
  • hdflag: barcha komponentlarni (0), faqat deviatorik komponentlarni (1) yoki faqat hajmiy komponentlarni (2) hisoblaydi
AI-assisted translation May contain errors Official docs Status