یونٹ 10 / 11

Python کے ساتھ انجینئرنگ کیلکولیشن آٹومیشن

فائدہ:

  • AI سے چلنے والے Python کوڈ کے ساتھ انجینئرنگ کیلکولیشن، یونٹ مینجمنٹ اور ڈیٹا پروسیسنگ کو خودکار کرنے کی صلاحیت
  • یونٹ چیکنگ، معلوم رزلٹ ٹیسٹنگ، اور ایج کیسز کے ساتھ AI کوڈ کی توثیق کرنے کی صلاحیت
  • دوبارہ قابل، ٹریس ایبل اور ورژن کے زیر کنٹرول اکاؤنٹ دستاویزات تیار کرنے کی عادت حاصل کرنے کی صلاحیت

مکینیکل انجینئرنگ میں، ایک ہی حساب بار بار کیا جاتا ہے: حصوں کے خاندان کے دباؤ، آپریٹنگ پوائنٹس کی ایک رینج کے لیے پمپ پاور، مختلف درجہ حرارت پر پراپرٹی ٹیبل۔ ان کو دستی طور پر کرنا سست اور غلطی کا شکار ہے۔ Python (انجینئرنگ کے لیے بھرپور لائبریریوں کے ساتھ سیکھنے میں آسان پروگرامنگ زبان) ان تکرار کو خودکار بناتا ہے۔ یہ اکاؤنٹ کو دوبارہ قابل، ٹریس ایبل اور ورژن کو کنٹرول کرتا ہے۔ مصنوعی ذہانت (AI) Python کوڈ بنانے میں ناقابل یقین حد تک تیز ہے: فارمولے کو فنکشن میں تبدیل کرنا، یونٹ کا انتظام شامل کرنا، ڈیٹا پڑھنا، گراف کی منصوبہ بندی کرنا۔ لیکن یہاں ایک خطرناک غلط فہمی ہے: صرف اس وجہ سے کہ کوڈ غلطیوں کے بغیر کام کرتا ہے اس کا مطلب یہ نہیں ہے کہ یہ صحیح حساب لگاتا ہے۔ AI کوڈ خاموشی سے غلط یونٹ کی تبدیلی، غلط فارمولے، یا ایج کیسز کی وجہ سے غلط نتائج دے سکتا ہے، اور پروگرام بغیر کسی غلطی کے چلتا رہے گا۔ یہی وجہ ہے کہ AI کے ساتھ تیار کردہ ہر انجینئرنگ کوڈ؛ معلوم نتائج کے ساتھ ٹیسٹ ان پٹ یونٹ (سائز) چیکنگ اور ایج کیس ٹرائلز کی تصدیق کے بغیر ناقابل اعتبار ہیں۔ اس یونٹ میں، آپ سیکھیں گے کہ AI کے ساتھ Python اکاؤنٹ آٹومیشن کو محفوظ طریقے سے کیسے ترتیب دیا جائے۔

کوڈ اکاؤنٹ کیوں؟ ٹریس ایبلٹی اور تولیدی صلاحیت

دستی حساب کتاب ایک دفعہ ہوتا ہے۔ جب کوئی ان پٹ تبدیل ہوتا ہے، تو یہ شروع سے کیا جاتا ہے اور درمیانی مراحل ضائع ہو جاتے ہیں۔ کوڈ میں کیلکولیشن ایک دستاویز کی طرح ہے: ان پٹ، فارمولے اور آؤٹ پٹ واضح طور پر لکھے گئے ہیں۔ آپ ان پٹ کو تبدیل کرتے ہیں اور سیکنڈوں میں نیا نتیجہ حاصل کرتے ہیں۔ ورژن کنٹرول (جیسے گٹ) کے ساتھ، "میں نے کس تاریخ کو کس قدر کے ساتھ حساب کیا" کو ٹریک کیا جا سکتا ہے۔ یہ کنٹرول اور احتساب کے لحاظ سے انمول ہے۔ لیکن یہ طاقت کوڈ کی درستگی پر منحصر ہے؛ ایک غلط کوڈ غلط نتیجہ پیدا کرتا ہے، تولیدی طور پر اور جلدی بھی۔

ٹپ: ہر ایک کمپیوٹ فنکشن کے لیے ایک ٹیسٹ لکھیں جس کے ساتھ ایک معلوم صحیح نتیجہ ہے (پائیتھون میں دعویٰ کریں)۔ مثال کے طور پر، آپ کے اسٹریس فنکشن کو معلوم نمونے میں 28.1 MPa دینا چاہیے۔ یہ ٹیسٹ فوری طور پر آپ کو خبردار کرتا ہے کہ اگر آپ مستقبل میں کوڈ تبدیل کرتے وقت کچھ توڑتے ہیں۔ انجینئرنگ کوڈ جس کا تجربہ نہیں کیا گیا ایک غیر تصدیق شدہ اکاؤنٹ ہے۔

