Подпрограммы для упругопластической деформации (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: Второй тензор напряжений Пиолы—Кирхгофа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: Второй тензор напряжений Пиолы—Кирхгофа, полученный для пробного напряжения в предположении упругой деформацииplstrain: Пластическая деформация в начале текущего подшагаistat: Целочисленная переменная состоянияfstat: Массив вещественных переменных состоянияtemp: Температураhdflag: Вычислять все компоненты (0), только девиаторные компоненты (1) или только объёмные компоненты (2)