الروتينات الفرعية للمواد المعرّفة من المستخدم (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-Lagrangestress: إجهاد 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: درجة الحرارة