לדלג לתוכן

פלט והפעלה מחדש

תוצאות האנליזה קיימות כפי שהן בזיכרון, ולכן לצורך עיבוד לאחר האנליזה, הדמיה, שחזור והמשך חישוב יש לכתוב אותן לקבצים מתאימים. מאחר שפורמט הקובץ, פריטי הפלט ותדירות הפלט שונים בהתאם למטרה, FrontISTR משתמש בכמה מסלולי פלט לפי הצורך.

הפלט של FrontISTR מורכב משלושה מסלולים: קובצי תוצאות לשמירת ערכי האנליזה (!WRITE,RESULT), קובצי הדמיה לשימוש בהדמיה (!WRITE,VISUAL) וקובצי הפעלה מחדש לשמירת מצב האנליזה (!RESTART). הגדלים הפיזיקליים שייכללו בקובצי התוצאות ובקובצי ההדמיה נבחרים באמצעות !OUTPUT_RES ו-!OUTPUT_VIS, בהתאמה.

סקירת הפונקציות

קל יותר לארגן את הגדרות הפלט כאשר מפרידים בין שלושת הצירים הבאים.

ציר קלט עיקרי תפקיד
יעד הפלט !WRITE,RESULT, !WRITE,VISUAL, !RESTART קובע באיזה סוג קובץ יישמרו התוצאות בהתאם למטרתן.
משתני פלט !OUTPUT_RES, !OUTPUT_VIS קובע אילו גדלים פיזיקליים ייכללו בקובץ התוצאות או בקובץ ההדמיה.
תדירות פלט FREQUENCY קובעת כל כמה צעדים תתבצע כתיבה לקובץ.

!WRITE,RESULT מפעיל קובצי תוצאות, ו-!OUTPUT_RES מגדיר את משתני הפלט. !WRITE,VISUAL מפעיל קובצי הדמיה, ו-!OUTPUT_VIS מגדיר את המשתנים שיועברו להדמיה. בשני המקרים ניתן לשלוט במרווח הפלט באמצעות FREQUENCY. ‏!WRITE הוא כרטיס יחיד, ו-RESULT / VISUAL / FEMAP יכולים להתקיים יחד כפרמטרים לבחירת יעדי פלט.

בשורות הנתונים של !OUTPUT_RES ו-!OUTPUT_VIS מפורטים שמות משתני הפלט והערכים ON / OFF. ציון GROUP מאפשר להגביל את יעד הפלט לפי קבוצה. לפורמט הקלט המדויק ולשורות הנתונים שניתן לציין, ראו את מדריך מילות המפתח.

!RESTART שומר את מצב האנליזה עצמו, בנפרד מקובצי התוצאות ומקובצי ההדמיה. קובצי הפעלה מחדש משמשים להמשך אנליזה מאותו מצב לאחר שהופסקה.

בחירת הפלט

את הפלט בוחרים תחילה לפי המטרה שרוצים לבדוק. אם ערכים מספריים ישמשו לעיבוד לאחר האנליזה או לאנליזה אחרת, בוחרים קובץ תוצאות; אם רוצים לבדוק צורה או התפלגות בכלי הדמיה, בוחרים קובץ הדמיה. אם יש צורך להמשיך אנליזה מנקודת ביניים, מפעילים קובץ הפעלה מחדש בנפרד מפלט התוצאות הרגיל.

מטרה הפלט הנבחר הגדרה עיקרית
שמירת ערכי האנליזה לשימוש בעיבוד לאחר האנליזה, בהשוואה או באנליזה אחרת קובץ תוצאות !WRITE,RESULT ו-!OUTPUT_RES
בדיקת התפלגויות וצורה מעוותת ב-ParaView וכדומה קובץ הדמיה !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL
המשך אנליזה ממושכת מנקודת ביניים קובץ הפעלה מחדש !RESTART
צמצום נפח הפלט פלט של המשתנים הנדרשים בלבד ON / OFF ו-FREQUENCY ב-!OUTPUT_RES / !OUTPUT_VIS

