مقایسه کاربرد شیوه های Explicit و Implicit در روش اجزای محدود

در پست قبلی به بررسی روش ریاضی حل وتفاوتهای دو روش Explicit و Implicit پرداختیم. در این پست به مقایسه کاربرد شیوه های Explicit و Implicit در روش اجزای محدود و موارد کاربرد هر کدام از این روشها و مزایا و معایب هر کدام نسبت به دیگری خواهیم پرداخت.

بر اساس اینکه از کدامین روش برای شبیه سازی می توان استفاده کرد، می توان مسائل را به ۳ دسته تقسیم نمود.

دسته اول مسائلی که صرفاً به روش Implicit قابل حل است.

دسته دوم مسائلی که صرفاً به روش Explicit قابل حل است.

و دسته سوم مسائلی که از هر دو روش قابل حل است.

با شناخت ماهیت هر کدام از این روشها و با کسب تجربه، انتخاب روش حل مساله ساده خواهد بود. ماهیت هر کدام از این روشها مستقیماً از روش حل ریاضی آنها نتیجه می شود. پس مجدداً بازگشت مختصری به روش حل ریاضی آنها خواهیم داشت.

در روش Explicit نتایج در هر لحظه (xn+1)، مستقیماً از نتایج در لحظه قبل از آن (xn) بدست می آید. بدین صورت که با درنظر گرفتن سرعت و شتاب المانها در لحظه n با جایگذاری در رابطه  موقعیت های جدید محاسبه می شود. سرعت گره ها و المانها  بطور پیوسته در حال تغییر است. لذا نتایج بدست آمده از این شیوه زمانی صحیح و پایدار خواهد بود که Δt در نظر گرفته شده به اندازه کافی کوچک باشد تا بتواند روند تغییر سرعت و شتاب در گره ها را دنبال کند. از همین جا مشخص است که در روش Explicit بازه های زمانی بسیار کوچک و تعداد آنها بسیار زیاد است. از آنجایی که روند حل، تغییرات سرعت و شتاب در گره ها را دنبال می کند، در مسائلی که در آنها محاسبه پارامترهایی از جنس موج همانند موج تنش اهمیت دارد، فقط می توان از روش Explicit استفاده کرد. البته همین امر باعث بروز noise در جوابها نیز هست.

در نقطه مقابل در روش Implicit بزرگی یا کوچکی Δt اهمیت چندانی ندارد. در این روش معادلات موقعیت xn، سرعت و شتاب بصورت همزمان و از روشهای تکرار (Iterational) حل می شوند. در این شیوه اثری از دنبال کردن روند سرعت و شتاب در گره ها نیست و لذا دنبال کردن موجها در سازه در این روش بی معنی است. در عوض در این شیوه اثری از noise در جواب دیده نخواهد شد و پاسخی کاملاً یکنوا و ملایم (smooth) حاصل می شود.

با توجه به مطالب فوق دسته های اول و دوم مشخص هستند؛ اما تقریباً تمامی مسائل از هر دو شیوه قابل تحلیل هستند البته به لحاظ تئوری. در عمل در مسائل زیر استفاده از روش Explicit عملاً تنها انتخاب است و روش Implicit همگرا نخواهد شد:

  1. پدیده های دینامیکی سرعت بالا: در پدیده های فیزیکی با سرعت بسیار زیاد همانند نیروهای انفجاری و یا نیروهای ضربه ای که در یک بازه زمانی بسیار کوچک بار زیادی به سازه وارد می شود، همگرا کردن حل درشیوه Implicit عملاً غیرممکن است. علاوه بر آنکه مشاهده عکس العمل سازه در بازه های زمانی کوچک مدنظر است.
  2. مسائل با برخورهای پیچیده: در پدیده هایی که قطعات مختلفی با هم برخورد می کنند از هر ۲ شیوه می توان جهت شبیه سازی برخورد استفاده کرد. اما هنگامی که تعداد و شدت برخوردها در مدل زیاد می شود، عملاً روش Implicit همگرا نخواهد شد.
  3. Postbuckling: مسائلی که تغییر شکلهای سازه منجر به تغییر استحکام بسیار زیاد قطعه می شود همانند قطعاتی که دچار کمانش می شوند.
  4. برخی مسائل شبه استاتیکی Quasi-Static که در آنها تغییر شکلها بسیار زیاد است. درخصوص مسائل شبه استاتیکی در پستهای آینده مفصلتر بحث خواهیم کرد.
  5. شکست و خرابی در مواد: در مواردی که ماده سازه دچار شکست، ترک و خرابی می شود، استفاده از روش Explicit مناسبتر است.

