ഉപയോക്താവ് നിർവചിച്ച മെറ്റീരിയലുകൾക്കുള്ള സബ്റൂട്ടീനുകൾ (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: താപനില