Прескокнете до содржината

Потпрограми поврзани со еластопластична деформација (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: 2nd 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: второ Piola-Kirchhoff напрегање на пробното напрегање добиено со претпоставка за еластична деформација
  • plstrain: Пластична деформација на почетокот на тековниот потчекор
  • istat: Целобројна состојбена променлива
  • fstat: Низа од реални состојбени променливи
  • temp: Температура
  • hdflag: Пресметува сите компоненти (0), само девијаторните компоненти (1) или само волуменските компоненти (2)