پرش به محتویات

زیرروال‌های مربوط به مواد تعریف‌شده توسط کاربر (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: دما