Подпрограми за потребителски дефинирани материали (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: Температура