Yunit 10 / 11

Chemical Engineering na may Python: Pagsusuri ng Data at Automation ng Pagmomodelo

Mga nadagdag:

  • Kakayahang mag-print ng Python code at maunawaan at tanggapin ang linya ng code sa pamamagitan ng linya para sa paglilinis ng data, automation ng account at pagmomodelo gamit ang artificial intelligence
  • Kakayahang maunawaan na ang hindi pa nasusubukang code ay isang hypothesis, i-verify ang bawat code na may alam na resulta, at pagsubok sa unit at mga edge case
  • Kakayahang maunawaan na ang mga code ng account na kritikal sa seguridad ay nangangailangan ng parehong pagsubok at awtorisadong pag-verify ng engineer.

Ang silent engine ng modernong chemical engineering ay Python na ngayon (isang malawak na ginagamit, madaling matutunang programming language). Paglilinis ng data ng sensor, pag-automate ng mass balance, paglalagay ng kinetic model sa data, paghahambing ng daan-daang resulta ng simulation, paggawa ng graph—lahat ito ay tumatagal ng mga oras sa pamamagitan ng kamay, ngunit segundo na may ilang linya ng Python. Sa unit na ito, matututunan mo kung paano gamitin ang AI bilang tulong sa pagsulat, pagpapaliwanag at pag-debug ng Python code; Ngunit malalaman natin kung bakit hindi dapat gamitin ang bawat code na ginawa nang walang pagsubok at pag-verify.

Ang isang inhinyero ng kemikal ay karaniwang hindi isang propesyonal na developer ng software; Dito nagdaragdag ang AI ng mahusay na kapangyarihan. Sinabi ng isang engineer na "Gusto ko ng script na gumagawa nito" at nagsusulat ng AI draft. Ngunit ang prinsipyong ito ay nananatiling pare-pareho: ang code na isinulat ng AI ay hindi tama dahil mukhang tama ito; Ito ay isang hypothesis hanggang sa masuri na may alam na resulta. Ang isang tahimik na pagkakamali—maling unit, maling index, isang inilipat na formula—ay maaaring magdulot ng mga mapanganib na resulta sa isang pagkalkula ng engineering.

Python na may AI sa chemical engineering: hakbang-hakbang

1. Malinaw na tukuyin ang trabaho. Ano ang input (CSV, array, equation), ano ang dapat na output, sa anong mga yunit? Ang hindi maliwanag na prompt ay nangangahulugang masamang code.

2. Humiling ng draft ng code. Gumagawa ang AI ng isang sketch na may naaangkop na mga aklatan (pandas para sa data, numpy para sa numerical processing, matplotlib para sa mga graph, scipy para sa pag-optimize/solusyon).

3. Unawain ang aklatan at mga pagpapalagay. Ipapaliwanag sa AI ang bawat linya at pagpapalagay (unit, format ng data, pagtanggap). Huwag patakbuhin ang code na hindi mo maintindihan.

4. Pagsubok na may alam na resulta. Patakbuhin ang code sa isang simpleng halimbawa kung saan alam mo na ang sagot. Ang isang balanse code ay dapat magbigay ng tamang resulta sa isang halimbawa na maaaring deciphered sa pamamagitan ng kamay.

5. Unit at edge status control. Ano ang ginagawa ng code sa mga edge na kaso gaya ng zero, negatibo, napakalaking halaga, nawawalang data? Sa chemical engineering, ang unit failure ay isang klasikong sakuna.

6. Subukan ang resulta sa pisika. Ang code ay gumawa ng isang numero — ang masa ba ay natipid, ang halaga ba ay makatotohanan? Dahil lang sa gumagana ang code ay hindi nagpapatunay na tama ang resulta.

Tip: Kapag humihiling ng code mula sa AI, sabihing "isulat ang unit ng bawat variable sa linya ng komento at tahasang tukuyin ang mga unit ng input." Ang isang makabuluhang bahagi ng mga error sa chemical engineering ay nagmumula sa pagkalito ng yunit (bar/Pa, kg/g, °C/K); Ang pag-embed ng mga unit sa code ay ginagawang nakikita ang mga error na ito.

Ang hindi nasubok na code ay isang hypothesis

