استفاده از کتابخانه های جانبی پایتون 3 در اباکوس
با بروزرسانی به پایتون 3، قابلیت تعامل Abaqus Python با بسیاری از کتابخانه ها بهبود قابل توجهی یافته است. به منظور سهولت نصب این کتابخانه ها، بخش تحقیق و توسعه سیمولیا از نسخه Abaqus 2024 FD02 دستور abqPip را اضافه کرده است.
تغییرات و قابلیتهای جدید پایتون 3 در Abaqus 2024
نسخه Abaqus 2024 با پشتیبانی بهبود یافته از پایتون 3 امکانات جدیدی را برای کاربران به ارمغان آورده است. یکی از اصلیترین تغییرات، سازگاری کامل با نسخههای پایتون 3 است که امکان استفاده از کتابخانههای جانبی پایتون را در شبیهسازیها و اسکریپتنویسیها فراهم میکند. با ابزار جدید abqPip، نصب و مدیریت پکیجها در محیط پایتون 3 بسیار سادهتر شده است و کاربران میتوانند با دسترسی سریعتر به کتابخانههای پایتون 3، عملکرد پروژههای خود را ارتقا دهند. همچنین ابزار تبدیل کدهای پایتون 2 به پایتون 3 کمک میکند تا اسکریپتها بدون نیاز به تغییرات گسترده به پایتون 3 مهاجرت کنند.
دسترسی به کتابخانه های جانبی پایتون
برای دسترسی و آشنایی با قابلیتها، دستور زیر را در خط فرمان وارد کنید:
abaqus python -m abqPip -h
سپس شما پیام زیر را دریافت خواهید کرد:
abaqus python -m abqPip -h
usage: abqPip.pyc [-h] [-d DIRECTORY] [-e EXTRA_DIR] {install,list,show} [package ...]
This is a tool for retrieving additional Python packages for use with Abaqus Python, or for getting information about previously retrieved packages. Available actions are 'install', 'list', and 'show' for installing, listing previously installed, and getting detailed information about packages. Packages will not be installed in the Abaqus installation, but in a specified target directory, which can then be included in PYTHONPATH or added to Python's sys.path for use in Abaqus Python or Abaqus/CAE.
positional arguments:
{install,list,show}
package Package name as with pip
options:
-h, --help show this help message and exit
-d DIRECTORY, --directory DIRECTORY
Target directory to place packages when installing,
or primary location to look for previously
installed packages. Default is site-
packages/pythonX.Y under the current directory
-e EXTRA_DIR, --extra_dir EXTRA_DIR
Extra site package directory to look for previously
installed packages
در انتها گفته شده که قابلیت فقط برای بست هایی که همراه اباکوس پایتون عرضه شده، سازگاری و پشتبانی آن تضمین می شود. برای بسته های دیگر تعهدی در این موضوع از سمت سیمولیا وجود ندارد.
تفاوت پایتون 2 و پایتون 3
همچنین برخی از تفاوت های پایتون 3 و 2 را در زیر می بینید.
Python 2 | Python 3 |
---|---|
>>> print "Hello world" Hello world >>> print("Hello world") #This also works Hello world | >>> print "Hello world" File "<stdin>", line 1 print "Hello world" ^^^^^^^^^^^^^^^^^^^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? >>> print("Hello world") Hello world |
>>> 5/4 1 >>> 5//4 1 | >>> 5/4 1.25 >>> 5//4 1 |
>>> easyas = [1,2,3] >>> simpleas = ['a','b','c'] >>> result = zip(easyas,simpleas) #creates a list >>> print result [(1, 'a'), (2, 'b'), (3, 'c')] >>> result[1] (2, 'b') | >>> easyas = [1,2,3] >>> simpleas = ['a','b','c'] >>> result = zip(easyas,simpleas) #creates an iterable >>> print(result) <zip object at 0x000001F70D6391C0> >>> result[1] #Cannot index into iterable Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'zip' object is not subscriptable >>> list(result)[1] (2, 'b') |
>>> import types >>> var = "A string" >>> if type(var)==types.StringType: ... print("It's a string!") ... It's a string! >>> if isinstance(var,str): ... print("Also says its a string") ... Also says its a string | >>> import types #As we'll see, this isn't needed >>> var = "A string" >>> if type(var)==types.StringType: ... print("It's a string!") ... Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'types' has no attribute 'StringType' >>> if isinstance(var,str): ... print("The Python 3 way") ... The Python 3 way |
>>> if "1" > 100000: ... print("This is a bad thing Python 2 does") ... This is a bad thing Python 2 does | >>> if "1" > 100000: ... print("Python 3 rightly complains") ... Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '>' not supported between instances of 'str' and 'int' |
پلاگین اباکوس برای تبدیل پایتون 2 به پایتون 3
اباکوس ۲۰۲۴ شامل ابزاری برای تبدیل اسکریپتها از پایتون ۲ به پایتون 3 است. این ابزار عمدتاً بر پایه ابزار تبدیل 2to3 داخلی پایتون طراحی شده، اما امکانات اضافی دیگری را اضافه میکند تا ایجاد اسکریپتهایی که با هر دو نسخه سازگار باشند را آسانتر کند. این ابزار تبدیل را میتوان مستقیماً از خط فرمان به صورت زیر فراخوانی کرد:
<abaqus command> python -m abqPy2to3 <files/directories>
چند نکته در مورد این ابزار:
- اگر یک دایرکتوری را ارائه دهید، بهصورت بازگشتی به آن دایرکتوری و زیردایرکتوریهای آن میرود و به دنبال فایلهای با پسوند
.py
میگردد. - این ابزار یک فایل لاگ ایجاد کرده و نسخه اصلی فایلهایی که روی آنها عمل میکند را ذخیره میکند.
- میتوانید پارامتر
-future False
را ارائه دهید اگر نیازی به حفظ سازگاری با نسخه ۲.۷ پایتون ندارید (در این صورت عبارت"from __future__ import print_function"
که امکان اجرای سینتکسهای خاص پایتون 3 در پایتون ۲.۷ را فراهم میکند، حذف خواهد شد). - این اسکریپت بهعنوان بخشی از ابزار افزونه ارتقای اسکریپت در CAE نیز در دسترس است. برای استفاده تعاملیتر با امکان پیشنمایش تغییرات، CAE را باز کنید و به مسیر Plug-Ins→Abaqus→Upgrade Scripts… بروید. اگر اسکریپتها را به نسخه اباکوس 2024 ارتقا دهید، این ابزار اجرا میشود.
بهطور کلی، سینتکس جدیدی که در پایتون ۳ معرفی شده، به پایتون ۲ نیز افزوده شده است. برای مثال، عملکرد دستور print
در نسخههای پایتون ۲ نیز پشتیبانی میشود – نسخه ۲.۷ پایتون هم دستور print
و هم تابع print()
را پشتیبانی میکند. به این ترتیب، معمولاً امکان نوشتن کدی که در هر دو نسخه قابل اجرا باشد، وجود دارد. با این حال، معمولاً بهتر است کدهای جداگانهای برای پایتون 3 و 2 نگه داشت. این توصیهای است که در پایان مقاله گیدو فان روسوم درباره پایتون 3 ارائه شده است.
گاهی اوقات، ممکن است راحتتر باشد که کدی ایجاد کنید که بتواند در هر دو نسخه اجرا شود – مانند فایل abaqus_v6.env
که میخواهید بدون توجه به نسخه آباکوس اجرا شود. هنگام نوشتن چنین کدی، ممکن است لازم باشد بخشهای خاصی از کد را بر اساس نسخه مفسر پایتون جدا کنید. برای انجام این کار، میتوان از ویژگی version_info.major
در ماژول sys
استفاده کرد. در اینجا مثالی آورده شده که میتواند در یک فایل abaqus_v6.env
مفید باشد – استفاده از شاخهبندی برای مشخص کردن دایرکتوری افزونه که حاوی افزونههای Abaqus/CAE است و برای یک نسخه خاص از پایتون نوشته شده است.
کتاب اسکریپت نویسی در آباکوس
اگر مشتاقید تا اسکریپت نویسی با پایتون در اباکوس را یاد بگیرید، چند کتاب مفید برای یادگیری اسکریپتنویسی در آباکوس با استفاده از پایتون در زیر معرفی می شود:
- Python Scripts for Abaqus: Learn by Example
- نویسنده: Gautam Puri
- این کتاب به یادگیری مفاهیم اسکریپتنویسی در آباکوس با تمرکز بر مثالها و پروژههای کاربردی میپردازد. مناسب برای افرادی که به دنبال درک سریع و عملی از اسکریپتنویسی در آباکوس هستند.
- Abaqus for Engineers: An Essential Guide for Effective Modeling with Python and CAE
- نویسنده: Ryerson Gill
- این کتاب رویکردی جامع به مدلسازی با آباکوس دارد و از مبانی اسکریپتنویسی تا نکات پیشرفته را پوشش میدهد. مناسب برای کسانی که میخواهند استفاده از پایتون را در زمینه مدلسازی مهندسی با آباکوس یاد بگیرند.
- Finite Element Modeling and Simulation with Abaqus
- نویسندگان: Aslam Kassimali, Charles J. G. Krousgrill
- این کتاب تمرکز بر مدلسازی اجزای محدود در آباکوس دارد، و در کنار آن به مفاهیم اسکریپتنویسی نیز اشاره میکند. مناسب برای افرادی که به مدلسازی اجزای محدود علاقه دارند و میخواهند از اسکریپتنویسی نیز استفاده کنند.
- Python for the Abaqus FEA: Learn by Examples for FEA with Python and Abaqus
- نویسنده: Adam Nagy
- این کتاب برای افرادی که میخواهند به صورت عمیق و از طریق مثالهای عملی به اسکریپتنویسی با پایتون در محیط آباکوس مسلط شوند، بسیار مناسب است.
- Introduction to Python Scripting for Abaqus
- نویسنده: R. Krishna Kumar
- این کتاب یک راهنمای مقدماتی برای کسانی است که تازه با آباکوس و پایتون آشنا شدهاند.
- آشنایی و طرز کار نرم افزار ABAQUS
- نویسنده: دکتر فرزین، دیباجیان، مهدیان، حسینی فرید
- اگر به دنبال کتاب فارسی هستید، این کتاب چاپ دانشگاه صنعتی اصفهان، فصل آخر را به آموزش پایتون اختصاص داده است. البته بسیار کوتاه است و صرفا تعدادی از دستورات و … توضیح داده شده است.
همچنین، راهنمای رسمی آباکوس یا Documentation در بخش Python Scripting Reference Guide (لینک آنلاین) نیز منبع بسیار مفیدی است که از طریق آن میتوان به دستورات و مثالهای کاربردی در اسکریپتنویسی دسترسی داشت.
برای توسعه پلاگین ، سابروتین و اسکریپت در اباکوس پیام دهید.
همچنین می توانید از جلسات منتورینگ آباکوس آنلاین بنوموسی برای رفع اشکال استفاده کنید. برای رزرو جلسه کلیک کنید.
خدمات و منتورینگ بنوموسی
شرکت بنوموسی با ارائه جلسات منتورینگ آباکوس راهنمای شما عزیزان در جهت رفع و بهبود ایرادات فنی و مهندسی پروژه های صنعتی و دانشجوی تان در زمینه مدلسازی، تحلیل، و صحتسنجی نتایج می باشد. این جلسات به صورت آنلاین و حضوری برگزار میشود و نیم ساعت اول رایگان است. برای اطلاعات بیشتر و رزرو وقت، از صفحه منتورینگ اباکوس ما دیدن کنید.
برای استفاده از خدمات شبیهسازی و مشاوره رایگان ما، کافی است با ما تماس بگیرید. ما در تمام مراحل پروژه کنار شما هستیم تا بهترین نتایج را بهدست آورید.
برای کسب اطلاعات بیشتر و دریافت منتورینگ ، لطفاً با ما تماس بگیرید یا از وبسایت Banumusagr بازدید کنید. تیم ما آماده است تا شما را در دستیابی به نتایج مطلوب در تحلیلهای عددی و شبیهسازیهای مهندسی یاری کند.
راه های ارتباطی با شرکت بنوموسی :
TELEGRAM : https://t.me/BanuMusaGr
ایمیل: info@BanuMusaGr.com
تلفن همراه: 388 20 55 0915
تلفن: 35424520– 51 (98+)
آدرس: مشهد – کیلومتر 12 بزرگراه آسیایی (جاده قوچان)- جاده شهرک صنعتی توس- شهرک فناوری صنایع غذایی و بیوتکنولوژی شمال شرق- معاونت صنایع کوچک- مرکز خدمات.
چگونه میتوانم از دستور abqPip برای نصب کتابخانههای پایتون استفاده کنم؟
برای استفاده از دستور جدید، کافیست کد زیر را در خط فرمان وارد کنید:abaqus python -m abqPip -h
کتابخانهها در کجا نصب میشوند؟
کتابخانهها به جای محل نصب Abaqus در دایرکتوری خاصی نصب میشوند و با اضافه کردن این دایرکتوری به PYTHONPATH یا sys.path میتوان از آنها استفاده کرد.
آیا Simulia سازگاری با تمامی کتابخانهها را تضمین میکند؟
نه، Simulia تنها برای کتابخانههایی که همراه Abaqus عرضه شدهاند سازگاری و پشتیبانی رسمی ارائه میدهد.
چگونه میتوان اسکریپتهای پایتون 2 را به پایتون 3 تبدیل کرد؟
ابزار تبدیل داخلی به نام abqPy2to3
در Abaqus 2024 به شما کمک میکند اسکریپتها را به نسخه جدید ارتقا دهید. این ابزار از طریق خط فرمان قابل دسترسی است:abaqus python -m abqPy2to3 <files/directories>
آیا منابعی برای یادگیری اسکریپتنویسی در Abaqus با پایتون موجود است؟
بله، چندین کتاب مانند Python Scripts for Abaqus: Learn by Example و Finite Element Modeling and Simulation with Abaqus برای یادگیری اسکریپتنویسی در Abaqus توصیه میشوند.
آیا Abaqus 2024 از اسکریپتهایی که با هر دو نسخه پایتون سازگار هستند، پشتیبانی میکند؟
بله، امکان نوشتن کدهایی که با هر دو نسخه پایتون کار میکنند وجود دارد. برای این کار از sys.version_info.major
میتوانید استفاده کنید.
تفاوتهای کلیدی بین پایتون 2 وپایتون 3 در Abaqus چیست؟
تفاوتهای اصلی شامل تغییرات در سینتکس print
، تقسیم اعداد، تغییرات در توابعی مثل zip
، و برخی تغییرات نوع داده است که در پایتون 3 اعمال شده است.
آیا جلسات منتورینگ برای رفع اشکال در اسکریپتنویسی Abaqus موجود است؟
بله، شرکت بانو موسا جلسات آنلاین منتورینگ ارائه میدهد. برای اطلاعات بیشتر و رزرو میتوانید از سایت شرکت بازدید کنید.
آیا راهنمای آنلاین برای اسکریپتنویسی در Abaqus وجود دارد؟
بله، Documentation رسمی Abaqus در بخش Python Scripting Reference Guide اطلاعات کاملی درباره دستورات و مثالهای کاربردی ارائه میدهد.
آیا میتوانم کدی بنویسم که هم با پایتون 2 و هم پایتون 3 در Abaqus کار کند؟
بله، با کمی تغییرات مانند استفاده از sys.version_info.major
برای تشخیص نسخه پایتون، میتوانید کدی سازگار با هر دو نسخه بنویسید.