0
. 09363410024 (پاسخگویی: شنبه تا چهارشنبه ۱۰ الی ۱۷)

کنترل گام های زمانی ( time stepping ) حلگر Time Dependent در نرم‌افزار COMSOL

کنترل گام زمانی حلگر Time Dependent در کامسول ( Free Intermediate Strict Manual ): آیا برای شما پیش‌آمده هنگام حل یک مدل گذرا، با اینکه اندازه گام‌های زمانی را در قسمت Times (در تنظیمات) تغییر داده‌اید، اما حلگر باز دقیقاً همان بازه‌های زمانی قبلی را برای حل استفاده کند؟ به نظر می‌رسد که بازه‌های زمانی که حلگر استفاده میکند ارتباطی با زمان‌هایی که شما مشخص کرده اید، ندارد. به نظر شما چرا این طور است؟ یا اینکه بازه زمان را افزایش داده‌اید و باز هم گامهای زمانی حلگر و گامهای زمانی نتایج کاملاً متفاوت است. به نظر شما چرا؟ شاید اینجاست که این سؤال پیش می‌آید که چگونه می‌توان گامهای زمانی حل‌کننده را انتخاب کنم؟

برای رسیدن به پاسخ خود و رفع مشکلات گفته‌شده در بالا ادامه متن را بخوانید…

به طور پیش‌فرض، ورودی استپ های زمانی در قسمت Times(نشان داده شده در تصویر زیر) فقط زمان داده‌های خروجی را کنترل می‌کند و به طور مستقیم گام‌های زمانی مورد نیاز حل‌کننده را کنترل نمی‌کند، اگرچه می‌تواند بر روی اولین گام زمانی اثرگذار باشد. همچنین افزایش تعداد گام‌های زمانی خروجی بین زمان شروع و پایان، معمولاً گام‌های زمانی مورد نیاز حل‌کننده را تغییر نمی‌دهد. در بیشتر موارد، این نرم‌افزار به صورت داخلی از یک زمان‌سنج تطبیقی یا ثابت استفاده می‌کند که مستقل از این زمان‌های خروجی است. بنابراین، داده‌های ذخیره‌شده در خروجی ممکن است بین گام‌های زمانی که توسط حل‌کننده گرفته می‌شود، درون‌یابی شوند. کامسول به طور خودکار مجموعه‌ای از تنظیمات حل‌کننده را که برای ترکیب فیزیک در مدل معقول است، تعیین می‌کند، اما این تنظیمات می‌توانند اصلاح شوند.

تنظیمات پیش‌فرض حل‌کننده Time Dependent

گام‌های زمان تطبیقی

اکثر شبیه سازی های وابسته به زمان در نرم افزار COMSOL به طور پیش‌فرض با یک طرح زمان‌بندی تطبیقی (adaptive time-stepping) حل می‌شوند. این بدان معنی است که نرم‌افزار به طور خودکار اندازه گام زمان را تنظیم می‌کند تا Relative Tolerance مطلوب را حفظ کند. تنظیمات پیش‌فرض برای این مورد در قسمت Physics Controlled است که در تصویر بالا نشان داده شده است. همچنین می‌تواند به User Controlled تغییر یابد و سپس می‌توانید به صورت دستی Relative Tolerance دیگری را وارد کرد، همانطور که در تصویر زیر نشان داده شده است. کاهش Relative Tolerance به تعداد کمتر منجر به گام‌های زمانی کوچک‌تر می‌شود که باعث افزایش دقت تحلیل و زمان حل می‌شود.

کاهش Relative Tolerance در کامسول به تعداد کمتر منجر به گام‌های زمانی کوچک‌تر می‌شود که باعث افزایش دقت تحلیل و زمان حل می‌شود

Relative Tolerance کنترل‌شده توسط کاربر.

حل مجدد مدل با Relative Tolerance کمتر و همچنین حل مجدد با مش دقیق‌تر، به این معنی است که میتوانید حلگر را برای کاهش گام زمان و تائید صحت شببه سازی خود تنظیم ‌کنید. برای اطمینان به نتایج یک مدل گذرا، باید مدل خود را با سایر مدل‌های دارای مش‌های ریزتر و زمان‌های دقیقتر مقایسه کنید. مهم است که این کار را انجام دهید تا صحت نتایج مدل خود را تأیید کنید.

