پایتون محبوب ترین زبان برنامه نویسی جهان است و اکوسیستم پایتون حاوی تعداد زیادی کتابخانه کد منبع باز(Open-Source Code)است .که توسعه دهندگان می توانند آزادانه از آنها برای ایجاد راه حل های جدید استفاده کنند.
کتابخانه کد PyAnsys این امکان را به توسعه دهندگان می دهد که شبیه سازی مبتنی بر نرم افزار Ansys را در پروژه های مبتنی بر پایتون خود ادغام کنند.
شبیهسازی، تحلیلهایی را بدون نیاز به انجام اعمال و فرآیندها در دنیای واقعی ارائه میکند که با فرآیند رخ داده در دنیای واقعی قابل مقایسه است. تنش ها را می توان بدون شکستن یا حتی ساختن نمونه اولیه گران قیمت آزمایش کرد. ویژگی های یک طراحی جدید خواه حرارتی، الکتریکی، سیالاتی یا هر چیز دیگری باشد را می توان بدون نیاز به ایجاد دما، فشار و یا جریان واقعی بررسی کرد.
به طور کلی میتوان بینشهایی را که در غیر این صورت از تجربه ناشی میشد، بدون نیاز به انجام به دست آورد که به ویژه زمانی ارزشمند است که به دست آوردن این بینشها ممکن است ۵۰ یا ۱۰۰ سال طول بکشد یا شامل از بین بردن نمونههای اولیه چند میلیون دلاری باشد.
تنها کارهای دنیای واقعی که باید در دنیایی که شبیه سازی فعال شده است انجام شود، کارهای مرتبط با پیکربندی، اجرا و به اشتراک گذاری نتایج خود شبیه سازی ها هستند.
اما به لطف کتابخانه کد PyAnsys و سایر راه حل های نرم افزارAnsys که رشته های دیجیتال را به هم وصل می کنند، حتی آن نیز در حال تغییر است.
PyAnsys خانوادهای از پکیجهای پایتون است که کاربران را قادر میسازد تا با محصولات Ansys از جمله MAPDL، AEDT و غیره به شیوهای بیسابقه تعامل داشته باشند.
این پکیج ها یک رابط قابل برنامهنویسی مدرن را در اختیار کاربران قرار میدهند که از طریق آن نه تنها میتوانند اجرای طیف گستردهای از شبیهسازیهای چندفیزیکی را با استفاده از ابزارهای شبیهسازی Ansys اسکریپت نویسی کنند، بلکه میتوانند جریانهای کاری را نیز کد نویسی کنند که شبیهسازی را با سایر عملیاتهای خودکار ترکیب میکند.
اما چرا پایتون؟ زبان طراحی پارامتریک Ansys (APDL) مدتهاست که قابلیتهای برنامهنویسی و کنترل گستردهای را برای تعامل با محصولات Ansys فراهم کرده است. افراد می توانند اسکریپت هایی را در APDL بنویسند (یا APDL مکانیکی [MAPDL]، یک برنامه تجزیه و تحلیل المان محدود ساخته شده بر روی APDL)، که راه اندازی، اجرا و پس پردازش شبیه سازی ها را تسهیل می کند. کیت ابزار سفارشی سازی Ansys (ACT) همچنین ویژگی هایی را برای کنترل و خودکارسازی شبیه سازی ها در Ansys Mechanical فراهم می کند. اما متاسفانه فقط همین بود: فقط میتوان از ویژگیهای برنامهنویسی این ابزارها از درون ابزارها استفاده کرد. هیچ مکانیزمی برای تعامل برنامهریزی با محصولات Ansys از خارج از APDL، MAPDL یا ACT وجود نداشت.
در سال ۲۰۱۶ زمانی که یک توسعهدهنده پایتون و کاربر Ansys MAPDL به نام Alex Kaszynski، یک کتابخانه کد ایجاد کرد که او را قادر میسازد تا با MAPDL با استفاده از Python تعامل داشته باشد، شرایط تغییر کرد.
زبان پایتون بهطور گسترده در مدارس و دانشگاهها تدریس میشود و توسعهدهندگان بیشماری آن را با اشتیاق پذیرفتهاند و اکوسیستم پایتون دارای مخازن کدهای عمومی و خصوصی فراوانی است که توسعهدهندگان میتوانند از آنها برای ایجاد برنامههای کاربردی خود استفاده کنند. Kaszynski کتابخانه کد خود به نام PyMAPDL را در GitHub، مخزن کد آنلاین منبع باز، پست کرد، جایی که کاربران علاقهمند میتوانند آن را دانلود کرده و عملکرد آن را در پروژههای خود که شامل استفاده از MAPDL هستند، بگنجانند.
کاربران آن را دانلود کردند. PyMAPDL بدون هیچ هزینه ای برای کاربران در دسترس قرار گرفت – اگرچه کاربرانی که قصد تعامل با Ansys MAPDL را داشتند باید مجوز آن برنامه نیز برای این تعامل صادر میشد و خیلی زود مشخص شد که کاربران Ansys تمایل زیادی به تعامل برنامهنویسی با ابزار شبیهسازی Ansys داشتند.
این شور و شوق برای انسیس نیز واضح بود و کازینسکی را استخدام کرد و او را تشویق کرد که به کاری که آغاز کرده بود ادامه دهد.
توسعه تعامل نرم افزار انسیس با زبان برنامه نویسی پایتون امروز نیز ادامه دارد. از زمان نگارش این مقاله، صفحه PyAnsys در GitHub طیف وسیعی از پکیجها را ارائه میدهد که میتوان از آنها برای تعامل «زبان برنامهنویسی پایتون» با محصولات Ansys استفاده کرد:
- Electronics simulation: PyAEDT
- Solid mechanics simulation: PyMAPDL
- Fluids simulation: PyFluent, PyFluent-Parametric, PyFluent-Visualization
- Post processing: PyDPF-Core, PyDPF-Post
- Materials management: Granta MI BoM Analytics
علاوه بر این، صفحه PyAnsys در GitHub دسترسی به طیف وسیعی از اجزای مشترک را ارائه می دهد که قابلیت همکاری پکیج را تسهیل می کند و تعمیر و نگهداری را به حداقل می رساند.
از آنجایی که اکوسیستم پایتون کتابخانههای کدی را فراهم میکند که با آن کاربران میتوانند برنامههای کاربردی وب با رابطهای کاربری سفارشی (UI) ایجاد کنند، محصولات PyAnsys به راحتی از آن رابطهای کاربری سفارشیشده فراخوانی میشوند. این موضوع تضمین میکند که استفاده از پروژههای مبتنی بر PyAnsys بسیار آسان است زیرا کاربران نیازی به آشنایی با رابطهای کاربری مرتبط با هر محصول Ansys ندارند. حتی یک اسکریپت پایتون که به چندین ابزار مختلف شبیهسازی Ansys دسترسی دارد، میتواند یک رابط کاربری را به کاربران ارائه دهد که تنها گزینهها و الزامات ورودی آن مواردی هستند که با گردش کار در حال اجرا مرتبط هستند.
انجمن GitHub در آپلود پروژه های مبتنی بر PyAnsys برای استفاده دیگران فعال بوده است و Ansys نیز پروژه ها را بررسی کرده و با توسعه دهندگان کار می کند تا ایده های آنها را در پکیجهای PyAnsys جدید بگنجاند. پکیجها (همراه با اسناد کامل و نمونه های کد) همچنان در GitHub به عنوان کتابخانه های منبع باز تحت مجوز MIT ارائه می شوند.
علاوه بر این، Ansys Developer Experience به عنوان یک پلتفرم دیجیتالی معرفی شده است که برای تشویق و فعال کردن اکوسیستم توسعه دهندگان گسترده تر برای تعامل با Ansys طراحی شده است. این پلتفرم شامل پورتال توسعهدهنده، انجمنهای گفتگو محور و دسترسی به اسناد و ابزارهای Ansys است که به توسعهدهندگان امکان میدهد تا به سرعت شروع به کار کنند. این اولین بار است که Ansys پلتفرم ها و منابعی را برای پشتیبانی از توسعه دهندگان با استفاده از فناوری های جدید و در حال ظهور Ansys اختصاص داده است. هدف Ansys Developer Experience تشویق اکوسیستم توسعهدهنده به رشد و بلوغ است، در حالی که تجربه کاربر را با دسترسی آسانتر به منابع مرتبط و دریافت پشتیبانی فنی بهبود میبخشد.
برای کاربران در سراسر جهان، کتابخانه کد PyAnsys مزایای ملموسی را ارائه می دهد. برای مثال، تیم مهندسی Bewind GmbH، یک شرکت طراحی و مهندسی سیستمهای آلمانی، از PyAnsys برای ایجاد یک گردش کار سفارشی و خودکار برای ارزیابی دقیقتر و مؤثرتر خستگی در پرههای توربین بادی خود استفاده میکند.
این رویکرد با استفاده از دقت پیشبینی حلگرهای Ansys برای تأیید اینکه پرهها هم از نظر ساختاری سالم هستند و هم از نظر عملیاتی کارآمد هستند، بهطور چشمگیری در زمان و هزینهها صرفهجویی میکند.
سایر شرکتها در حال حاضر از PyAnsys برای انجام شبیهسازیهای تکراری و پیچیده، مانند شبیهسازیهایی که ممکن است برای آموزش سیستم یادگیری ماشین (ML) یا هوش مصنوعی (AI) استفاده شوند، استفاده میکنند.
آموزش چنین سیستمهایی ممکن است به هزاران شبیهسازی نیاز داشته باشد و مدیریت اجرا و تجزیه و تحلیل آن شبیهسازیها بهطور قابلتوجهی آسانتر میشود اگر بتوان اجرا را بهصورت برنامهنویسی از طریق یک اسکریپت پایتون مدیریت کرد. هنوز شرکتهای دیگر از PyAnsys استفاده میکنند تا اطمینان حاصل کنند که شبیهسازیهای مکرر دقیقاً به همان روش انجام میشوند تا احتمال خطای انسانی ناشی از تکرار ناقص یک کار پیچیده را کاهش دهند.
توانایی هماهنگ کردن فرآیندها با استفاده از پایتون همچنین فرصت هایی را برای مهندسان ایجاد می کند تا در نحوه انجام فعالیت ها تجدید نظر کنند. برای مثال، یک اسکریپت پایتون با تقسیم یک گردش کار پیچیده به وظایفی که میتوانند به صورت موازی با استفاده از منابع جداگانه اجرا شوند، میتواند مقدار زمان مورد نیاز برای تکمیل گردش کار را بهطور چشمگیری کاهش دهد.
فعالیتهایی که ممکن است قبلاً نیاز به هماهنگی و انتقال مداوم بین تیم سازه، تیم سیالات و تیم حرارتی داشته باشند – که هر کدام به طور سنتی شبیهسازیها را بهطور متوالی بر روی ابزارهای مختلف اجرا میکنند – اکنون میتوانند در یک اسکریپت ثبت شوند که میتواند در ارتباط با سایر ابزارها، بصورت راه حل هایی در یک رشته دیجیتال متصل برای ارائه اطلاعات مورد نیاز همه تیم ها، استفاده شود.
هم برای کاربران نهایی و هم برای توسعهدهندگان، در دسترس بودن بستههای PyAnsys و توانایی ترکیب شبیهسازیهای Ansys در اکوسیستم گستردهتری از فعالیتها، درهای جدیدی را باز میکند. امروزه بسیاری از سازمان ها از PyAnsys برای انجام خودکار فرآیندهای موجود استفاده می کنند، که منطقی است زیرا آنها فرآیندهایی هستند که شناخته شده اند و باید به روش های خاصی انجام شوند.
اما PyAnsys همچنین فرصتهایی را برای ادغام ابزار شبیهسازی Ansys در جریانهای کاری ایجاد میکند که ممکن است قبلا هرگز امتحان نشده باشند. کتابخانه کد PyAnsys یکی دیگر از فناوری های Ansys است که نوآوری بهم پیوسته و در نهایت تحول دیجیتال را امکان پذیر می کند.