حجم کا انتظام: خرابی کا سب سے عام ذریعہ

انجینئرنگ کوڈ میں، زیادہ تر خرابیاں اکائیوں سے آتی ہیں: N کے ساتھ kN، m کے ساتھ mm، Pa کے ساتھ MPa، جو 1000 یا 1,000,000 کے عنصر سے الجھ سکتے ہیں۔ دو دفاع ہیں۔ پہلا نظم و ضبط ہے: شروع سے ایک واحد یونٹ کا نظام منتخب کرنا (مثلاً N، mm، MPa) اور اس میں تمام ان پٹ کو تبدیل کرنا اور متغیر ناموں (لمبائی_mm، force_N) میں اکائیوں کو شامل کرنا۔ دوسرا ٹول ہے: پنٹ جیسی لائبریری یونٹس کو کوڈ کے اندر رکھتی ہے اور متضاد آپریشن کو غلطی کے طور پر پکڑتی ہے۔

نقطہ نظر

یہ کیسے کام کرتا ہے۔

فائدہ

نام دینے کا نظم

جیسے force_N، length_mm

سادہ، کوئی انحصار نہیں۔

واحد یونٹ کا نظام

سبھی N-mm-MPa میں تبدیل ہو گئے۔

سادگی، رفتار

پنٹ لائبریری

یونٹ کو متغیر کے حساب سے منتقل کرتا ہے۔

خود بخود عدم مطابقت پکڑتا ہے۔

معلوم نتیجہ ٹیسٹ

دعوی کے ساتھ حوالہ

فارمولہ/یونٹ کی خرابی پکڑتا ہے۔

احتیاط: AI سے تیار کردہ کوڈ میں یونٹ کی تبدیلی غائب یا غلط ہو سکتی ہے اور کوڈ اب بھی "کام" کرے گا۔ مثال کے طور پر، اگر قطر ملی میٹر ہے اور رقبہ m² ہونے کی توقع ہے، تو نتیجہ 1,000,000 گنا ہٹ جائے گا، لیکن پروگرام غلطی نہیں کرے گا۔ کوڈ چلانے سے پہلے، ان پٹ اور آؤٹ پٹ کی اکائیوں پر تبصرہ کریں۔ پھر ایک معروف مثال کے ساتھ نتیجہ فراہم کریں۔

مرحلہ وار: AI قابل تصدیق اکاؤنٹ کوڈ

  1. مسئلہ اور یونٹ سسٹم کو واضح کریں۔ ان پٹ، آؤٹ پٹ، یونٹس۔
  2. فنکشن تیار کریں۔ واحد ذمہ دار، تشریح کرنے والا، متحد۔
  3. معلوم نتائج ٹیسٹ شامل کریں۔ حوالہ مثال کے ساتھ دعوی کریں۔
  4. ایج کیسز آزمائیں۔ صفر، منفی، بہت بڑا/چھوٹا ان پٹ۔
  5. یونٹ چیک کریں۔ کیا آؤٹ پٹ کی اکائی توقع کے مطابق ہے؟
  6. دستاویز اور ورژن۔ مفروضات، ماخذ، تاریخ؛ گٹ کے ساتھ ٹریس ایبلٹی۔

پرامپٹ جو افعال اور ٹیسٹ تیار کرتا ہے۔

کردار: تجربہ کار Python ڈویلپر انجینئرنگ کیلکولیشن لکھ رہا ہے۔ ٹاسک: ایک فنکشن لکھیں جو مستطیل کراس سیکشن کینٹیلیور بیم میں زیادہ سے زیادہ موڑنے والے تناؤ کا حساب لگاتا ہے۔ ان پٹ: F (N)، L (mm)، b (mm)، h (mm)۔ آؤٹ پٹ: سگما (MPa) کنونشن: یونٹ سسٹم N-mm-MPa؛ ہر اندراج کی اکائی پر تبصرہ کریں۔ اصول: I = b*h^3/12 اور سگما = M*c/I استعمال کریں۔ اقدامات پر تبصرہ کریں۔ اصول: معلوم نتیجہ کے ساتھ ایک ٹیسٹ شامل کریں: سگما ~28.1 MPa برائے F=500,L=300,b=20,h=40; اصرار (چھوٹی رواداری) کے ساتھ چیک کریں۔

ایج اسٹیٹس پرامپٹ

