درباره حل کننده ثابت

درباره حل کننده ثابت

درباره حل کننده ثابت
اطلاعات پیش‌زمینه زیر در مورد حل‌کننده ثابت این موضوعات را مورد بحث قرار می‌دهد: روش‌های نیوتن میرا ، معیار خاتمه برای گره‌های مشخصه کاملاً جفت شده و جداشده ، حل‌کننده‌های خطی در مقابل حل‌کننده‌های غیرخطی ، و گام‌های شبه زمان . همچنین به انتخاب یک حل کننده ثابت، وابسته به زمان یا مقدار ویژه مراجعه کنید .
 
ثابت در COMSOL Multiphysics Programming Manual Reference
روش های نیوتن میرایی
حل‌کننده غیرخطی از یک شکل ثابت وابسته از روش نیوتن میرا استفاده می‌کند که در Ref شرح داده شده است. 3 . می توانید شکل گسسته معادلات را به صورت  =  0 بنویسید ، که در آن ) بردار باقیمانده و U بردار حل است. با شروع با حدس اولیه 0 ، نرم افزار مدل خطی شده را با استفاده از 0 به عنوان نقطه خطی سازی تشکیل می دهد. شکل گسسته مدل خطی شده ‘( )  δ  = – U را حل می کند) برای مرحله نیوتن δ U با استفاده از حل کننده سیستم خطی انتخاب شده ( ‘( ) ماتریس ژاکوبین است). سپس تکرار جدید  =   + λ δ U را محاسبه می کند که λ (  ≤ λ ≤  1 ) ضریب میرایی است. سپس تصحیح نیوتن اصلاح شده خطای E را برای تکرار جدید 1 با حل ‘( )   = – U تخمین می زند) . اگر خطای نسبی مربوط به E بزرگتر از خطای نسبی در تکرار قبلی باشد، الگوریتم ضریب میرایی λ را کاهش داده و 1 را دوباره محاسبه می کند . این الگوریتم کاهش ضریب میرایی را تا زمانی تکرار می کند که خطای نسبی کمتر از تکرار قبلی باشد یا تا زمانی که ضریب میرایی از حداقل ضریب میرایی کمتر شود. هنگامی که یک گام موفقیت آمیز U 1 برداشته شد ، الگوریتم با تکرار نیوتن بعدی پیش می رود.
مقدار λ = 1 به روش نیوتن منجر می شود که اگر حدس اولیه 0 به اندازه کافی به یک جواب نزدیک باشد، به صورت درجه دوم همگرا می شود. به منظور بزرگ‌تر کردن دامنه جاذبه، حل‌کننده عوامل میرایی را با احتیاط انتخاب می‌کند. موفقیت یک حل کننده غیرخطی هنوز هم به شدت به یک حدس اولیه با دقت انتخاب شده بستگی دارد، بنابراین باید بهترین مقدار را برای 0 ارائه دهید، که حداقل یک حدس بزرگی را برای اجزای مختلف حل ارائه دهید.
معیار پایان برای گره های مشخصه کاملاً جفت شده و جدا شده
شما معیارهای خاتمه را در پنجره تنظیمات برای یک زیرگره کاملاً جفت شده یا جدا شده به گره Stationary Solver مشخص می کنید . همچنین به The Segregated Solver ( معیار خاتمه برای حل جدا شده ) مراجعه کنید.
معیار خاتمه: راه حل
برای معیار خاتمه: راه حل ، تکرارهای غیرخطی زمانی خاتمه می یابند که معیار همگرایی زیر برآورده شود: فرض کنید U تقریب فعلی به بردار جواب واقعی باشد، و اجازه دهید E خطای تخمینی در این بردار باشد. نرم افزار زمانی که تحمل نسبی از خطای نسبی محاسبه شده به عنوان هنجار اقلیدسی وزنی زیر بیشتر شود، تکرارها را متوقف می کند:
در اینجا M تعداد فیلدها است. j تعداد درجات آزادی در میدان j است . زیرنویس دوگانه نشان دهنده درجه آزادی شاخص ( i ) و مولفه فیلد ( j ) است. فرض کنید i,j max ( i,j j ) که در آن j یک ضریب مقیاس است که حل کننده از روش مقیاس بندی تعیین می کند. شما روش مقیاس بندی را از لیست روش در بخش مقیاس گذاری تنظیمات گره متغیرهای وابسته انتخاب می کنید.پنجره سپس حل کننده ضریب مقیاس j را با استفاده از قوانین زیر محاسبه می کند:
برای خودکار ، j میانگین | است i,j | برای همه DOFها i برای j ثابت ، برابر 10-5 برای مسائل بسیار غیرخطی یا 0.1 در غیر این صورت .
برای Manual ، j مقدار داده شده در قسمت Scale است . Sj در ضریبی برابر با 10-5 برای مسائل بسیار غیرخطی یا 0.1 ضرب می شود .
برای مقدار اولیه ، j میانگین | است i,j | برای همه DOFها i با ضریب j ثابت برابر با 10-5 برای مسائل بسیار غیرخطی یا 0.1 در غیر این صورت. V = U 0 بردار حل مربوط به مقدار اولیه است. در صورتی که تمام DOF ها برای آن فیلد خاص j صفر باشند ، میانگین کل | i,j | برای همه i و j به جای آن استفاده می شود.
برای هیچکدام ، i,j 1 . در این حالت err تخمینی برای خطای مطلق است.
 
