صارف کی تعریف کردہ مادّوں سے متعلق سب روٹینز (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: دوسرا 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: دوسرا Piola-Kirchhoff تناؤfstat: حالت کے متغیراتdtime: وقتی اضافہttime: موجودہ وقتی اضافے کے آغاز پر کل وقتtemperature: درجۂ حرارت