مقدمه
معادلات سهموی (Parabolic Equations) در بسیاری از زمینههای علمی و مهندسی، به ویژه در مدلسازی انتقال حرارت و diffusion، کاربرد دارند. یکی از روشهای عددی موثر برای حل این معادلات، روش Crank-Nicolson است که به عنوان یک روش ضمنی شناخته میشود. این روش ترکیبی از روشهای پیشرو (Explicit) و پسرو (Implicit) است و به دلیل پایداری بالای آن، به ویژه برای مسائل با زمان طولانی، بسیار محبوب است
شرط مرزی نیومن
شرط مرزی نیومن به معنای تعیین مقدار مشتق تابع در مرزهای دامنه است. به عنوان مثال، برای تابع( u(x, t ، شرط مرزی نیومن به صورت زیر بیان میشود:
که در آن n جهت نرمال به مرز و( g(x, t تابعی است که میتواند به زمان و فضا وابسته باشد.
روش Crank-Nicolson
روش Crank-Nicolson یک روش عددی ضمنی است که برای حل معادلات سهموی استفاده میشود. این روش با استفاده از میانگین مقادیر در دو زمان n و n+1 کار میکند. معادله عمومی برای این روش به صورت زیر است:
uᵢⁿ⁺¹ - uᵢⁿ / Δ t = 1 / 2 (( ∂² u / ∂ x² |ᵢⁿ + ∂² u / ∂ x² |ᵢⁿ⁺¹ ))
پیادهسازی در پایتون
کد پایتون
توضیحات کد پایتون
- ابتدا، پارامترها و آرایهها تعریف و تخصیص داده میشوند.
- ماتریس A برای حل ضمنی تشکیل میشود.
- شرایط مرزی نیومن به ماتریسها اعمال میشود.
- با استفاده از یک حلقه، مقادیر دما محاسبه میشود.
- نتایج به صورت گرافیکی نمایش داده میشود.
تصویر