روتينات فرعية للتشوه المرن-اللدن (uyield.f90)¶
تتوفر روتينات فرعية لحساب مصفوفة الصلابة المرنة-اللدنة وعمليّة return mapping للإجهاد.
عند استخدام دالة خضوع معرّفة من قبل المستخدم، اضبط أولًا !PLASTIC, YIELD=USER في ملف الإدخال وأدخل ثوابت المادة المطلوبة،
ثم الدالة uElastoPlasticNumStatus والروتينان الفرعيان uElastoPlasticMatrix وuBackwardEuler
يجب إنشاؤها.
(1) دالة تُرجع عدد متغيرات الحالة الحقيقية¶
matl: مصفوفة تخزن ثوابت المادة (1-100: ثوابت مادة معرّفة من النظام، 101-200: ثوابت مادة معرّفة من قبل المستخدم)
(2) روتين فرعي لحساب مصفوفة الصلابة المرنة-اللدنة¶
subroutine uElastoPlasticMatrix( matl, stress, istat, fstat, plstrain, D, temp, hdflag )
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: stress(6)
integer(kind=kint), intent(in) :: istat
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(in) :: plstrain
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: temp
integer(kind=kint), intent(in) :: hdflag
matl: مصفوفة تخزن ثوابت المادة (1-100: ثوابت مادة معرّفة من النظام، 101-200: ثوابت مادة معرّفة من قبل المستخدم)stress: إجهاد Piola-Kirchhoff من الرتبة الثانيةistat: متغير حالة صحيحfstat: مصفوفة متغيرات حالة حقيقيةplstrain: الانفعال اللدن عند بداية الخطوة الفرعية الحاليةD: المصفوفة المرنة-اللدنةtemp: درجة الحرارةhdflag: حساب جميع المركبات (0)، أو المركبات الانحرافية فقط (1)، أو المركبات الحجمية فقط (2)
(3) روتين فرعي لحساب return mapping للإجهاد¶
subroutine uBackwardEuler( matl, stress, plstrain, istat, fstat, temp, hdflag )
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(in) :: plstrain
integer(kind=kint), intent(inout) :: istat
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: temp
integer(kind=kint), intent(in) :: hdflag
matl: مصفوفة تخزن ثوابت المادة (1-100: ثوابت مادة معرّفة من النظام، 101-200: ثوابت مادة معرّفة من قبل المستخدم)stress: إجهاد Piola-Kirchhoff من الرتبة الثانية الناتج بافتراض تشوه مرن لإجهاد trial stressplstrain: الانفعال اللدن عند بداية الخطوة الفرعية الحاليةistat: متغير حالة صحيحfstat: مصفوفة متغيرات حالة حقيقيةtemp: درجة الحرارةhdflag: حساب جميع المركبات (0)، أو المركبات الانحرافية فقط (1)، أو المركبات الحجمية فقط (2)