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