علی رغم مزایایی که برای روش Explicit گفته شد، محدودیتهایی نیز در این روش وجود دارد که بعضاً به آنها اشاره شد:

  1. جوابهایی که از طریق این روش محاسبه می شوند در مقیاسهای کوچک به طور ذاتی دارای مقداری noise هستند که البته با اضافه کردن مقدار کمی damping در روند حل به مقدار زیادی می توان این اختلال را برطرف کرد.
  2. همانطور که در توضیح ماهیت این شیوه گفته شد، در این روش روند حرکت موج در داخل سازه دنبال می شود. لذا اگر سرعت حرکت موج در سازه که همان سرعت صوت است از سرعت حل نرم افزار بیشتر شود، جوابها ناپایدار و ناصحیح خواهد بود. به عبارت بهتر بازه های زمانی حل باید به قدری کوچک باشد که بتواند روند حرکت موج را کاملاً دنبال کند.

این مشکل بیشتر در المانهای کوچک نمایان می شود. در این المانها موج تنش به سرعت از المان عبور می کند و لذا باید Δt حل را بر اساس سایز کوچکترین المانها تنظیم کرد. در روش Implicit چنین محدودیتی اساساً وجود ندارد و جواب کاملاً مستقل از Δt است. به عنوان نتیجه می توان اظهار کرد که کیفیت مش بندی در روش Explicit بسیار با اهمیت و تاثیرگذار بر آنالیز است.

Δt پایدار در روش Explicit مطابق روش زیر محاسبه می شود:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

که در آن c سرعت صوت و L طول کوتاهترین المان موجود در مدل است. بطور مثال برای فولاد این نسبت مطابق محاسبات زیر است.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

معنی این محاسبات آنست که اگر می خواهیم بازه های زمانی حل کوچکتر از ۱ میکروثانیه نباشد نباید المانی کوچکتر از 5.2  میلیمتر در مدل وجود داشته باشد و اگر می خواهیم Δt کوچکتر از ۱ میلی ثانیه نباشد المانی کوچکتر از 5.2 متر در سازه نباید وجود داشته باشد!

مرسومترین راه برای غلبه بر این مشکل استفاده از Mass Scaling است.

