युनिट 10 / 11

पायथनसह अभियांत्रिकी गणना ऑटोमेशन

नफा:

  • एआय-चालित पायथन कोडसह अभियांत्रिकी गणना, युनिट व्यवस्थापन आणि डेटा प्रक्रिया स्वयंचलित करण्याची क्षमता
  • युनिट तपासणी, ज्ञात परिणाम चाचणी आणि एज केसेससह AI कोड प्रमाणित करण्याची क्षमता
  • पुनरावृत्ती करण्यायोग्य, शोधण्यायोग्य आणि आवृत्ती-नियंत्रित खाते दस्तऐवज तयार करण्याची सवय लावण्याची क्षमता

यांत्रिक अभियांत्रिकीमध्ये, एकच गणना पुन्हा पुन्हा केली जाते: भागांच्या कुटुंबातील ताण, ऑपरेटिंग पॉइंट्सच्या श्रेणीसाठी पंप पॉवर, वेगवेगळ्या तापमानात प्रॉपर्टी टेबल. हे व्यक्तिचलितपणे करणे हे दोन्ही हळू आणि त्रुटी प्रवण आहे. पायथन (अभियांत्रिकीसाठी समृद्ध लायब्ररीसह शिकण्यास सोपी प्रोग्रामिंग भाषा) ही पुनरावृत्ती स्वयंचलित करते; हे खाते पुनरावृत्ती करण्यायोग्य, शोधण्यायोग्य आणि आवृत्ती नियंत्रित करते. आर्टिफिशियल इंटेलिजेंस (AI) Python कोड जनरेट करण्यात अविश्वसनीयपणे वेगवान आहे: फॉर्म्युला फंक्शनमध्ये रूपांतरित करणे, युनिट व्यवस्थापन जोडणे, डेटा वाचणे, आलेख तयार करणे. परंतु येथे एक धोकादायक गैरसमज आहे: कोड त्रुटींशिवाय कार्य करतो याचा अर्थ असा नाही की तो अचूक गणना करतो. एआय कोड चुकीचे युनिट रूपांतरण, चुकीचे सूत्र किंवा एज केसेसमुळे शांतपणे चुकीचे परिणाम देऊ शकतो आणि प्रोग्राम कोणत्याही त्रुटीशिवाय चालत राहील. म्हणूनच प्रत्येक अभियांत्रिकी कोड AI सह उत्पादित होते; ज्ञात परिणामांसह चाचणी इनपुट युनिट (आकार) तपासणी आणि एज केस चाचण्यांद्वारे पडताळणीशिवाय अविश्वसनीय आहेत. या युनिटमध्ये, तुम्ही AI सह Python खाते ऑटोमेशन सुरक्षितपणे कसे सेट करायचे ते शिकाल.

कोड खाते का? शोधण्यायोग्यता आणि पुनरुत्पादनक्षमता

मॅन्युअल गणना एक-ऑफ आहे; जेव्हा इनपुट बदलते, तेव्हा ते सुरवातीपासून केले जाते आणि मध्यवर्ती पायऱ्या गमावल्या जातात. कोडमध्ये केलेली गणना कागदपत्रासारखी असते: इनपुट, सूत्रे आणि आउटपुट स्पष्टपणे लिहिलेले असतात; तुम्ही इनपुट बदलता आणि काही सेकंदात नवीन परिणाम मिळवा; आवृत्ती नियंत्रणासह (जसे git), "मी कोणत्या तारखेला कोणत्या मूल्यासह काय मोजले" याचा मागोवा घेतला जाऊ शकतो. नियंत्रण आणि जबाबदारीच्या दृष्टीने हे अमूल्य आहे. परंतु ही शक्ती कोडच्या अचूकतेवर अवलंबून असते; चुकीचा कोड चुकीचा परिणाम देतो, तसेच पुनरुत्पादक आणि त्वरीत.

टीप: प्रत्येक कंप्युट फंक्शनसाठी त्याच्या शेजारी ज्ञात सत्य परिणामासह एक चाचणी लिहा (पायथनमध्ये ठामपणे). उदाहरणार्थ, आपल्या तणावाचे कार्य ज्ञात नमुन्यात 28.1 एमपीए दिले पाहिजे. ही चाचणी तुम्हाला भविष्यात कोड बदलताना काही खंडित झाल्यास लगेच चेतावणी देते. अभियांत्रिकी कोड ज्याची चाचणी केली जात नाही ते असत्यापित खाते आहे.

व्हॉल्यूम व्यवस्थापन: त्रुटीचा सर्वात सामान्य स्त्रोत

