آباکوس کتابخانه وسیعی از عناصر و مواد برای هر محقق یا مهندسی که میخواهد پاسخ های مختلف جامدات را مدل کند، دارد.
با این حال، اگر میخواهید یک مدل ماده سازنده را توصیف کنید یا یک عنصر محدود را توسعه دهید که هنوز در کتابخانههای آباکوس پیادهسازی نشده است، باید زیربرنامه کاربر خود را از ابتدا توسعه دهید و سپس آن را با آباکوس ادغام کنید.
تدوین یک زیربرنامه فرترن و پیوند آن با آباکوس، فرآیند آسانی نیست و سازگاری متفاوت هر نسخه آباکوس آن را چالش برانگیزتر میکند.
در این مقاله سعی برآن داریم تا سازگاری بین نسخههای مختلف Fortran، Microsoft Visual Studio و ABAQUS را مطرح کنیم و سپس روش لینک کردن آباکوس و فرترن را نشان دهیم که چگونه میتوانید آنها را با موفقیت به هم وصل کنید.
1# علت استفاده از لینک کردن آباکوس و فرترن
آباکوس دارای بسیاری از ویژگیهای داخلی است که برای تجزیه و تحلیل تعریفشده در دسترس است؛ اما این امکان برای کاربران وجود دارد که قابلیتهای نرمافزار را از طریق برنامههای فرعی کاربر گسترش دهند.
شما میتوانید سابروتین های آباکوس را در FORTRAN یا ++C بنویسید؛ اما با توجه به استقبال بیشتر کاربران از زبان برنامه نویسی فرترن، اتصال آن به فرترن بهتر بهنظر میرسد.
با توجه به زبان فرترن مورد استفاده در زیرروالها، برای کامپایل کد نرم افزار شما به یک کامپایلر فرترن نیاز است.
از نیازمندیهای کلی برای لینک کردن آباکوس و فرترن، میتوان به موارد زیر اشاره کرد:
- Abaqus
- Microsoft Visual Studio Ultimate
- Intel OneAPI Base Toolkit
2# مراحل لینک کردن آباکوس و فرترن
اولین قدم این است که بدانید کدام نسخه از ویژوال استودیو باید نصب شود.
برای این کار باید نسخه نصب شده آباکوس را در نظر بگیریم.
پس از آن نسخه مناسب ویژوال استودیو را مطابق تصویر زیر انتخاب و نصب میکنیم.
شایان ذکر است که در صورت نصب نسخه های غیرقابل اجرای Abaqus و Visual Studio پیشرفت لینکسازی بهدرستی انجام نمیشود.
1-2# نصب ویژوال استودیو برای لینک کردن آباکوس و فرترن
ابتدا فایل ویژوال استودیو “vs_setup” را نصب میکنیم.
در طول مراحل نصب، باید ویژگیهای مورد نیاز ذکر شده در زیر را انتخاب کنیم.
در ادامه هر بخش و زیربخش بهطور جداگانه توضیح داده خواهد شد تا درک جامعی از پیشنهادات آنها ارائه شود.
علاوه بر این، این به شما امکان میدهد تا عملکردهای آنها را بهطور موثر درک کنید.
- وب و ابر: اگر مشتاق توسعه برنامههای کاربردی وب یا سرویسهای ابری هستید، مجموعهای از ویژگیها را میتوانید انتخاب کنید.
- NET و توسعه وب: این ویژگی به شما امکان میدهد تا صفحات وب پویا، API های وب، برنامههای Blazor WebAssembly و موارد دیگر را با استفاده از C# ،VB.NET ،HTML ،CSS و جاوا اسکریپت ایجاد کنید. همچنین میتوانید از فریم ورکهایی مانند ASP.NET Core ،ASP.NET MVC ،Razor Pages و Entity Framework Core نیز استفاده کنید.
- توسعه Azure: این ویژگی به شما امکان میدهد با استفاده از سرویسهای Azure، برنامه ها و منابع ابری را بسازید، اشکال زدایی، استقرار و مدیریت کنید.
همچنین میتوانید از ابزارهایی مانند Azure Functions ،Azure App Service ،Azure Storage ،Azure SQL Database ،Azure Cosmos DB نیز استفاده کنید. - توسعه پایتون: این ویژگی خاص، دارای پشتیبانی عالی از برنامه نویسی پایتون و توسعه وب است.
علاوه بر این، بهطور یکپارچه با فریم ورکهایی مانند جنگو، فلاسک و سایرین ادغام میشود.
نهتنها این فریم ورکها، بلکه مجموعهای از ابزارهای قدرتمند از جمله IntelliSense، اشکال زدایی، آزمایش، refactoring و بسیاری دیگر را نیز فراهم میکند. - توسعه Node.js: این ویژگی از برنامه نویسی و توسعه وب js از جمله چارچوبهای محبوب مانند Express و React پشتیبانی میکند و ابزارهای ضروری مانند IntelliSense، اشکال زدایی، تست، npm و غیره را فراهم مینماید.
- دسکتاپ و موبایل: از میان ویژگیهای Visual Studio 2022 برای توسعه برنامههای دسکتاپ یا تلفن همراه برای Windows ،Linux و macOS، یکی را انتخاب کنید.
- توسعه رابط کاربری اپلیکیشن چند پلتفرمی دات نت: این ویژگی به شما امکان میدهد با استفاده از دات نت 6 و فریم ورک جدید MAUI، برنامههای دسکتاپ چند پلتفرمی ایجاد کنید.
همچنین میتوانید از XAML برای طراحی UI و #C برای نوشتن منطق خود استفاده نمایید و دستگاههای اندروید و iOS را با MAUI مورد هدف قرار دهید. - توسعه دسکتاپ دات نت: این ویژگی شما را قادر میسازد تا برنامههای دسکتاپ ویندوز را با استفاده از دات نت 6 و فریم ورکهایی مانند فرمهای ویندوز و WPF ایجاد کنید.
میتوانید از XAML یا طراحان با کشیدن و رها کردن برای ایجاد UI و از #C یا NET برای نوشتن منطق خود استفاده کنید. - توسعه دسکتاپ با ++C: این ویژگی به شما امکان میدهد تا برنامههای دسکتاپ بومی ویندوز را با استفاده از ++C و فریم ورکهایی مانند MFC ،ATL یا Win32 بسازید.
علاوه بر این، شما به طیف وسیعی از ابزارها از جمله IntelliSense، اشکال زدایی و بسیاری دیگر دسترسی دارید. - توسعه پلتفرم جهانی ویندوز: این ویژگی شما را قادر میسازد تا برنامههای مدرن ویندوز 10 را با استفاده از C# ،NET یا ++C ایجاد کنید.
میتوانید از XAML برای طراحی رابط کاربری خود و دسترسی به APIهای ویندوز و ویژگیهایی مانند اعلانها، کاشیهای زنده، کورتانا و موارد دیگر استفاده کنید. - توسعه موبایل با ++C: این ویژگی به شما امکان میدهد تا با استفاده از ++C و فریم ورکهایی مانند Qt یا SDL برنامههای بومی اندروید یا iOS ایجاد کنید.
میتوانید از ابزارهایی مانند IntelliSense، اشکال زدایی، آزمایش و موارد دیگر استفاده کنید. - سایر ابزارها: اگر علاقهمند به توسعه انواع دیگر برنامههای افزودنی برای خود ویژوال استودیو هستید، میتوانید یکی از ویژگیهای زیر را انتخاب کنید:
- ذخیرهسازی و پردازش دادهها: برای این منظور میتوانید توسعه و تجزیه و تحلیل دادهها را SQL Server با ابزارهایی مانند SQL Server Object Explorer و Integration Services فعال کنید.
- علم داده و کاربردهای تحلیلی: جهت استفاده از این گزینه توسعه پایتون و R را برای علم داده و یادگیری ماشین با ابزارهای تعاملی فعال کنید.
- توسعه برنامه افزودنی ویژوال استودیو: این ویژگی به شما امکان میدهد تا با استفاده از C# ،NET یا ++C برای Visual Studio IDE پسوند ایجاد کنید.
شما میتوانید از ابزارهایی مانند قالب پروژه VSIX ،VSIX debugger، پنجره ابزار تست VSIX و موارد دیگر استفاده کنید. - توسعه Office/SharePoint: این ویژگی شما را قادر میسازد تا افزونههای آفیس یا راهحلهای شیرپوینت را با استفاده از C# ،NET یا جاوا اسکریپت ایجاد کنید.
میتوانید از ابزارهایی مانند قالبهای پروژه Office/SharePoint، طراحان Office/SharePoint، ابزارهای اشکالزدایی Office/SharePoint و موارد دیگر استفاده کنید. - لینوکس و توسعه با ++C: این ویژگی به شما امکان میدهد تا لینوکس یا برنامههای کاربردی تعبیهشده را با استفاده از ++C و فریم ورکهایی مانند GTK+ ،Qt یا Boost ایجاد کنید.
میتوانید از ابزارهایی مانند اشکالزدایی از راه دور، تست از راه دور، ترمینال از راه دور و موارد دیگر استفاده کنید.
پس از نصب موفقیتآمیز نیازی به اقدام بیشتری ندارید.
میتوانیم به مرحله بعدی برویم.
2-2# نصب Intel OneAPI Base Toolkit برای پیوند Abaqus و کامپایلر FORTRAN
مرحله بعدی نصب اینتل OneAPI Base Toolkit است.
اجازه دهید شروع به نصب فایل مربوطه کنیم.
در این مرحله مهمترین قسمت انتخاب کامپوننتهای مناسب و لازم برای پیوند Abaqus و FORTRAN است.
نصب کامپایلر «++intel oneAPI DPC++/C» و «Intel oneAPI threading building blocks» مهم و ضروری است و سایر ویژگیها اختیاری هستند.
در اینجا ما نگاهی به هر یک از ویژگیها میاندازیم و آنها را جداگانه توضیح میدهیم:
- کامپایلر اینتل ++OneAPI DPC++/C: کامپایلر ++DPC توسعه دهندگان را قادر میسازد تا کد موازی برای CPU و GPU و شتابدهنده بنویسند.
- بلوکهای ساختار رشتهای OneAPI اینتل: این کتابخانه عملکرد برنامه را در سیستمهای چندهستهای با انتزاعهای سطح بالا برای کار موازی و همزمانی بهبود میبخشد.
- ابزار سازگاری ++Intel DPC: این ابزار به توسعهدهندگان در انتقال کد CUDA به ++DPC کمک میکند و حاشیهنویسی و پیشنهادات بهینهسازی را ارائه میدهد.
- توزیع اینتل برای GDP: نوع سفارشی برای اشکالزدایی برنامههای ++DPC در چندین دستگاه، با بازرسی حافظه دستگاه و نقاط شکست هسته مورد استفاده قرار میگیرد.
- کتابخانه ++Intel OneAPI DPC: این کتابخانه الگوریتمها و ساختارهای داده موازی سازگار با ++DPC را ارائه میکند و از APIهای OneAPI Level Zero و OpenCL برای دسترسی سختافزاری استفاده مینماید.
- کتابخانه تجزیه و تحلیل دادههای OneAPI Intel: این کتابخانه عملکردهای بهینهسازی شدهای را برای تجزیه و تحلیل دادهها و یادگیری ماشین ارائه میدهد که با فرمتهای مختلف داده و پیکربندیهای سخت افزاری سازگار است.
- کتابخانه پردازش ویدیوی OneAPI اینتل: این کتابخانه شامل عملکردهایی برای پردازش ویدیو مانند رمزگشایی، رمزگذاری، فیلتر کردن و تغییر اندازه است که با CPU و GPU کار میکند.
- عملکردهای اولیه یکپارچه اینتل: این ساختارها عملکردهای سطح پایین بهینهشده را برای پردازش تصویرو سیگنال، رمزنگاری و فشردهسازی دادهها و بینایی کامپیوتر در CPU و GPUهای اینتل ارائه میدهند.
- رمزنگاری اولیه عملکرد یکپارچه اینتل: این کتابخانه عملکردهایی را برای رمزگذاری، رمزگشایی، امضا و تأیید داده ها، با استفاده از الگوریتمهای مختلف و پشتیبانی از CPU و GPU ارائه میدهد.
- کتابخانه هسته ریاضی OneAPI اینتل: این کتابخانه توابعی برای جبر خطی و بهینهشده برای معماریهای اینتل و اجرا بر روی CPU و GPU ارائه میدهد که میتوان از موارد زیر یاد کرد:
- ریاضیات برداری
- آمار
- تبدیل فوریه
- تولید اعداد تصادفی
- شبکه های عصبی اولیه
- Intel VTune Profiler: این ابزار معیارهای عملکرد را جمعآوری میکند و توصیههای بهینهسازی را برای CPU ،GPU و انواع حافظه ارائه میدهد.
- Intel Advisor: این گزینه ابزاری برای طراحی و بهینهسازی برنامههای کاربردی برای موازیسازی برداری، انجام تحلیلها و پیشنهاد بهبود کد میباشد.
- توزیع اینتل برای پایتون: این کتابخانه یک توزیع پایتون بهینهشده اینتل برای تجزیه و تحلیل دادهها، یادگیری ماشین و یادگیری عمیق است.
- Intel oneAPI Deep Neural Network Library: این مورد، توابعی برای ساخت شبکه عصبی عمیق و آموزش روی CPU و GPU با پشتیبانی از چارچوب میباشد.
سپس روند نصب به آرامی ادامه می یابد.
پس از آن، نصب کامل است.
3-2# نصب Intel oneAPI HPC برای پیوند Abaqus و کامپایلر FORTRAN
در مرحله بعدی از لینک کردن آباکوس و فرترن به نصب Intel oneAPI HPC میپردازیم.
در قسمت انتخاب کامپوننت موارد مورد نیاز را انتخاب کرده ایم.
مراحل نصب بهصورت زیر ادامه مییابد.
در نهایت نصب به پایان رسید.
در این آموزش، Intel OneAPI Base Toolkit را قبل از Intel OneAPI HPC Toolkit نصب میکنیم.
با این حال، ما آزمایش کردهایم که معکوس کردن ترتیب نصب هیچ مشکلی در فرآیند نصب ایجاد نمیکند و لینک کردن آباکوس و فرترن همچنان بهدرستی انجام میپذیرد.
4-2# یافتن فایلهای “vcvars64.bat” و “vars.bat”
در مرحله بعدی برای لینک کردن آباکوس و فرترن، پس از نصب نرم افزار Visual Studio و Intel oneAPI باید فایل “vcvars64.bat” را پیدا کنیم.
سادهترین راه برای یافتن فایل vcvars64.bat جستجوی عبارت vcvars64 در درایو C (محل نصب نرم افزار) است.
مسیر این فایل را در یک فایل متنی ذخیره میکنیم.
رویه فایل “vars.bat” را در پوشه env تکرار میکنیم و مسیر آن را در فایل متنی ذخیره میکنیم.
سپس میتوانیم مسیرها را در هر دو بخش متغیرهای کاربر و متغیرهای سیستم اضافه کنیم.
برای افزودن مسیرهای هر دو فایل vcvars64.bat و vars.bat، روی Path دوبار کلیک میکنیم و برای هر کدام از دکمه New استفاده میکنیم.
در مرحله بعد، میتوانید با جستجوی آباکوس در نوار جستجوی ویندوز، به پوشه نصب میانبر دسترسی پیدا کنید.
پس از وارد شدن به پوشه، روی Command Abaqus راست کلیک کنید و به Properties دسترسی پیدا کنید.
در قسمت Target مسیر قبلی را حذف کنید و یک مسیر جدید که مسیر فایل vars.bat، نسخه ویژوال استودیو و نسخه ویندوز را ترکیب میکند، جایگزین کنید.
یک نمونه با توجه به این که مسیر ممکن است براساس نسخه ویندوز و نصب ویژوال استودیو متفاوت باشد، داده شده است.
C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat intel64 vs2022 & C:\Windows\System32\cmd.exe /k
به همین ترتیب در قسمت Properties Abaqus CAE در تب Target وارد مسیر جدیدی میشویم که در زیر ارائه شده است.
ترکیبی از مسیر فایل vars.bat، نسخه ویندوز و ویژوال استودیو مسیر هدف اولیه را تعیین میکند.
C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat intel64 vs2022 & C:\SIMULIA\EstProducts\2023\win_b64\resources\install\cmdDirFeature\launcher || pause
تا کنون ادغام Abaqus و FORTRAN با موفقیت انجام شده است.
با این حال، پیوند فقط برای میانبرها اعمال می شود و اگر فایل Abaqus باز شود، پیوند کار نمیکند.
برای رفع این مشکل به مرحله بعد میرویم.
در مسیر C:\SIMULIA\commands روی فایل abq2023 راست کلیک و روی Edit کلیک کنید.
آدرس زیر را که ترکیبی از آدرس فایل vars.bat و نسخه نصبشده ویژوال استودیو است، مانند شکل به یک خط جدید اضافه کنید.
“C:\Program Files (x86)\Intel\oneAPI\compiler\2022.2.1\env\vars.bat” intel64 vs2022 را فراخوانی کنید.
فراموش نکنید که تغییرات را ذخیره کنید.
برخلاف سایر روشهای لینک کردن آباکوس و فرترن، رویکردی که در این مقاله توضیح داده شده است، نیاز به پیوند مجدد پس از راه اندازی مجدد سیستم را برطرف میکند.
5-2# تأیید لینک بین آباکوس و کامپایلر فرترن
برای اطمینان از ارتباط بین آباکوس و کامپایلر فرترن، راههای مختلفی وجود دارد که یکی از آنها استفاده از فرمان Abaqus است.
در این قسمت از مقاله لینک کردن آباکوس و فرترن، مراحل را در تصاویر زیر دنبال میکنیم.
همانطور که میبینید، در این مورد، کامپایلرهای فرترن و ++C با آباکوس مرتبط شدهاند.
علاوه بر این، با استفاده از تأیید آباکوس، میتوان از صحت پیوند بین حلکنندههای مختلف و فرترن اطمینان حاصل کرد.
آباکوس و فرترن برای اجرای زیربرنامههای کاربر مانند VUMAT ،UMAT ،USDFLD و غیره پیوند داده میشوند.
شما میتوانید نسخههای مختلف آباکوس و فرترن موجود را پیدا کنید و با لینک کردن آباکوس و فرترن نیاز خود برای نوشتن سابروتینهای مختلف برطرف کنید.
در مقاله لینک کردن آباکوس و فرترن، ما روند گام به گام لینک کردن آباکوس و فرترن را نشان داده و نتیجهگیری کردهایم.
در صورت نیاز برای دریافت توضیحات بیشتر میتوانید به فیلمهای آموزشی منتشرشده در سایتهای معتبر مراجعه فرمایید.
نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.