مندرجہ بالا فنکشن میں ایج کیس چیکس شامل کریں:- اگر b، h یا L صفر یا منفی ہیں، تو ایک اہم غلطی دیں (ValueError کو بڑھائیں)۔ اگر بہت بڑے/چھوٹے ان پٹ کے ساتھ اوور فلو/پریزیشن کا مسئلہ ہو تو تبصرہ کریں۔ مزید 3 مختلف ٹیسٹ ان پٹ بھی شامل کریں اور متوقع نتیجہ لکھیں۔ نتائج کی وضاحت اس طرح کریں کہ میں دستی طور پر ان کی تصدیق کر سکوں۔

یونٹ سیکیورٹی (پنٹ) پرامپٹ

'پنٹ' لائبریری کے ساتھ ایک ہی اکاؤنٹ کو یونٹ سے محفوظ رکھیں۔ ان پٹ کو اکائیوں میں بیان کرنے دیں (جیسے 500 * ureg.newton)۔ آؤٹ پٹ کو MPa میں تبدیل کریں اور اسے پرنٹ کریں۔ ایک چھوٹی سی مثال شامل کریں جس میں دکھایا جائے کہ غلط یونٹ کے ساتھ ان پٹ دینے پر پنٹ کیسے ناکام ہو جاتا ہے۔

کوڈ چیک پرامپٹ

ذیل میں میرے انجینئرنگ کیلکولیشن کوڈ پر کوڈ کے جائزے کے نقطہ نظر سے تنقید کریں، مجھ سے متفق نہ ہوں۔ خاص طور پر: کیا یونٹ کی تبدیلی درست ہے، کیا فارمولہ درست ہے، کیا ایج کیسز (صفر، منفی) پر غور کیا گیا ہے، کیا ٹیسٹ واقعی تصدیق کرنے والے ہیں؟ ہر ایک تلاش کے لیے، اسے ٹھیک کرنے کا طریقہ لکھیں۔[code]

کمزور پرامپٹ / مضبوط اشارہ

کمزور اشارہ:

دباؤ کے حساب کتاب کے لیے ازگر کوڈ لکھیں۔

اکائیوں، فارمولوں، ان پٹ تعریفوں اور ٹیسٹوں کا کوئی انتخاب نہیں۔ AI کوڈ تیار کرتا ہے جو کام کرتا ہے لیکن غیر تصدیق شدہ ہے اور جس کی اکائی نامعلوم ہے۔

طاقتور اشارہ:

کینٹیلیور بیم میں موڑنے والے تناؤ کا فنکشن لکھیں۔ ان پٹ F(N)، L(mm)، b(mm)، h(mm)؛ آؤٹ پٹ سگما (MPa) 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 گنا کم کرتا ہے۔ جب انجینئر ایک معلوم نتیجہ (assert abs(sigma-28.1)<0.5) کے ساتھ ٹیسٹ چلاتا ہے، تو ٹیسٹ پھٹ جاتا ہے اور غلطی پکڑی جاتی ہے۔ اگر ٹیسٹ نہ ہوتا تو غلط رزلٹ بغیر کسی دھیان کے رپورٹ میں داخل ہو جاتا۔ سبق: ورکنگ کوڈ ≠ درست کوڈ۔

کیس 2 - ایج اسٹیٹ کریش۔ کوڈ میں جو حصہ خاندان کے لیے لوپ کرتا ہے، موٹائی h=0 ایک لائن میں درج کی جاتی ہے۔ جب I = b*h**3/12 = 0، sigma = M*c/I صفر کی غلطی سے تقسیم دیتا ہے۔ if h<=0: raise ValueError کنٹرول کا شکریہ جو AI کے ذریعے شامل کیا گیا ہے، کوڈ ایک معنی خیز پیغام کے ساتھ رک جاتا ہے اور خاموشی سے inf پیدا نہیں کرتا ہے۔ سبق: ایج کیسز کو پہلے ہی سنبھال لیں۔

کیس 3 - تکراری قابلیت کا فائدہ۔ 40 مختلف آپریٹنگ پوائنٹس کے لیے پمپ کی طاقت کو دستی طور پر شمار کرنے میں ایک انجینئر کو آدھا دن لگا۔ AI میں لکھا گیا، اسکرپٹ CSV کو پڑھتا ہے، ہر لائن کی طاقت کا حساب لگاتا ہے، اور دعویٰ کے ساتھ ایک معلوم نقطہ کی تصدیق کرتا ہے، کام کو ~2 منٹ تک کم کرتا ہے اور نتائج کو ایک قابل شناخت فائل میں لکھتا ہے۔ جب کوئی اندراج تبدیل ہوتا ہے، تو پورا ٹیبل ہر سیکنڈ میں اپ ڈیٹ ہوتا ہے۔ سبق: تصدیق شدہ آٹومیشن تیز اور قابل اعتماد ہے۔

