Агуулгыг алгасах

Уян-хуванцар деформацийн дэд програмууд (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: 2-р Piola-Kirchhoff хүчдэл
  • 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: Туршилтын хүчдэлийг уян деформацийн таамаглалаар олсон 2-р Piola-Kirchhoff хүчдэл
  • plstrain: Одоогийн дэд алхмын эхэн дэх хуванцар харьцангуй деформаци
  • istat: Бүхэл төлөвийн хувьсагч
  • fstat: Бодит төлөвийн хувьсагчдын массив
  • temp: Температур
  • hdflag: Бүх бүрэлдэхүүнийг (0), зөвхөн девиатор бүрэлдэхүүнийг (1), эсвэл зөвхөн эзлэхүүний бүрэлдэхүүнийг (2) тооцоолно