Unit 10 / 11

Kejuruteraan Kimia dengan Python: Analisis Data dan Automasi Pemodelan

Keuntungan:

  • Keupayaan untuk mencetak kod Python dan memahami serta menerima kod baris demi baris untuk pembersihan data, automasi akaun dan pemodelan dengan kecerdasan buatan
  • Keupayaan untuk memahami bahawa kod yang belum diuji ialah hipotesis, mengesahkan setiap kod dengan keputusan yang diketahui, dan unit ujian dan kes tepi
  • Keupayaan untuk memahami bahawa kod akaun kritikal keselamatan memerlukan kedua-dua ujian dan pengesahan jurutera yang dibenarkan.

Enjin senyap kejuruteraan kimia moden kini adalah Python (bahasa pengaturcaraan yang digunakan secara meluas dan mudah dipelajari). Membersihkan data penderia, mengautomasikan imbangan jisim, menyesuaikan model kinetik dengan data, membandingkan ratusan hasil simulasi, menghasilkan graf—semua ini mengambil masa berjam-jam menggunakan tangan, tetapi beberapa saat dengan beberapa baris Python. Dalam unit ini, anda akan belajar cara menggunakan AI sebagai bantuan dalam menulis, menerangkan dan menyahpepijat kod Python; Tetapi kita akan belajar mengapa setiap kod yang dihasilkan tidak boleh digunakan tanpa ujian dan pengesahan.

Seorang jurutera kimia biasanya bukan pembangun perisian profesional; Di sinilah AI menambah kuasa yang hebat. Seorang jurutera berkata "Saya mahu skrip yang melakukan ini" dan menulis draf AI. Tetapi prinsip ini tetap berterusan: kod yang ditulis AI tidak betul kerana ia kelihatan betul; Ia adalah hipotesis sehingga diuji dengan keputusan yang diketahui. Kesilapan senyap—unit yang salah, indeks yang salah, formula yang dialihkan—boleh menghasilkan keputusan berbahaya dalam pengiraan kejuruteraan.

Python dengan AI dalam kejuruteraan kimia: langkah demi langkah

1. Tentukan tugas dengan jelas. Apakah input (CSV, tatasusunan, persamaan), apakah output yang sepatutnya, dalam unit apa? Gesaan samar-samar bermaksud kod buruk.

2. Minta draf kod. AI menghasilkan lakaran dengan perpustakaan yang sesuai (pandas untuk data, numpy untuk pemprosesan berangka, matplotlib untuk graf, scipy untuk pengoptimuman/penyelesaian).

3. Memahami perpustakaan dan andaian. Minta AI menerangkan setiap baris dan andaian (unit, format data, penerimaan). Jangan jalankan kod yang anda tidak faham.

4. Uji dengan keputusan yang diketahui. Jalankan kod pada contoh mudah yang anda sudah tahu jawapannya. Kod imbangan mesti memberikan hasil yang betul dalam contoh yang boleh dihuraikan dengan tangan.

5. Kawalan status unit dan tepi. Apakah yang dilakukan oleh kod dalam kes tepi seperti sifar, negatif, nilai yang sangat besar, data yang hilang? Dalam kejuruteraan kimia, kegagalan unit adalah bencana klasik.

6. Uji keputusan dengan fizik. Kod menghasilkan nombor — adakah jisim dipelihara, adakah nilainya realistik? Hanya kerana kod berfungsi tidak membuktikan bahawa hasilnya betul.

Petua: Apabila meminta kod daripada AI, sebut "tulis unit setiap pembolehubah dalam baris ulasan dan nyatakan unit input secara eksplisit." Sebahagian besar ralat kejuruteraan kimia timbul daripada kekeliruan unit (bar/Pa, kg/g, °C/K); Pembenaman unit dalam kod menjadikan ralat ini kelihatan.

Kod yang belum diuji adalah hipotesis

