مقدمه ای بر APDL
در ابتدای ایجاد این زبان برنامه نویسی ، برتری آن نسبت به سایر برنامه ها نحوه کد نویسی آن بود. علت این بود که برای نوشتن دستورات بجای مرتب کردن در ستونها از شاخص هایی که به وسیله کاما از یکدیگر جدا می شدند، استفاده شد. به عنوان مثال بجای ایجاد نود به شکل زیر
۰٫۰۰۳۴ ۱۷٫۴۵۶۷ ۱۲٫۴۵۶ ۳۴۵
می توان دستور را در خطی به شکل زیر تعریف کرد
N,345,12.456,17.4567,0.0034
نحوه نوشتن دستورات به این شکل است که هر دستور با یک کلمه کلیدی که در ادامه آن تعدادی شاخص قرار دارد معین می شود. معنی و کاربرد این شاخص ها در مرجع help نرم افزار به خوبی معرفی شده است. به عنوان مثال دستور ایجاد ند در help به شکل زیر بیان شده است.
مطلب کلیدی دیگری که درباره دستورات MAPDL مطرح می باشد این است که تمامی مولفه (به غیر از نیروها و شرایط مرزی) دارای یک مشخصه یا ID می باشند. به عنوان مثال اگر شما نیاز به یک دستگاه مختصات داشته باشید ابتدا در طی فرآیند ساخت به آن یک ID اختصاص می دهید سپس به هنگام نیاز به دستگاه مختصات مذکور ID مرجع اختصاص داده شده به آن را فرا خوانی می کنید. همین رویه را می توان برای تعریف المان یا نوع المان ( Element Type)، خواص مواد و غیره به کار گرفت.
آنچه در انتها باید به آن اشاره کرد این است که محیط Mechanical روز به روز گسترده تر می شود و باید قبل از آنکه به سراغ کد نویسی در این محیط برویم با مطالعه و تحقیق مطمئن شویم که امکانات لازم در محیط مذکور موجود نمی باشد.
دستورات
۱. !
علامت تعجب خود یکی از دستورات محیط APDL می باشد. مطالبی که در ادامه و سمت راست این علامت قرار گیرد توسط نرم افزار صرف نظر می شود و به آن ترتیب اثر داده نمی شود. از مهم ترین کاربردهای این دستور می توان به اضافه کردن مطالب جهت یادآوری فرایند کد نویسی اشاره کرد.
۲. /PREP7 – /SOLU – /POST1 – FINISH
محیط MAPDL شامل ۱۰ پردازنده (processor) می باشد که هر دستور در بعضی از این پردازشگر ها کار می کنند و بسیاری از این دستورات فقط در یک محیط کارایی دارند. به عنوان مثال اگر دستوری که مربوط به preprocessor در قسمت postprocessor وارد کنید با اخطاری از سوی نرم افزار مواجه می شود و آن دستور حذف می شود.
وقتی دستوری در محیط Mechanical وارد می شود این دستور بسته به مکانی که در درختواره طراحی وارد می شود در یکی از پردازشگر های Preprocessor، Solution processor و یا Post processor قرار می گیرد. اگر می خواهید که دستور در یکی دیگر از پردازشگرها اعمال گردد باید از دستورات این بخش استفاده کنید. فقط به یاد داشته باشید که به کمک دستورات بالا روند تحلیل به پردازشگر پیش فرض برمی گردد.
/PREP7
تحلیل را به پردازشگر Pre processor منتقل می کند. از این دستور می توان در مواقعی که با کارهایی از قبیل تغییر المان، ایجاد اجزا و یا اصلاح مش سروکار داریم بهره جست.
/Solu
تحلیل را به پردازشگر Solution processor منتقل می کند. یکی از موارد استفاده از این دستور موقعی است که از /PREP7 استفاده شده است و نیاز به بازگشت به پردازشگر solution وجود دارد. تغییرات در بارگذاری، شرایط مرزی و تنظیمات حلگر از قابلیت های این پردازشگر می باشد.
/POST1
تحلیل را به پردازشگر post processor منتقل می کند. این پردازشگر امکان فراوری نتایج را فراهم می آورد.
FINISH
از این دستور هنگامی استفاده می شود که با تغییر نام فایل اجرایی سروکار داریم.
۳. TYPE – MAT – REAL – SECNUM
هنگامی که قرار است که المان خود را ایجاد کنید نیاز به این دستورات دارید. باید توجه داشت که دانستن این دستورات می تواند بسیار مفید به فایده باشد چرا که تنظیمات مربوط به element attributes یکی از مباحث پایه ای در محیط APDL می باشد. پس مطالعه این دستورات برای آشنایی با مباحث element attributes می تواند مفید باشد.
هر المان خواص ویژه خود را دارد که به کمک آنها وضعیت آن المان مشخص می شود. وقتی المانی تعریف می شود بجای اینکه تمام خواص برای هر المان جداگانه مشخص شود، ابتدا خواص تعریف می شوند و به هر کدام شماره ای (number) اختصاص داده می شود سپس شماره مربوطه به المان نسبت داده می شود. ساده ترین مثال در این حوزه خواص مواد می باشند. ابتدا یک ماده خاص با شماره ای ویژه خود تعریف می شود سپس آن شماره به تمام المان های مدل که قرار است با آن خواص تحلیل شوند، نسبت داده می شود.
می توان گفت نحوه کارکرد دستورات در زبان APDL تقریبا به این شکل می باشد که هر دستور فرایندی متناظر با نوع نگارش خود را به سرانجام می رساند. به عنوان مثال دستور TYPE نوع المان، MAT برای المان ID، REAL در واقع شماره real constant و SECNUM شماره section را مشخص می کند. به عنوان مثال اگر از دستورات زیر استفاده کنید:
type,4
real,2
mat,34
secnum,112
e,1,2,3,4,11,12,13,14
خروجی آن به شکل زیر خواهد بود:
NODES |
SEC |
ESY |
REL |
TYP |
MAT |
ELEM |
۱ ۲ ۳ ۴ ۱۱ ۱۲ ۱۳ ۱۴ |
۱۱۲ |
۰ |
۲ |
۴ |
۳۴ |
۱ |
۴. ET
حلگر MAPDL دارای صدها المان می باشد. به هنگام فرآیند شبیه سازی، Mechanical المانی که بر اساس شرایط کلی مناسب تر به نظر می رسد را به صورت پیش فرض انتخاب می کند. ولی در برخی موارد این انتخاب بهترین انتخاب برای مدلی که روی آن کار می کنیم، نمی باشد. در این مواقع دستور فوق کارایی پیدا می کند.
نکته:
آنچه در هنگام تعویض المان ها باید به آن توجه کرد تشابه توپولوژیک المان های اولیه و جایگزین است. به عنوان مثال نمی توان المان پوسته ای ۴ ندی را با المان هگز ۸ ندی تعویض کرد. اما اگر مرتبه ند المان ها یکی باشد می توان برای تعویض المان ها از دستور فوق بهره جست.
۵. EMODIF
اگر ثوابت و ویژگی هایی نظیر real constant، element type و material ID از قبل تعریف شده باشند و بخواهید تغییراتی در المان ها به وجود بیاورید می توانید از این دستور که راهی سریع برای تغییر می باشد، استفاده کرد.
6. MP – MPDATA – MPTEMP –TB – TBDATA – TBTEMP
شاید به جرات بتوان گفت سری دستورات مربوط به تعریف خواص مواد از مهم ترین دستورات در محیط APDL می باشند. خواص خطی مواد بر حسب دما توسط دستور MP به صورت یک چند جمله ای و توسط دستور MPDATA و MPTEMP به صورت خطی چند تکه ای تعریف می شود. مواد غیر خطی نیز توسط دستورات TB، TBDATA و TBTEMP تعریف می شوند.
به عنوان یک توصیه بهتر است که دستورات مربوط به خواص مواد در یک فایل text ذخیره شود تا این دستورات همواره در دسترس باشند و بتوان از این دستورات در صورت نیاز به راحتی دوباره استفاده کرد.
7. R – RMODIF
همان طور که قبلا اشاره شد توسط دستور ET نوع المان و به کمک دستورات بخش قبل خواص مواد را تعیین می کنید. حال سوالی که مطرح می شود این است که سایر مشخصات مانند ضخامت پوسته، پارامترهای مربوط به تماس و غیره چگونه تعریف می شود. در واقع ثوابتی (real constants) مانند آنچه در بالا اشاره شد توسط دستورات R و RMODIF تعیین می شوند. در تعریف real constants می توان گفت ورودی هایی هستند که برای انجام محاسبات مربوط به ماتریس سختی ضروری هستند ولی بدست آوردن آنها از راههای دیگر جز نسبت دادن به مدل امکان پذیر نیست.
۸. NSEL – ESEL
همان طور که پیش از این نیز به آن اشاره شد فرآیند انتخاب (Selection) یکی از مباحث مهم در زمینه آشنایی با شیوه کارکرد MAPDL می باشد. باید در نظر داشت که بجای اعمال شرایط مرزی، مشاهده و تغییرات تک تک اجزای مد نظر، راحت تر آن است که همه آنها را در حالت active قرار داده و یکجا فرآیند اعمالی را انجام داد. منظور از مجموعه active مجموعه ای است که سایر اجزا خارج از آن از تغییرات، اعمال شرایط مرزی و غیره مبرا می باشند.
برای عملی کردن فرضیه بالا باید توجه داشت که شما در محیط MAPDL همواره با مفاهیم ریاضی به نام ند یا المان سروکار دارید که دستور NSEL و ESEL می تواند برای انتخاب این مفاهیم کمک شایانی باشد.
۹. NSLE – ESLN
در برخی مواقع شما ندهایی را دارید و نیاز است المان هایی که به این ندها متصل هستند انتخاب شوند و یا در شرایط عکس ، المان هایی دارید و نیاز است که ندهایی که به این المان ها متصل شده اند، انتخاب شوند.در این مواقع به سراغ این دستورات می رویم. دستور NSLE ندهای متصل به المان های فعال را انتخاب می کند و ESLN المان های متصل به ندهای فعال را انتخاب می کند.
10. ALLSEL
یکی از رایج ترین اشتباهاتی که کاربران در هنگام کد نویسی به زبان APDL در محیط Mechanical انجام می دهند، فراموش کردن انتخاب کل مجموعه بعد از انتخاب مجموعه ای که می خواهند روی آن عملیاتی انجام دهند، می باشد. شرایطی را در نظر بگیرید که به کمک دستور NSEL ندهایی از مدل را انتخاب و تغییرات خود را اعمال کرده اید. اگر مدل خود را در چنین شرایطی رها کنید در هنگام حل با خطایی از سوی نرم افزار مواجهه می شوید. علت این خطا فعال نگهداشتن ندهای انتخاب شده به تنهایی می باشد.
این مشکل توسط ALLSEL با فعال کردن تمامی اجزای مدل حل می شود. پس بهتر است به عنوان یک ترفند این را در نظر داشته باشید که هر گاه با دستورات انتخاب سروکار داشتید در انتهای کد نویسی خود از دستور ALLSEL استفاده کنید.
۱۱. CM – CMSEL
اگر شما کاربر محیط Mechanical باشید حتما با مفهوم Named Selection آشنایی دارید.
در تعریف این ابزار می توان گفت که Named Selectionها مجموعه ای از:
ندها، المان ها، سطوح، لبه ها و … می باشند که در مراحل مدل سازی و بررسی نتایج می توان بجای انتخاب مستقیم اجزا از این بسته های آماده که از قبل توسط کاربر ایجاد می شوند بهره جست.
در MAPDL این ابزار با نام component شناخته می شود.
گفتی است که در هنگام مدل سازی در پس زمینه نرم افزار هر Named Selection که از جنس هندسه ایجاد شده باشد، تبدیل به یک component متشکل از یک سری ند می شود. این ندها همان ندهایی هستند که پس از المان بندی هندسه مذکور ایجاد شده اند. همچنین می توان Named Selection هایی از جنس المان و ند نیز ایجاد کرد که در پس زمینه نرم افزار آنها نیز تبدیل به component از جنس خود می شوند.
آنچه درباره CM می توان گفت این است که از این دستور در هنگام کد نویسی برای ایجاد component استفاده می شود. در ضمن از دستور CMSEL برای انتخاب component می توان بهره جست.
12. *GET
از این دستور برای بررسی مدل جهت استخراج اطلاعاتی نظیر تعداد ندها، بیشترین مقدار مولفه مکانی Z ندها و اگر ندی انتخاب شده باشد، بارگذاری اعمالی بر ند، نتایج مربوط به ند مورد نظر و غیره می توان بهره جست.
۱۳. CSYS – LOCAL – RSYS
دستگاه مختصات در محیط Mechanical و APDL از اهمیت ویژه ای برخوردار است.
همان طور که کاربران محیط Mechanical می دانند می توان دستگاه مختصات را مستقیما در این محیط ایجاد کرد.
نکته مهم این است که در هنگام کد نویسی به زبان APDL می توان از دستگاه مختصات ایجاد شده، استفاده کرد. تنها بحثی که اینجا مطرح می باشد این است که وقتی این دستگاه مختصات در محیط Mechanical ایجاد می شود به صورت پیش فرض به آن یک ID اختصاص داده می شود و نیز برای استفاده از این دستگاه در هنگام کد نویسی به این ID نیاز داریم. بنابراین اگر قرار است از دستگاه مختصات ایجاد شده در محیط Mechanical برای کد نویسی استفاده شود باید در قسمت Detail مربوط به دستگاه مختصات مذکور ID آن را به صورت دستی تغییر دهیم تا در صورت نیاز بتوان از ID مذکور استفاده کرد.
مقاله انتقال خواص مواد از محیط MAPDL به Workbench را از دست ندهید
همچنین می توان به کمک دستور Local به طور مستقیم دستگاه مختصات را در هنگام کد نویسی ایجاد کرد.
در ضمن برای فعال سازی یک دستگاه مختصات از دستور CSYS استفاده می شود.
در نظر داشته باشید ID دستگاه مختصات گلوبال صفر می باشد و اگر دستگاه مختصات فعال را تغییر دادید حتما در انتهای کد نویسی از CSYS,0 استفاده کنید تا دستگاه مختصات فعال به دستگاه گلوبال تغییر کند. دستور RSYS مانند CSYS است با این تفاوت که برای تفسیر نتایج به کار گرفته می شود.
۱۴. NROTATE
نکته ای که درباره ندهای یک مدل باید به آن توجه کرد این می باشد که هر کدام از ندها دارای یک rotation مربوط به خود می باشد. در ضمن به صورت پیش فرض جهت درجات آزادی x، y و z هر ند توسط دستگاه مختصات گلوبال تعیین می شود. هنگامی که نیرو یا یک شرط مرزی به صورت عمود یا مماس بر یک سطح تعریف می شود، نرم افزار ندها مذکور را دوران می دهد تا یک درجه آزادی در راستای عمود بر سطح ایجاد کند.
حال اگر نیاز باشد تا شرایط مرزی یا بارگذاری در جهت خاصی اعمال شود، شما نیاز دارید تا خود تغییرات بالا را ایجاد کنید. برای این کار ابتدا ندهای مورد نظر را انتخاب می کنید سپس به کمک دستور CSYS دستگاه مختصات مورد نظر را فعال می کنید و در مرحله آخر به کمک دستور بالا ندها را درجهت دلخواه دوران می دهید.
۱۵. D
“جابه جایی” رایج ترین نوع شرایط مرزی می باشد و برای اعمال این شرط مرزی می توان از دستور D استفاده کرد.
از این دستور حتی می توان برای اعمال دما نیز بهر جست.
جهت استفاده موثرتر از این دستور می توان به کمک nodal selection و component ها آن را به دسته ای از ندها اعمال کرد.
۱۶. F
دستور F همانند D می باشد ولی با این تفاوت که به کمک آن در عوض جابه جایی می توان به مجموعه نیرو اعمال کرد.
۱۷. SF – SFE
اگر نیازمند اعمال فشار به مجموعه خود می باشید، می توانید از این دستورات استفاده کنید با این تفاوت که برای اعمال فشار به ند ها و المان ها به ترتیب از SF وSFE استفاده می شود.
این دستورات نیز مانند D و F عمل می کنند.
۱۸. /OUTPUT
در حین فرایند حل، حلگر APDL اطلاعاتی را در فایلی به نام jobname.out ذخیره می کند.
بعضی وقتها نیاز است تا اطلاعات خاصی استخراج شود در این مواقع از دستور /OUTPUT استفاده می شود. برای اطلاعات بیشتر درباره این دستور می توانید از HELP نرم افزار استفاده کنید.
در ضمن به یاد داشته باشید که اگر دستور فوق را بدون هیچ آپشنی استفاده کنید تنظیمات output به حالت اولیه خود باز می گردد.
۱۹. /SHOW
محیط MAPDL امکانات فراوانی برای ایجاد کانتورها و پلاتها دارد.
برای استفاده از این امکانات دستورهای بسیار وجود دارد اما شاید بتوان گفت که مهم ترین این دستورات، دستور /SHOW,png می باشد.
به کمک آن به نرم افزار اعلام می کنید که بعد از این دستور برای همه پلات ها فایلی با فرمت png ایجاد کند.
توجه داشته باشید هر چه المان هایی که در تحلیل استفاده می شوند پیچیده تر باشند، اطلاعات بیشتری را می توانند ذخیره کنند.
مدیریت این اطلاعات توسط ETABLE صورت می گیرد.
منبع: