Серпімді-пластикалық деформацияға арналған ішкі бағдарламалар (uyield.f90)¶
Серпімді-пластикалық қаттылық матрицасын және кернеуді кері проекциялау (return mapping) есебін орындауға арналған ішкі бағдарламалар беріледі. Пайдаланушы анықтайтын аққыштық функциясын қолданғанда, алдымен кіріс файлында !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: 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: серпімді деформация болжамымен алынған сынақ кернеуі (trial stress), яғни 2-ші Piola-Kirchhoff кернеуіplstrain: Ағымдағы ішкі қадамның басындағы пластикалық деформацияistat: Бүтін санды күй айнымалысыfstat: Нақты күй айнымалыларының массивіtemp: Температураhdflag: Барлық компоненттерді (0), тек девиаторлық компоненттерді (1) немесе тек көлемдік компоненттерді (2) есептеу