اهداف آموزش: با مطالعه این آموزش، ویژگی سابروتیننویسی در آباکوس و نحوه استفاده از سابروتین در یک مسئله را خواهید شناخت. همچنین فرا خواهید گرفت که چگونه از دو یا چند سابروتین مختلف به شکل همزمان در یک فایل تحلیل توسط آباکوس استفاده کنید.
سابروتین در آباکوس
همانطور که پیشتر نیز اشاره کردیم، یکی از ویژگیهایی که سبب شده تا نرمافزار اجزای محدودی نظیر Abaqus محبوبیت خاصی در میان کاربران پیدا کند قابلیت برنامهنویسی یا در اصطلاح سابروتیننویسی در ماژولهای گوناگون آن است (معرفی نرمافزار آباکوس). کافیست در محیط راهنمای نرمافزار آباکوس وارد بخش Abaqus User Subroutines Reference Manual شوید تا به لیستی از تمامی مواردی که امکان برنامهنویسی در آنها وجود دارد دست پیدا کنید. خزش، فلاکس یا شار حرارتی، رفتار اصطکاکی، قیود چندگانه، چگالی جریان، میدان دمایی، بارگذاری و رفتار یا خواص مکانیکی ماده تنها گوشهای از حوزههایی است که در صورت برطرف نشدن نیازتان از طریق پیشفرضهای گنجانده شده در آباکوس، قادر به برنامهنویسی و تحلیل مسئله خواهید بود.
تذکر: در تاریخ 17 آبان 95 آموزشی تحت عنوان “مقدمهای بر سابروتیننویسی در آباکوس” در سایت درج شد که به واکاوی ضرورت کدنویسی در آباکوس، اجزای اصلی سابروتین در آباکوس و معرفی برخی سابروتینهای معروف و پرکاربرد در آباکوس پرداخته است.
نحوه استفاده از چند سابروتین در آباکوس
یکی از نکات مهم که در استفاده از سابروتینها با آن مواجه میشوید نحوه بکارگیری چند برنامه در یک تحلیل است. در نظر بگیرید که قصد دارید از مادهای استفاده کنید که تحت یک بارگذاری مشخص رفتار خاصی از خود نشان میدهد و این رفتار به شکل پیشفرض در نرمافزار وجود ندارد. از طرفی، نوع بارگذاری اعمالی نیز خاص بوده و به ناچار باید کاربر برنامهای برای آن تهیه کند. لذا باید از دو سابروتین در تحلیل خود استفاده کنید. چنانچه تجربه تحلیل با سابروتین را داشته باشید، حتما میدانید که برای معرفی فایل مربوطه، باید در ماژول Job آدرس مربوط به فایل برنامه را وارد کنید (قبل از Submit کردن حل باید در تب General فایل فرترن سابروتین خودتون را در بخش User Subroutine File معرفی کنید).
ممکن است از خود بپرسید که در این بخش فقط امکان معرفی یک فایل وجود دارد، پس چگونه میتوان از برنامه بارگذاری و رفتار ماده در تحلیل استفاده کرد؟ این سوالی است که بسیاری از کاربران با آن مواجه میشوند اما پاسخی بسیار ساده برای آن وجود دارد. تنها کافیست تمامی سابروتینهای خود را در یک فایل پشت سر هم ذخیره کنید. ترتیب کار اهمیتی ندارد و مثلا میتوانید ابتدا سابروتین بارگذاری و در ادامه سابروتین رفتار ماده (UMAT) یا سابروتین مربوط به المان (UEL) را بیاورید.
مطابق شکل بالا، هر سابروتین در بخش ابتدایی خود دارای یک نام اختصاصی است که در هنگام تحلیل فراخوانی میشود. در واقع اگر نرمافزار قصد اعمال بار داشته باشد با فراخوانی نام DLOAD بارگذاری مربوطه را اعمال میکند و برای محاسبه تنش و کرنش به شکل هوشمند بدنبال UMAT در همان فایل میگردد و زیربرنامه مربوطه را فراخوانی میکند. حال میتوانید با خیال آسوده از تعداد بیشمار زیربرنامهها استفاده و برای تحلیل آنها را در یک فایل تجمیع کنید.
سلام و ادب
پیشاپیش تشکر میکنم از این همه بزرگواری
بنده میخوام سابروتین یک مدل رفتاری ترمومکانیکی رو بنویسم
با توجه به منوال سابروتین umat برای رفتار مکانیکی و سابروتین umatht برای رفتار حرارتی استفاده میشه.(ورژن6.13)
سوال بنده این هست که برای این مدل رفتاری ترمومکانیکی باید چه کاری رو دقیقا انجام بدم؟
فرمولاسیون مدل رفتاری به صورت کامل موجوده (جایی فرموده بودید برای شروع باید فرمولاسیون رو بدست بیارید)
مراحل بعدی رو به چه نحوی انجام بدم
سلام
بعد از استخراج روابط و معادلات ساختاری باید این معادلات را در حوزه زمان گسسته سازی و در نهایت به زبان فرترن برنامه نویسی کنید
تشکر فراوان
سوال اصلی بنده این هست که باید در دو سابروتینumat و umtht جداگانه نوشته بشه و سپس به دنبال هم بیاد؟در برخی فرمول ها هر دو رفتار وجود داره(مکانیکی و حرارتی) این فرمول ها در کدام سابروتین باید باشه؟
مرجع کاملی برای این کار هست؟
مرجع برای چه کاری؟
شما کد umatht را بنویسید؛ جداگانه معنی نداره
مهندس با این پست بخشی از مشکلم حل گردید لطفا بازم از این پست های کلیدی بزارید خیلی بدرد می خورن
3 روزه دارم دنباله کدی می گردم که دوتا سابروتینو متصل کنه:(
موفق باشید
سلام و خدا قوت
من دو تا umat رو ترکیب کردم با استفاده از همون حلقه ی CMNAME که تو DOCUMENTATION اومده ولی یکسره هر کاری کردم ارور زیر رو میده که مفهومش هم کاملا معلومه ولی بعد از کلی جابجایی و تغییرات فایده نداشت :
error #6236: A specification statement cannot appear in the executable section.
SUBROUTINE UMAT_HASH(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
——–^
آخه من بالا همون حلقه ی CMNAME رو تعریف کردم و سابروتینی که زیرش اومده رو خطای A specification statement cannot appear in the executable section میده.
دیگه نمیدونم واقعا … ممنون میشم کمک کنید.
سلام
در این مواقع باید کد را به دقت بررسی کنید
مشکل میتونه به ساختار کد برگرده؛ گاهی اوقات جای یک حلقه یا دستور اگر درست نباشه میتونه مشکلساز باشه
به هر حال، به شکل واضح مشکل به ساختار کد شما برمیگرده؛ یعنی ساختار دستورات در زبان فرترن
کافیه همین عبارت “A specification statement cannot appear in the executable section” را گوگل کنید تا متوجه موضوع بشید
ممنونم. اون مشکل رو حل کردم الان یه مشکل دیگه ای دارم که آباکوس حل رو میره جلو و تموم هم میشه ولی نتایجی رو نشون نمیده و وقتی روی کلمه ی monitor رو میزنم ارور میده که فایل dat این job وجود نداره! در صورتی که تو پوشه temp رو که چک می کنم هست! ریشه این مشکل کجا میتونه باشه؟( نحوه مدلسازیم کاملا درسته و تست شده.)
خب فایل odb که ایجاد شده را به شکل مجزا باز کنید
همه فایلها باید در یک پوشه باشه و work directory شما هم باید با این پوشه یکی باشه
سلام خسته نباشید من از زیر برنامه UEL استفاده کردم و ارور زیر میاد لینک اباکوس هم مشکلی نداره چون با فایلی خودتون گذاشتیه بودید ران گرفتم و مشکلی ندار
Error in job hgCopy: 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.
Job hgCopy aborted due to errors.
لطفا راهنمایی کنید؟
سلام و خسته نباشید من از کد سابروتین UMAT , UHARD برای Isotropic Hardening Plasticity استفاده می کنم کذ مشکلی نداره و ران میشه فقط تنها مشکلی هست که فقط از یک سابروتین در تحلیل من استفاده میشه و سابروتین دیگر رو نمیخونه. اگر من در قسمت متریال اباکوس از USER ELEMENT استفاده کنم فقط از سابروتین UMAT استفاده می کنه اگر از قسمت متریال اباکوس در قسمت پلاستیک از قسمت user
در Hardening Properties استفاده کنم وارد سابروتین umat نمیشه . اگر هم از دو متریال با هم استفاده کنم اباکوس ارور میده .The option *user material,type=mechanical completely defines the material behavior. It can not be used with an option that defines part of a material`s behavio
لطفا راهنمایی بفرمایید با تشکر.
سلام
از روش ذکر شده در این پست استفاده کردید ؟
سلام. وقت بخیر.متاسفانه در تحلیل خزش همراه با حرارت از سابروتین creep استفاده کردم و علیرغم وقت بسیار و تست کردن مثال های ساده جهت تایید این سابروتین نتونستم حالت transient(دما از 20 تا 600 درجه سانتیگراد) را در استپ visco با استفاده از سابروتین جواب بگیرم. ظاهرا فقط حالت steady state رو آباکوس در استپ viscoبطور مناسب انجام میده(دمای ثابت ) در صورتیکه مدنظرم transient است. سوالم اینه که با توجه به تجربه جنابعالی، چه سابروتینی را توصیه میکنید؟
سلام
میتونید umat را تست کنید ولی باید پیچیدگیهای این سابروتین را هم مدنظر داشته باشید