AI menghasilkan kod yang licin dan kelihatan berfungsi; Tetapi "berfungsi" dan "betul" adalah dua perkara yang berbeza. Kod mungkin berfungsi tanpa ralat dan menghasilkan nombor yang salah: ralat tanda dalam formula, offset (off-by-one) dalam tatasusunan, penukaran unit yang salah. Jadi peraturan emas: setiap kod diuji dalam kes ujian di mana jawapan yang betul diketahui secara bebas. Contoh analitikal yang mudah, pengiraan tangan atau data rujukan membuktikan kebolehpercayaan kod tersebut. Tiada keputusan kejuruteraan harus berdasarkan kod tanpa lulus ujian.

Awas: Kod yang melaksanakan pengiraan keselamatan, dimensi atau keselamatan tidak boleh dianggap boleh dipercayai hanya kerana ia "berfungsi". Kod akaun kritikal keselamatan harus diuji dengan keputusan yang diketahui dan keputusannya hendaklah disahkan secara bebas oleh jurutera yang diberi kuasa.

tiga kes mini

Kes 1 — Automasi pembersihan data. Seorang jurutera sedang membersihkan 3 bulan data secara manual (kira-kira 1.1 juta baris) daripada 8 penderia setiap bulan. Skrip panda yang ditulis dengan AI mengurangkan ini kepada minit. Jurutera mula-mula menguji kod pada fail sampel kecil yang diketahui; perasan bahawa satu lajur telah dihuraikan secara salah, membetulkannya, kemudian menggunakannya pada keseluruhan data.

Kes 2 — Ralat kelantangan senyap. YZ menulis kod untuk pengiraan penurunan tekanan tetapi mengelirukan input dengan menganggap bar dan formula Pa. Kod berfungsi tanpa ralat, tetapi hasilnya salah dengan faktor 100,000. Jurutera menangkap perbezaan pesanan dengan pengiraan kawalan manual. Selepas menambah ulasan unit, ralat telah dijelaskan dan diperbaiki.

Kes 3 — Ujian disimpan. Satu pasukan memperoleh kod daripada AI untuk penyelesai imbangan jisim. Mereka mula-mula mengujinya dalam sampel dua komponen, boleh larut dengan tangan; kod itu menutup gelung balik dengan salah dan tidak menambah. Ralat telah ditangkap sebelum ia digunakan pada model sebenar yang kompleks. Tanpa ujian, ralat akan merebak ke semua hasil.

Empat templat yang boleh disalin

1) Draf kod analisis data:

Peranan anda: Pembantu Python untuk kejuruteraan kimia. Tugasan: [penerangan].Input: [CSV/array, lajur, UNITS]. Output: [apa, dalam unit mana].gunakan panda/numpy. Dalam kod: (1) tafsirkan unit setiap pembolehubah, (2) nyatakan andaian input pada permulaan, (3) kendalikan kes tepi (data hilang, sifar). Saya akan menguji kod dengan contoh yang diketahui; jangan gunakan nombor ajaib, tentukan pemalar secara eksplisit.

2) Penjelasan dan pengesahan kod:

Terangkan kod Python berikut baris demi baris: apa yang ia lakukan, apakah andaian yang dibuatnya, apakah unit yang ia jangkakan. Serlahkan titik ralat yang mungkin (kekeliruan unit, anjakan indeks, pembahagian dengan sifar, limpahan). Cadangkan kes ujian yang mudah diketahui yang boleh saya gunakan untuk mengesahkan kod ini. Kod: [tampal]

3) Menyediakan ujian dengan keputusan yang diketahui:

Tulis set ujian untuk mengesahkan fungsi ini: sekurang-kurangnya 3 kes mudah yang jawapannya diketahui secara analitik atau manual. Untuk setiap ujian, huraikan keputusan yang dijangkakan dan sebab kami menjangkakan keputusan itu. Saya tidak akan menggunakan kod kepada data sebenar tanpa ujian. Fungsi: [tampal]

4) Penyahpepijatan:

Kod ini memberikan ralat/hasil yang salah berikut: [mesej ralat atau output berbanding sebenar yang dijangkakan]. Senaraikan sebab yang mungkin mengikut urutan kebarangkalian dan beritahu saya cara untuk menguji setiap satu. Jangan katakan "Saya telah membetulkannya" secara langsung; Mari kita sahkan puncanya bersama-sama dahulu. Juga cadangkan pemeriksaan unit dan pesanan. Kod dan data: [tampal]