Gumagawa ang AI ng makinis, mukhang gumaganang code; Ngunit ang "gumagana" at "tama" ay dalawang magkaibang bagay. Maaaring gumana ang code nang walang mga error at makagawa ng maling numero: isang sign error sa isang formula, isang offset (off-by-one) sa isang array, isang maling conversion ng unit. Kaya ang ginintuang tuntunin: ang bawat code ay nasubok sa isang test case kung saan ang tamang sagot ay alam nang nakapag-iisa. Ang isang simpleng analytical na halimbawa, isang pagkalkula ng kamay, o isang reference na data ay nagpapatunay sa pagiging maaasahan ng code. Walang mga desisyon sa engineering ang dapat na nakabatay sa code nang hindi pumasa sa pagsubok.

Babala: Ang code na nagsasagawa ng pagkalkula ng kaligtasan, pagdimensyon, o seguridad ay hindi maituturing na maaasahan dahil lang sa "gumagana" ito. Ang mga code ng account na kritikal sa seguridad ay dapat na masuri gamit ang isang kilalang resulta at ang mga resulta ay dapat na independiyenteng ma-verify ng awtorisadong engineer.

tatlong mini case

Kaso 1 — Automation ng paglilinis ng data. Manu-manong nililinis ng isang engineer ang 3 buwang data (humigit-kumulang 1.1 milyong row) mula sa 8 sensor bawat buwan. Ang isang pandas script na nakasulat gamit ang AI ay binawasan ito ng ilang minuto. Sinubukan muna ng inhinyero ang code sa isang maliit, kilalang sample file; napansin na ang isang column ay na-parse nang hindi tama, inayos ito, pagkatapos ay inilapat ito sa buong data.

Case 2 — Error sa tahimik na volume. Sumulat ang YZ ng code para sa isang pagkalkula ng pagbaba ng presyon ngunit nalito ang input sa pamamagitan ng pag-aakalang bar at ang formula na Pa. Ang code ay gumana nang walang mga error, ngunit ang resulta ay mali sa kadahilanan na 100,000. Nakuha ng inhinyero ang pagkakaiba ng order sa isang manu-manong pagkalkula ng kontrol. Pagkatapos magdagdag ng mga komento sa unit, nilinaw at naayos ang error.

Case 3 — Na-save ang pagsubok. Isang team ang nakakuha ng code mula sa AI para sa mass balance solver. Una nilang sinubukan ito sa isang dalawang-sangkap, hand-dissolvable sample; ang code ay nagsasara ng loopback nang hindi tama at hindi nagdaragdag. Ang error ay nakuha bago ito inilapat sa tunay, kumplikadong modelo. Kung walang pagsubok, kakalat ang error sa lahat ng resulta.

Apat na maaaring kopyahin na mga template

1) draft ng code ng pagsusuri ng data:

Ang iyong tungkulin: Python helper para sa chemical engineering. Gawain: [paglalarawan].Input: [CSV/array, columns, UNITS]. Output: [ano, saang unit].gamitin ang pandas/numpy. Sa code: (1) bigyang-kahulugan ang unit ng bawat variable, (2) sabihin ang input assumptions sa simula, (3) pangasiwaan ang mga edge case (nawawalang data, zero). Susubukan ko ang code na may kilalang halimbawa; huwag gumamit ng mga magic number, tahasang tukuyin ang mga constant.

2) Pagpapaliwanag at pagpapatunay ng code:

Ipaliwanag ang sumusunod na linya ng code ng Python sa bawat linya: kung ano ang ginagawa nito, anong mga pagpapalagay ang ginagawa nito, kung anong mga yunit ang inaasahan nito. I-highlight ang mga posibleng error point (unit confusion, index shift, division by zero, overflow). Imungkahi kung anong simple, kilalang test case ang magagamit ko para i-verify ang code na ito. Code: [i-paste]

3) Pagse-set up ng pagsusulit na may alam na resulta:

Sumulat ng set ng pagsubok upang i-verify ang function na ito: hindi bababa sa 3 simpleng mga kaso kung saan ang sagot ay alam nang analytical o manu-mano. Para sa bawat pagsubok, ilarawan ang inaasahang resulta at kung bakit namin inaasahan ang resultang iyon. Hindi ko ilalapat ang code sa totoong data nang walang pagsubok. Function: [i-paste]

4) Pag-debug:

Ang code na ito ay nagbibigay ng sumusunod na error/maling resulta: [error message o inaasahang vsactual output]. Ilista ang mga posibleng dahilan sa pagkakasunud-sunod ng posibilidad at sabihin sa akin kung paano subukan ang bawat isa. Huwag direktang sabihin ang "Naayos ko na"; Sama-sama nating i-verify ang root cause. Magmungkahi din ng unit at order checking. Code at data: [i-paste]

Mahinang prompt / Malakas na prompt

Mahinang prompt:

Sumulat sa akin ng code ng pagkalkula ng pressure drop.

Hindi malinaw ang format ng input, unit, equation, kundisyon. Itinatago ng AI ang mga pagpapalagay nito, maaaring malito ang mga unit.

Napakahusay na prompt:

Ang iyong tungkulin: chemical engineering Python helper. Gawain: friction-induced pressure drop sa isang circular pipe. Input: rate ng daloy [m3/s], diameter [m], haba[m], density [kg/m3], lagkit [Pa·s]. Output: pagbaba ng presyon [Pa].Gamitin ang Darcy-Weisbach; Suriin ang daloy ng rehimen (Re) para sa friction factor. Magkomento sa bawat yunit, mga pagpapalagay ng estado (buong pagkarga, matatag na daloy). Susubukan ko ang code laban sa manu-manong pagkalkula sa isang halimbawa ng laminar.

Ang pagkakaiba ay malinaw: ang mga yunit ng input, pamamaraan, yunit ng output at layunin ng pagsubok ay ginagawang maaasahan ang code.

Pamamahagi ng tungkulin sa paggamit ng Python

negosyo

Papel ng AI

desisyon ng tao

pagsulat ng code

Gumawa ng draft

Paglalarawan ng trabaho, mga yunit

Pagpili ng library

Mungkahi

Pagkumpirma ng pagsang-ayon

Paglalarawan

linya sa linya

Tanggapin nang may pag-unawa

pagsubok

Rekomendasyon sa set ng pagsubok

Pagpapatunay na may alam na resulta

I-debug

hypothesis, direksyon

Root cause confirmation

Konklusyon

Pagbuo ng numero

Pagsubok sa pisika

Mga karaniwang pagkakamali

  • Paggamit ng code nang hindi sinusubukan ito. Ang gumaganang code ay hindi tamang code; Hindi ito mapagkakatiwalaan maliban kung nasubok na may alam na resulta.
  • Nag-iiwan ng mga unit na walang katiyakan. Ang unit confusion ay ang pinakakaraniwan at mapanganib na pagkakamali sa chemical engineering.
  • Nagpapatakbo nang walang pag-unawa. Huwag magtiwala sa mga resulta nang hindi nauunawaan ang code na isinulat ng AI line by line.
  • Pag-bypass sa mga katayuan sa gilid. Ang zero, negatibo, nawawalang data ay maaaring tahimik na humantong sa code sa maling konklusyon.
  • Ibinatay lamang sa code ang pagkalkula ng seguridad. Ang mga code na kritikal sa seguridad ay nangangailangan ng pagsubok + independiyenteng authoritative na pag-verify.

Sa buod

AI sa chemical engineering na may Python; Isa itong makapangyarihang assistant na nag-draft, nagpapaliwanag, at nagbibigay ng gabay sa pag-debug para sa paglilinis ng data, automation ng accounting, pagmomodelo, at mga graphics. Ngunit ang code ng AI ay maaasahan hindi dahil mukhang tama ito, ngunit dahil nasubok ito sa isang kilalang resulta. Mahalagang tukuyin ang mga unit nang tahasan, maunawaan ang code, subukan ang mga gilid ng kaso, at i-verify ang resulta sa pisika; Ang mga kalkulasyon na kritikal sa kaligtasan ay nangangailangan din ng awtorisadong pag-verify ng engineer.

Gawain ng aplikasyon

Pumili ng kalkulasyon (hal. pagbaba ng presyon ng tubo o dalawang bahagi na balanse ng masa). Kumuha ng code mula sa AI gamit ang template na “data analysis/account code draft,” malinaw na sabihin ang mga unit. Pagkatapos ay i-verify ang code sa isang manual na nade-decod na halimbawa na may pattern na "i-set up ang pagsubok na may alam na resulta"; Kung hindi tumugma ang resulta, hanapin ang ugat na sanhi gamit ang pattern na "debug".

checklist

  • [ ] Malinaw kong sinabi ang input/output units at method.
  • [ ] Naunawaan ko ang linya ng code sa bawat linya at nakita ko ang mga pagpapalagay nito.
  • [ ] Sinubukan ko ang code sa isang kilalang/manu-manong nade-decipher na halimbawa.
  • [ ] Sinubukan ko ang mga edge case (zero, negatibo, nawawalang data).
  • [ ] Na-verify ko ang resulta sa physics (conservation of mass, order); Mayroon din akong security account na kinumpirma ng opisyal.