באנליזות בקנה מידה גדול, שמירת כל הצעדים עם הגדרות הפלט המוגדרות כברירת מחדל עלולה להגדיל מאוד את נפח קובצי התוצאות וקובצי ההדמיה. הגדירו ON רק לגדלים הפיזיקליים הנדרשים ו-OFF לגדלים שאינם דרושים לבדיקה. אם אין צורך לעקוב אחר היסטוריית הזמן ברזולוציה גבוהה, הגדילו את FREQUENCY כדי להגדיל את מרווח הפלט.

כדאי לקבוע את משתני הפלט לפי הסדר: "הגודל הפיזיקלי שרוצים לבדוק", "יעד השמירה" ו"תדירות". לדוגמה, כדי לבדוק התפלגות מאמצים ב-ParaView, הפעילו קובצי הדמיה ובחרו NSTRESS או NMISES באמצעות !OUTPUT_VIS. כדי לעבד לאחר האנליזה את כוח המגע כערך מספרי, הפעילו קובצי תוצאות ובחרו CONTACT_NFORCE וכדומה באמצעות !OUTPUT_RES.

גדלים פיזיקליים שניתן להפיק

משתני הפלט נחלקים לתוצאות של אנליזה מבנית, אנליזה דינמית, אנליזה תרמית, אנליזת מגע, תוצאות ייחודיות לאלמנטים ומטא־מידע לזיהוי. הטבלה להלן מסכמת את שמות המשתנים העיקריים, סוגיהם וסוגי האנליזה שבהם הם משמשים. לרשימה המלאה של שמות המשתנים ולפורמט שורות הנתונים, ראו !OUTPUT_RES ו-!OUTPUT_VIS.

קטגוריה שם משתנה סוג סוג אנליזה עיקרי תוכן
גדלים בסיסיים באנליזה מבנית DISP, ROT, REACTION וקטור אנליזה סטטית, אנליזה דינמית הזזה, סיבוב וכוח תגובה בצומת. ROT תקף עבור אלמנטים בעלי דרגות חופש סיבוביות.
מאמץ NSTRESS, ESTRESS, ISTRESS טנזור סימטרי אנליזה מבנית מאמץ ממוצע בצומת, מאמץ באלמנט ומאמץ בנקודת אינטגרציה.
מאמץ von Mises ומאמץ ראשי NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS סקלר, וקטור אנליזה מבנית מאמץ von Mises, ערכי מאמץ ראשי וכיווני מאמץ ראשי.
עיבור NSTRAIN, ESTRAIN, ISTRAIN טנזור סימטרי אנליזה מבנית עיבור בצומת, עיבור באלמנט ועיבור בנקודת אינטגרציה.
עיבור פלסטי ותרמי PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN סקלר, טנזור סימטרי אנליזה מבנית לא־ליניארית, אנליזת מאמץ תרמי עיבור פלסטי שקול ועיבור תרמי.
עיבור ראשי PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN סקלר, וקטור אנליזה מבנית ערכי עיבור ראשי וכיווני עיבור ראשי.
אנליזה דינמית VEL, ACC וקטור אנליזה דינמית מהירות צומת ותאוצת צומת.
אנליזה תרמית TEMP סקלר אנליזת הולכת חום טמפרטורת צומת. בקובצי התוצאות וההדמיה של אנליזה תרמית היא מופקת כשדה טמפרטורה.
מגע CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION וקטור, סקלר אנליזת מגע כוח נורמלי במגע, כוח חיכוך, מהירות החלקה יחסית, מצב מגע וכוח מגע ליחידת שטח.
אלמנט קורה BEAM_NQM ערך בעל 12 רכיבים אנליזה מבנית הכוללת אלמנטי קורה הכוחות הפנימיים בחתך של אלמנט הקורה.
זיהוי ומצב NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO סקלר אנליזה מבנית, הדמיה מידע לזיהוי צמתים, אלמנטים, חתכים וחומרים; מצב הפעלת אלמנט; ויחס כניעה. ELEMACT מפיק 1 עבור אלמנט פעיל ו-0 עבור אלמנט לא פעיל (מושבת).
מידע עזר לקליפה SHELL_LAYER, SHELL_SURFACE סקלר אנליזה מבנית הכוללת אלמנטי קליפה מידע עזר לזיהוי פלט לפי שכבת קליפה ומשטחי קליפה.

