לדלג לתוכן

תת־שגרות לחומרים המוגדרים על ידי המשתמש (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: טמפרטורה