Məzmuna keç

Elastoplastik deformasiyaya aid altproqramlar (uyield.f90)

Elastoplastik sərtlik matrisini və gərginliyin return mapping hesablamasını yerinə yetirmək üçün altproqramlar təqdim olunur. İstifadəçi tərəfindən təyin olunan axma funksiyasından istifadə edərkən əvvəlcə giriş faylında !PLASTIC, YIELD=USER təyin edilməli və tələb olunan material sabitləri daxil edilməli, sonra uElastoPlasticNumStatus funksiyası və uElastoPlasticMatrix ilə uBackwardEuler altproqramları hazırlanmalıdır.

(1) Həqiqi ədəd tipli vəziyyət dəyişənlərinin sayını qaytaran funksiya

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: material sabitlərini saxlayan massiv (1-100: sistem tərəfindən təyin olunan material sabitləri, 101-200: istifadəçi tərəfindən təyin olunan material sabitləri)

(2) Elastoplastik sərtlik matrisinin hesablanması altproqramı

  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 sabitlərini saxlayan massiv (1-100: sistem tərəfindən təyin olunan material sabitləri, 101-200: istifadəçi tərəfindən təyin olunan material sabitləri)
  • stress: 2nd Piola-Kirchhoff gərginliyi
  • istat: tam ədəd tipli vəziyyət dəyişəni
  • fstat: həqiqi ədəd tipli vəziyyət dəyişənləri massivi
  • plstrain: cari altaddımın başlanğıcındakı plastik deformasiya
  • D: elastoplastik matris
  • temp: temperatur
  • hdflag: bütün komponentləri (0), yalnız deviator komponentləri (1) və ya yalnız həcm komponentlərini (2) hesablayır

(3) Gərginliyin Return mapping hesablanması altproqramı

  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 sabitlərini saxlayan massiv (1-100: sistem tərəfindən təyin olunan material sabitləri, 101-200: istifadəçi tərəfindən təyin olunan material sabitləri)
  • stress: elastik deformasiya fərziyyəsindən alınan trial stress, yəni 2nd Piola-Kirchhoff gərginliyi
  • plstrain: cari altaddımın başlanğıcındakı plastik deformasiya
  • istat: tam ədəd tipli vəziyyət dəyişəni
  • fstat: həqiqi ədəd tipli vəziyyət dəyişənləri massivi
  • temp: temperatur
  • hdflag: bütün komponentləri (0), yalnız deviator komponentləri (1) və ya yalnız həcm komponentlərini (2) hesablayır
AI-assisted translation May contain errors Official docs Status