عام غلطیاں

  • "Worked = correct" غلط فہمی: یہ سوچنا کہ کوڈ جو غلطیوں کے بغیر کام کرتا ہے درست ہے۔
  • ٹیسٹ نہیں لکھنا: معلوم نتیجہ کے ساتھ حوالہ ٹیسٹ کے بغیر کوڈ پر انحصار کرنا۔
  • یونٹ کا ابہام: ان پٹ/آؤٹ پٹ یونٹس کو بغیر تشریح کے چھوڑنا، تبادلوں کو چھوڑنا۔
  • ایج کیسز کو نظر انداز کرنا: صفر/منفی ان پٹ پر خاموش غلطی یا کریش۔
  • ماخذ/مفروضے کی دستاویز نہ کرنا: استعمال شدہ فارمولے کے ماخذ اور مفروضے کو نہ لکھنا۔
  • ورژن نہیں بنانا: اکاؤنٹ کو ٹریس ایبل بنائے بغیر ایک بار فائل کے طور پر چھوڑنا (گٹ)۔

خلاصہ میں

  • Python انجینئرنگ کمپیوٹیشن کو دوبارہ قابل، ٹریس ایبل، اور ورژن کنٹرولڈ بناتا ہے۔
  • AI کوڈ بنانے میں بہت تیز ہے۔ لیکن حقیقت یہ ہے کہ کوڈ غلطیوں کے بغیر کام کرتا ہے اس کا مطلب یہ نہیں ہے کہ یہ صحیح حساب لگاتا ہے۔
  • ہر کوڈ کی توثیق معلوم نتائج کی جانچ، یونٹ کی جانچ، اور ایج کیسز کے ذریعے کی جانی چاہیے۔
  • یونٹ کی غلطیاں سب سے زیادہ کثرت سے اور سب سے زیادہ خطرناک غلطی کا ذریعہ ہیں؛ سنگل یونٹ سسٹم، نام یا پنٹ کے ذریعے دفاع کریں۔
  • تصدیق شدہ آٹومیشن وقت بچاتا ہے اور اعتماد دیتا ہے۔ غیر تصدیق شدہ کوڈ خطرناک ہے۔

درخواست کا کام

ایک بار بار چلنے والا انجینئرنگ حساب (جیسے تناؤ، پمپ پاور، گرمی کا بوجھ) کا انتخاب کریں۔ AI پر ایک Python فنکشن لکھیں جو یہ حساب کرتا ہے۔ ہر ان پٹ اور آؤٹ پٹ کی اکائی پر تبصرہ کریں اور معلوم نتیجہ کے ساتھ اسسٹ ٹیسٹ شامل کریں۔ ٹیسٹ چلائیں اور دیکھیں کہ آیا یہ پاس ہوتا ہے۔ پھر دو اور تصدیقیں کریں: ایک ایج کیس (صفر یا منفی ان پٹ) آزمائیں تاکہ یہ چیک کیا جا سکے کہ کوڈ ایک اہم غلطی واپس کرتا ہے، اور مثال کے طور پر آؤٹ پٹ کی اکائی کو دستی طور پر فراہم کریں۔ اگر ممکن ہو تو، پنٹ ​​میں تیار کردہ یونٹ کے لیے محفوظ ورژن بھی رکھیں۔ آخر میں، حساب کے مفروضے، فارمولے کا ماخذ، اور تاریخ کو کوڈ میں ایک مختصر عنوان کے طور پر شامل کریں اور لکھیں کہ اس کوڈ کو انجینئر کی منظوری کیوں درکار ہے۔

چیک لسٹ

  • [ ] ان پٹ اور آؤٹ پٹ یونٹ واضح طور پر کوڈ میں درج ہیں۔ سنگل یونٹ کا نظام منتخب کیا گیا۔
  • معلوم نتیجہ کے ساتھ ایک ٹیسٹ (دعا) شامل کیا گیا اور پاس کیا گیا۔
  • کم از کم ایک ایج کیس (صفر/منفی) کی کوشش کی گئی تھی۔ کوڈ نے ایک اہم غلطی دی ہے۔
  • آؤٹ پٹ کی اکائی دستی مثال کے ذریعہ فراہم کی گئی تھی (یہ فرض نہیں کہ "worked = درست")۔
  • [ ] فارمولہ ماخذ، مفروضے اور تاریخ کوڈ میں درج ہے۔
  • [ ] اکاؤنٹ کو ٹریک کیا جا سکتا ہے حتمی منظوری انجینئر پر چھوڑ دی گئی تھی۔