اگر مدل شما شامل بارهایی است که به طور ناگهانی در زمان تغییر می‌کنند، باید رابط Events را نیز در مدل خود قرار دهید. این به حل‌کننده می‌گوید که چگونه تغییرات ناگهانی در تحلیل را به درستی بدست آورد. برای راهنمایی در مورد استفاده از Events، مراجعه کنید به:  Knowledge Base 1245 Solving Models with Pulsed Loads in Time.

آموزش عمومی و جامع بخش مطالعه در نرم افزار کامسول

آموزش ویدئویی فارسی پیشنهادی برای مطالعه time dependent در کامسول

وقتی حلگر شروع به کار می‌کند، اندازه گام زمان اولیه را بر اساس زمان کل شبیه‌سازی، تخمین می‌زند. بنابراین، اگر یک مدل را دو بار با بازه های زمانی مختلف حل کنید، گام زمان اولیه می‌تواند متفاوت باشد. این تفاوت در گام اولیه حل، اگر بلافاصله بعد از زمان شروع تحلیل اتفاق مهمی در شبیه سازی رخ دهد، ممکن است باعث ایجاد نتایج متفاوتی در یک مدل یکسان با بازه های زمانی متفاوت گردد. برای تعیین اندازه گام زمان اولیه، در قسمت Time-Dependent Solver settings، به بخش Time Stepping بروید، گزینه Initial step را فعال کنید و اندازه گام زمان اولیه ثابت را وارد کنید (همانطور که در تصویر زیر نشان داده شده است). توجه داشته باشید که نرم‌افزار کامسول حتی با تعیین این مقدار باز هم (در صورت نیاز) میتواند گام زمانی کوچکتر از مقدار 0/0001 انتخاب کند، اما گام زمانی بزرگ‌تر از این مقدار نمیتواند استفاده کند. همچنین بررسی کنید که آیا می‌توان به جای اینکار از Events استفاده کرد یا خیر.

تعیین اندازه گام زمان اولیه که حل کننده حلگر کامسول سعی در گرفتن آن دارد

تعیین اندازه گام زمان اولیه که حل‌کننده سعی در گرفتن آن دارد

در مسیر انجام حل، حل‌کننده به طور خودکار گام زمان موردنظر را در صورت لزوم کوچک‌تر می‌کند تا تغییرات سریع در تحلیل را حل کند. همچنین در بازه هایی که تحلیل فقط کم کم تغییر می‌کند، گام‌های زمان را بزرگ‌تر می‌کند. می‌توانید با رفتن به تنظیمات Time-Dependent Solver، بخش Time Stepping، گزینه Maximum step constraint را از مقدار پیش‌فرض خود یعنی Automatic به Constant یا Expression تغییر دهید، همانطور که در تصویر زیر نشان داده شده است. گزینه Constant حداکثر گام زمانی ممکن را مشخص می‌کند و گزینه Expression می‌تواند محدودیت حداکثر گام زمانی را بر اساس هر عبارت کلی در مدل تغییر دهد.

بخش Time Stepping کامسول ، گزینه Maximum step constraint را از مقدار پیش‌فرض خود یعنی Automatic به Constant یا Expression تغییر دهید

تعیین حداکثر اندازه­ ی گام زمانی ممکن برای حل‌کننده.

کنترل صریح کوچک‌ترین گام زمانی که به عنوان گام تطبیقی در نظر گرفته می‌شود، امکان‌پذیر نیست. اما وقتی مشاهده می‌کنید که حل‌کننده از گام‌های زمانی بسیار کمی استفاده می‌کند، این نشان می‌دهد که مدل شما به یک نقطه خاصی نزدیک می‌شود، این نقطه خاص ممکن است این باشد که حل به سمت بی‌نهایت نزدیک می‌شود یا اینکه تغییرات خروجی مدل سریع‌تر از آن است که با relative tolerance و اندازه مش فعلی تغییر ‌کند. برای اطلاعات بیشتر در این خصوص می‌توانید نگاهی کنید به:

گام زمانی حلگر در کامسول به صورت Manual

همچنین ممکن است که مدل شما از یک طرح زمان‌بندی ثابت استفاده کند. مثلاً بعضی از انواع مسائل، مانند مدل‌های تحلیل گذرای فشار آکوستیک، به طور پیش‌فرض با یک گام زمانی ثابت حل می‌شوند. همچنین بسیاری از مسائل مربوط به امواج (که میدان‌های تحلیل در زمان و مکان نوسان دارند) با یک گام زمانی ثابت بهتر حل می‌شوند. برای اینکه بفهمید از گام زمانی ثابت استفاده‌شده یا خیر، به قسمت Time-Dependent Solver settings، بخش Time Stepping بروید. در آنجا روش استفاده‌شده برای محاسبه تحلیل را مشاهده خواهید کرد. این روش‌ها ممکن است روش‌های BDF، Generalized Alpha یا Runge-Kutta باشد.

 