حلگر غیرخطی (نیوتن میرایی خودکار) تنها در صورتی معیار همگرایی را بررسی می کند که ضریب میرایی برای تکرار جاری برابر با 1 باشد . حل کننده تا زمانی ادامه می دهد که ضریب میرایی برابر با 1 نباشد حتی اگر خطای برآورد شده کوچکتر از تحمل نسبی درخواستی باشد.
معیار خاتمه: باقیمانده
برای معیار خاتمه: باقیمانده ، تکرارهای غیرخطی زمانی خاتمه می‌یابند که معیار همگرایی زیر برآورده شود: نرم‌افزار زمانی تکرارها را متوقف می‌کند که تلورانس نسبی از خطای نسبی محاسبه‌شده به‌عنوان هنجار اقلیدسی وزنی فراتر رود.
که در آن F باقیمانده جریان است. در معادله بالا، زیرنویس دوگانه نشان دهنده درجه آزادی شاخص ( i ) و مولفه میدان ( j ) است. اگر اندازه گام نسبی در محدوده صد اپسیلون ماشین باشد، تکرارها نیز می توانند خاتمه پیدا کنند و علاوه بر این، یک گام نیوتن کامل برداشته شود. وزن ها با در نظر گرفتن باقیمانده اولیه 0 و باقیمانده پس از اولین تکرار 1 به صورت = 0.5 تعیین می شوند | 0 | + 0.5 |   f 1 |. در معادله بالا، زیرنویس دوگانه نشان دهنده درجه آزادی شاخص ( i ) و میدان (ی ) جزء. اگر اندازه گام نسبی در محدوده صد اپسیلون ماشین باشد و علاوه بر آن یک گام نیوتن کامل برداشته شود، تکرارها نیز می توانند خاتمه پیدا کنند.
شما روش مقیاس بندی را از لیست روش در بخش مقیاس پذیری باقیمانده در پنجره تنظیمات گره متغیرهای وابسته انتخاب می کنید . سپس حل کننده وزن ها را با استفاده از قوانین زیر محاسبه می کند:
برای خودکار ، وزن ها با در نظر گرفتن باقیمانده اولیه 0 و باقیمانده پس از اولین تکرار 1 به عنوان تعیین می شوند میانگین ،  j برای همه DOFهای i برای یک j ثابت است . در صورتی که همه ،  j برای آن فیلد خاص j صفر باشد ، به جای آن از میانگین کل ،  j برای همه i و j استفاده می شود.
برای مسائل وابسته به زمان، اولین مرحله زمانی، وزن ها را بر اساس f مانند بالا محاسبه می کند. در اینجا f به عنوان باقیمانده پایه در نظر گرفته می شود. در مراحل زمانی بعدی، باقیمانده اولیه گام فعلی t و باقیمانده پس از اولین تکرار مرحله زمانی فعلی t همراه با باقیمانده پایه f در نظر گرفته می شود تا مشخص شود که آیا وزن ها نیاز به به روز رسانی برای مرحله زمانی فعلی وزن ها بر اساس i = 0 یا 1) محاسبه می شوند. وزن ها طوری به روز می شوند که گویی نسبت یا برای یک فیلد jاز آستانه تعریف شده در آستانه برای به روز رسانی فیلد مقیاس باقیمانده در تنظیمات گره متغیرهای وابسته یا زیرگره های فیلد آن فراتر می رود .
برای Manual ، وزن ها مقدار داده شده در قسمت Scaling است .
اطلاعات اضافی در مورد وزن برای مسائل وابسته به زمان:
با فعال بودن مقداردهی اولیه ثابت ، f باقیمانده پایه و وزن‌ها در طول مقداردهی اولیه ثابت محاسبه می‌شوند و پس از اتمام اولیه‌سازی ثابت مجدداً محاسبه می‌شوند.
وقتی وزن‌های فیلد j باید به‌روزرسانی شوند، وزن‌ها برای همه فیلدهای حل‌شده در حل‌کننده کاملاً جفت‌شده یا در همان مرحله تفکیک‌شده به‌روزرسانی می‌شوند.
برای مسائل موج، وزن ها از دو قسمت تشکیل شده اند: بخش غیر سرعت و بخش سرعت . وزن‌ها فقط با استفاده از بخش غیرسرعتی f باقی‌مانده محاسبه می‌شوند . وزن های میدان j متناسب با وزن ها به صورت تعریف شده است . نسبت متناسب r یک کمیت میدانی است و به صورت تعریف می‌شود ، جایی که F باقیمانده جریان است. وزن ها برای اولین بار در اولین مرحله زمانی 1 تنظیم شده است. زمانی که قسمت سرعت باقیمانده برای اولین بار غیر صفر باشد، به روز می شود. هنگامی که وزن های غیرسرعتی به روز شوند، وزن های سرعت دوباره به روز می شوند.
معیار خاتمه: راه حل یا باقیمانده
برای معیار خاتمه: حل یا باقیمانده ، تکرارهای غیرخطی زمانی خاتمه می‌یابند که تلورانس نسبی از خطای نسبی محاسبه‌شده به‌عنوان حداقل خطای مبتنی بر راه‌حل و خطای داده‌شده توسط عامل باقی‌مانده ضربدر خطای مبتنی بر باقی‌مانده در بالا بیشتر شود.
معیار خاتمه: راه حل و باقیمانده
برای معیار خاتمه: حل و باقیمانده ، تکرارهای غیرخطی تکرارهای نیوتن را بر روی یک خطای نسبی تخمینی مبتنی بر راه حل و یک خطای نسبی تخمینی مبتنی بر باقیمانده که توسط ضریب باقیمانده ضربدر خطای مبتنی بر باقیمانده در بالا ارائه می‌شود، خاتمه می‌دهند.
حل کننده های خطی در مقابل حل کننده های غیرخطی
تشخیص خودکار غیرخطی
COMSOL Multiphysics به طور خودکار غیرخطی بودن را تشخیص می دهد، بنابراین شما معمولاً نیازی به تصمیم گیری در مورد استفاده از حل کننده خطی یا غیرخطی ندارید.
تشخیص خودکار از طریق تجزیه و تحلیل متغیرهای کمک کننده به ماتریس ژاکوبین باقیمانده و ماتریس ژاکوبین محدودیت کار می کند. اگر الگوریتم متوجه شود که هر دوی این ماتریس ها کامل هستند و به جواب بستگی ندارند، حلگر ثابت (از جمله جابجایی های پارامتریک) از یک الگوریتم حل کننده خطی استفاده می کند. در غیر این صورت، حل کننده از یک الگوریتم حل کننده غیرخطی استفاده می کند. “کامل” در اینجا به این معنی است که الگوریتم فقط متغیرهای کمکی را پیدا کرده است که ژاکوبین صحیح برای آنها محاسبه شده است.
نادیده گرفتن تشخیص خودکار غیرخطی
در برخی موارد ممکن است بخواهید به صراحت مشخص کنید که حلگر ثابت از الگوریتم حل کننده خطی یا غیرخطی استفاده می کند. چنین مواردی عبارتند از:
مدل های خطی که در آن تشخیص خودکار خطی بودن باعث می شود COMSOL Multiphysics از حل کننده غیرخطی استفاده کند. این می تواند، برای مثال، برای مدل هایی اتفاق بیفتد که شامل برخی از انواع کمتر متداول از متغیرهای جفت (به طور مستقیم یا غیر مستقیم به عنوان بخشی از برخی شرایط مرزی) می شود. حلگر غیرخطی معمولاً برای مسائل خطی مستقیماً همگرا می شود، اما اگر اینطور نیست، می توانید به حل کننده خطی تغییر دهید.
هنگام استفاده از حل کننده کاملاً جفت شده، می توانید علاوه بر این
برای حل مسئله غیرخطی از روش تک مرحله ای نیوتن از حل کننده خطی استفاده کنید.
از حل کننده خطی برای حل یک مسئله خطی (غیرخطی) استفاده کنید. برای جزئیات بیشتر در مورد نحوه مونتاژ باقیمانده در این مورد، بخش خطی بودن در حل کننده ثابت را ببینید.
کدام مدل ها غیر خطی هستند؟
چگونه تعیین می کنید که یک مسئله خطی است یا غیرخطی؟ پیدا کردن همیشه آسان نیست، اما برای بیشتر فیزیک می توانید معیار زیر را اعمال کنید: اگر هر ضریب یا خاصیت ماده دارای یک متغیر وابسته باشد، مدل غیرخطی است. همین امر برای مدل‌های مبتنی بر PDE در فرم ضریب، دوباره با همان معیار صادق است.
 