अभियांत्रिकी कोडमध्ये, बहुतेक त्रुटी युनिट्समधून येतात: kN सह N, mm सह m, MPa सह Pa, जे 1000 किंवा 1,000,000 च्या घटकाद्वारे गोंधळात टाकले जाऊ शकते. दोन संरक्षण आहेत. पहिली शिस्त आहे: सुरुवातीपासून एकल युनिट प्रणाली निवडणे (उदा. N, mm, MPa) आणि सर्व इनपुट्स त्यात रूपांतरित करणे आणि व्हेरिएबल नावांमध्ये युनिट्स जोडणे (length_mm, force_N). दुसरे साधन आहे: पिंटसारखी लायब्ररी कोडमधील युनिट्स घेऊन जाते आणि विसंगत ऑपरेशन त्रुटी म्हणून पकडते.

दृष्टीकोन

ते कसे कार्य करते

फायदा

नामकरणाची शिस्त

जसे की force_N, length_mm

साधे, अवलंबित्व नाही

सिंगल युनिट सिस्टम

सर्व N-mm-MPa मध्ये रूपांतरित केले

साधेपणा, वेग

पिंट लायब्ररी

चलानुसार युनिट हलवते

आपोआप विसंगती पकडते

ज्ञात परिणाम चाचणी

दावा सह संदर्भ

सूत्र/युनिट त्रुटी पकडते

खबरदारी: एआय-व्युत्पन्न कोडमध्ये युनिट रूपांतरण गहाळ किंवा चुकीचे असू शकते आणि कोड तरीही "कार्य करेल". उदाहरणार्थ, जर व्यास मिमी असेल आणि क्षेत्र m² असेल, तर परिणाम 1,000,000 पटीने विचलित होईल, परंतु प्रोग्राम त्रुटी देणार नाही. कोड चालवण्यापूर्वी, इनपुट आणि आउटपुटच्या युनिट्सवर टिप्पणी द्या; नंतर ज्ञात उदाहरणासह परिणाम प्रदान करा.

स्टेप बाय स्टेप: एआय व्हेरिफायेबल अकाउंट कोड

  1. समस्या आणि युनिट सिस्टम स्पष्ट करा. इनपुट, आउटपुट, युनिट्स.
  2. फंक्शन व्युत्पन्न करा. एकल जबाबदार, व्याख्यात्मक, संयुक्त.
  3. ज्ञात परिणाम चाचणी जोडा. संदर्भ उदाहरणासह ठामपणे सांगा.
  4. एज केस वापरून पहा. शून्य, ऋण, खूप मोठे/लहान इनपुट.
  5. युनिट तपासा. आउटपुटचे युनिट अपेक्षेशी जुळते का?
  6. दस्तऐवज आणि आवृत्ती. गृहीतके, स्रोत, तारीख; git सह शोधण्यायोग्यता.

फंक्शन्स आणि चाचण्या व्युत्पन्न करणारे प्रॉम्प्ट

भूमिका: अनुभवी पायथन विकसक अभियांत्रिकी गणना लिहित आहे. कार्य: आयताकृती क्रॉस-सेक्शन कॅन्टिलिव्हर बीममध्ये जास्तीत जास्त बेंडिंग स्ट्रेसची गणना करणारे फंक्शन लिहा. इनपुट: F (N), L (mm), b (mm), h (mm). आउटपुट: सिग्मा (एमपीए). कन्व्हेन्शन: युनिट सिस्टम N-mm-MPa; प्रत्येक नोंदीच्या युनिटवर टिप्पणी करा. नियम: I = b*h^3/12 आणि सिग्मा = M*c/I वापरा; चरणांवर टिप्पणी करा. नियम: ज्ञात परिणामासह चाचणी जोडा: F=500,L=300,b=20,h=40 साठी सिग्मा ~28.1 MPa; ठामपणे (लहान सहनशीलता) तपासा.

एज स्टेटस प्रॉम्प्ट

वरील फंक्शनमध्ये एज केस चेक जोडा:- जर b, h किंवा L शून्य किंवा ऋण असेल तर, एक महत्त्वपूर्ण त्रुटी द्या (ValueError वाढवा).- खूप मोठ्या/लहान इनपुटमध्ये ओव्हरफ्लो/प्रिसीजन समस्या असल्यास टिप्पणी द्या. तसेच आणखी 3 भिन्न चाचणी इनपुट जोडा आणि अपेक्षित निकाल लिहा; परिणाम मी स्वतः सत्यापित करू शकेन अशा प्रकारे स्पष्ट करा.

