اهداف آموزش: با مطالعه این آموزش، ویژگی سابروتیننویسی در آباکوس و نحوه استفاده از سابروتین در یک مسئله را خواهید شناخت. همچنین فرا خواهید گرفت که چگونه از دو یا چند سابروتین مختلف به شکل همزمان در یک فایل تحلیل توسط آباکوس استفاده کنید.
سابروتین در آباکوس
همانطور که پیشتر نیز اشاره کردیم، یکی از ویژگیهایی که سبب شده تا نرمافزار اجزای محدودی نظیر Abaqus محبوبیت خاصی در میان کاربران پیدا کند قابلیت برنامهنویسی یا در اصطلاح سابروتیننویسی در ماژولهای گوناگون آن است (معرفی نرمافزار آباکوس). کافیست در محیط راهنمای نرمافزار آباکوس وارد بخش Abaqus User Subroutines Reference Manual شوید تا به لیستی از تمامی مواردی که امکان برنامهنویسی در آنها وجود دارد دست پیدا کنید. خزش، فلاکس یا شار حرارتی، رفتار اصطکاکی، قیود چندگانه، چگالی جریان، میدان دمایی، بارگذاری و رفتار یا خواص مکانیکی ماده تنها گوشهای از حوزههایی است که در صورت برطرف نشدن نیازتان از طریق پیشفرضهای گنجانده شده در آباکوس، قادر به برنامهنویسی و تحلیل مسئله خواهید بود.
تذکر: در تاریخ 17 آبان 95 آموزشی تحت عنوان “مقدمهای بر سابروتیننویسی در آباکوس” در سایت درج شد که به واکاوی ضرورت کدنویسی در آباکوس، اجزای اصلی سابروتین در آباکوس و معرفی برخی سابروتینهای معروف و پرکاربرد در آباکوس پرداخته است.
نحوه استفاده از چند سابروتین در آباکوس
یکی از نکات مهم که در استفاده از سابروتینها با آن مواجه میشوید نحوه بکارگیری چند برنامه در یک تحلیل است. در نظر بگیرید که قصد دارید از مادهای استفاده کنید که تحت یک بارگذاری مشخص رفتار خاصی از خود نشان میدهد و این رفتار به شکل پیشفرض در نرمافزار وجود ندارد. از طرفی، نوع بارگذاری اعمالی نیز خاص بوده و به ناچار باید کاربر برنامهای برای آن تهیه کند. لذا باید از دو سابروتین در تحلیل خود استفاده کنید. چنانچه تجربه تحلیل با سابروتین را داشته باشید، حتما میدانید که برای معرفی فایل مربوطه، باید در ماژول Job آدرس مربوط به فایل برنامه را وارد کنید (قبل از Submit کردن حل باید در تب General فایل فرترن سابروتین خودتون را در بخش User Subroutine File معرفی کنید).
ممکن است از خود بپرسید که در این بخش فقط امکان معرفی یک فایل وجود دارد، پس چگونه میتوان از برنامه بارگذاری و رفتار ماده در تحلیل استفاده کرد؟ این سوالی است که بسیاری از کاربران با آن مواجه میشوند اما پاسخی بسیار ساده برای آن وجود دارد. تنها کافیست تمامی سابروتینهای خود را در یک فایل پشت سر هم ذخیره کنید. ترتیب کار اهمیتی ندارد و مثلا میتوانید ابتدا سابروتین بارگذاری و در ادامه سابروتین رفتار ماده (UMAT) یا سابروتین مربوط به المان (UEL) را بیاورید.
مطابق شکل بالا، هر سابروتین در بخش ابتدایی خود دارای یک نام اختصاصی است که در هنگام تحلیل فراخوانی میشود. در واقع اگر نرمافزار قصد اعمال بار داشته باشد با فراخوانی نام DLOAD بارگذاری مربوطه را اعمال میکند و برای محاسبه تنش و کرنش به شکل هوشمند بدنبال UMAT در همان فایل میگردد و زیربرنامه مربوطه را فراخوانی میکند. حال میتوانید با خیال آسوده از تعداد بیشمار زیربرنامهها استفاده و برای تحلیل آنها را در یک فایل تجمیع کنید.
سلام
یه سوال داشتم
من ویندوز 10 رو کامپوترم نصبه
کدام ورژن آباکوس و اینتل فرترن رو میتونم روش نصب کنم برای راه اندازی سابروتین
قبلا خودم نصب کرده بودم اما روی وینوز 7 با ورژن قدیمی اباکوس
لطفا کمکم کنید روی اینم نصب کنم
مرسی
با سلام
حتما مطلع هستید که در یک نسخه خاص از آباکوس، شما نیاز به یک کامپایلر فرترن و نرم افزار Visual Studio دارید (البته معمولا این نرم افزارها در چند نسخه از آباکوس قابل استفاده ست)
در نسخه 6.14 آباکوس شما نیاز به VS 2012 و intel fortran composer XE 2013 دارید
با توجه به اینکه قبلا هم تجربه این کار را داشتید فکر میکنم مشکلی در این زمینه برای شما ایجاد نشه
اما با توجه به کاربرد زیاد این موضوع، سعی میکنم آموزش تصویری این مطلب را در یک فرصت مناسب آماده کنم تا همه دوستان بتونن استفاده کنن
مانا و برقرار باشید . . .
سلام بر دوست عزیز اقای سروری
زنده باشی ممنون از راهنماییتون
من VS 2012 و intel fortran composer XE 2013 رو اماده کردم با اباکوس 6.14.2
اما شنیدم 6.14.1 لازمه آیا درسته ؟
ایا شما تجربه نصب با 6.14.2 را دارین؟
کاش یه فیلمی داشت روی ویندوز 10 اینارو سوار میکردم
ممنون اگه اموزشو بزارین
یه دنیا تشکر دوست مهربونم
درود بر شما حمید جان
آموزش نصب آباکوس 6.14 (در اینجا) را مطالعه کنید، بر اساس نسخه 6.14.2 تنظیم شده
البته پیشنهاد میکنم قبل از نصب، system requirement برای 6.14 را بررسی کنید و از امکان نصب اون در W10 مطمئن بشید
متاسفانه بنده W10 نصب ندارم روی سیستم ولی سعی میکنم در یک فرصت مناسب بحث لینک کردن آباکوس و فرترن را در قالب یک پست آموزشی ارائه کنم (البته بر روی W7)
از ابراز احساسات صمیمانه شما هم بسیار سپاسگزارم
موفق و سرافراز باشید . . .
سلام و تشکر صمیمانه از جناب اقای سروری
ممنون بابت ارسال لینک و تشکر میکنم
منتظر پست اموزشی هستم البته اگه امکانش هست روز ویندوز 64 بیت ویندوز 7 امتحان کنید
چون مشکلم بیشتر روی همین هست و قبلنا چون روی ویندوز 7 با 32 بیت نصب کردم الان نمیشه روی 64 نصب کنم و ایراد میگیره و بعد از Verification عبارت Pass دیده نمیشه
بازم ممنون از کمکتون
مرسی
پس منتظر پست شما با اباکوس 6.14.2 و با فرترن کمپایلر روی ویندوز 7 ورژن 64 بیت هستم
مرسی
سلام و احترام
سعی میکنم در یک فرصت مناسب آماده کنم
موفق باشید
با سلام و خسته نباشید
اینجانب در یک پایان نامه که در مورد رفتار فایبرها با نرم افزار آباکوس مطالعه کرده بود و فایل ساب روتین جهت مشخصات مصالح را به عنوان ضمیمه پایان نامه قرار داده بود را مطالعه کردم. سوال اینجانب این است که چگونه می توانم از فایل note pad ساب روتین مورد نظر جهت مصالح در فایل مدلسازی خود استفاده کنم؟
ممنون
درود بر شما
فایل سابروتین پسوند for. داره، درسته که میشه با Notepad بازش کرد ولی قابل استفاده نیست
بسته به نسخهای از آباکوس که دارید باید Visual Studio و کامپایلر Fortran مناسب را نصب کنید و در مرحله بعد آباکوس را با فرترن لینک کنید
روشهای لینک کردن هم در اینترنت موجوده، میتونید مطالعه کنید
مانا باشید و برقرار . . .
سلام.خسته نباشی
بنده می خوام از سابروتین VDLOAD استفاده کنم.ولی پارامتراشو نمیشناسم و نمی دونم چطور تابع مورد نظرمو اعمال کنم.
می تونید کمکم کنید،با تشکر فراوان
با سلام
میتونید اطلاعات کامل یک سابروتین از جمله قالب نگارش و پارامترهای اساسی را در documentation مطالعه کنید
موفق باشید . . .
ممنون از راهنماییتون.
بله قالب هست و متغیر ها شو معرفی کرده.اما کامل متوجه نمیشم .چون مثالی هم نداره.
مثلا میدونم () curcoords فاصله نقطه انتگرال گیری از مبدا هستش و مثلا زمان .
ولی با همین دو متغیر کدی نوشتم برا یه فشاری که با زمان و مکان تغییر کنه ولی اصلا خروجی ها معقولانه نیست!
انگار به یه چیزای دیگه ای ربط داره که من متوجهش نیستم.
آقا یونس عزیز خواهشا دقیق تر راهنماییم کنید تا بتونم از این کد استفاده کنم .با تشکر فراوان
میتونید این مثال را مطالعه و الگوبرداری کنید (لینک)
من همون فایلی که میگیدو ران کردم،خروجی که نشون میده به نظر درست نیست.شما چک کردین خودتون؟
یه سوال دیگم دارم.اونم اینه که تو کدمون اگه بخوایم دستور رایتو بذاریم تا پارامتر های مورد نظرمونو تو فایل dat چاپ کنه ، چه عددی رو باید تو پرانتز براش بذاریم؟مثلا برا اینتر فیس سابروتین dload نوشته write(6,*)
میتونید برای پارامتر مورد نظرتون یه متغیر حالت تعریف کنید و آپدیتش کنید در هر مرحله
اینجوری میتونید حتی در ماژول Visualization هم به شکل کانتور نتیجه مورد نظرتون را مشاهده کنید
یا اینکه حتی از دستور (Print *, STRAN (1 برای مثلا کرنش استفاده کنید
سلانم آقای سروری عزیز
ینی نتیجه ای که در حالت عادی تو Visualization نشون میده غلطه!آخه همینجوریم تو Visualization پلات کانتور داره!
متغیر حالت چطوری هست؟ همچین متغیری رو تو فرترن ندیدم.چطور تعریف میشه؟
سلام
میتونید به این پست مراجعه کنید (آموزش بکارگیری متغیرهای حالت وابسته به حل در نرمافزار آباکوس)
در واقع برای پارامتر مورد نظرتون یک ظرف تعریف میکنید که مقدارش در اونجا ذخیره بشه
بعد هم در هر اینکریمنت آپدیتش میکنید
با سلام و احترام
ضریب هدایت گرمایی رو تو ماژول اینترکشن به صورتsurface film میشه وارد کرد.(تو استپ coupled temp-disp)
حالا نمیدونم اگه بخوام این ضریبh رو به صورت متغیر وارد کنم(با سابروتینFILM) ،کجا باید اعمالش کنم.تو حالت بالا user define نداره!
لطف کنید قبل از طرح سؤال با دقت Documentation را بررسی کنید، جواب سؤالاتی از این دست وجود داره
در مورد همین پرسش شما، دستورالعمل زیر را عیناً از Documentation کپی میکنم تا ببینید که پاسخ خیلی از موارد را میشه از خود راهنمای نرمافزار گرفت:
If you selected the User-defined definition option, perform the following steps
In the Film coefficient field, enter the film coefficient, h*
In the Sink temperature field, enter the sink temperature*
Enter the Job module, and display the job editor for the analysis job of interest*
In the job editor, click the General tab, and specify the file containing the user subroutine FILM*
بله ممنون ،اون برا حالت استاندارده،برا explicit نداره…
می خوام دمارو تو طول مدل حرکت بدم…
ببخشید اگه زیاد مزاحم میشم.
در سؤال قبلی نوشتید که میخواهید با سابروتین FILM کار کنید
خب سابروتین FILM برای Abaqus/Standard قابل استفاده ست نه Explicit
بحث حرکت دما در طول قطعه به روشهای مختلف قابل دستیابیه
حتی به شکل ساده میشه چندین step تعریف کرد و به کمک مش جلو رفت (اینجا)
سلام
من سابروتن vdload رو برا فشار متحرک نوشتم و می خوام همزمان با این فشار ،یک دمای متحرک و متغیر هم تعریف کنم .متاسفانه سابروتین FILM برا حالت استاندارده،در حالی که من فشارو تو حالتexplicit تعریف کردم.میشه راهنمایی کنید چه راهی برا اعمال این دما وجود داره؟
صمیمانه از راهنمایی هاتون سپاس گذارم.
نوع step ؟
من برا این نوع تحلیل استپ disp-temp,explicit رو در نظر گرفتم.
فکر میکنم باید به همان روشی که عرض کردم عمل کنید (تعریف stepهای مختلف و در نظر گرفتن المان دلخواه در step مورد نظر)
باسلام
در نرم افزار آباکوس در قسمت بار گذاری چگونه بار گسترده خطی با شیب مثبت بطور مثال در یک صفحه در نقطه x=0 مقدار بار گسترده صفر و در مکانx=10 مقدار بار گسترده 10 باشد را ایجاد کنم؟؟
سلام
میتونید از گزینه Analytical Field استفاده کنید (که به صورت (f(x در مقابل محل وارد کردن عدد نیرو قرار داره)
سلام خسته نباشید
ببخشید من حدود 5 ، 6 ماه است که در تلاش هستم تا آباکوس و فورترن را با هم مچ کنم اما نمی توانم. ورژن های مختلفی نصب کردم و حذف کردم اما هیچ کدام جواب ندادند . ویندوز لبتابم 10 و 64bit است و درایو هاشم بر اساس ویندوز 10 است و به همین خاطر ویندوزم را هم نمی توانم عوض کنم.
حال در آخر آباکوس ورژن 2016 با Visual Studio 2015 نصب کردم . نمی دانم شاید روش را اشتباه میروم . ببخشید می شود طرز مچ کردن انها را هم به طور کامل آموزش دهید و اگر امکان دارد فایل نرم افزار کرک شده اینتل فورترن را هم فرار دهید . بسیار سپاس گزارم.
با سلام
لطفا در مورد نحوه وارد کردن استفاده از پارامتر لارسون میلر در قسمت مشخصات(properties) خزش(creep) زمان سختی(time-hardening) توضیح دهید.
سلام
میتونید از Documentation کمک بگیرید
با عرض سلام و خسته نباشید و تشکر بابت زحمات شما
آیا علت خطای زیر در سابروتین نویسی رو می دونید؟
WindowsError: [Error 2] The system cannot find the file specified
متاسفانه کلیه سابروتین های که قبلا به خوبی اجرا می شدند، الان با چنین مشکلی مواجه هستند. ممنون میشم اگه راهنماییم کنید.
سلام
با چنین خطایی روبرو نشدم، نظر دقیقی نمیتونم داشته باشم
ممکنه مشکل از عدم لینک شدن آباکوس و فرترن باشه
متشکرم.
سلام
ممنون از مطالب مفیدتون
میخاستم بدونم میشه یک job در زمان خاصی ران بشه (مثلا ساعت 6:30) ؟! آیا تنظیماتی در آباکوس در این مورد وجود داره ؟!
سلام
در نسخه ویندوز خیر
این امکان وجود نداره
موفق باشید . . .
با سلام
ایا میتوانم از اباکوس 6.13 و فرترن کامپایلر11و ویژوال 2008 یا 2010 برای نوشتن سابروتین استفاده کنم؟
باتشکر
سلام
بله؛ برای نسخه 6.13 میتونید از ویژال استودیو 2008 و فرترن کامپایلر 11 استفاده کنید
سلام.در اجرای اباکوس با سابروتین به ارور زیر برخوردم(اباکوس 6.14 و فرترن 13 و ویژوال 2012) مشکل چیه و برای حلش باید چیکار کنم؟فرد دیگری همین سابروتین را اجرا کردن و مشکلی نداشته البته ورژن فرترن و ویژوالشون متفاوت بوده(فرترن 11 و ویژوال 2008) ایا مشکل از این موضوع می تواند باشد؟
Problem during linking – Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from release to release, so user subroutines used with a previous release of Abaqus may need to be adjusted.
سلام
لینک بین آابکوس و فرترن برقرار نشده
سلام جناب آقای سروری
خسته نباشید
میخواستم بدونم بعد از نصب برنامه فرترن 95 که حجمش 33 مگابایت است باید یک کامپایلر جدا هم نصب کنیم؟؟
چون من بعد از نصب فرترن 95 و نوشتن کد، موقعی که میخوام ران بگیرم با ارور زیر مواجه می شوم…
salford common language runtime linker has stopped working
سلام
شما باید ویژوال استودیو را نصب و بعد کامپایلر فرترن را نصب کنید
فقط کامپایلر کفایت میکنه
خیلی ممنون از پاسختون
ولی من ویژوال استودیو و کامپایلر PGI Visual Fortran 13.9 64Bit را نصب می کنم کرکش هم به درستی انجام دادم ، ولی وقتی از محیط ویژوال استودیو بعد از انتخاب new project فرترن را که انتخاب می کنم با ارور زیر مواجه می شوم
pgi pvf: LICENSE MANAGER PROBLEM: License file does not support this version, Feature: pgi pvf Application version License version: 2013,0912 2013.0815 License path: CAProgram Files\PGNicense dat license dat FLEXnet Licensing error: 21,126 For further information, refer to the FLEXnet Licensing documentation, available at http://www.flexerasoftware.com
باید intel visual fortran compiler نصب بشه
باسلام و خسته نباشید خدمت مهندس سروری، برای سابروتین نویسی ما یک بخش کوچکی رو معمولا تغییر میدیم و لزومی نیست که کل سابروتین رو از اول بنویسیم.حال سوال من این است که اگر مثلا من بخوام در بخش بارگذاری تغییری بدم با قرار دادن نام سابروتین(اینجا مثلا می شود dload) خود آباکوس تمام سابروتین های پیش فرض قبلی خودش فراخوانی میکنه فقط به بارگذاری میرسه سابروتین اصلاحی من رو جای گذین میکنه؟ سوال بعدی هم اینکه چجوری میشه سابروتینی که توسط آباکوس در یک تحلیل استفاده شده استخراج کرد تا با فرمتش آشنا شد؟ خیلی ممنون که وققت میذارید و پاسخ میدید.
سلام
هر سابروتین یک ساختار اصلی داره که شامل معرفی پارامترها و متغیرهاست، در اصطلاح Interface کد نام داره
بجز بخش بدنه شما باید بدنه و اصلی سابروتین را بنویسید
در سابروتینهایی مثل Dload قضیه خیلی سخت شاید نباشه ولی میتونید نمونه مثالهای UMAT و UEL در Documentation را ببینید
شما سابروتین خودتون را مینویسید (با قالب و فرمت استاندارد آباکوس)، فایل را ذخیره میکنید و بعد مسیر فایل را به آباکوس میدهید
شما به کدهای پیش فرض برنامه دسترسی ندارید
یک سوال دیگه که فراموش کردم. برای abaqus 6.13-1 از چه ورژن visual studio و فرترنی باید استفاده کرد؟
Visual Studio 2008
Intel visual fortran 11
باسلام خدمت مهندس سروری. برای حل مسئله ای که هم رفتار پلاستیک و هم رفتار الاستیک یک ماده را بررسی می کند باید دوبار ماتریس ddsdde را نوشت درسته؟ حالا برای اینکه آباکوس بفهمه کی از کدوم استفاده کنه باید با از تنش تسلیم استفاده کنیم و بگیم بیشتر از تنش تسلیم از ماتریس ddsdde دوم استفاده کن و کمتر از ماتریس اول؟
سلام
خیر، فقط یکبار
سلام مهندس، ممنون از مطالب مفیدتون
من میخوام با استفاده از سابروتین umat رفتار مکانیکی خاصی را برای مدلم تعریف کنم و پس از اون با استفاده از سابروتین usdfld و به روش progressive شروع به کاهش خواص ماتریس سفتی تا تخریب نهایی کنم. سوالم اینه که چطور میتونم خواص الاستیکی که ورودی umat هستند رو کاهش در صورتی که توی تب user material گزینه ی field variable وجود نداره.
سلام
در متن برنامه خواص را آپدیت کنید
مشکلی نیست