תת־שגרות לעיוות אלסטו־פלסטי (uyield.f90)¶
מסופקות תת־שגרות לחישוב מטריצת הקשיחות האלסטו־פלסטית ומיפוי החזרה של המאמץ. בעת שימוש בפונקציית כניעה המוגדרת על ידי המשתמש, יש להגדיר תחילה !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) תת־שגרה לחישוב מיפוי החזרה של המאמץ¶
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 שני של מאמץ ניסיון שהתקבל בהנחת עיוות אלסטיplstrain: העיבור הפלסטי בתחילת תת־השלב הנוכחיistat: משתנה מצב שלםfstat: מערך של משתני מצב ממשייםtemp: טמפרטורהhdflag: חישוב כל הרכיבים (0), רכיבים דביאטוריים בלבד (1), או רכיבים נפחיים בלבד (2)