מה זה ChainSolve? גישה חדשה לחישובי הנדסה
היכרות עם ChainSolve, איך זה עובד, למה זה קיים, וכיצד זה שונה מגיליונות אלקטרוניים, Mathcad וכלים מסורתיים לחישובים.
בעיית החישוב
שקול משימת עיצוב תלייה אופיינית בתעשיית הרכב. עליך לקבוע את קצב הקפיץ לפינת קדמית. זה דורש:
- תדר טבעי מטרה (הנגזר מדרישות דינמיקת כלי רכב)
- מסת הפינה (הנגזרת מחלוקת משקל כלי הרכב)
- יחס התנועה (הנגזר מגיאומטריית התלייה)
- זווית התקנת הקפיץ
- קצב הגלגל (מחושב מהתדר המטרה ומסת הפינה)
- קצב קפיץ סליל (מחושב מקצב הגלגל, יחס התנועה וזווית ההתקנה)
לכל ערך זה יש מקור. חלקם מגיעים ממסמכי דרישות. חלקם מגיעים מ־מודלי CAD. חלקם מגיעים מחישובים אחרים. חלקם הם שיקול הנדסי. כל אלה צריכים להיות רשומים, מוצדקים וניתנים לעקבוא.
בגיליון אלקטרוני, חישוב זה עשוי לתפוס 30 שורות. התלויות משתמעות, תא B14 מתייחס ל־B8, שמתייחס ל־B3, שמתייחס לערך שמישהו הקליד לפני שישה חודשים ואף אחד לא זוכר מה הוא המקור. שנה את יחס התנועה והן צריך לוודא ידנית שכל ערך בעמדה בשרשרת עודכן כהלכה, בהנחה שאתה יכול למצוא את כולם.
ChainSolve לוקח גישה קיצונית שונה.
חישובים כגרפים
ב־ChainSolve, חישוב קצב הקפיץ לעיל אינו רשימה שטוחה של תאים. זהו גרף מכוון ואציקלי של בלוקי חישוב:
- קלטים הם מפורשים, בעלי שם, מסוג, ותיעוד. כל קלט רושם את הערך שלו, היחידה, המקור וכל הנחות.
- בלוקים הם שלבי חישוב עצמאיים. בלוק לוקח קלטים בעלי שם, מיישם חישוב מוגדר (מנוסחה פשוטה ועד לשיטה מספרית מורכבת), ומייצר פלטים בעלי שם.
- חיבורים קושרים את הפלטים של בלוק אחד לקלטים של אחר. חיבורים אלה מפורשים וגלויים, לא מוסתרים בתוך הפניות לתאים.
- שרשרות הן גרפים מורכבים של בלוקים המייצגים חישוב הנדסי שלם.
כאשר אתה משנה קלט, ChainSolve מזהה כל בלוק בעמדה בשרשרת שהוא מושפע מכך ומחשב אותם בסדר טופולוגי. אין אי־הבהירות לגבי מה שהשתנה ומה היה מושפע.
כיצד זה שונה מכלים קיימים
גיליונות אלקטרוניים (Excel, Google Sheets): גיליונות אלקטרוניים נותנים לך רשת של תאים עם נוסחאות. התלויות משתמעות בהפניות לתאים. אין הקלדה, בדיקת יחידות, או דרך מובנית לצרף הנחות או מקורות לערכים. שיתוף פעולה אומר שליחת קבצים או תקווה שגרסת הכונן המשותף היא עדכנית. ChainSolve מחליף גרפי תאים משתמעים בגרפים של חישוב מפורשים, מתועדים וניתנים להרכבה.
Mathcad / SMath: כלים אלה מעולים ליצירת חישובים קריאים ותיעוד לניתוח יחיד. אך הם משמעותיים מבחינת מסמך, דף Mathcad הוא דף, לא רכיב הניתן להרכבה. אתה לא יכול לקחת את חישוב ההטיה של הקורה משיתוף עבודה אחד וליצור תוכנית אותו עם חישוב עומס ממשיתוף עבודה אחר. מודל בלוקי ChainSolve הופך את ההרכבה לפעולה מדרגה ראשונה.
סקריפטים מותאמים אישית (Python, MATLAB): מהנדסים שכותבים סקריפטים מותאמים אישית מקבלים הרכבה ובקרת גרסון, אך מאבדים נגישות. לא כל מהנדס בקבוצה יכול לקרוא Python. לא כל חישוב מצדיק כתיבה ותחזוקה של סקריפט. ChainSolve מספק את הרכבת הקוד עם הנגישות של כלי חזותי.
כלים משולבים PLM: מערכות ניהול מחזור חיי המוצר מציעות ניתנות עקבוא אך בתקורה עצומה. הן מעוצבות לארגונים גדולים עם מנהלים ייעודיים. ChainSolve מספק ניתנות עקבוא ברמת חישוב ללא צורך בתשתית ארגונית.
זרימת העבודה הבסיסית
זרימת עבודה טיפוסית של ChainSolve:
- צור שרשרת לחישוב שלך (למשל, “קצב קפיץ תלייה קדמית”)
- הגדר בלוקי קלט לערכים הידועים שלך: מסת פינה, תדר מטרה, יחס תנועה
- הוסף בלוקי חישוב המהווים קלטים לפלטים: קצב גלגל מתדר ומסה, קצב קפיץ מקצב גלגל ויחס תנועה
- חבר בלוקים ליצירת גרף התלות
- הרץ את השרשרת לחישוב כל הפלטים
- ייצא את החישוב כדוח תיעודי עם ניתנות עקבוא מלאה
כל שינוי רשום. כל הנחה מצורפת לערך שהוא חל עליו. כל חישוב יכול להיות בגרסה, משותף ובשימוש חוזר כרכיב בחישוב גדול יותר.
בנוי לביצועים
מנוע החישוב של ChainSolve כתוב ב־Rust ומורכב ל־WebAssembly. זה אומר:
- חישובים רצים במהירות קרובה לשיעור שלי בדפדפן, ללא סיבובי שרת לחישוב
- היישום כולו עובד בלי אינטרנט ברגע שנטען
- שרשרות מורכבות עם מאות בלוקים מוערכים באלפיות שנייה
- אותו מנוע יכול להיות בצד השרת לעיבוד בחזקה ואינטגרציה CI/CD
מה בא הלאה
ChainSolve נמצא כרגע בפיתוח. אנחנו בונים לעבר שחרור ראשוני שמכסה את זרימת העבודה הבסיסית שתוארה לעיל, עם התמקדות בחישובים הנדסה מכנית בתחום הרכב וMotorsport.
אם אתה רוצה גישה מוקדמת או רוצה לעקוב אחר הפיתוח, בקר ב־chainsolve.co.uk או הירשם ל־feed RSS של בלוג זה.