43 comments

  • سلام، مهندس زمان چقدر باشد بایستی از روش Explicit یا implicit استفاده کرد؟ به طور مثال زمان 4 ثانیه باید از کدام روش استفاده کرد؟
    • این زمان برای تحلیل explicit زیاد است ولی اگر مقدار سرعتها زیاد است و یا برخوردی در مدل وجود دارد چاره ای نیست. در مورد انتخاب بین این دو روش به تفصیل در کتاب نیز توضیح داده شده است.
  • با تشکر از مطالب خوب سایت شما، من از خدمت شما یک سوال داشتم.من یک مدل دارم که قرار است شتاب 14g  در زمان 4 ثانیه به آن وارد شود، در تحلیل دینامیک از روش Explicit استفاده کنم یا از روش Implicit؟
  • با سلام.برخورد یک جسم متحرک با سرعت 1 متر بر ثانیه به یک جسم سکون را با حالت Explicit مدل سازی کردم آیا باید از حالت Implicit استفاده می کردم
  • سلام مهندس جان من فرایند فلوفرمینگ رو با روش صریح مدل کردم قطر پریفرم 400 و ضخامت اولیه 15 میلیمتره 3 میلیمتر که کاهش ضخامت میدم پریفرمم اعوجاج زیادی پیدا میکنه مقدار سرعت هارو هم از مقالات معتبر پیدا کردم میشه راهنماییم کنید چطوری میتونم فایلمو براتون بفرستم تا کمکم کنید برای اصلاحش؟
  • با سلام وقت بخیر در تحلیل شکست یک سازه با خطای نسبت سرعت شکست به سرعت صوت بالاتر از یک مواجه شدم برای برطرف کردنش لطفا اگه تجربه ای دارید بفرمایید با تشکر فراوان
    • نرخ تغییر شکل در مدلتان خیلی زیاد است که این اتفاق می افتد. مقدار بارگذاری را کمتر کنید ببینید که آیا مشکل برطرف می شود یا خیر.
  • با سلام وقتتون بخیر عیدتون مبارک باشه ببخشید درخصوص mass scaling توضیح میدهید؟ باید چطوری مقدارش رو وارد کنم؟کجا باید وارد کنم؟ مقدارش برای نورد سرد چقدر است؟ جوابش رو سریع میخواستم برام خیلی مهمه درکل اگر بخواهم سرعت حل رو افزایش بدهم باید چیکار کنم ؟چطوری زمان حل رو کاهش بدهم؟ من وقتی میخوام ران بگیرم چیزی حدود 15 ساعت وقت میگیره تا ران بده منم باید اینقدر پارامترها رو کم و زیاد کم تا جواب صحیح بدست بیاد به این خاطر با یک ران به جایی نمیرسم باید سرعت حل رو بالا ببرم؟باید چیکار کنم؟ خواهشا کمکم کنید
  • سلام یه قطعه که قراره جوشکاری بشه بعد تحت فرایند ساچمه زنی قرار بگیره رو من قسمت جوشکاریشو مدل کردم و از تحلیل کوپل حرارت و جابجایی استفاده کردم ولی وقتی میخوام استپ dynamic expilicit برای بخش ساچمه زنی تعیین کنم چون قبلا تحلیل couple temp-dis انجام دادم روش تنها استپ قابل تعیین dynamic implicit هستش.شما جی صلاح میبینید؟
  • سلام آقای مهندس رواجی با تشکر و سپاس بنده از مطالب بسیار خوب سایت شما برای مقایسه شیوه های صریح و ضمنی در روش اجزای محدود و تعیین t∆ پایدار در پایان نامه ام استفاده کردم چطور می توانم به عنوان یک مرجع علمی در قسمت مراجع به آن اشاره کنم. (لطفا در صورت امکان نام مرجع اصلی که مطالب ارائه شده در این سایت توسط جنابعالی به آنها اشاره شده برام ایمیل کنید)
  • سلام مهندس آیا t∆ ذکر شده همان time increment می باشد که بعضا در مقالات برای پایداری جواب ها به آن اشاره می شود؟ اگر این گونه است این زمان را در کجای برنامه باید وارد کرد؟ در ماژول step قسمت incrementation دو قسمت تعداد و اندازه مطرح شده که ممنون میشم در خصوص مقادیر این پارامترها توضیح دهید. با تشکر
  • سلام، خیلی ممنون از اطلاعاتی که در این سایت قرار می دید. می خواستم بدونم اطلاعات بالا در مورد روشهای explicit و implicit زکر کردید، از کدام کتاب یا مرجعیی استفاده کردید. همچنین در قسمت بالا جایی که عنوان کردید: در روش Implicit چنین محدودیتی اساساً وجود ندارد و جواب کاملاً مستقل از Δt است. جمله "جواب کاملاً مستقل از Δt است." با توجه به اینکه در روش implicit هم جواب با در نظر گرفتن dt بدست می آید، درست نیست. مطابق پست قبل که فرمول یک روش implicit ذکر شده، مقدار Xn+1 با توجه به پارامتر dt^2 بدست می آید، پس آیا جواب کاملاً مستقل از Δt است؟
  • با سلام و تشکر از شما من جایی خوندم که برای بارگذاری چرخه ای باید از implicit استفاده کنیم نظرتان چیست؟
    • این بستگی به چرخه ای دارد که می خواهید مدل کنید. اگر سریع باشد باید از explicit استفاده شود ولی در چرخه های کند از استاتیک استفاده می شود.
  • و یه سوال دیگه .L مینیمم رو تئ مش تعیین میکنیم و از روی اون Δt رو بدست میاریم؟! این L مینیمم چجوری مشخص میشه؟!
  • سلام. محاسبات زمانی که کردید گفتید که باید Δt حل را بر اساس سایز کوچکترین المانها تنظیم کرد. این Δt کجا باس تنظیم شه حالا؟ یه توضیح میدین؟
    • با توجه به مش بندی که در ماژول mesh انجام می دهید سایز یکی از المانهانسبت به بقیه مدل کوچکترین سایز خواهد بود. تنظیم کردنی نیست! باید کوچکترین المان مدلتان را پیدا کنید و محاسبات را بر اساس آن انجام دهید.
  • با سلام و خسته نباشید، لطفا در رابطه با نحوه Mass scaling اموزش بدهید،همچنین فرق Standard با Explicit در element library چیست؟ با تشکرفراوان از شما.
  • خیلی سایت خوبی دارید. می تونم بپرسم منظورتون از نویز جواب همون نوساناتی هست که در دیاگرام ها وجود داره؟ اگه منظورتون اینه که با فیلتر این مشکل حل میشه. در ضمن اباکوس ورژن 6.10 در استپ ضمنی گزینه شبه استاتیکی رو داره تا حدودی به حل درست مساله کمک می کنه.
    • سلام منظورم دقیقاً همان نوسانات ریزی است که در نمودارها خودش را نشان می دهد و استفاده از فیلترها همانطور که گفتید راه حل این مساله است اما در مورد استپ ضمنی شبه استاتیک که مطرح کرده اید باید یادآور شوم که مسائل شبه استاتیک به کل با مسائل دینامیک متفاوت هستند و اختلافات بسیار اساسی با هم دارند استفاده از روش شبه استاتیک در مساله ای که حقیقتاً دینامیکی است مطمئناً شما را از جوابهای صحیح دور می کند
  • سلام امیدوارم خوش و خرم باشید من یک رو یک مدل دارم کار میکنم که کانتک بین یک سالید(مصالح سنگی که سالید فرض شده) ویک قطعه بتنی رو نشون میده تا وقتی که مشخصات پلاستیک ندادم مدل ران و کامل میشه اما وقتی مشخصات پلاستیک میدم ابورت میشه مدل در نظر گرفته شده مدل موهر کلمب می باشد .ممنون میشم اگه کمکم کنید ممنون
    • سلام آیا مدلتان از اول abort می شود و یا اینکه پس از زمان مشخصی ابورت می شود؟ اطلاعات مربوط به متریال را چندین بار چک کنید. برای خود من بارها و بارها پیش آمده است که unit system را اشتباه کرده ام. مثلاً اطلاعات فاز الاستیک را پاسکال وارد کرده ام و اطلاعات فاز پلاستیک را برحسب مگاپاسکال وارد کرده ام یا چیزی شبیه این. nlgeom روشن است یا خاموش؟
  • سلام با تشکر از سایت خوبتون. اگه امکان داره mass scaling رو هم توضیح بدید. یه سوال دیگه هم داشتم. رای مدل کردن contact بهتره از کدوم روش استفاده کرد؟ آیا اونجا هم میشه از mass scaling استفاده کرد؟
    • سعی می کنم آموزش در خصوص نحوه تنظیمات mass scaling را سریعتر آماده و در سایت قرار دهم. mass scaling در تمامی مسائل دینامیک قابل استفاده می باشد و تفاوتی در وجود یا عدم وجود کانتکت نمی کند. می توانید از mass scaling در این نوع مسائل نیز با خیال راحت استفاده کنید