Subroutine za Nyenzo Zinazofafanuliwa na Mtumiaji (umat.f)¶
Hutoa interface ya uchanganuzi wa ugeukaji wa nyenzo za jumla, bila kujali kama ni elastiki, hyperelastic au elastoplastic. Ili kutumia nyenzo inayofafanuliwa na mtumiaji, kwanza weka !USER_MATERIAL katika faili ya ingizo na uingize konstanti za nyenzo zinazohitajika, kisha unda subroutine uMatlMatrix na uUpdate.
(1) Subroutine ya Kukokotoa Matriki ya Ugumu¶
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: Jina la nyenzomatl: Array inayohifadhi konstanti za nyenzo (kiwango cha juu 100)strain: Strain ya Green-Lagrangestress: Stress ya 2nd Piola-Kirchhofffstat: Vigezo vya haliD: Uhusiano wa kikatibadtime: Increment ya mudattime: Muda jumla katika mwanzo wa increment ya sasa ya mudatemperature: Halijoto
(2) Subroutine ya Kukokotoa Usasishaji wa Strain na Stress¶
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: Jina la nyenzomatl: Array inayohifadhi konstanti za nyenzo (kiwango cha juu 100)strain: Strainstress: Stress ya 2nd Piola-Kirchhofffstat: Vigezo vya halidtime: Increment ya mudattime: Muda jumla katika mwanzo wa increment ya sasa ya mudatemperature: Halijoto