כברירת מחדל, DISP, ‏ROT, ‏NSTRESS ו-NMISES הם ON. עם זאת, השאלה אם יופקו בפועל ערכים בעלי משמעות תלויה בסוג האנליזה, סוג האלמנט, מודל החומר והגדרות המגע. לדוגמה, VEL ו-ACC משמשים באנליזה דינמית, ו-CONTACT_* משמש כאשר נוצר מידע מגע באנליזת מגע.

פלט לפי שכבת קליפה

לאלמנטי קליפה יש כמה נקודות אינטגרציה או שכבות בכיוון העובי, ולכן ערכי המאמץ והעיבור עשויים להיות שונים בין שכבות או משטחים גם בתוך אותו אלמנט. כאשר יש רק ערכים ממוצעים בצמתים או ערכי אלמנטים רגילים, קשה להבחין לאיזו שכבה או לאיזה משטח שייך כל ערך.

כאשר SHELL_LAYER מוגדר כ-ON, התוצאות בצד + ובצד - של כל שכבה בקליפה מרובדת מופקות בנפרד. רכיבי המאמץ והעיבור המופקים כוללים זיהוי של מספר השכבה ושל צד המשטח, ולכן ניתן להשתמש בהם להערכת התפלגות המאמצים לאורך העובי ולהערכת נזק לפי שכבה.

SHELL_SURFACE הוא מידע עזר לזיהוי משטחי הקליפה, כגון המשטח העליון והתחתון. בעת הדמיית תוצאות לפי שכבת קליפה, הפעילו את SHELL_LAYER ואת משתני המאמץ/עיבור הדרושים, ובכלי ההדמיה בחרו את רכיב התוצאה המתאים לשכבה או למשטח הנבחרים.

פלט לפי שכבת קליפה מגדיל את מספר רכיבי הפלט, ולכן במודלים עם שכבות רבות נפח הקובץ גדל. מומלץ להגביל את הפלט למשתני המאמץ והעיבור הנדרשים.

יעדי פלט

קובצי תוצאות וקובצי הדמיה שונים במטרה ובפורמט השמירה. ניתן להפיק את שניהם באותה אנליזה, או להפיק רק אחד מהם.

קובצי תוצאות

קובצי תוצאות מופעלים באמצעות !WRITE,RESULT. תוצאות האנליזה נשמרות כנתוני תוצאות של FrontISTR / HEC-MW ומשמשות לעיבוד נומרי לאחר האנליזה או לקריאה באנליזה אחרת. משתני הפלט נבחרים באמצעות !OUTPUT_RES.

!WRITE,RESULT מיושם גם כפרמטר RESULT של כרטיס !WRITE, והוא אפשרות ליעד פלט לצד פלט הדמיה ופלט FEMAP.

קובצי תוצאות יכולים לשמור הזזה, מאמץ, עיבור, כוחות תגובה, מידע מגע ועוד באנליזה מבנית, ושדה טמפרטורה באנליזה תרמית. מרווח הפלט לפי צעדים מצוין באמצעות FREQUENCY. לשמות הקבצים המדויקים, מיקומם ואופן בדיקתם לאחר ההרצה, ראו את מדריך ההרצה.

קובצי תוצאות (סיומת .res) הם נתוני טקסט בעלי המבנה הבא. תחילה מופיעים גרסת הפורמט והערה, לאחר מכן משתנים גלובליים, ולבסוף משתני הפלט לכל צומת ואלמנט.

