توفر حزمة FeOs
تطبيقات الصدأ لمعادلة مختلفة للنماذج الوظيفية للدولة و Helmholtz الطاقة وروابط Python المقابلة.
من Feos.EOS استيراد معادلة ، statefrom feos.pcsaft استيراد pcsaftparameters ، pcsaftrecord# pc-saft المعلمات للميثانول (Gross و Sadowski 2002) nb = 1)# بناء معادلة من stateParameters = pcsaftparameters.from_model_records ([record]) eos = equationofState.pcsaft (parameters)# define intructionsritic_point = state.critic. .TemperaturePrint (نقطة f'critical للميثانول: t = {t} ، p = {p}. ')
Critical point for methanol: T=531.5 K, p=10.7 MPa.
يتم نشر النماذج التالية حاليًا كجزء من إطار عمل FeOs
اسم | وصف | EOS | DFT |
---|---|---|---|
pcsaft | السلسلة المضطربة (القطبية) نظرية السوائل الإحصائية | ✓ | ✓ |
epcsaft | electrolete pc-saft | ✓ | |
gc-pcsaft | (غير متغاير) مساهمة المجموعة PC-SAFT | ✓ | ✓ |
pets | خلطات لينارد جونز المضطربة والمتحولة | ✓ | ✓ |
uvtheory | معادلة الحالة لسوائل MIE والمخاليط | ✓ | |
saftvrqmie | معادلة الحالة للسوائل الكمومية والمخاليط | ✓ | ✓ |
saftvrmie | نظرية السوائل الإحصائية الإحصائية لتفاعلات النطاق المتغيرة من شكل MIE | ✓ |
يتم توسيع القائمة بشكل مستمر. حاليًا قيد التطوير هي تطبيقات Helmholtz Energy Functionals لنظرية الأشعة فوق البنفسجية و SAFT-VR MIE.
المستودعات العامة الأخرى التي تنفذ النماذج داخل إطار FeOs
، ولكنها ليست حاليًا جزءًا من حزمة feos
Python
اسم | وصف | EOS | DFT |
---|---|---|---|
feos-fused-chains | سلسلة الانصهار المتجانسة الوظيفية | ✓ |
بالإضافة إلى الكود المصدري لحزم الصدأ والبيثون ، يحتوي هذا المستودع على ملفات JSON مع معلمات المنشورة مسبقًا للنماذج المختلفة بما في ذلك طرق مساهمة المجموعة. يمكن قراءة ملفات المعلمة مباشرة من الصدأ أو Python.
يستخدم الصندوق الأرقام المزدوجة المعممة (المفرطة) لحساب المشتقات الجزئية الدقيقة من معادلات طاقة Helmholtz في الدولة. يتم استخدام المشتقات للحساب
خصائص التوازن (الضغط ، السعة الحرارية ، الانفجار ، وغيرها الكثير ) ،
خصائص النقل (اللزوجة ، الموصلية الحرارية ، معاملات الانتشار) باستخدام نهج تحجيم الانتروبيا
النقاط الحرجة وتوازن الطور للمكونات النقية والمخاليط.
بالإضافة إلى ذلك ، يتم توفير المرافق للمساعدة في التعامل مع المعلمات لكل من المعادلات الجزيئية للدولة وطرق مساهمة المجموعة (المثلية) ولتوليد مخططات الطور للمكونات النقية والمخاليط الثنائية.
يستخدم FeOs
طرقًا رقمية فعالة لحساب ملفات تعريف الكثافة في الأنظمة غير المتجانسة. تشمل النقاط البارزة:
الحساب السريع لتكاملات الالتواء في الديكارتية (1D ، 2D و 3D) ، أنظمة الإحداثيات القطبية ، الأسطوانية ، والكروية باستخدام FFT والخوارزميات ذات الصلة.
الحساب التلقائي للمشتقات الجزئية لكثافة طاقة Helmholtz (بما في ذلك مشتقات درجة الحرارة) باستخدام التمايز التلقائي مع الأرقام المزدوجة المعممة (المفرطة).
نمذجة الجزيئات غير المتغاير ، بما في ذلك الجزيئات المتفرعة.
وظائف لحساب التوترات السطحية ، متساوي الحرارة في الامتزاز ، وظائف الارتباط الزوج ، والطاقات الخالية من الحلول.
بدون تنشيط ميزات إضافية ، فإن الأمر
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 ، ودليل على إطار الصدأ الأساسي تحقق من الوثائق.
تحقق من دليل المقاعد للحصول على معلومات حول معايير الصدأ المقدمة وكيفية تشغيلها.
يتم الحفاظ على هذا البرنامج حاليًا من قبل أعضاء مجموعات
البروفيسور يواكيم جروس ، معهد الديناميكا الحرارية وهندسة العمليات الحرارية (ITT) ، جامعة شتوتغارت
البروفيسور أندريه باردو ، هندسة أنظمة الطاقة والعمليات (EPSE) ، إيث زيوريخ
نمت 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}, }