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

Подпрограммы для пользовательских материалов (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: температура