*fstrresult 2.0
*comment
<שורת הערה>
*global
<מספר המשתנים הגלובליים>
<דרגות החופש של המשתנים הגלובליים>
<שמות המשתנים הגלובליים>
<ערכי המשתנים הגלובליים>
...
*data
<מספר הצמתים> <מספר האלמנטים>
<מספר פריטי נתוני הצמתים> <מספר פריטי נתוני האלמנטים>
<דרגות החופש של נתוני הצמתים> ...
<שמות נתוני הצמתים>
...
<ערכי נתוני הצמתים>
...
<דרגות החופש של נתוני האלמנטים> ...
<שמות נתוני האלמנטים>
...
<ערכי נתוני האלמנטים>
...

קובצי יומן

קובצי יומן (סיומת .log) הם קובצי סיכום שמופקים תמיד לאחר האנליזה. נוסף על גדלים פיזיקליים עבור כל צומת ואלמנט, מופקים ערכי מקסימום/מינימום של רכיבי הזזה, עיבור ומאמץ. באנליזה מודאלית מופקים ערכי הערכים העצמיים והווקטורים העצמיים. ניתן לשלוט בתוכן הפלט באמצעות הפרמטר LOG של !WRITE. לשמות הקבצים ולמיקומם, ראו את מדריך ההרצה.

קובצי הדמיה

קובצי הדמיה מופעלים באמצעות !WRITE,VISUAL. הם ממירים את הרשת ואת נתוני התוצאות לפורמט המיועד לכלי הדמיה ומפיקים אותם. משתני הפלט נבחרים באמצעות !OUTPUT_VIS, והפורמט ותנאי ההדמיה מוגדרים באמצעות !VISUAL.

!WRITE,VISUAL אינו מילת מפתח עצמאית; הוא מיושם כפרמטר VISUAL של כרטיס !WRITE, ומחליף את יעד הפלט באותה רמה כמו !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE ב-fistr1/src/common/fstr_ctrl_common.f90).

כדי להפעיל הדמיה, יש לציין בכרטיס !VISUAL לכל הפחות את משטח ההדמיה ואת פורמט הפלט. להלן מערך הנתונים המינימלי.

!WRITE,VISUAL
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK

לא ניתן להשמיט את ההגדרות surface_num ו-!surface. לפורמט המפורט ולאפשרויות הזמינות, ראו !VISUAL.

פורמטי ההדמיה העיקריים הם כדלקמן.

פורמט שימוש
VTK משמש להדמיה ב-ParaView ובכלים דומים.
AVS (UCD) משמש להדמיה ולהחלפת נתונים בפורמט AVS / UCD.
BMP מפיק את תוצאות ההדמיה כתמונות.
NEU משמש להחלפת נתונים בפורמט FEMAP neutral.

קובצי הדמיה נוחים יותר לטיפול ישיר בכלי הדמיה מאשר קובצי תוצאות, אך נפחם גדל בהתאם לפורמט שנבחר ולמספר המשתנים. במודלים בקנה מידה גדול, הפעילו באמצעות !OUTPUT_VIS רק את המשתנים הדרושים לתצוגה.

הפעלה מחדש

הפעלה מחדש היא מנגנון לשמירת המצב הפנימי בנקודה שבה האנליזה הופסקה ולהמשך החישוב מאותו מצב בהרצה הבאה. קובצי תוצאות רגילים הם פלט לעיבוד לאחר האנליזה, בעוד שקובצי הפעלה מחדש שומרים מצב כדי שהפותר יוכל להמשיך בחישוב.

כאשר n ב-!RESTART, FREQUENCY=n חיובי, קובץ הפעלה מחדש נכתב במרווח הצעדים שצוין. כאשר n שלילי, קובץ הפעלה מחדש קיים נקרא בתחילת ההרצה, ולאחר מכן נכתבים קובצי הפעלה מחדש כשהערך המוחלט |n| משמש כמרווח הכתיבה.

