Подпрограммы для пользовательских материалов (umat.f)¶
Предоставляет интерфейс для анализа деформирования материалов общего вида независимо от того, являются ли они упругими, гиперупругими или упругопластическими.
Для использования пользовательского материала сначала задайте !USER_MATERIAL во входном файле и введите необходимые материальные константы, а затем создайте подпрограммы uMatlMatrix и uUpdate.
(1) Подпрограмма вычисления матрицы жёсткости¶
subroutine uMatlMatrix( mname, matl, strain, stress, fstat, D, dtime, ttime, temperature )
character(len=*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(in) :: stress(6)
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: имя материалаmatl: массив для хранения материальных констант (максимум 100)strain: деформация Грина — Лагранжаstress: второе напряжение Пиолы — Кирхгофаfstat: переменные состоянияD: определяющее соотношениеdtime: приращение времениttime: полное время в начале текущего приращения времениtemperature: температура
(2) Подпрограмма обновления деформации и напряжений¶
subroutine uUpdate( mname, matl, strain, stress, fstat, dtime, ttime, temperature )
character(len=\*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: имя материалаmatl: массив для хранения материальных констант (максимум 100)strain: деформацияstress: второе напряжение Пиолы — Кирхгофаfstat: переменные состоянияdtime: приращение времениttime: полное время в начале текущего приращения времениtemperature: температура