Langkau tajuk talian

Subrutin untuk ubah bentuk elastoplastik (uyield.f90)

Subrutin disediakan untuk mengira matriks kekakuan elastoplastik dan pemetaan kembali tegasan. Apabila menggunakan fungsi luluh yang ditakrifkan pengguna, mula-mula tetapkan !PLASTIC, YIELD=USER dalam fail input dan masukkan pemalar bahan yang diperlukan, kemudian fungsi uElastoPlasticNumStatus serta subrutin uElastoPlasticMatrix dan uBackwardEuler mesti diwujudkan.

(1) Fungsi yang mengembalikan bilangan pemboleh ubah keadaan nyata

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • matl: tatasusunan yang menyimpan pemalar bahan (1–100: pemalar bahan takrif sistem, 101–200: pemalar bahan takrif pengguna)

(2) Subrutin untuk mengira matriks kekakuan elastoplastik

  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: tatasusunan yang menyimpan pemalar bahan (1–100: pemalar bahan takrif sistem, 101–200: pemalar bahan takrif pengguna)
  • stress: tegasan Piola-Kirchhoff ke-2
  • istat: pemboleh ubah keadaan integer
  • fstat: tatasusunan pemboleh ubah keadaan nyata
  • plstrain: terikan plastik pada permulaan sublangkah semasa
  • D: matriks elastoplastik
  • temp: suhu
  • hdflag: kira semua komponen (0), komponen deviatorik sahaja (1), atau komponen isipadu sahaja (2)

(3) Subrutin untuk pengiraan pemetaan kembali tegasan

  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: tatasusunan yang menyimpan pemalar bahan (1–100: pemalar bahan takrif sistem, 101–200: pemalar bahan takrif pengguna)
  • stress: tegasan Piola-Kirchhoff ke-2 yang diperoleh dengan menganggap ubah bentuk elastik untuk tegasan percubaan
  • plstrain: terikan plastik pada permulaan sublangkah semasa
  • istat: pemboleh ubah keadaan integer
  • fstat: tatasusunan pemboleh ubah keadaan nyata
  • temp: suhu
  • hdflag: kira semua komponen (0), komponen deviatorik sahaja (1), atau komponen isipadu sahaja (2)
AI-assisted translation May contain errors Official docs Status