Потпрограми поврзани со еластопластична деформација (uyield.f90)¶
Обезбедува потпрограми за пресметување на еластопластичната матрица на крутост и повратно пресликување на напрегањето. Кога се користи кориснички дефинирана функција на течење, прво во влезната датотека треба да се постави !PLASTIC, YIELD=USER и да се внесат потребните материјални константи, а потоа се задаваат функцијата uElastoPlasticNumStatus и потпрограмите uElastoPlasticMatrix и uBackwardEuler, кои мора да се имплементираат.
(1) Функција што го враќа бројот на реални состојбени променливи¶
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)