سابروتین نویسی با FORTRAN

چرا سابروتین می‌نویسیم؟

برخی کارهایی که در محیط CAE آباکوس قابل انجام نیستند را می‌توان با سابروتین‌نویسی انجام داد.

به عنوان مثال بارگذاری تابعی از مکان یا زمان در CAE قابل تعریف است اما اگر بارگذاری تابعی پیچیده از مکان و زمان باشد در CAE قابل تعریف نیست. در حالت کلی در سابروتین DLOAD میتوان بارگذاری را به صورت تابعی پیچیده از زمان، مکان، شماره المانها، شماره increment، شماره step و … تعریف کرد. این امر به کمک پارامترهایی که خود آباکوس به داخل  سابروتین می‌فرستد صورت می‌گیرد.

سابروتین DISP برای تعریف شرایط مرزی به صورت تابعی دلخواه از از زمان، مکان، شماره گره‌ها، شماره step و … تعریف کرد.

سابروتینهای رفتار مواد در آباکوس برای تعریف کامل رفتار مواد (مثل UMAT) یا قسمتی از رفتار مواد (مثل USDFLD، UHARD و …) استفاده می‌شوند. در این سابروتینها نیز می‌توان رفتار مواد را به صورت تابعی از زمان، مکان، شماره المانها، شماره increment، شماره step و … تعریف کرد. رفتار مواد می‌تواند تابعی از پیشینه‌ی بارگذاری باشد. می‌توان برای هر قسمت از مدل یک رفتار ماده خاص تعریف کرد. همچنین به کمک این سابروتینها می‌توان نمو زمانی (time increment) را به طور دلخواه کنترل کرد.

سابروتین UMAT برای تعریف رفتار ماده‌ی دلخواه بکار می‌رود. این رفتار مواد را می‌توان با المانهای موجود در آباکوس استفاده کرد. در سابروتین UMAT مقدار ماتریس  و مقادیر تنشها را باید تعریف کرد. سابروتین UMAT برای رفتارهای مواد پیچیده نظیر پلاستیسیته‌ تحت بار سیکلی سابروتین سختی می‌شود و بهتر است در صورت امکان بجای آن از سابروتین‌های ساده‌تر نظیر UHARD استفاده کرد. در سابروتین UHARD قسمت خطی در ماژول property تعریف شده و قسمت پلاستیسیته در سابروتین تعریف می‌شود.

سابروتینهای USDFLD و UFIELD برای تعریف متغیرهای میدانی بصورت تابعی دلخواه از از زمان، مکان، شماره المان‌ها، شماره step و … استفاده می‌شوند. به کمک این سابروتینها می‌توان مقادیر پارمترهای مختلف موجود در در ماژول property (نظیر دما، مدولها، ضرایب پواسون، پارامترهای آسیب، ضرایب انبساط حرارتی و …) را به صورت تابعی از متغیرهای میدانی استفاده کرد. نمونه‌ای از کاربرد این سابروتینها مکانیک آسیب، تعریف معیارهای آسیب در کامپوزیتها و .. می‌باشد.

سابروتین UVRAM برای تعریف خروجیهای دلخواه در آباکوس استفاده می‌شود. به کمک این سابروتین می‌توان هر خروجی دلخواه در نقاط انتگرالگیری مدل را برحسب پارامترهای نظیر مقادیر تنشها، کرنشها، ، مختصات مکانی، شماره المانها، شماره increment، شماره step و … تعریف کرد.

 

photo_2015-11-13_12-01-13