ไลบรารี Python ใหม่ชื่อ Gaspype กำลังได้รับความสนใจจากชุมชนการคำนวณทางวิทยาศาสตร์สำหรับแนวทางการคำนวณทางเทอร์โมไดนามิกส์ ไลบรารีนี้มุ่งเน้นไปที่ปฏิกิริยาสมดุลสำหรับสายพันธุ์แก๊สและส่วนผสมของพวกมัน โดยมีการออกแบบที่ให้ความสำคัญกับความเข้ากันได้ในอนาคตกับเฟรมเวิร์ก GPU เช่น JAX และ PyTorch
คุณสมบัติหลัก:
- การใช้งาน Python แบบบริสุทธิ์พร้อมการเวกเตอร์ไรเซชันของ NumPy
- ประเภทข้อมูลที่ไม่เปลี่ยนแปลงได้และคำแนะนำประเภทข้อมูลที่ครอบคลุม
- API แบบ Pythonic ที่ใช้งานง่ายสำหรับการสร้างต้นแบบอย่างรวดเร็ว
- พร้อมใช้งานสำหรับ Jupyter Notebook และการใช้งานด้านการศึกษา
- ออกแบบเพื่อรองรับ GPU ในอนาคต ( JAX , PyTorch )
- มาพร้อมกับฐานข้อมูลสปีชีส์ที่ครอบคลุมบนพื้นฐาน NASA9
ชุมชนหารือเกี่ยวกับมาตรฐาน Array API สำหรับการรองรับข้ามแพลตฟอร์ม
ชุมชนนักพัฒนาได้เน้นย้ำถึงความสำคัญของการปฏิบัติตาม Python Array API Standard เพื่อให้เกิดความเข้ากันได้ที่กว้างขึ้นระหว่างไลบรารีอาร์เรย์ต่างๆ มาตรฐานนี้เป็นเส้นทางสำหรับไลบรารีในการทำงานร่วมกับ NumPy, JAX, PyTorch และเฟรมเวิร์กอาร์เรย์อื่นๆ ได้อย่างราบรื่นโดยไม่ต้องมีการใช้งานแยกต่างหากสำหรับแต่ละแพลตฟอร์ม ข้อเสนอแนะนี้เกิดขึ้นในขณะที่นักพัฒนากำลังมองหาวิธีที่มีประสิทธิภาพมากขึ้นในการเขียนโค้ดที่สามารถใช้ประโยชน์จากแบ็กเอนด์การคำนวณที่แตกต่างกัน
การประยุกต์ใช้งานจริงเป็นทางเลือกแทนซอฟต์แวร์เชิงพาณิชย์ราคาแพง
ผู้ใช้กำลังสำรวจ Gaspype เป็นทางเลือกแทนแพ็กเกจซอฟต์แวร์เทอร์โมไดนามิกส์เชิงพาณิชย์ราคาแพง การอภิปรายเผยให้เห็นว่านักวิจัยและวิศวกรจำนวนมากในปัจจุบันพึ่งพาเครื่องมือราคาแพงเช่น Aspen-Hysys ซึ่งอาจมีราคาแพงเกินไปสำหรับผู้ใช้ที่ไม่ใช่เชิงพาณิชย์ อย่างไรก็ตาม ชุมชนสังเกตว่าการใช้งานจริงต้องการการแก้ไขรายการคุณสมบัติที่ยาวรวมถึงการแปลงหน่วย ปฏิกิริยาเคมี และตารางไอน้ำ
ฉันใช้ Aspen-Hysys ซึ่งมีราคาแพงมากสำหรับผู้ใช้ที่ไม่ใช่เชิงพาณิชย์ และอยากจะมีทางเลือกแบบ Pythonic
ข้อจำกัดปัจจุบันของไลบรารีที่จำกัดอยู่เพียงพฤติกรรมแก๊สในอุดมคติทำให้การประยุกต์ใช้จำกัดอยู่ที่ความดันปานกลางและอุณหภูมิสูง แม้ว่านักพัฒนาจะระบุแผนการขยายไปสู่พฤติกรรมแก๊สจริงสำหรับกระบวนการความดันสูง
วิธีการติดตั้ง:
- pip:
pip install gaspype
- conda:
conda install conda-forge gaspype
ตัวเลือกการออกแบบทางเทคนิคกระตุ้นการอภิปราย
หลักการตั้งชื่อของไลบรารีได้สร้างการสนทนาภายในชุมชน การเลือกใช้ fluid เป็นจุดเข้าใช้งานหลัก แม้ว่าปัจจุบันจะคำนวณเฉพาะคุณสมบัติแก๊สในอุดมคติเท่านั้น สะท้อนถึงแนวทางที่มองไปข้างหน้าของนักพัฒนาในการรวมพฤติกรรมแก๊สจริงและการสร้างแบบจำลองของไหลเหนือจุดวิกฤตในที่สุด
สถาปัตยกรรมของไลบรารีเน้นประเภทที่ไม่เปลี่ยนแปลง การใส่คำแนะนำประเภทที่ครอบคลุม และการทำเวกเตอร์ของ NumPy เพื่อประสิทธิภาพ มันมาพร้อมกับฐานข้อมูลสายพันธุ์ที่ใช้ NASA9 และรองรับการคำนวณหลายมิติผ่าน NumPy broadcasting ทำให้เหมาะสำหรับทั้งการใช้งานด้านการศึกษาและสถานการณ์การสร้างแบบจำลองที่ซับซ้อน
คลาสหลัก:
fluid
: อธิบายส่วนผสมของสปีชีส์โมเลกุลและปริมาณโมลาร์ของพวกมันelements
: จัดการองค์ประกอบของอะตอมและสมดุลที่อิงจากอะตอมfluid_system
: ควบคุมว่าสปีชีส์โมเลกุลใดบ้างที่จะรวมอยู่ในการคำนวณ
การพัฒนาในอนาคตและการมีส่วนร่วมของชุมชน
โครงการนี้รักษาแบบจำลองการพัฒนาแบบเปิดโดยยินดีรับการมีส่วนร่วมผ่าน GitHub ปรัชญาการออกแบบของไลบรารีมุ่งเน้นไปที่ความสามารถในการพกพาและประสิทธิภาพ โดยมีเป้าหมายสูงสุดในการรองรับการเร่งความเร็ว GPU สำหรับการคำนวณทางเทอร์โมไดนามิกส์ที่ใช้การคำนวณอย่างเข้มข้น แนวทางนี้ทำให้มันอยู่ในตำแหน่งที่เป็นสะพานเชื่อมที่มีศักยภาพระหว่างเครื่องมือการคำนวณทางวิทยาศาสตร์แบบดั้งเดิมและเฟรมเวิร์กการเรียนรู้ของเครื่องสมัยใหม่
อ้างอิง: Gaspype