Tarkibga o'tish

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

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 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 kuchlanishi
  • istat: butun turdagi holat o‘zgaruvchisi
  • fstat: haqiqiy turdagi holat o‘zgaruvchilari massivi
  • plstrain: joriy subqadam boshidagi plastik nisbiy deformatsiya
  • D: elastoplastik matritsa
  • temp: harorat
  • hdflag: 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 kuchlanishi
  • plstrain: joriy subqadam boshidagi plastik nisbiy 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