در این آموزش آباکوس شما با دلایل بکارگیری سابروتین نویسی، ضرورت برنامه نویسی و نحوه کد نویسی در آباکوس، اجزای اصلی سابروتین و برخی سابروتین های معروف و پرکاربرد در ABAQUS مثل UMAT، DLOAD، HETVAL و… آشنا خواهید شد.
سرفصل آموزش
سابروتین نویسی در آباکوس چیست؟
آباکوس در کنار تمامی امکانات و گزینههای ریز و درشت پیشفرض، این قابلیت را در اختیار کاربران علاقمند قرار داده تا بتوانند به کمک سابروتین نویسی در آباکوس توسط نرمافزار فرترن (که پایه و اساس نرمافزارهای بزرگ محاسباتی همچون آباکوس است) نیازهای خود در بالاترین سطوح علمی، پژوهشی و صنعتی را مرتفع سازند. فقط کافیست بر اصول و قواعد اجزای محدود و برنامهنویسی به زبان FORTRAN تسلط داشته باشید تا هرگونه محدودیتی را دور بزنید و با استفاده از سابروتین نویسی در آباکوس، لذت وصفناپذیر توسعه یک حل عددی را تجربه کنید.
دلایل بکارگیری سابروتین نویسی در آباکوس
قطعاً شما همراهان گرامی، در مجموعه پستهای معرفی و آموزش آباکوس و همچنین مجموعه مثالهای کاربردی آباکوس با گوشهای از تواناییها و قابلیتهای بینظیر Abaqus در حوزه شبیهسازی اجزای محدود آشنا شدهاید و میدانید که سابروتین نویسی در آباکوس یکی از ویژگیهای برجسته این نرمافزار است. طیف مسائل پوشش داده شده در کنار رابط کاربری ساده و قابل درک، باعث انتخاب آباکوس به گزینهای بسیار جدی برای کاربران دنیای حل عددی شده است.
اما تا کنون با خود اندیشیدهاید که آیا گزینههای پیشفرض موجود در آباکوس توانایی پاسخگویی به تمام نیازهای جدید کاربران را دارد؟ در جهانی که سرعت پیشرفت علم و ارائه مدلهای عددی و معادلات ساختاری توصیف رفتار ماده سرعت روزافزونی پیدا کرده است، نرمافزارهایی نظیر آباکوس چه راه حلی برای پاسخگویی به نیازهای بهروز محققین اتخاذ کردهاند؟
صرف میلیونها دلار هزینه در بحث تحقیق و توسعه و بروز نگاه داشتن هسته حل معادلات، استفاده از المانهای جدید با فرمولبندی خاص و منحصربفرد، توسعه مدلهای جدید ماده، افزودن حوزههای کاری و قابلیتهای شبیهسازی جدید و . . . تنها بخشی از نقشه راهی است که برای حضور در کورس رقابت در دنیای پرشتاب علمی قرن 21 باید بکار گرفت. اما آیا آباکوس نیز در این حوزه موفق بوده است؟
ضرورت کدنویسی در آباکوس
شاید با خواندن مقدمه فوق اندکی دقیقتر به قابلیتهای آباکوس نگاه کرده باشید. تمامی نرمافزارهایی که با آن آشنایی دارید از مجموعه قابلیتهای پیشفرضی برخوردارند که توسعه دهنده اصلی، برای پاسخگویی به بیش از 80 درصد از نیازهای کاربران در نرمافزار تعبیه کرده است. اما آیا تمامی مسائل موجود در حوزه علم و صنعت به کمک این ابزارهای پیشفرض قابل مدل سازی و بررسی هستند؟ متأسفانه پاسخ این پرسش منفی است.
اگر از کاربران پیشرفته و سطح بالای آباکوس هستید، میدانید که توسعه و بکارگیری مدلها، معادلات ساختاری، المانها و حتی بارگذاریهای خاص بهکمک گزینههای پیشفرض تعبیه شده در آباکوس امکانپذیر نیست؛ اما اگر از راهکارهای جایگزین گروه داسو سیستمز اطلاع داشته باشید، بیش از پیش این شاهکار دنیای محاسبات و مهندسی را تحسین خواهید کرد.
با توجه به درخواست شما عزیزان و همراهان گرامی، تصمیم گرفتیم تا در این پست آموزشی به معرفی اصول، قواعد و کاربردهای سابروتین نویسی در آباکوس بپردازیم و شما عزیزان را با معروفترین گزینههای سابروتین نویسی در آباکوس اشنا کنیم. با ما در این آموزش آباکوس نیز همراه باشید.
مروری سابروتین نویسی در آباکوس
اگر Documentation آباکوس را از نظر گذرانده باشید، بهخوبی میدانید که بخشهای مختلفی در این راهنمای بینظیر در اختیار شما قرار دارد. معرفی ابزارهای موجود، مسیر بکارگیری و اهداف استفاده از ابزار، آشنایی با تئوریهای بکارگرفته شده در توسعه یک روش، مجموعه مثالهای استاندارد و . . . از مهمترین و پرکاربردترین بخشهایی است که اکثر کاربران آباکوس از آن بهره می برند. اما شاید شما نیز هیچگاه از گزینه Abaqus User Subroutines Reference Guide استفاده نکرده باشید. اکنون وقت آن رسیده تا به کمی کنکاش و واکاوی در این بخش از راهنمای آباکوس نیز بپردازید.
تذکر: در پست آموزشی “کدنویسی در آباکوس” بصورت مجزا به بحث اسکریپت نویسی به زبان پایتون در آباکوس پرداخته شده است. در صورت نیاز به پست مربوطه مراجعه فرمایید.
کافیست بر روی این گزینه کلیک کنید تا به دنیای بینظیر و جذاب آموزش سابروتین نویسی در آباکوس وارد شوید. آباکوس بر حسب اینکه قصد دارید از کدام حلگر استفاده کنید، راهنمای مربوط به این بخش را در سه دسته مجزا قرار داده است:
- Abaqus/Standard Subroutines
- Abaqus/Explicit Subroutines
- Abaqus/CFD Subroutines
در واقع این راهنما به شما تأکید میکند پیش از شروع به کدنویسی برای مسئله خود، ماهیت حل و انتخاب حلگر مناسب را تعیین کنید و متناسب با نوع مسئله خود، به انتخاب و توسعه کد مورد نظر بپردازید.
اجزای اصلی سابروتین در آباکوس
پس از تعیین نوع حلگر و تصمیم به استفاده از سابروتین در آباکوس، باید به شناخت کد مورد نظر بپردازید. در ابتدا به شما توصیه میکنم کدنویسی را بهعنوان آخرین گزینه در حل یک مسئله در نظر داشته باشید؛ بهعبارت بهتر چنانچه گزینههای پیشفرض تعبیه شده در آباکوس جوابگوی نیازهای شماست، به سراغ کدنویسی نروید!
پس از اینکه فراخور مسئله و هدف مورد نیازتان تشخیص دادید که باید از چه سابروتین یا زیربرنامهای در آباکوس استفاده کنید، از طریق راهنمای نرمافزار به کسب اطلاعات در خصوص آن بپردازید.
کاری که شما قصد انجام آن را دارید به دقت نسبتاً بالایی نیازمند است؛ فقط کافیست تصور کنید برای یک لحظه کوتاه و البته به شکل ممتد و پیوسته، کنترل این غول محاسباتی را در دست گرفتهاید و فرمان مورد نظر خود را به آن صادر میکنید، محاسبات مربوطه را انجام میدهید و حاصل کار را برای ادامه حل به آباکوس وارد میکنید؛ در واقع شما واسطهای در حل شدهاید: در میانه راه کنترل را در دست گرفته و پس از انجام محاسبات مورد نظر مجدداً آباکوس را وارد میدان میکنید. ناگفته پیداست که تمرکز و تسلط بالا و اجتناب از کوچکترین خطای دستوری و برنامهنویسی، شرط اول در استفاده از یک سابروتین در آباکوس است.
پس از انتخاب سابروتین مورد نظر در راهنمای نرمافزار باید به شناخت ارکان اصلی کد بپردازید: هر سابروتین در آباکوس از مجموعهای از متغیرها و پارامترها تشکیل شده که در یک قالب خاص و از پیش تعیین شده باید نوشته شود. در واقع دو رکن اصلی هر سابروتین قالب یا Interface مربوطه و پارامترهای مورد استفاده در آن است. بهعنوان مثال، در شکل زیر قالب مربوط به UMAT (سابروتین مربوط به تعریف خواص و رفتار ماده در آباکوس) را مشاهده میکنید( برای آشنایی بیشتر با این سابروتین به آموزش مربوطه مراجعه کنید.
همانطور که در این قالب نیز مشخص شده است، شما باید از مجموعه متغیرهای استاندارد و شناخته شده برای آباکوس در کدنویسی خود استفاده کنید. البته آباکوس این امکان را به شما داده است تا در صورت نیاز و از طریق متغیرهای حالت، بتوانید به رفع نیازهای خود بپردازید. بدیهی است هر کدام از متغیرهای موجود در یک سابروتین مفهوم و معنای منحصربفردی داشته و باید از یک الگوی منظم در محاسبه و آپدیت شدن پیروی کند.
برخی سابروتین های معروف و پرکاربرد در آباکوس
حال که با کلیات، اهداف و قالب یک سابروتین آشنا شدهاید، چند SUBROUTINES معروف و پراستفاده در آباکوس را به شما معرفی خواهیم کرد:
- سابروتین CREEP: مورد استفاده برای تحلیلهای وابسته به دما، تغییر شکل ویسکوپلاستیک در ماده.
- سابروتین DLOAD: برای تعریف بارگذاری و توزیع بار غیریکنواخت در آباکوس (فشار و بار حجمی).
- سابروتین FRIC: چنانچه از مدلهای پیچیده و پیشرفته در تعیین نیروی برشی بین سطوح گوناگون و رفتار اصطکاکی ماده در تحلیل خود استفاده میکنید، این سابروتین به شما کمک خواهد کرد.
- سابروتین HETVAL: جهت تعریف مدلهای پیچیده در تولید حرارت داخلی در ماده.
- سابروتین UEL: از پیشرفتهترین و در عین حال پیچیدهترین سابروتینهای مورد استفاده در Abaqus/Standard است که برای تعریف و ایجاد کردن یک المان خاص بکار میرود. استفاده از این سابروتین به دانش و تخصص بسیار بالایی نیاز دارد.
- سابروتین UGENS: در تعریف رفتار غیرخطی پیچیده مکانیکی در المانهای پوستهای بر اساس Stiffness سطح مقطع استفاده میشود.
- سابروتین UMAT: این سابروتین برای تعریف رفتار ماده و معادلات ساختاری مورد نظر برای ماده مورد استفاده قرار میگیرد. UMAT از پیشرفتهترین و پیچیدهترین سابروتینهایی است که یک کاربر میتواند در تحلیل خود از آن استفاده کند. تسلط بر این زیربرنامه در گرو فراگیری مباحث مکانیک محیطهای پیوسته، ریاضیات، جبر تانسوری، پلاستیسیته و پلاستیسیته محاسباتی در بالاترین سطح آکادمیک است.
مکان قرارگیری سابروتین
هرچند شناخت کامل و درک عمیق از ساختار Abaqus، لازمه توسعه و استفاده از یک سابروتین نیست اما چنانچه شما بهعنوان یک توسعهدهنده، از ساختار و محتوای اصلی حل یک مسئله در آباکوس اطلاع داشته باشید، دید بسیار خوبی در خصوص سابروتین نیز پیدا خواهید کرد. در این قسمت روند کلی حل یک مسئله در آباکوس را در قالب یک فلوچارت از نظر خواهیم گذراند و مکان قرارگیری سابروتینهای مورد استفاده در آباکوس را به شما نشان خواهیم داد. شکل زیر روند پایه در استخراج داده و حل یک مسئله در Abaqus/standard را به شما نشان میدهد.
همانطور که ملاحظه میکنید هر یک از سابروتینهایی که در آباکوس مورد استفاده قرار میگیرد (با فونت قرمز مشخص شدهاند)، در مرحله خاصی از حل وارد عمل شده و پس از ایفای نقش خود، ادامه روند حل را به هسته اصلی آباکوس واگذار میکنند. حال اگر بهدنبال فهم دقیقتر و با جزئیات بیشتر از روند حل و بکارگیری سابروتین دارید، به شما توصیه میکنم فلوچارت زیر را با دقت واکاوی کنید:
ملزومات بکارگیری سابروتین در آباکوس
برای استفاده و بهرهمندی از زیربرنامه یا سابروتین در آباکوس نیاز دارید تا زبان برنامهنویسی فرترن (FORTRAN) را با Abaqus لینک کنید. برای این منظور بر حسب نسخه مورد استفاده آباکوس، باید در گام اول به نصب Microsoft Visual Studio بهعنوان بستر لازم جهت اجرا و شناخت زبانهای گوناگون برنامهنویسی بپردازید. سپس در ادامه، باید کامپایلر فرترن سازگار با نسخه آباکوس مورد نظر را دانلود کرده و نصب نمایید. با انجام این کار قادر خواهید بود تا کد مورد نظر را با رعایت قوانین برنامهنویسی فرترن در محیط ویژوال استودیو توسعه دهید و از کامپایلر زبان فرترن برای اجرای آن استفاده نمایید.
پس از نصب ویژوال استودیو و کامپایلر زبان فرترن باید توسط دستوراتی ساده ( و گاهاً پیچیده!) آباکوس را با فرترن لینک نمایید. با توجه به تخصصی بودن موضوع، سعی خواهم کرد در پستی جداگانه و در زمان مناسب، نحوه لینک کردن آباکوس و فرترن را به شما عزیزان آموزش دهم. عملاً با برقراری ارتباط بین این دو نرمافزار قادر خواهید بود کار مربوط به سابروتین نویسی در آباکوس را آغاز نمایید.
لینک کردن آباکوس و فرترن
در آموزشی جداگانه نحوه لینک کردن آباکوس 2017 با فرترن ارئه شد. شایان ذکر است که دستورالعمل موجود برای لینک کردن آباکوس 2016 با فرترن (Fortran) نیز قابل استفاده است و تفاوتی وجود ندارد. جهت مطالعه آموزش مربوطه روی لینک زیر کلیک کنید.
برای دانلود فایل PDF نحوه سابروتین نویسی در آباکوس روی لینک زیر کلیک کنید. حجم این فایل PDF آموزشی 2 مگابایت بوده و شامل 350 صفحه است.
با عرض سلام چگونه حرکت جوشکاری در 3 جهت (X=Rcos(wt و Y=Rsin(wt)+vtو (Z=Asin(2πft را می توان در روی یک تیر در سابروتین نوشت بسیار ممنونم
سلام
میتونید از سابروتین DFLUX استفاده کنید
سلام. وقت بخیر
میخواستم نیروی لورنتز(که ناشی از میدان مغناطیسی هستش)رو در حالت استاتیکی به یک ورق اعمال کنم.
نیروی لورنتز تابعی از مشتقات و خوده مقدار خیز ورق هست. با سابروتین DLOAD تلاش کردم ولی موفق نشدم
آیا این سابروتین مناسب است؟
همچنین از طریق کوپل کردن قسمت الکترومگنیک آباکوس با قسمت استراکچرال هم تلاش کردمم اما نتیجه ای نداشت.
با تشکر
سلام
تجربه ای در این مورد که اشاره کردید نداشتم
با عرض سلام
میخواستم بدونم که برای شبیه سازی حرکت تایر خودرو بر روی سطوح مختلف با سرعت های بالا مثلا 120 کیلومتر بر ساعت باید سابروتین نویسی کرد یه بدون کد نویسی هم میشه کار رو پیش برد؟
ممنون ازتون
سلام
فکر نمیکنم نیازی به سابروتین نویسی باشه، مگر اینکه بارگذاری خاص و نامتعارفی مد نظرتون باشه که با پیش فرضهای آباکوس قابل اعمال نیست
مهندس من از کجا میتونم یه منبع و مرجع خوبی برای این نوع از شبیه سازی پیدا کنم؟
بحث سابروتین نویسی منبع خاصی نداره
شما نیاز دارید به زبان برنامه نویسی فرترن مسلط باشید تا بتونید برنامه خودتون را در قالب استاندارد آباکوس بنویسید
اما قسمت سخت موضوع زمانیست که شما قصد نوشتن سابروتینهای ماده و المان (مثل UMAT) را داشته باشید؛ برای این منظور باید تئوریهای مکانیک محیطهای پیوسته، پلاستیسیته محاسباتی، پلاستیسیته و محاسبات عددی را مسلط باشید
در واقع این سابروتینها تلفیقی از علوم مختلف هستند
بسیار متشکر از آموزش هاتون
موفق باشید
سلام.
میخواستم از دو سابروتین umat همزمان استفاده کنم. خود documentation آباکوس رو خوندم و یک حلقه ای معرفی کرده که فقط نمیدونم چجوری باید اعمالش کنم! تو researchgate هم جواب خاصی دستگیرم نشد. محبت می کنید اگر راهنمایی کنید.
سلام
کار سختی نیست
یک حلقه نیاز دارید، اگر شرط شماره 1 برقرار بود (این شرط میتونه هر چیزی باشه، مثلا اگر متریال برابر با ST بود) از UMAT1 استفاده کنه و در غیر اینصورت از UMAT2:
IF (CMNAME(1:4) .EQ. ‘MAT1’) THEN
CALL UMAT_MAT1(argument_list)
ELSE IF(CMNAME(1:4) .EQ. ‘MAT2’) THEN
CALL UMAT_MAT2(argument_list)
END IF
دقیقا مشکل من همین بحث اینه که این حلقه رو باید تو یک فایل فرترن بندازم مثلا اولش… این که چجوری روی دو تا سابروتین ها اسم بذارم که بعد فراخواتی بشه و یه مسئله دیگه هم بحث اینه که به جای argument_list باید چی تعریف کنم ؟
با تشکر
دوست عزیز شما نیازی نیست کار سختی بکنید:
یک حلقه ساده ست
خط اول شرط اولتون را بنویسید (مثلا: If NTENS=3)
یومت اول را کپی کنید (ساختمان کد اصلی)
بعد else
یومت دوم را کپی کنید
همین
متوجه شدم ممنون از پاسخگوییتون.
سلام خسته نباشید .
من می خوام شرایط دیسک و لنت ترمز رو شبیه سازی کنم و میزان سایش رو اندازه بگیرم . در یک مقاله دیدم که کانتور wear رو گذاشته و این کانتور جز خروجی های استاندارد آباکوس نبود . میشه راهنمایی کنید از کدوم سابروتین باید استفاده کنم ؟ آیا از سابروتین FRIC باید بهره ببرم ؟ اگه ممکنه در مورد نحوه نوشتنش و یا منبعی برای کد این سابروتین راهنمایی کنید یه دنیا ممنون میشم .
سلام
اطلاعی ندارم
سلام
در مورد تغییر درجه حرارت اعمالی به طور مثل کاهش حرارت از مقدار مشخص تا مقداری دیگر با توجه به زمان، آیا نیاز به کد نویسی هست یا خیر؟
در یک مثال ساده دسیک، اگر مرز بیرون دارای شرایط کاهش دما با توجه به زمان باشد استفاده از amplitude کارایی خواهد داشت یا اینکه حتما باید از کدنویس استفاده شود.
با تعریف amplitude در مرز و تغییر آن با زمان، بنده به مقدار دمایی بیش از دمای ماکزیمم رسیدم، به این شکل که گویا هر کاهش دما را بعنوان دمایی اضافه بر دمای لحظه قبل اعمال میشود و سبب افزایش آن میگردد.
سلام
میتونید از amplitude استفاده کنید
این امکان وجود داره بیشتر توضیح بفرمایید؟
چون با تعریف amplitude به مقدار دمایی بیش از دمای ماکزیمم وارد شده در magnitude رسیدم، گویا هر کاهش دما را بعنوان دمایی اضافه بر دمای لحظه قبل اعمال میشود!!!
توضیحات پست مربوط به amplitude را مطالعه کنید
سلام .ممنون از سایت خوبتون واقعا عالی و کاربردی هستش.سوال من این هستش چطوری میتونم اباکوس رو با الگوریتم ژنتیک متلب لینک کنم.الگوریتم هر بار یه سری خصوصیات جدید تولید میکنه چطوری اونا رو به اباکوس بدم ؟؟
سلام
میتونید از نرم افزار ISight استفاده کنید، این نرم افزار یک بستر برای شما فراهم میکنه که بتونید برنامه های مختلف را به هم وصل کنید
باید مسئله خودتون در آباکوس را به صورت پایتون در بیارید (با پارامترهای مشخص) و این پارامترها را با متلب بهینه کنید و هر بار این پارامترها را جایگزین قبل کنید
ینی میشه هر بار پارامتر های هندسی قطعه رو با سابروتین نویسی عوض کرد و هر بار اون رو تحلیل کرد؟
جایی به سابروتین اشاره نکردم
هر مسئله ای که در آباکوس قصد تحلیل داشته باشید از صفر تا صد در قالب یک کد پایتون در میاد و رابط گرافیکی که شما با اون کار میکنید عملا یک پوسته از همون کد پایتون هست
پس شما میتونید مسئله خودتون را در قالب یک کد پایتون در بیارید
با داشتن کد پایتون مسئله میتونید به کمک Isight حلقه بهینه سازی را تکمیل کنید
سلام آقای مهندس
دو تا سوال داشتم:
در یومتی که برای محاسبه مقادیر الاستیسیته سه بعدی نوشتم تنش های انحرافی در نقاط انتگرال گیری رو لحاظ کردم با دستور پرینت در انتهای برنامه هر شش تا تنش در هرنقطه محاسبه شد . حالا میخام توزیع این تنش ها رو در محیطvisualization به صورت کانتور های رنگی ببینم . چه جوری باید اینکارو بکنم؟ یا مثلا کانتور های آسیب رو میشه دید؟
سوال دیگه این که در فایل نتایج آباکوس مثلا برای جابه جایی برخی نودها که در هنگام مدل سازی تکیه گاه ثابت منظور شده بودند مقادیر عددی غیر صفر اما بسیار کوچک مثل توان منفی چهل قرار میده . حالا میشه کاری کرد که این چنین مقدار هایی عملا با صفر نشان داده بشه؟ مثلا در نرم افزار انسیس جابه جایی تکیه گاه ها صفر اند.
سلام
همه SDV ها در خروجی در قالب کانتور نمایش داده میشن (از جمله مقدار آسیب و . . .)؛ کافیه در Visualization فیبتر را روی SDV قرار بدید و متغیر حالت مورد نظرتون را انتخاب کنید
اگر منظورتون در کدنویسی باشه این موضوع میتونه به روشهای عددی بکار گرفته شده در کد شما برگرده، یعنی خطاهای گرد کردن اعداد و مقادیر
بله SDV هایی که در کد یومت تعریف میشن با اسامی SDV1 , SDV2 و… در فیبتر Visualization نمایش داده میشن اما توزیع یکدست با مقدار صفر در کل مدل ظاهر میشه. مثلا در کد یومت این سه خط رو اضافه کردم :
Sm=STATEV(1)
Sm=(STRESS(1)+STRESS(2)+STRESS(3))/3.0D0
PRINT*, Sm
مقدار Sm در یک فایل متنی در تمام نقاط انتگرال گیری با مقادیر غیر صفر و درستش در یک فایل متنی ذخیره میشه اما وقتی بخام توزیع Sm رو مثل تنش وون مایسز ببینم شکل یکدست با sdv1 صفر نشون میده.
در مورد جواب سوال دوم هم منظورم کد نیست به عنوان نمونه وقتی یک تیر یک سرگیردار با یک نیرو در انتهایش را با امکانات موجود در خود نرم افزار تحلیل می کنیم اون نود های بسته شده جابه جایی هایی غیر صفر اما بسیار کوچک دارند
که قاعدتا باید صفر باشند. به یک فایل نتایج مربوط به جابه جایی نودها نگاه کنید تکیه گاه ها صفر نیستند.
توزیع صفر برای متغیری که ذاتاً باید غیر صفر باشه یعنی متغیر به درستی آپدیت نشده
مجدداً حلقه آپدیت متغیرتون را بررسی کنید؛ درسته شما دارید در فایل متنی مقدار درست را میبینید ولی ممکنه درست بعد از این دستور پرینت و در خارج از حلقه مقدار به درستی آپدیت نشه و همون مقدار اولیه را در نظر بگیره
در خصوص سؤال دومتون این موضوع به خطاهای عددی برمیگرده؛ میتونید تحلیلتون را Double precision انجام بدید
سلام دوست عزیز
من سوالم فنی نیست. فقط خواستم ببینم چطور میشه سابروتین و اسکریپت نویسی رو یاد گرفت؟ بهترین راهکار چی هست؟
با تشکر
سلام
برای اسکریپت نویسی باید زبان برنامه نویسی پایتون را یاد بگیرید و دستورات پایتون را در قالب مورد قبول آباکوس در بیارید
برای سابروتین نویسی هم بستگی به این داره که قصد نوشتن چه سابروتینی داشته باشید؛ الفبای سابروتین نویسی تسلط به زبان برنامه نویسی فرترنه
اما اگر قصد نوشتن سابروتین سطح بالا مثل UMAT داشته باشید فقط برنامه نویسی کافی نیست و باید دروسی مثل جبر ماتریسها، مکانیک محیطهای پیوسته، پلاستیسیته، پلاستیسیته محاسباتی و محاسبات عددی را هم مسلط باشید
سلام
برای تحلیل کمانش پوسته استوانه ای که تحت بارهای مکانیکی و حرارتی قرار گرفته باید سابروتین نویسی کرد؟
بارهای مکانیکی به صورت محوری و فشار خارجی یکنواخت و غیر یکنواخت و بار های حرارتی به صورت گرادیان های دمایی شعاعی و طولی هستند.
سلام
میتونید ابتدا بارهای حرارتی را در یک مسئله جداگانه حل کنید
بعد نتایج را با Predefined Field روی یک مسئله جدید اعمال کنید و بار مکانیکی را هم وارد کنید تا کمانش را بررسی کنید
اینجوری نیازی به سابروتین نیست
با سلام و خسته نباشید
برای مدلسازی با اباکوس صفحات کامپوزیتی تقویت شده که الیاف شیشه بصورت بافته شده(زوایای 0 و 90 درجه) باید مدل بشن ایا راهی بجز استفاده از سابروتین یومت و وی مت هست؟منظورم در مدلسازی الیاف بافته شدست.
سلام
مدلسازی کامپوزیت چه ارتباطی به سابروتین داره؟
در همین سایت هم نمونه تحلیل صفحه کامپوزیتی موجوده
سابروتین UMAT و VUMAT برای خواص ماده ست، اگر رفتار ماده شما خاص باشه (مدل آسیب خاصی مد نظرتون باشه یا اینکه رفتار کششی خاصی داشته باشه و . . .) که به شکل پیش فرض در آباکوس وجود نداره باید سابروتین نویسی کنید (فقط بخش متریال)؛ ربطی به مدلسازی کامپوزیت نداره
سلام. ببخشید برای pinching بتن که ناشی از وجود ترکها در بتن مباشد و در بارگذاری چرخه ای رخ می دهد آیا میتوان از سابروتین استفاده کرد؟
سلام
بررسی نداشته ام
با عرض سلام و خدا قوت
من بنا به نیازم یک یومتی رو طراحی کردم که ترکیبی از سه تا یومت هستش و گذاشتمش روی اجرا علاوه بر این که مدلم تقریبا سنگین هست و نوع تحلیلم هم implicit هستش و در حوزه ی ویسکوالاستیک حل میشه و … جزییاتش بماند …
میخواستم ببینم حجم 5 ترابایتی برای فایل dat در directory منطقیه ؟؟ (با توجه به تخمینی که بعد از 8 درصد اجرا زدم که اجرا هم حدودا 10 روز طول میکشه با یه سیستم نسبتا خوب!)
سلام
منطقی که نمیشه گفت هست ولی این بستگی داره به اینکه شما چه تنظیماتی در یومت برای ثبت خروجی اعمال کرده اید، تعداد متغیرها، تعداد المان و . . .
سلام. من میخوام برای مدلم سابروتین uexpan بنویسم با فرترن آشنایی دارم و کدنویسی کردم ولی سابروتین ننوشتم. میخواستم بدونم منبعی چیزی هست که بشه از روش یاد گرفت؟
سلام
باید documentation را مطالعه کنید تا با فرمت سابروتین آشنا بشید، متغیرها را بشناسید، نحوه آپدیت متغیرها را یاد بگیرید و . . .
بعد از این مرحله باید رابطه مورد نظرتون را که رفتار expansion را توصیف میکنه در قالب قابل قبول برای آباکوس که در مرحله قبل اشاره شد دربیارید و پیاده سازی کنید
سلام
برای مدلسازی پدیده نفوذ بر حسب غلظت گونه ها سابروتین نویسی مناسب هست؟ اگر بله از چه زیرمجموعه ای باید استفاده کنم؟
سلام
بررسی نداشتم
سلام
برای یک تحلیل المان محدود معکوس باید کرنش را به عنوان ورودی مسئله به آباکوس داد
ایا امکان چنین کاری تو اباکوس هست که کرنش را در بعضی نقاط داد و جابجایی را در کل هندسه جسم بدست اورد
ممنون
سلام
خیر
سلام و خسته نباشید خدمت شما آقای سروری
نسخه 2020 آباکوس cfd دارهi?
نسخه 2020 اباکوس سابروتین نویسی داره و با فورترن لینک میشه؟
با تشکر
سلام
خیر، محیط مدلسازی cfd نداره
سابروتین نویسی مشکلی نداره؛ اینکه کدام نسخه ها با آباکوس 2020 لینک میشه اطلاع ندارم