युनिट सुरक्षा (पिंट) प्रॉम्प्ट

'पिंट' लायब्ररीसह समान खाते युनिट-सुरक्षित. इनपुट्स एककांमध्ये परिभाषित करू द्या (उदा. 500 * ureg.newton). आउटपुट एमपीएमध्ये रूपांतरित करा आणि प्रिंट करा. चुकीच्या युनिटसह इनपुट दिल्यास पिंट कसा अयशस्वी होतो हे दाखवणारे एक लहान उदाहरण जोडा.

कोड चेक प्रॉम्प्ट

माझ्या अभियांत्रिकी गणना कोडवर कोड पुनरावलोकनाच्या दृष्टिकोनातून टीका करा, माझ्याशी सहमत नाही. विशेषतः: युनिट रूपांतरण योग्य आहे का, सूत्र योग्य आहे का, एज केसेस (शून्य, नकारात्मक) विचारात घेतल्या गेल्या आहेत, चाचण्या खरोखर पुष्टीकारक आहेत का? प्रत्येक शोधासाठी, त्याचे निराकरण कसे करायचे ते लिहा.[कोड]

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत प्रॉम्प्ट:

ताण मोजणीसाठी पायथन कोड लिहा.

एकके, सूत्रे, इनपुट व्याख्या आणि चाचण्यांची निवड नाही; AI कोड व्युत्पन्न करते जो कार्य करतो परंतु असत्यापित आहे आणि ज्याचे युनिट अज्ञात आहे.

शक्तिशाली सूचना:

कॅन्टिलिव्हर बीममध्ये बेंडिंग स्ट्रेस फंक्शन लिहा. इनपुट F(N), L(mm), b(mm), h(mm); आउटपुट सिग्मा (एमपीए). N-mm-MPa सिस्टम, टिप्पणीमध्ये प्रत्येक युनिट निर्दिष्ट करा. ज्ञात परिणामांसह चाचणी जोडा (F=500, L=300, b=20, h=40 → ~28.1 MPa, assert). शून्य/नकारात्मक इनपुटवर त्रुटी द्या. धार प्रकरणांचा अर्थ लावा.

दुसऱ्या प्रॉम्प्टसाठी युनिट सिस्टम, सूत्र, इनपुट, चाचणी आणि एज केसेस आवश्यक आहेत; हे कोड पडताळण्यायोग्य बनवते.

तीन मिनी केसेस (संख्यांनुसार)

केस 1 - मूक आवाज त्रुटी. AI द्वारे उत्पादित क्षेत्र गणना mm मध्ये व्यास घेते आणि pi*d**2/4 सह mm² देते, परंतु पुढील ओळ त्यास m² अपेक्षित असलेल्या सूत्रात ठेवते; कोड त्रुटींशिवाय कार्य करतो आणि ताण 1,000,000 पट कमी देतो. जेव्हा अभियंता ज्ञात परिणामासह चाचणी चालवतो (असर्ट abs(sigma-28.1)<0.5), चाचणीचा स्फोट होतो आणि त्रुटी पकडली जाते. चाचणी नसल्यास, चुकीच्या निकालाकडे लक्ष न देता अहवाल प्रविष्ट केला असता. धडा: कार्यरत कोड ≠ योग्य कोड.

केस 2 - एज स्टेट क्रॅश. भाग कुटुंबासाठी लूप असलेल्या कोडमध्ये, एका ओळीत जाडी h=0 प्रविष्ट केली जाते; जेव्हा I = b*h**3/12 = 0, सिग्मा = M*c/I शून्य त्रुटीने भागाकार देते. if h<=0: raise ValueError नियंत्रण AI द्वारे जोडल्याबद्दल धन्यवाद, कोड अर्थपूर्ण संदेशासह थांबतो आणि शांतपणे माहिती तयार करत नाही. धडा: एज केसेस आधीच हाताळा.

केस 3 - पुनरावृत्तीक्षमता वाढणे. 40 वेगवेगळ्या ऑपरेटिंग पॉइंट्ससाठी पंप पॉवर मॅन्युअली मोजण्यासाठी एका इंजिनिअरला अर्धा दिवस लागला. AI मध्ये लिहिलेली, स्क्रिप्ट CSV वाचते, प्रत्येक ओळीच्या पॉवरची गणना करते आणि ठामपणे ज्ञात बिंदूची पडताळणी करते, काम ~2 मिनिटांपर्यंत कमी करते आणि परिणाम शोधण्यायोग्य फाइलमध्ये लिहिते. जेव्हा एखादी नोंद बदलते तेव्हा संपूर्ण सारणी प्रत्येक सेकंदाला अपडेट केली जाते. धडा: सत्यापित ऑटोमेशन जलद आणि विश्वसनीय दोन्ही आहे.

