แพ็คเกจ FeOs
ให้การใช้งานสนิมของสมการที่แตกต่างกันของรัฐและแบบจำลองการทำงานของพลังงาน Helmholtz และการผูก python ที่สอดคล้องกัน
จาก FeOS.EOS นำเข้า EquationOfState, statefrom feos.pcsaft นำเข้า PCSaftParameters, pcsaftrecord# พารามิเตอร์ PC-saft สำหรับเมทานอล (Gross and Sadowski 2002) Record = PCSAFTRECORD (1.5255, 3.23, 188.9, Kappa_Ab = 0.035176 nb = 1)# สร้างสมการของ stateparameters = pcsaftparameters.from_model_records ([บันทึก]) EOS = EquationofState.pcsaft (พารามิเตอร์)# define thermodynamic conditionsritical_point = state.critical_point .Temperatureprint (จุด f'critical สำหรับเมทานอล: t = {t}, p = {p}. ')
Critical point for methanol: T=531.5 K, p=10.7 MPa.
ปัจจุบันรุ่นต่อไปนี้ได้รับการเผยแพร่เป็นส่วนหนึ่งของเฟรมเวิร์ก FeOs
ชื่อ | คำอธิบาย | EOS | DFT |
---|---|---|---|
pcsaft | ทฤษฎีการเชื่อมโยงทางสถิติที่ถูกรบกวน (ขั้วโลก) | ||
epcsaft | Electrolyte PC-SAFT | ||
gc-pcsaft | (heterosegented) การมีส่วนร่วมของกลุ่ม PC-SAFT | ||
pets | การผสม Lennard-Jones ที่ถูกตัดทุรก | ||
uvtheory | สมการของรัฐสำหรับ MIE fluids และส่วนผสม | ||
saftvrqmie | สมการสถานะสำหรับของเหลวควอนตัมและสารผสม | ||
saftvrmie | ทฤษฎีการเชื่อมโยงทางสถิติสำหรับการโต้ตอบช่วงตัวแปรของรูปแบบ MIE |
รายการกำลังขยายอย่างต่อเนื่อง ขณะนี้อยู่ระหว่างการพัฒนาคือการใช้งานฟังก์ชั่นพลังงาน Helmholtz สำหรับทฤษฎี UV และสำหรับ Saft-VR MIE
ที่เก็บสาธารณะอื่น ๆ ที่ใช้โมเดลภายในเฟรมเวิร์ก FeOs
แต่ปัจจุบันไม่ได้เป็นส่วนหนึ่งของแพ็คเกจ feos
Python คือ
ชื่อ | คำอธิบาย | EOS | DFT |
---|---|---|---|
feos-fused-chains | ฟังก์ชั่นโซ่ทรงกลมแบบหลอมรวม |
นอกเหนือจากซอร์สโค้ดสำหรับแพ็คเกจ Rust และ Python แล้วที่เก็บนี้มีไฟล์ JSON พร้อมพารามิเตอร์ที่เผยแพร่ก่อนหน้านี้สำหรับรุ่นที่แตกต่างกันรวมถึงวิธีการสนับสนุนกลุ่ม ไฟล์พารามิเตอร์สามารถอ่านได้โดยตรงจาก Rust หรือ Python
ลังที่ใช้ประโยชน์จากตัวเลขคู่ทั่วไป (hyper-) เพื่อคำนวณอนุพันธ์บางส่วนที่แน่นอนโดยทั่วไปจากสมการพลังงาน Helmholtz ของรัฐ อนุพันธ์ถูกใช้ในการคำนวณ
คุณสมบัติสมดุล (ความดัน, ความจุความร้อน, ความจุและอื่น ๆ อีก มากมาย )
คุณสมบัติการขนส่ง (ความหนืด, การนำความร้อน, ค่าสัมประสิทธิ์การแพร่) โดยใช้วิธีการปรับขนาดเอนโทรปี
จุดวิกฤต และ สมดุลเฟส สำหรับส่วนประกอบและส่วนผสมที่บริสุทธิ์
นอกจากนั้นยูทิลิตี้ยังมีไว้เพื่อช่วยในการจัดการ พารามิเตอร์ สำหรับทั้งสมการโมเลกุลของรัฐและวิธีการสนับสนุนกลุ่ม (homosegented) และสำหรับการสร้างไดอะแกรมเฟสสำหรับส่วนประกอบบริสุทธิ์และการผสมไบนารี
FeOs
ใช้วิธีการเชิงตัวเลขที่มีประสิทธิภาพในการคำนวณโปรไฟล์ความหนาแน่นในระบบที่ไม่เหมือนกัน ไฮไลท์รวมถึง:
การคำนวณอย่างรวดเร็วของอินทิกรัล convolution ในคาร์ทีเซียน (1D, 2D และ 3D), ขั้วโลก, ทรงกระบอกและระบบพิกัดทรงกลมโดยใช้ FFT และอัลกอริทึมที่เกี่ยวข้อง
การคำนวณโดยอัตโนมัติของอนุพันธ์บางส่วนของความหนาแน่นของพลังงาน Helmholtz (รวมถึงอนุพันธ์อุณหภูมิ) โดยใช้ความแตกต่างอัตโนมัติด้วยตัวเลขคู่ทั่วไป (hyper-)
การสร้างแบบจำลองของโมเลกุล heterosegented รวมถึงโมเลกุลที่แตกแขนง
ฟังก์ชันการทำงานสำหรับการคำนวณความตึงเครียดพื้นผิว, isotherms การดูดซับ, ฟังก์ชั่นสหสัมพันธ์คู่และพลังงานฟรีการละลาย
ไม่มีการเปิดใช้งานคุณสมบัติเพิ่มเติมคำสั่ง
cargo test --release
จะสร้างและทดสอบฟังก์ชั่นหลักของลังเท่านั้น ในการเรียกใช้หน่วยและการทดสอบการรวมสำหรับโมเดลเฉพาะให้เรียกใช้
cargo test --release --features pcsaft
เพื่อทดสอบเช่นการใช้งาน PC-SAFT หรือ
cargo test --release --features all_models
ในการเรียกใช้การทดสอบในทุกรุ่นที่นำไปใช้
FeOs
ใช้เฟรมเวิร์ก PyO3
เพื่อให้การผูก Python แพ็คเกจ Python สามารถติดตั้งผ่าน pip
และรันบน Windows, Linux และ MacOS:
pip install feos
หากไม่มีแพ็คเกจคอมไพล์สำหรับระบบของคุณจาก PYPI และคุณติดตั้งคอมไพเลอร์สนิมคุณสามารถสร้างแพ็คเกจ Python ได้จากแหล่งที่มาโดยใช้
pip install git+https://github.com/feos-org/feos
คำสั่งนี้สร้างแพ็คเกจโดยไม่ต้องเพิ่มประสิทธิภาพเวลาลิงค์ (LTO) ที่สามารถใช้เพื่อเพิ่มประสิทธิภาพต่อไป ดู อาคารจากส่วนต้นทาง สำหรับข้อมูลเกี่ยวกับการสร้างล้อรวมถึง LTO
ในการรวบรวมรหัสคุณต้องใช้คอมไพเลอร์สนิมและ maturin
(> = 0.13, <0.14) ติดตั้ง ในการติดตั้งแพ็คเกจโดยตรงลงในสภาพแวดล้อมที่ใช้งานอยู่ (virtualenv หรือ conda) ให้ใช้
maturin develop --release
ซึ่งใช้คุณสมบัติ python
และ all_models
ตามที่ระบุในไฟล์ pyproject.toml
หรือคุณสามารถระบุรุ่นหรือคุณสมบัติที่คุณต้องการรวมไว้ในแพ็คเกจ Python ได้อย่างชัดเจนเช่น
maturin develop --release --features "python pcsaft dft"
สำหรับสมการ PC-saft ของสถานะการทำงานของสถานะและ Helmholtz
ในการสร้างล้อรวมถึงการเพิ่มประสิทธิภาพเวลาลิงค์ (LTO) ใช้
maturin build --profile="release-lto"
ซึ่งจะใช้คุณสมบัติ python
และ all_models
ที่ระบุในไฟล์ pyproject.toml
ใช้คำสั่งต่อไปนี้เพื่อสร้างล้อที่มีคุณสมบัติเฉพาะ:
maturin build --profile="release-lto" --features "python ..."
LTO เพิ่มเวลาในการคอมไพล์ได้ แต่ล้อที่เกิดขึ้นนั้นมีประสิทธิภาพมากกว่าและมีขนาดเล็กลง อย่างไรก็ตามสำหรับการพัฒนาเราขอแนะนำให้ใช้ธง --release
สำหรับเอกสารของ Python API ตัวอย่าง Python และคู่มือสำหรับกรอบการเกิดสนิมพื้นฐานตรวจสอบเอกสาร
ตรวจสอบไดเรกทอรี Benches สำหรับข้อมูลเกี่ยวกับมาตรฐานการทำสนิมและวิธีการเรียกใช้
ปัจจุบันซอฟต์แวร์นี้ได้รับการดูแลโดยสมาชิกของกลุ่มของ
ศ. โจอาคิมกรอสสถาบันอุณหพลศาสตร์และวิศวกรรมกระบวนการทางความร้อน (ITT), มหาวิทยาลัยสตุตการ์ต
ศ. André Bardow, Energy Engineering Systems Engineering (EPSE), ETH Zurich
FeOs
เติบโตจากความต้องการในการรักษารหัสฐานทั่วไปที่ใช้ในงานวิทยาศาสตร์ที่ทำในกลุ่มของเรา เราแบ่งปันรหัสสาธารณชนเป็นแพลตฟอร์มเพื่อเผยแพร่งานวิจัยของเราเอง แต่ยังสนับสนุนให้นักวิจัยและนักพัฒนาคนอื่น ๆ มีส่วนร่วมในรูปแบบของตนเองหรือการใช้งานสมการที่มีอยู่ของรัฐ
หากคุณต้องการมีส่วนร่วมใน FeOs
มีหลายวิธีที่จะไป: ปรับปรุงเอกสารและการช่วยเหลือเกี่ยวกับปัญหาภาษาทดสอบรหัสบนระบบของคุณเพื่อค้นหาข้อบกพร่องเพิ่มโมเดลใหม่หรืออัลกอริทึมหรือให้คำขอคุณสมบัติ อย่าลังเลที่จะส่งข้อความถึงเราหากคุณมีคำถามหรือเปิดปัญหาเพื่อหารือเกี่ยวกับการปรับปรุง
หากคุณพบว่า FeOs
มีประโยชน์สำหรับการศึกษาทางวิทยาศาสตร์ของคุณเองให้พิจารณาอ้างถึงสิ่งพิมพ์ของเราที่มาพร้อมกับห้องสมุดนี้
@article{rehner2023feos, author = {Rehner, Philipp and Bauer, Gernot and Gross, Joachim}, title = {FeOs: An Open-Source Framework for Equations of State and Classical Density Functional Theory}, journal = {Industrial & Engineering Chemistry Research}, volume = {62}, number = {12}, pages = {5347-5357}, year = {2023}, }