בהפעלה מחדש של אנליזה מבנית נשמרים הצעד הנוכחי, תת־הצעד, מספר הצעד המצטבר, הזמן, תוספת הזמן, היסטוריית העומס, ההזזה, הכוח החיצוני, מאמץ ועיבור בכל נקודת Gauss, משתני מצב פנימיים של החומר, מצב המגע ועוד. באנליזה דינמית נשמר גם המצב הדינמי הנדרש להמשך אינטגרציית הזמן, לרבות מהירות ותאוצה, אנרגיית עיבור, הזמן הנוכחי ותוספת הזמן. באנליזה תרמית נשמרים מספר הצעד, הזמן ושדה הטמפרטורה, ובקריאה משוחזר שדה הטמפרטורה כמצב ההתחלתי.

תזמון כתיבה והתנהגות המשך עבור הפעלה מחדש של אנליזה סטטית

להפעלה מחדש באנליזה סטטית (fstr_solve_NLGEOM) קיימים שני מסלולי כתיבה, והתנהגות ההמשך שונה ביניהם.

  • כתיבה במהלך תת־צעד: הקובץ נכתב בתוך לולאת תת־הצעדים כאשר step_count נהיה כפולה של FREQUENCY. מידע הזמן המתועד נשמר כ"זמן ההתחלה של הצעד הנוכחי", ומצורפת אליו רשימת העומסים של הצעד הקודם.
  • כתיבה בסוף צעד: הקובץ נכתב תמיד מיד לאחר השלמת לולאת תת־הצעדים של כל צעד עומס, ללא תלות בשאלה אם הוא כפולה של FREQUENCY. מידע הזמן המתועד נשמר כ"זמן סיום הצעד", ומצורפת אליו רשימת העומסים של אותו צעד.

בעת הקריאה, FrontISTR קובע אם הצעד הושלם לפי השאלה אם "הזמן הנוכחי" ו"זמן הייחוס" המתועדים זהים (fstr_read_restart ב-fstr_Restart.f90).

מצב בעת הכתיבה התנהגות בעת ההמשך
במהלך תת־צעד ההרצה נמשכת מתת־הצעד הבא של אותו צעד. מיקום תת־הצעד בזמן הכתיבה נשמר, ומתבצעת יתרת לולאת תת־הצעדים.
סוף הצעד ההרצה מתחילה מתת־הצעד הראשון של הצעד הבא. cstep מתקדם ב-1, ‏substep=1 מאופס, ולאחר מכן האנליזה נמשכת.

לכן, גם עם אותה הגדרת FREQUENCY, מספר הצעד ובסיס הזמן לאחר ההמשך משתנים בהתאם למועד הכתיבה (במהלך תת־צעד / בסוף הצעד). בפרט, כתיבה בסוף הצעד מתבצעת תמיד בסוף כל צעד, ללא תלות בהגדרת FREQUENCY.

תזמון כתיבה והתנהגות המשך עבור הפעלה מחדש של אנליזה דינמית

גם הפעלה מחדש של אנליזה דינמית בהיסטוריית זמן מבחינה בין כתיבה במהלך תת־צעד לבין כתיבה בסוף הצעד. במהלך תת־צעד נכתב קובץ כאשר מספר תת־הצעדים המצטבר step_count נהיה כפולה של FREQUENCY; בסוף הצעד נכתב קובץ בסוף אותו צעד ללא תלות ב-FREQUENCY.

בעת הקריאה, מיקום ההמשך משוחזר ממספר הצעד, מספר תת־הצעד ומספר תת־הצעדים המצטבר שנשמרו. הפורמט הנוכחי (restart_version >= 5) משתמש בכותרת משותפת לאנליזה סטטית ושומר את הזמן הנוכחי, תוספת הזמן, סטטיסטיקות איטרציות Newton ומצב ההגדלה האוטומטית. כך, גם באנליזה דינמית המשתמשת בכמה כרטיסי !STEP ובהגדלה אוטומטית וב-cutback, ניתן לשמר לאחר הפעלה מחדש את בסיס הזמן ואת תוספת הזמן. לקובצי הפעלה מחדש של אנליזה דינמית בפורמט ישן קיימת תאימות חלקית לקריאה, אך באנליזות חדשות יש להשתמש בפורמט הנוכחי.

כתיבת כרטיסי !STEP עבור הפעלה מחדש

בעת המשך החישוב באמצעות הפעלה מחדש, ‏FrontISTR קורא את כרטיסי !STEP בקובץ cnt כ"רצף הצעדים שיש לבצע לאחר ההמשך", ומעבד אותם תמיד לפי הסדר מהראשון (tot_step=1). מספר הצעד במידע ההפעלה מחדש שנטען משמש ליישור מספר הצעד המצטבר המוצג במסך ואינו משפיע על אינדקס !STEP בקובץ cnt עצמו. בנוסף, בפורמט הנוכחי מתווסף לכל starttime של כל !STEP בקובץ cnt זמן הייחוס בעת קריאת ההפעלה מחדש, וכך ציר הזמן מיושר כך שזמן ההפעלה מחדש הוא נקודת האפס.

לכן יש להכין את קובץ ה-cnt להמשך באמצעות הפעלה מחדש לפי המדיניות הבאה.

אופן הפסקת ההרצה טווח כרטיסי !STEP שיש להשאיר ב-cnt
כתיבה במהלך תת־צעד (הצעד לא הושלם) השאירו את הצעד שנקטע ראשון. אחריו סדרו את הצעדים הבאים שטרם בוצעו.
כתיבה בסוף צעד (הצעד הושלם) מחקו את הצעדים שהושלמו, וסדרו החל מהצעד הבא שיש לבצע.

בשני המקרים, הכלל הבסיסי הוא למחוק מקובץ cnt צעדים שכבר הושלמו. מכיוון שזמן ההפעלה מחדש מתווסף אוטומטית ל-starttime, ניתן לכתוב בקובץ cnt עם נקודת התחלה 0 (או זמני התחלה יחסיים של הצעדים). יש להשאיר בקובץ cnt הפניות כגון תנאי שפה ועומסים רק עבור כרטיסי !STEP שנותרו. אותה מדיניות חלה גם על הפעלה מחדש של אנליזה דינמית המשתמשת בכמה כרטיסי !STEP.

זרימת עבודה טיפוסית של הפעלה מחדש היא כדלקמן.

  1. בהרצה הראשונה, ציינו !RESTART, FREQUENCY=n וכתבו קובץ הפעלה מחדש.
  2. בהרצה שממשיכה את האנליזה, ציינו !RESTART, FREQUENCY=-n.
  3. FrontISTR קורא את קובץ ההפעלה מחדש בעת ההפעלה, ולאחר מכן כותב מצב חדש כל n צעדים.

לשמות קובצי הפעלה מחדש, מיקומם ואופן ציון ההגדרה בזמן ההרצה, ראו את מדריך ההרצה. קיימת גם תאימות חלקית לקריאת פורמטים ישנים, אך באנליזות חדשות יש להשתמש בפורמט הנוכחי.

נושאים קשורים

  • הרצה סדרתית — יסודות מיקום הקבצים ובדיקת הפלט בעת הרצת אנליזה.
  • !OUTPUT_RES, !OUTPUT_VIS — הגדרת המשתנים שיופקו לקובצי תוצאות ולקובצי הדמיה.
  • !WRITE — הפעלת פלט של קובצי תוצאות, קובצי הדמיה ויומנים, וכן תדירות הפלט (הפרמטרים RESULT / VISUAL / LOG / FEMAP).
  • !VISUAL — הגדרת משטחי הדמיה ופורמטי פלט (כולל דוגמה למערך נתונים מינימלי).
  • !RESTART — הגדרת קריאה וכתיבה של קובצי הפעלה מחדש.
  • סוגי אנליזה — פריטי התוצאות העיקריים לכל סוג אנליזה.
  • מגע והטמעה — משמעות פלט המגע והטיפול במצבי מגע.
  • בקרת צעדים — הקשר לצעדי פלט ולנקודות זמן.