روش های Time stepping با Generalized Alpha , BDF , Runge-Kutta در Time-dependent نرم افزار کامسول

بیشتر بخوانید

پس از آن همانطور که در تصویر زیر مشاهده میکنید در بخش Steps taken by solver گزینه های انتخاب گام زمانی توسط حلگر Time Dependent در کامسول را مشاهده خواهید کرد، این گزینه می‌تواند Free Intermediate, Strict, یا Manual باشد. گزینه Free به حلگر اجازه می‌دهد تا آزادانه زمان را همانطور که در بالا توضیح داده شد انتخاب کند. اما گزینه گام زمانی Manual، گام زمانی را ثابت می‌کند.

گزینه می‌تواند Free Intermediate, Strict, یا Manual باشد. گزینه Free به حلگر اجازه می‌دهد تا آزادانه زمان را همانطور که در بالا توضیح داده شد انتخاب کند

جابجایی بین گزینه‌های گام‌های برداشته‌شده توسط حل‌کننده.

هنگام استفاده از گام زمانی Manual، می‌توانید به‌طور صریح مقدار گام زمانی مورد نیاز برای حل را تنظیم کنید و ورودی relative tolerance، دیگر بر رفتار حلگر تأثیر نمی‌گذارد. برای راهنمایی در مورد چگونگی انتخاب گام زمان برای مسائل امواج، مراجعه کنید به:

سایر گزینه‌های حلگر

دو گزینه دیگر گام زمانی حلگر در کامسول وجود دارد: Intermediate و Strict. این گزینه ها با الزام حلگر به انتخاب گامهای زمانی، رفتار الگوریتم گام بندی زمان free را اصلاح می‌کنند.

با انتخاب گزینه Intermediate، حلگر در هر بازه زمانی بین زمان‌های خروجی درخواستی (که در بخش times توسط کاربر وارد شده) یک گام زمانی اضافی قرار میدهد، اما حلگر در مورد اینکه چه زمانی نیاز به انتخاب گام میانی است، آزاد است. این گزینه نسبت به تغییر Relative Tolerance ، استفاده از Events یا تنظیم Maximum step size که در مورد آنها صحبت کردیم، پویایی کمتری دارد.

گزینه Strict، حلگر را وادار می‌کند تا گام های زمانی حل را دقیقاً برابر زمان‌های خروجی درخواستی انتخاب کند. اما برای دستیابی به tolerance مشخص شده یا به دلیل Events، ‌حلگر برای تعریف گامهای زمانی میانی دیگر نیز آزاد است. همچنین در صورت تعریف یک گام برای زمان، دقیقاً مشابه زمان‌های وارد شده در times ، هیچ درون‌یابی برای داده‌ها وجود نخواهد داشت.

اگر می‌خواهید نتایج را دقیقاً در بازه‌های زمانی استفاده شده توسط حل‌کننده تنظیم کنید، در قسمت Time-Dependent Solver Settings، به بخش Output بروید و در قسمت Times to store گزینه Steps taken by solver را انتخاب کنید، همان‌طور كه در زیر نشان داده شده است. توجه داشته باشید که این گزینه ممکن است داده‌های خروجی زیادی تولید کند. هنگامی که از گزینه Specified Valuations استفاده می‌شود (پیش‌فرض)، نرم‌افزار داده‌ها را در نقاط زمانی وارد شده توسط کاربر با استفاده از درونیابی بین گام های زمان واقعی حلگر، ذخیره می‌کند.

ذخیره داده‌ها در گام‌های زمانی taken by the solver

ذخیره داده‌ها در گام‌های زمانی taken by the solver

اگر می‌خواهید مقدار داده ذخیره‌شده در مدل خود را کاهش دهید، مراجعه کنید به:  Knowledge Base 1255: Reducing the amount of data stored in a model

این متن از وبسایت comsol به فارسی با عنوان نحوه کنترل گام‌های زمانی حل‌کننده Time Dependent در نرم‌افزار COMSOL Multiphysics (کنترل گام زمانی حلگر Time Dependent در کامسول Free Intermediate Strict Manual ) برگردان شده است، استفاده از ترجمه با ذکر نام کامسولفا مجاز است. مشاهده متن اصلی

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *