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¶
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 kuchlanishiistat: butun turdagi holat o‘zgaruvchisifstat: haqiqiy turdagi holat o‘zgaruvchilari massiviplstrain: joriy substep boshidagi plastik deformatsiyaD: elastoplastik matritsatemp: harorathdflag: 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 kuchlanishiplstrain: joriy substep boshidagi plastik deformatsiyaistat: butun turdagi holat o‘zgaruvchisifstat: haqiqiy turdagi holat o‘zgaruvchilari massivitemp: harorathdflag: barcha komponentlarni (0), faqat deviatorik komponentlarni (1) yoki faqat hajmiy komponentlarni (2) hisoblaydi