موارد خاصی وجود دارد که با برخی از رابط های فیزیک به وجود می آید. اول، در رابط های فیزیک انتقال حرارت، اگر اصطلاحات تابشی را برای تشعشعات جسم سیاه در نظر بگیرید، که طبق قانون استفان-بولتزمن به دما بستگی دارد، مشکل غیرخطی است. دوم، جریان تک فاز همیشه غیرخطی است، مگر اینکه عبارات همرفتی در معادلات تکانه حذف شده باشند و در نتیجه معادلات استوکس خطی ایجاد شود.
خواه مشکل شما خطی باشد یا غیرخطی، حل کننده ها آن را به یک یا چند سیستم خطی معادله تقسیم می کنند. بنابراین، انتخاب حل‌کننده خطی بر زمان حل و نیازهای حافظه نیز برای مدل‌های غیرخطی تأثیر می‌گذارد.
شبه زمان پله
یک روش شبه پله زمانی در مسائل حمل و نقل برای تثبیت همگرایی به سمت حالت پایدار استفاده می شود. در اینجا یک کنترل‌کننده بازخورد تطبیقی ​​یک عدد CFL (Courant–Friedrichs–Lewy) را کنترل می‌کند، که سپس برای پله‌های زمانی شبه استفاده می‌شود. عدد CFL از یک مقدار متوسط ​​(مرتب یک) شروع می شود و در زمان همگرایی تا چندین مرتبه قدر افزایش می یابد.
یک کنترل کننده PID ضربی ساده برای کنترل CFL استفاده می شود
(20-7)
که در آن پارامترهای کنترل کننده kP ، kI ، و kD به ترتیب برای بخش های متناسب، انتگرال و مشتق ثابت مثبت هستند در اینجا n تخمین خطای غیرخطی برای مرحله n است و tol یک برآورد خطای هدف داده شده است. CFL n متغیر حل کننده داخلی CFLCMP است.
عامل اول چیزی نیست جز توانی از نرخ همگرایی فعلی (بر اساس دو مرحله آخر) و مهمترین بخش این کنترلر است. اگر خطا در حال کاهش باشد، کنترل کننده عدد CFL را افزایش می دهد و اگر خطا در حال افزایش باشد، کنترل کننده عدد CFL را کاهش می دهد. قدرت این جفت (و سرعت این اثر) توسط پارامتر P کنترل می شود .
عامل بعدی برای کنترل عدد CFL به سمت برآورد خطای هدف درخواستی استفاده می شود. یک کنترل برآورد خطای محلی استاندارد فقط از این نوع عامل استفاده می کند، اما برای این نوع کنترل، سطح مطلق خطا چندان مهم نیست. با این حال، بدون این عامل ( kI =  0 )، عدد CFL ممکن است تغییر کند حتی اگر سطح خطا در همان سطح در نوسان باشد . این عامل همچنین می تواند برای انتخاب یک رژیم مطلق برای خطا استفاده شود که در آن افزایش عدد CFL باید دشوارتر باشد.
آخرین عامل یک عامل مشتق است. تحت تأثیر تغییر نرخ همگرایی است.
از حد پایینی سخت استفاده می شود و برای کاهش خطر خاتمه زودرس، نیاز اضافی به عدم پذیرش همگرایی تا زمانی وجود دارد .
پس از هر تکرار تفکیک حل‌کننده، گزارش، نسبت CFL زمان‌بندی شبه را گزارش می‌کند که به صورت min ( log ( CFL )/ log ( CFL  )، 1.0 ) تعریف می‌شود، که در آن CFL  =  10 4 عدد CFL حالت پایدار است. نسبت CFL مربوط به پیشرفت کلی حل کننده جدا شده است و نه گروه های فردی. همگرایی زمانی مجاز است که این عدد یک باشد و معیارهای همگرایی معمول رعایت شده باشد.
پله زمانی شبه برای مشکلات ثابت در دسترس است. در رویکرد جفت شده، همراه با حل کننده نیوتن میرایی ثابت عمل می کند. برای پارامترهای مرتبط تنظیمات مربوط به Fully Coupled and Segregated را ببینید .