chemical-and-materials-engineering
החלת תבניות הבריאה כדי לשפר את יכולת הסימולציה של הנדסת Simulation Frameworks
Table of Contents
סימולציות הנדסיות הן עמוד השדרה חישובי של פיתוח מוצרים מודרני, המאפשר למהנדסים לבחון אבטיפוס וירטואלי בתנאים קיצוניים לפני מודלים פיזיים נבנות אי פעם.כפי שתעשיות מתפתחות לקראת סימולציות מורכבות יותר, רב-פיזיקה ולשלב אופטימיזציה מונעים על ידי AI, הצורך במסגרות אלה להיות מחוזקות באופן קבוע: 0גמישות FLT:1 ו-FLT:2tensiblealrated Reductionsto-of-of: לעתים קרובות יותר מערכיים אלה הם לא צריכים שינויים חד-FLT.
הבנת תבניות הבריאה
תבניות הבריאה הן קטגוריה של תבניות עיצוב תוכנה העוסקות במנגנוני יצירת אובייקטים, מנסה ליצור אובייקטים באופן המתאים למצב.צורה הבסיסית של יצירת אובייקטים עלולה לגרום לבעיות עיצוב או להוסיף מורכבות לעיצוב.תבניות עיצוב הבריאה לפתור בעיה זו על ידי איכשהו שליטה על יצירת אובייקט זה.בסימולציות, שבו אובייקטים מייצגים לעתים קרובות ישויות פיזיות, פותרים מספריים מורכבים, או מבנים מורכבים, שליטה באופן משמעותי יכול לשפר את יכולת הקידוד ויציבות.
Common Creation Patterns Review
- (FLT:0)Singleton: 1FLT מבטיח לכיתה רק מקרה אחד ומספק נקודת גישה גלובלית.
- (FLT:0) שיטת ניהול: 1FLT (מגדיר ממשק ליצירת אובייקט, אך מאפשר ל- subclasses לשנות את סוג האובייקטים שייצרו. אידיאלי למתן אלגוריתמים שונים של אלגוריתמים מסלקים המבוססים על סוג סימולציה.
- מפעל ה-FLT:0 (Abstract Factory:FLT:1cio) מספק ממשק ליצירת משפחות של אובייקטים קשורים או תלויים מבלי לציין את שיעורי הבטון שלהם.גדולים לייצור מערך שלם של רכיבי סימולציה המותאמים לתחום פיזיקה ספציפי.
- (FLT:0Builder:Builder:Builder:Builder: Fig.1) מפריד את בנייתו של חפץ מורכב מהייצוג שלו, ומאפשר לאותו תהליך בנייה ליצור ייצוגים שונים.מושלם לבניית סימולציות מרובות שלבים (למשל, מישבן, תנאי גבול, פותרים).
- (ב) ⁇ :0) פרוטוטיפ: 1 יוצר אובייקטים חדשים על ידי העתקת אובייקט קיים (האבטיפוס) עוזר כאשר יצירת תרחישים סימולציה דומים רבים עם וריאציות קלות.
היתרונות של יישום תבניות הבריאה בסימולציות
יישום תבניות יצירה מניב יתרונות למדידה בהנדסת תוכנה:
- (FLT:0) ניתן להוסיף מודלים חומריים, סוגים אלמנטיים: יישום ממשק משותף ללא שינוי הקוד המשתמש בהם.
- (FLT:0) שיפור יכולת שימור: FLT:1 יצירת אובייקטים לוגיקה מרכזית, מה שהופך אותו קל יותר לעדכן, debug, או להציג כללי יצירה חדשים (למשל, מקרים בטוחים חוט, caching).
- (FLT:0) חידושים משוחררים: FLT:1 המסגרת יכולה לבחור באופן דינמי אילו כיתות קונקרטיות כדי מיידית בהתבסס על תנאי זמן ריצה, כגון סוג סימולציה, חומרה זמינה או העדפות משתמשים.
- (FLT:0) ניהול ומודולריות: ההרחבה 1) קוד הלקוח תלוי רק בהפשטות (שיעורים בין-פניים/הכשלים) ולא בביצועים קונקרטיים, צמצום התלויות וקידום התפתחות מקבילה.
- (ב) ⁇ :0) ⁇ (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
יישום תבניות יצירה ספציפיות
שיטת המפעל
דפוס שיטת ה-Sim Factory הוא אחת הדרכים הפשוטות ביותר להזריק את יכולת הסימולציה למסגרת סימולציה במקום לטעון את רגעי ההקצאה של מזחלת כמו FLT:0, המסגרת מגדירה ממשק 1FLT עם שיטה (FLT 1:2) להוספת מפעל קונקרטי (למשל, Frupt) על פני שיטה זו כדי לספק מחדש של דגם חדש (Factr) ל-iOS (למשל, כדי לספק את ה-Factr) ל-Factr לדוגמה, רק ל-Factr) שינויים חדשים (כלומר, כדי לספק תצורה חדשה (למשל, כדי לספק את ה-Factr) ל-Factrp) ל-Factrp) ל-Factr) ל-FactirtexitiOS) ל-D.
תבנית המפעל
בעוד ששיטת המפעל מטפלת במוצר אחד, מפעל אבסטרקטי יוצר משפחות שלמות של מוצרים קשורים.בסימולציה, משפחה עשויה לכלול פותר, מעבד (מגנרטור), פוסט-מעבד (נתונים חזותיים), ומפקח התכנסות - כל מה שנועד לעבוד יחד עבור מתחם פיזיקלי מסוים.
המונחים:
(המודלים של סימבול הם לעתים קרובות אובייקטים מורכבים של חלקים רבים שאינם תלויים: מרש, תנאי גבול, תכונות חומריות, תנאים ראשוניים, הגדרות סלולר (המודל הנבנה על ידי שימוש בתבנית בנייה של שלב אחר שלב שיכולה לייצר ייצוגים שונים (למשל, "קציר" של דגם האלגוריתם (Fse) אשר מאפשר לי לשנות את המודל הלוגי של ה-ALT (בפרק 14: 13) ו-Fse) באמצעות אותו מודל בנייה פשוטה).
תבנית Prototype
Prototype הוא שימושי במיוחד כאשר מייצרים תרחישים סימולציה דומים רבים, כגון גורים parametric על ממדים גיאומטריים או תכונות חומריות. במקום לבנות כל אובייקט סימולציה מאפס (אשר עשוי לערב דור או שגרות ההתקנה יקרים), המסגרת משטפת אובייקט אבטיפוס ולאחר מכן מודולים רק את התכונות משתנות של CLT 18 הוא נבנה פעם באמצעות בונה, עבור כל פרמטר (למשל, כדי לשנות את התצורה של זמן) באופן דרמטי של עיבוד (למשל, כלומר, כלומר, כדי לשנות את התצורה של זמן, כדי לשנות את הנקה).
Singleton Pattern
Singleton משמש לעתים קרובות עבור שירותים מפוחדים כי חייב להיות נקודה אחת של שליטה - לדוגמה, את ה-FLT:20 (למשל, קישור דינמי סלולר DLLs, ה-FLT:21 כי בודק הרשאות של משתמשים, או את ה-FLT 22 המפיץ סימולציה מתקדמת (במסגרת סימולציה) יש רק מקרה אחד של F:23LT קיים למנוע אי עקביות על פני המדינה, אך ורק כדי לקבל גישה חד-צדדית, אם כי הוא יכול להיות בעל גישה חד-ממדית-ממדית, אך ורק אם כי הוא בעל גישה חד-ממדיתנית, באופן חד-ממדיתנה, באופן חד-ממדי, אם כי הוא אמין יותר, אם כי הוא חייב להיות בעל גישה חד-ממדי, אם כי הוא אמין יותר, אם כי הוא בעל גישה חד-ממדי, אם כי הוא בעל גישה חד-משמעי, אם כי הוא יעיל יותר, אם כי הוא בעל גישה זו, באופן חד-משמעי, עם זאת, עם זאת, באופן חד-ממדי, עם זאת, עם זאת, באופן חד-משמעי יותר, עם זאת, עם זאת, באופן חד-משמעי, עם זאת, אם הוא קיים, עם זאת, באופן חד-משמעי, אם כי הוא יכול להיות בעל גישה חד-ממדי, אם כי הוא
אסטרטגיות יישום
כדי לשלב בהצלחה דפוסים יצירתיים במסגרת סימולציה קיימת או חדשה, מפתחים צריכים לעקוב אחר אסטרטגיות אלה:
זיהוי נקודות הרחבה
אנליז את ארכיטקטורת המסגרת לאתר אזורים שבהם ניתן להוסיף רכיבי סימולציה חדשים: סוגים של פותרים, מודלים חומריים, פורמולות אלמנט, גנרטורים מרש, קטגוריות תנאי גבול, פורמטים של פלט, וכו 'אלה מועמדים טבעיים עבור שיטות מפעל או מפעל אבסטרקטי. עבור מבנה אובייקט מורכב (למשל, שלב ניתוח מלא), לשקול.
עיצוב Clearexions
כל דפוס מסתמך על ממשקים או על שיעורים מופשטים.לנצל את הזמן להגדיר חוזים מינימליים אך מלאים.לדוגמה, ממשק ®FLT:24 צריך רק לחשוף שיטות כמו FLT:25, FLT:26, FLT:27, להימנע מפרטי יישום מפורטים.
שימוש בזריקת תלות ו-Lcators
ניתן לשלב דפוסים הבריאה עם הסתלקות של מיכלי בקרה (IoC) כדי לנהל את מחזור החיים ואת החייאה של אובייקטים במפעל.לדוגמה, AFLT:28 יכול להיות מוזרק לתוך שכבת הסימולציה, מה שהופך את זה קל להחליף מפעלים לבדיקה או עבור הגדרות משתמש שונות. a service לאתר שירות יכול לספק גישה לשירותי Singleton ללא קשיחות.
מסמך ה- Pattern Usage
ניתוק בין שימוש בדפוס ויצירת אד-הוק.הסברי שמות (למשל, FLT:29, FLT:30, FLT:31) ו דיאגרמות ארכיטקטוניות עוזרות למפתחים להבין את נקודות ההסתברות המיועדות.ללא תיעוד, חדשים עשויים לעקוף את התבנית ואת הניקוד הקשה, להביס את מטרת התבנית.
מחקר מקרה: הקמת מסגרת יסוד פיניט עם תבניות הבריאה
שקול מסגרת ניתוח אלמנט סופי (FEA) שנכתב במקור כדי לתמוך בניתוח סטטי ליניארי.כפי שמשתמשים דורשים יכולות לא ליניאריות, דינמיות ורב-פיזיקה, בסיס הקוד הופך לערעור.
שלב 1: הפעלת שיטת המפעל כדי לפתור
הקוד המקורי היה הצהרה של לולאה הסימולציה העיקרית כדי להחליט מי פותר לקרוא לו: הצבתו עם ממשק FLT:33 המאפשר לכל פתרון (LinearStatic, non-LironStatic, ExplicitDynamic, ImplicitDynamic) להירשם באמצעות מערכת plugins.
שלב 2: השתמש במפעל אבסטרקטי למשפחות
סוגים שונים של ניתוח דורשים סוגים שונים של אלמנטים: לבנים ליניאריים, tetrahedra quadratic, beam אלמנטים, אלמנטים קליפה. AnFLT:36 יוצר קבוצה תואמת של אלמנטים עבור ניתוח נתון.
שלב 3: בניית מודלים מורכבים עם בניין
קביעת מודל FEA כוללת שלבים רבים: דור השקיה, הקצאה חומרית, יישום עומס, הגדרת מגע, פרמטרים פתרון. AFLT:39 מדריך את ההקמה של שלב אחר שלב. , בונה (ראה FLT:40, ; ⁇ :41) ליישם כל צעד אחר צעד.
שלב 4: פרוטוטיפ למחקרי רגישות
לניתוח רגישות משתנה צפיפות mesh, מודל בסיס בנוי עם ה-FLT:42 אז, במקום לבנות מחדש מאפס עבור כל רמה של mesh, אב הטיפוס הוא שיבוט, ואת ה- mesh הוא regenerated מקומית עבור האזור המשתנה.זה הציל 40% בזמן ההתקנה ביישום אוויר אמיתי בעולם.
תוצאות
לאחר מתן אישור, הוספת יכולת פיזיקה חדשה (למשל, ניתוח תרמומאני משותף) נדרש רק יישום מפעלים חדשים ובניינים חדשים - קוד התזמורת נשאר בלתי נסבל.ציון יכולת ההתעלות של המסגרת, שנמדד על ידי מספר המרכיבים החדשים שהוספו להודעה, גדל על ידי 3x בתוך שנה.
אתגרים ושיקולים
בעוד דפוסים יצירתיים מביאים יתרונות ברורים, הם אינם כדור כסף.מפתחים חייבים להיות מודעים למכשולים פוטנציאליים:
- (ב) ,0)ב-היתר: להוסיף דפוס לכל יצירת אובייקט יכול להוביל לתכנון מורכב מדי עם הרבה כיתות קטנות.
- (FLT:0)Performance Overhead:FLT:1 Patterns כגון מפעל אבסטרקטי או בונה עשויים להציג עקיפין נוסף.בלאות קריטיות ביצועים (למשל, סטיות פנימיות), להימנע ממשלוח דינמי באמצעות מפעלים מקוונים או caching יצר אובייקטים.
- (ב) (ב) ,0) למדים את קורב: (ב) 1FLT:1 חברי צוות חדשים חייבים להבין את תבנית המס של תבנית, לספק תיעוד ברור ודגימות קוד.
- (FLT:0) esting:0) , Singleton ו- רשם עולמי יכול להפוך את יחידת הבדיקה קשה.שימוש בדליקה כדי להחליף יישום לעג.חשבו כי הם עושים מפעלים הניתנים לבדיקה על ידי חשיפתם באמצעות ממשקים.
- (FLT:0) אינטגרציה עם קוד קיים: ⁇ 1) , מתן מסגרת מורשת לשימוש בדפוסי הבריאה הוא מאמץ משמעותי. השתמש בדפוסי ה- Strangler Fig - באופן הדרגתי עוטפים את יצירת האובייקט הישן בתוך מפעלים חדשים.
משאבים חיצוניים וקריאה נוספת
עבור אלה המעוניינים להעמיק את הבנתם של דפוסים הבריאה בהקשר של תוכנה הנדסית, מומלץ משאבים הבאים:
- (ב) ,0) דפוסים של וויקיפדיה: וויקיפדיה: 1 (Aconcise review of all five Patterns).
- (ב) ,0) עיצוב מבוסס-אורנטי: איורים יצירתיים (בריאים) 1:1 - תיאורים מפורטים עם דיאגרמות UML.
- (FLT:0) מסגרת מבוססת עיצוב עבור מודל סימולציה מודל תאימות FLT 1:1 - נייר אקדמי על יישום דפוסים כדי סימולציה בין-אופרציה.
- (ב) ⁇ :0) , ⁇ עיצוב חיקוי (ה) , בעוד שדוגמאות דפוסים מודגשות רבות, מתרגמות למגבלות סימולציה בזמן אמת.
מסקנה
תבניות עיצוב בריא אינן רק תרגילים אקדמיים - הן כלים מעשיים שיכולים לשפר את יכולת התגברות ותחזוקת מסגרות סימולציה הנדסיות.על ידי דה-האובייקט יצירת שימוש, דפוסים כמו שיטת המפעל, מפעל אבסטרקטי, בונה, פרוטוטיפ ו- Singleton מאפשרים למסגרות לגדול עם דרישות הנדסיות ללא חוב טכני מצטבר.