انتقل إلى المحتوى

روتينات فرعية للتشوه المرن-اللدن (uyield.f90)

تتوفر روتينات فرعية لحساب مصفوفة الصلابة المرنة-اللدنة وعمليّة return mapping للإجهاد. عند استخدام دالة خضوع معرّفة من قبل المستخدم، اضبط أولًا !PLASTIC, YIELD=USER في ملف الإدخال وأدخل ثوابت المادة المطلوبة، ثم الدالة uElastoPlasticNumStatus والروتينان الفرعيان uElastoPlasticMatrix وuBackwardEuler يجب إنشاؤها.

(1) دالة تُرجع عدد متغيرات الحالة الحقيقية

integer function uElastoPlasticNumStatus( matl )
    real(kind=kreal),   intent(in)  :: matl(:)
  • 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 stress
  • plstrain: الانفعال اللدن عند بداية الخطوة الفرعية الحالية
  • istat: متغير حالة صحيح
  • fstat: مصفوفة متغيرات حالة حقيقية
  • temp: درجة الحرارة
  • hdflag: حساب جميع المركبات (0)، أو المركبات الانحرافية فقط (1)، أو المركبات الحجمية فقط (2)