Elastoplastik deformatsiyaga oid quyi dasturlar (uyield.f90)¶
Elastoplastik qattiqlik matritsasi va kuchlanishning qaytarish xaritalash hisobini bajarish uchun quyi dasturlar 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 quyi dasturlarini 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 quyi dasturi¶
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 subqadam boshidagi plastik nisbiy deformatsiyaD: elastoplastik matritsatemp: harorathdflag: barcha komponentlarni (0), faqat deviatorik komponentlarni (1) yoki faqat hajmiy komponentlarni (2) hisoblaydi
(3) Kuchlanish uchun qaytarish xaritalash hisoblash quyi dasturi¶
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 sinov kuchlanishi uchun 2nd Piola-Kirchhoff kuchlanishiplstrain: joriy subqadam boshidagi plastik nisbiy 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