सामान्य चुका

  • "काम केलेले = बरोबर" भ्रम: त्रुटींशिवाय कार्य करणारा कोड योग्य आहे असा विचार करणे.
  • चाचण्या लिहिणे नाही: ज्ञात परिणामासह संदर्भ चाचणीशिवाय कोडवर अवलंबून राहणे.
  • एकक संदिग्धता: इनपुट/आउटपुट युनिट्स अनपेक्षित सोडणे, रूपांतरण वगळणे.
  • एज केसेसकडे दुर्लक्ष करणे: शून्य/नकारात्मक इनपुटवर मूक त्रुटी किंवा क्रॅश.
  • स्त्रोत/ग्रहणाचे दस्तऐवजीकरण न करणे: वापरलेल्या सूत्राचा स्त्रोत आणि गृहितक लिहून न घेणे.
  • आवृत्ती तयार करत नाही: खाते शोधण्यायोग्य (गिट) न करता एक-वेळ फाइल म्हणून सोडणे.

सारांशात

  • पायथन अभियांत्रिकी गणना पुनरावृत्ती करण्यायोग्य, शोधण्यायोग्य आणि आवृत्ती नियंत्रित करते.
  • एआय कोड तयार करण्यात खूप वेगवान आहे; परंतु कोड त्रुटींशिवाय कार्य करतो याचा अर्थ असा नाही की तो अचूक गणना करतो.
  • ज्ञात-परिणाम चाचणी, युनिट तपासणी आणि किनारी प्रकरणांद्वारे प्रत्येक कोड प्रमाणित केला जावा.
  • युनिट त्रुटी ही सर्वात वारंवार आणि सर्वात कपटी त्रुटीचे स्त्रोत आहेत; सिंगल युनिट सिस्टम, नामकरण किंवा पिंटद्वारे बचाव करा.
  • प्रमाणित ऑटोमेशन वेळेची बचत करते आणि आत्मविश्वास देते; असत्यापित कोड धोकादायक आहे.

अर्ज कार्य

आवर्ती अभियांत्रिकी गणना निवडा (जसे की ताण, पंप पॉवर, उष्णता लोड). AI वर पायथन फंक्शन लिहा जे ही गणना करते; प्रत्येक इनपुट आणि आउटपुटच्या युनिटवर टिप्पणी द्या आणि ज्ञात परिणामासह एक आक्षेप चाचणी जोडा. चाचणी चालवा आणि ती उत्तीर्ण होते का ते पहा. नंतर आणखी दोन पडताळणी करा: कोड एक महत्त्वपूर्ण त्रुटी देतो हे तपासण्यासाठी एज केस (शून्य किंवा नकारात्मक इनपुट) वापरून पहा आणि उदाहरणामध्ये आउटपुटचे युनिट व्यक्तिचलितपणे प्रदान करा. शक्य असल्यास, एक युनिट-सुरक्षित आवृत्ती देखील पिंटमध्ये तयार करा. शेवटी, कोडमध्ये मोजणीचे गृहितक, सूत्र स्त्रोत आणि तारीख एक लहान शीर्षक म्हणून जोडा आणि या कोडला अद्याप अभियंता मंजुरीची आवश्यकता का आहे ते लिहा.

चेकलिस्ट

  • [] इनपुट आणि आउटपुट युनिट्स कोडमध्ये स्पष्टपणे दस्तऐवजीकरण केले जातात; सिंगल युनिट प्रणाली निवडली.
  • ज्ञात परिणाम असलेली चाचणी (असेर्ट) जोडली गेली आणि उत्तीर्ण झाली.
  • [ ] किमान एक धार केस (शून्य/ऋण) करण्याचा प्रयत्न केला होता; कोडने एक महत्त्वपूर्ण त्रुटी दिली.
  • आउटपुटचे युनिट मॅन्युअल उदाहरणाद्वारे प्रदान केले गेले ("काम केले = बरोबर" असे गृहीत धरत नाही).
  • [ ] सूत्र स्त्रोत, गृहीतके आणि तारीख कोडमध्ये नमूद केली आहे.
  • [] खाते ट्रॅक करण्यायोग्य/ट्रॅक केलेले ठेवले; अंतिम मान्यता अभियंत्यावर सोडली होती.