Gesaan lemah / Gesaan kuat

Gesaan yang lemah:

Tuliskan saya kod pengiraan penurunan tekanan.

Format input, unit, persamaan, keadaan tidak jelas. AI menyembunyikan andaiannya, boleh mengelirukan unit.

Gesaan kuat:

Peranan anda: penolong Python kejuruteraan kimia. Tugas: penurunan tekanan akibat geseran dalam paip bulat. Input: kadar aliran [m3/s], diameter [m], panjang[m], ketumpatan [kg/m3], kelikatan [Pa·s]. Output: penurunan tekanan [Pa].Gunakan Darcy-Weisbach; Periksa rejim aliran (Re) untuk faktor geseran. Komen setiap unit, nyatakan andaian (beban penuh, aliran stabil). Saya akan menguji kod terhadap pengiraan manual pada contoh lamina.

Perbezaannya jelas: unit input, kaedah, unit output dan niat ujian menjadikan kod itu boleh dipercayai.

Pengagihan peranan dalam penggunaan Python

perniagaan

Peranan AI

keputusan lelaki

menulis kod

Buat draf

Penerangan kerja, unit

Pemilihan perpustakaan

Cadangan

Pengesahan kepatuhan

Penerangan

baris demi baris

Terima dengan pemahaman

ujian

Cadangan set ujian

Pengesahan dengan keputusan yang diketahui

Nyahpepijat

hipotesis, arah

Pengesahan punca punca

Kesimpulan

Penjanaan nombor

Menguji dengan fizik

Kesilapan biasa

  • Menggunakan kod tanpa mengujinya. Kod kerja bukan kod yang betul; Ia tidak boleh dipercayai melainkan diuji dengan keputusan yang diketahui.
  • Meninggalkan unit tidak tentu. Kekeliruan unit adalah kesilapan yang paling biasa dan berbahaya dalam kejuruteraan kimia.
  • Beroperasi tanpa pemahaman. Jangan percaya keputusan tanpa memahami kod yang ditulis oleh AI baris demi baris.
  • Melangkau keadaan tepi. Sifar, negatif, data yang hilang secara senyap boleh membawa kod kepada kesimpulan yang salah.
  • Mengasaskan pengiraan keselamatan hanya pada kod. Kod kritikal keselamatan memerlukan ujian + pengesahan autoritatif bebas.

Secara ringkasnya

AI dalam kejuruteraan kimia dengan Python; Ia ialah pembantu yang berkuasa yang mendraf, menerangkan dan menyediakan panduan penyahpepijatan untuk pembersihan data, automasi perakaunan, pemodelan dan grafik. Tetapi kod AI boleh dipercayai bukan kerana ia kelihatan betul, tetapi kerana ia telah diuji dengan hasil yang diketahui. Adalah penting untuk menentukan unit secara eksplisit, memahami kod, menguji kes kelebihan dan mengesahkan keputusan dengan fizik; Pengiraan kritikal keselamatan juga memerlukan pengesahan jurutera yang dibenarkan.

Tugasan permohonan

Pilih pengiraan (cth. penurunan tekanan paip atau neraca jisim dua komponen). Dapatkan kod daripada AI dengan templat "analisis data/draf kod akaun", nyatakan unit dengan jelas. Kemudian sahkan kod dalam contoh boleh dinyahkod secara manual dengan corak "sediakan ujian dengan hasil yang diketahui"; Jika keputusan tidak sepadan, cari punca utama dengan corak "nyahpepijat".

senarai semak

  • [ ] Saya telah menyatakan dengan jelas unit dan kaedah input/output.
  • [ ] Saya memahami kod baris demi baris dan melihat andaiannya.
  • [ ] Saya menguji kod pada contoh yang diketahui/boleh ditafsir secara manual.
  • [ ] Saya menguji kes tepi (sifar, negatif, data tiada).
  • [ ] Saya mengesahkan keputusan dengan fizik (pemuliharaan jisim, perintah); Saya juga mempunyai akaun keselamatan yang disahkan oleh pegawai itu.