Потпрограми за кориснички дефинирани материјали (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: Green-Lagrange деформацијаstress: 2-ро Piola-Kirchhoff напрегање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: 2-ро Piola-Kirchhoff напрегањеfstat: Променливи на состојбатаdtime: Временски прирастttime: Вкупно време на почетокот на тековниот временски прирастtemperature: Температура