آموزش فیزیک محاسباتی: برنامه نویسی علمی با پایتون

Computational Physics: Scientific Programming with Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: از روش‌های عددی تا برنامه‌های هیجان‌انگیز: معادلات دیفرانسیل، مسائل ارزش ویژه، روش‌های مونت کارلو و موارد دیگر شروع به کار: یک دوره آموزشی تصادفی مبتدی در مورد NumPy، توابع، حلقه‌ها، شرطی‌ها، فهرست‌ها، آرایه‌ها و نمودارها روش‌های عددی: مشتقات و انتگرال‌ها، معادلات دیفرانسیل مسائل و مقادیر ویژه، درونیابی و روش های مونت کارلو تمرین در فیزیک مسائل: ممان اینرسی، میدان مغناطیسی یک سیم، واپاشی رادیواکتیو، نوسانگرهای هارمونیک، سقوط آزاد، توپ های غلتشی کاربرد در مسائل پیشرفته: سیستم های آشوب، معادله گرما، مسئله 3 بدنه , ماموریت سفینه فضایی , آونگ های جفت شده , مغناطیس , گرافن و فیزیک کوانتومی برنامه نویسی: تجربه قبلی مفید است اما لازم نیست. ما با یک دوره تصادف 2 ساعته شروع می کنیم. ریاضیات مدرسه: دانستن اصول اولیه مشتقات و انتگرال ها. فیزیک: مفید است اما لازم نیست.

این دوره برای همه کسانی است که می خواهند در پایتون و فیزیک بیاموزند و بهتر شوند.

به جز برخی از ریاضیات مدرسه، هیچ دانش قبلی لازم نیست. ما از اصول اولیه شروع می کنیم و از نردبان به سمت پروژه های پیشرفته بالا می رویم!

Python یک ابزار بسیار قدرتمند است و به طور گسترده در فیزیک نظری و محاسباتی استفاده می‌شود.
استفاده از آن دشوار نیست، اما اگر خودتان هستید، می‌توانید کل موضوع را یاد بگیرید.

در فیزیک محاسباتی از تکنیک‌های عددی ریاضیات استفاده می‌کنیم، مانند:

  • برازش مدل درونیابی

  • انتگرال مشتقات

  • معادلات دیفرانسیل

  • مشکلات مقدار ویژه

  • روش های مونت کارلو

برای حل مسائل از همه حوزه های فیزیک.


از شما دعوت می شود تا به این دوره آموزشی که با دقت آماده شده است ملحق شوید که تمام آنچه را که در مورد پایتون برای برنامه نویسی علمی نیاز دارید به شما آموزش می دهد. این شامل یک دوره تصادف، آزمون‌ها، تمرین‌ها، راه‌حل‌ها و البته جلسات برنامه‌نویسی عملی است که در آن نمونه‌های واقعی را حل خواهیم کرد، مانند

  • محاسبه میدان مغناطیسی یک سیم باردار (مشتقات انتگرال)

  • اثر پروانه ای آشوب (معادلات دیفرانسیل)

  • انتشار گرما در نمونه (معادلات دیفرانسیل)

  • شبیه سازی (و جهت یابی) یک سفینه فضایی در تعامل با خورشید، زمین و ماه (معادلات دیفرانسیل)

  • رفتار عجیب نوسانگرهای جفت شده (مسائل مقدار ویژه، روش برازش تحلیل فوریه)

  • ضدفرومغناطیس فرومغناطیس (روش های مونت کارلو)

  • خواص ویژه گرافن (سخنرانی علمی پیشرفته درباره مواد برنده جایزه نوبل)

  • ... بسیاری دیگر

چرا من؟

اسم من Börge Göbel است و من یک فوق دکترا هستم و به عنوان یک دانشمند در فیزیک نظری کار می کنم.
من مهارت های مشاوره خود را به عنوان معلم خصوصی دانشجویان کارشناسی، کارشناسی ارشد و دکترا در فیزیک نظری بهبود بخشیده ام و دوره های موفق دیگری در اینجا دارم. Udemy.

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


"دوره عالی، این همان چیزی است که من به دنبالش بودم: هر آنچه که در مورد Python برای حل مسائل فیزیک از پایه باید بدانید. ساختار بسیار خوبی دارد، پر از مثال‌ها و برنامه‌های کاربردی برای مشکلات واقعی، فایل‌های الگو برای کمک به شما در پیگیری کلاس‌ها و توضیحات آموزنده.» - Adrián Terrones Aragón


امیدوارم هیجان زده باشید و با مهربانی به دوره ما خوش آمد می گویم!


سرفصل ها و درس ها

نصب پایتون از طریق Anaconda & Alternatives Python installation via Anaconda & Alternatives

نصب پایتون از طریق Anaconda & Alternatives Python installation via Anaconda & Alternatives

  • سلام خوش آمدید! Hello & Welcome!

  • ساختار و نمای کلی این دوره Structure & Overview of this course

  • نصب رایگان پایتون از طریق Anaconda Installing Python via Anaconda for free

  • نوت بوک Jupyter - ابزار انتخابی ما Jupyter notebook - Our tool of choice

  • نوت بوک خود را مدل دهید Style your notebook

  • دانش خود را در مورد اصول اولیه آزمایش کنید: پایتون در نوت بوک های Jupyter Test your knowledge about the basics: Python in Jupyter notebooks

  • نحوه استفاده از این دوره HOW TO use this course

  • بیایید با برنامه نویسی علمی شروع کنیم! LET'S GET STARTED with scientific programming!

  • (سؤالات متداول) مشکلات و خطاهای معمولی (FAQ) Typical problems & errors

  • (اختیاری) برگه های سبک برای نوت بوک شما (optional) Style sheets for your notebook

  • (اختیاری) محیط های توسعه جایگزین: برای پروژه های بزرگ - PyCharm (optional) Alternative development environments: For large projects - PyCharm

  • (اختیاری) محیط های توسعه جایگزین: Allrounder - کد ویژوال استودیو (optional) Alternative development environments: Allrounder - Visual Studio Code

  • (اختیاری) محیط‌ها و به‌روزرسانی‌ها (optional) Environments & Updates

[اختیاری] دوره سقوط پایتون [Optional] Python Crash Course

[اختیاری] دوره سقوط پایتون [Optional] Python Crash Course

  • مقدمه بخش: دوره اختیاری خرابی پایتون Introduction to section: Optional Python crash course

  • فایل قالب Template file

  • Numpy و ریاضیات پایه Numpy & Basic mathematics

  • انواع داده اعداد Data types of numbers

  • رشته های Strings

  • دانش خود را آزمایش کنید: اعداد، انواع داده ها و رشته ها Test your knowledge: Numbers, data types & strings

  • برنامه نویسی پایه: sqrt Basic programming: sqrt

  • [راه حل] تمرین کدنویسی: برنامه نویسی پایه: sqrt [Solution] Coding Exercise: Basic programming: sqrt

  • لیست ها Lists

  • آرایه ها Arrays

  • بردارها و ماتریس ها Vectors & Matrices

  • دانش خود را آزمایش کنید: لیست ها، آرایه ها و ماتریس ها Test your knowledge: Lists, arrays & matrices

  • لغت نامه ها Dictionaries

  • دستورات حلقه و اگر Loops & If statements

  • کار با فایل های داده Working with data files

  • کارکرد Functions

  • یک تابع را با حلقه ها پیاده سازی کنید Implement a function with loops

  • [راه حل] تمرین کدگذاری: یک تابع را با حلقه ها پیاده سازی کنید [Solution] Coding Exercise: Implement a function with loops

  • قطعات با matplotlib Plots with matplotlib

  • نمودار تراکم Density plot

  • نقشه های سه بعدی 3D Plots

  • دانش خود را بیازمایید: نقشه ها Test your knowledge: Plots

  • خلاصه دوره تصادف Crash course recap

  • منابع و پیوندها Resources & Links

گسترش سری، درون یابی و برازش داده ها Series expansion, interpolation & data fitting

گسترش سری، درون یابی و برازش داده ها Series expansion, interpolation & data fitting

  • معرفی Introduction

  • فایل قالب Template file

  • بسط تیلور تابع نمایی Taylor expansion of exponential function

  • تیلور بسط تابع گناه Taylor expansion of sin function

  • محاسبه عددی مشتقات (بالاتر). Numerically calculating (higher) derivatives

  • بسط عملکرد کلی تیلور Taylor expansion of general function

  • درون یابی Interpolation

  • اسپلاین های خطی و مکعبی Linear and cubic splines

  • استفاده از splines برای جا دادن داده های آشفته Using splines to fit perturbed data

  • درونیابی کامل با استفاده از چند جمله ای - حل یک سیستم معادلات خطی Perfect interpolation using polynomials - Solving a system of linear equations

  • [تمرین] (اختیاری) رویه را برای نقاط داده بیشتر تعمیم دهید [Exercise] (optional) Generalize the procedure for more data points

  • برازش تابع مدل چند جمله ای Fitting a polynomial model function

  • محاسبه خطای فیتینگ Calculating the fitting error

  • محاسبه گرادیان خطا Calculating the gradient of the error

  • ضرایب را با استفاده از گرادیان نزول به روز کنید Update the coefficients using gradient descent

  • [تمرین] (اختیاری) عملکرد مدل دیگری را به انتخاب خود امتحان کنید [Exercise] (optional) Try a different model function of your choice

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

مشتقات Derivatives

مشتقات Derivatives

  • معرفی Introduction

  • فایل قالب Template file

  • زمینه: مشتقات Background: Derivatives

  • پیاده سازی مشتقات در پایتون Implementation of derivatives in Python

  • چرا روش تفاوت مرکزی بهتر است؟ Why is the central-differences method better?

  • دقت بهتر: روش ریچاردسون Better accuracy: Richardson method

  • پیاده سازی مشتق دوم Implementing second derivative

  • [تمرین] سرعت و شتاب را محاسبه کنید [Exercise] Calculate velocity and acceleration

  • فایل های تمرین: محاسبه سرعت و شتاب Exercise files: Calculate velocity and acceleration

  • [راه حل] محاسبه سرعت و شتاب [Solution] Calculate velocity and acceleration

  • مشتقات چند بعدی: گرادیان Multidimensional derivatives: Gradient

  • مشتقات چند بعدی: واگرایی و پیچش Multidimensional derivatives: Divergence & curl

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

انتگرال ها Integrals

انتگرال ها Integrals

  • معرفی Introduction

  • فایل های قالب Template files

  • پیشینه انتگرال ها Background on integrals

  • انتگرال های گسسته و روش ذوزنقه ای Discretizing integrals & Trapezoidal method

  • بهبود دقت: قانون سیمپسون و فراتر از آن Improving accuracy: Simpson rule and beyond

  • [پروژه] انرژی دورانی و لحظه اینرسی - با جرم نقطه شروع کنید [Project] Rotational energy & Moment of inertia - Start with a point mass

  • چرخاندن یک چوب به دور یک سر Rotating a stick around one end

  • [تمرین] چرخاندن یک چوب در اطراف مرکز [Exercise] Rotating a stick around the center

  • [راه حل] چرخاندن یک چوب در اطراف مرکز [Solution] Rotating a stick around the center

  • چرخاندن یک کره: حل تحلیلی Rotating a sphere: Analytical solution

  • چرخاندن یک کره: حل عددی Rotating a sphere: Numerical solution

  • [تمرین] چرخاندن یک پوسته کروی [Exercise] Rotating a spherical shell

  • [راه حل] چرخاندن یک پوسته کروی [Solution] Rotating a spherical shell

  • [پروژه] میدان مغناطیسی یک سیم - توضیح مشکل [Project] Magnetic field of a wire - Explaining the problem

  • آماده سازی آرایه ها Preparing the arrays

  • محاسبه پتانسیل برداری یک سیم باردار Calculating the vector potential of a charged wire

  • محاسبه میدان مغناطیسی یک سیم باردار Calculating the magnetic field of a charged wire

  • نمودار کویور میدان مغناطیسی Quiver plot of the magnetic field

  • تجزیه و تحلیل یک سیگنال تناوبی از طریق تبدیل فوریه Analyzing a periodic signal via Fourier transforms

  • تبدیل فوریه Fourier transform

  • Numpy: تبدیل سریع فوریه (FFT) Numpy: Fast fourier transform (FFT)

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

معادلات دیفرانسیل I: مبانی و مسائل یک بعدی Differential equations I: Basics and 1-dimensional problems

معادلات دیفرانسیل I: مبانی و مسائل یک بعدی Differential equations I: Basics and 1-dimensional problems

  • معرفی Introduction

  • فایل قالب Template file

  • زمینه: روش اویلر Background: Euler method

  • مثال 1: واپاشی رادیواکتیو Example 1: Radioactive decay

  • تعریف یک تابع کلی برای روش اویلر Defining a general function for the Euler method

  • مثال 2: واپاشی رادیواکتیو تقویت شده با زمان Example 2: Time-amplified radioactive decay

  • معادلات دیفرانسیل مرتبه بالاتر Higher-order differential equations

  • مثال 3: سقوط آزاد Example 3: Free fall

  • مثال 4: آونگ Example 4: Pendulum

  • حل دقیق آونگ Accurate solution of the pendulum

  • افزودن نیروهای میرایی و محرک Adding damping and driving forces

  • بهبود: از تابع SciPy Sol_ivp استفاده کنید Improvement: Use the SciPy function solve_ivp

  • معادلات دیفرانسیل مرتبه بالاتر با Sol_ivp Higher-order differential equations with solve_ivp

  • مقایسه روش های مختلف برای حل معادلات دیفرانسیل Compare different methods for solving differential equations

  • اجرای روش رانگ کوتا مرتبه 4 Implementation of Runge Kutta 4th order method

  • اجرای RK45 Implementation of RK45

  • مقایسه سه روش ما برای حل معادلات دیفرانسیل Comparison of our three methods to solve differential equations

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

معادلات دیفرانسیل II: ابعاد چندگانه Differential equations II: Multiple dimensions

معادلات دیفرانسیل II: ابعاد چندگانه Differential equations II: Multiple dimensions

  • معرفی Introduction

  • فایل های قالب Template files

  • [پروژه] شبیه سازی یک توپ غلتان - دو نوسانگر جدا شده [Project] Simulating a rolling ball - Two decoupled oscillators

  • حل معادله دیفرانسیل یک توپ غلتان Solving the differential equation of a rolling ball

  • شرایط شروع مختلف و نیروهای خارجی که روی توپ وارد می شوند Different starting conditions & external forces acting on the ball

  • [پروژه] سیستم های آشوب و لورنز - توضیح معادله دیفرانسیل [Project] Chaos & Lorenz systems - Explanation of the differential equation

  • حل معادله دیفرانسیل لورنز برای حالت آشوب Solving the Lorenz differential equation for the chaotic case

  • حل معادله دیفرانسیل لورنز برای حالت غیر آشوب Solving the Lorenz differential equation for the non-chaotic case

  • [پروژه] معادله حرارت - توضیح معادله دیفرانسیل [Project] Heat equation - Explanation of the differential equation

  • حل معادله گرما در یک بعد Solving the heat equation in one dimension

  • حل معادله گرما در دو بعد Solving the heat equation in two dimensions

  • [پروژه] مسئله 3 جسم: معادلات دیفرانسیل جفت شده برای خورشید، زمین و ماه [Project] 3-body problem: Coupled differential equations for sun, earth & moon

  • کدگذاری معادلات دیفرانسیل خورشید، زمین و ماه Coding the differential equations for sun, earth & moon

  • حل معادلات دیفرانسیل خورشید، زمین و ماه (مسئله 3 جسمی) Solving the differential equations for sun, earth & moon (3-body problem)

  • تجزیه و تحلیل حرکت مداری زمین و ماه Analyzing the orbital motion of earth & moon

  • نظر در مورد تمایل ماه Comment on inclination of the moon

  • [پروژه] موشک - کدگذاری و حل معادلات دیفرانسیل [Project] Rocketship - Coding & Solving the differential equations

  • تغییر سرعت شروع: مدار بیضی به دور زمین Changing starting velocity: Elliptical orbit around earth

  • شبیه سازی فرار از زمین Simulating earth escape

  • شبیه سازی برخورد با ماه Simulating a moon encounter

  • مانور ترمز برای رسیدن به مدار ماه Brake maneuver to reach moon orbit

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

مشکلات ارزش ویژه Eigenvalue problems

مشکلات ارزش ویژه Eigenvalue problems

  • معرفی Introduction

  • فایل قالب Template file

  • سه نوسانگر جفت شده: معادلات حرکت Three coupled oscillators: Equations of motion

  • حل عددی معادلات دیفرانسیل جفت شده Numerical solution of the coupled differential equations

  • چرا یک مشکل مقدار ویژه است؟ Why is it an eigenvalue problem?

  • [تمرین] روال خود را برای محاسبه مقادیر ویژه بنویسید [Exercise] Write your own routine to calculate the eigenvalues

  • [راه حل] روال خود را برای محاسبه مقادیر ویژه بنویسید [Solution] Write your own routine to calculate the eigenvalues

  • تجزیه و تحلیل حالت های ویژه سه نوسانگر جفت شده Analyzing the eigenmodes of the three coupled oscillators

  • تصحیح: در اینجا بردارهای ویژه تصحیح شده هستند Correction: Here are the corrected eigenvectors

  • تبدیل فوریه: بسامدهای مشخصه حل عددی را بیابید Fourier transform: Find the characteristic frequencies of the numerical solution

  • [تمرین] سه نوسان هارمونیک را با حل عددی ما مطابقت دهید [Exercise] Fit three harmonic oscillations to our numerical solution

  • [راه حل] سه نوسان هارمونیک را با حل عددی ما مطابقت دهید [Solution] Fit three harmonic oscillations to our numerical solution

  • نظر: تابع errorFitGradient Comment: errorFitGradient function

  • تعمیم به n نوسانگر جفت شده Generalization to n coupled oscillators

  • شرایط مرزی دوره ای را معرفی کنید Introduce periodic boundary conditions

  • منابع و پیوندها Resources & Links

الگوریتم های مونت کارلو Monte Carlo algorithms

الگوریتم های مونت کارلو Monte Carlo algorithms

  • معرفی Introduction

  • فایل های قالب Template files

  • [پروژه] محاسبه Pi - توضیح ایده [Project] Calculating Pi - Explaining the idea

  • تقریب پی با استفاده از الگوریتم مونت کارلو Approximating Pi using a Monte Carlo algorithm

  • راه حل جایگزین و مقایسه زمان برای تقریب Pi Alternative solution and time comparison for approximating Pi

  • [پروژه] شبیه سازی آهنربا - تنظیم و ترسیم حالت اولیه [Project] Simulating a magnet - Setting up & plotting the initial state

  • تعریف انرژی Defining the energy

  • شبیه سازی یک گام متروپلیس Simulating a Metropolis step

  • اجرای الگوریتم مونت کارلو Running the Monte Carlo algorithm

  • کد را با استفاده از دماهای محدود بهبود دهید Improve code using finite temperatures

  • اجرای برهمکنش با میدان مغناطیسی Implement interaction with a magnetic field

  • برهمکنش دزیالوشینسکی - موریا باعث ایجاد بافت های چرخشی غیر خطی می شود Dzyaloshinskii–Moriya interaction giving rise to non-collinear spin textures

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

[افزودن] مکانیک کوانتومی: حل معادله شرودینگر [Add On] Quantum mechanics: Solving the Schrödinger equation

  • معرفی Introduction

  • پس زمینه فیزیکی Physical background

  • [پروژه] ذره در یک جعبه [Project] Particle in a box

  • یافتن اولین راه حل از طریق روش تیراندازی Finding the first solution via the shooting method

  • تعیین و بحث در مورد سیستم ویژه ذره در یک جعبه Determining & Discussing the eigensystem of the particle in a box

  • [پروژه] نوسانگر هارمونیک کوانتومی [Project] Quantum harmonic oscillator

  • تطبیق نوت بوک ما با پتانسیل جدید Adapting our notebook to the new potential

  • تعیین و بحث در مورد سیستم خاص نوسانگر هارمونیک کوانتومی Determining & Discussing the eigensystem of the quantum harmonic oscillator

  • چگونه می توانیم این مشکل را راحت تر حل کنیم؟ How can we solve this problem more easily?

  • از Mathematica برای حل مشکل فقط با چند خط کد استفاده کنید Use Mathematica to solve the problem with only a few lines of code

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

[افزودن] مکانیک کوانتومی: حل معادله شرودینگر [Add On] Quantum mechanics: Solving the Schrödinger equation

[افزودن] سخنرانی جایزه نوبل: خواص الکترونیکی گرافن [Add on] Nobel prize lecture: Electronic properties of graphene

  • معرفی Introduction

  • فایل قالب Template file

  • از الکترون های آزاد تا ساختارهای نواری From free electrons to band structures

  • ترسیم شبکه گرافن Plotting a graphene lattice

  • ساختار نواری گرافن Band structure of graphene

  • نقاط دیراک و الکترون های بی جرم Dirac points and massless electrons

  • طراحی یک نانوروبان گرافن Plotting a graphene nanoribbon

  • ساختار نواری یک نانوروبان گرافن Band structure of a graphene nanoribbon

  • اعمال میدان مغناطیسی: کوانتیزاسیون لاندو و اثر هال کوانتومی Applying magnetic field: Landau quantization & Quantum Hall effect

  • شبکه Moire از دو لایه پیچ خورده گرافن Moire lattice of twisted bilayers of graphene

  • خلاصه بخش Section recap

  • منابع و پیوندها Resources & Links

  • متشکرم و خداحافظ! THANK YOU & GOODBYE!

  • من و دوره های دیگر من را دنبال کنید Follow me & My other courses

[افزودن] سخنرانی جایزه نوبل: خواص الکترونیکی گرافن [Add on] Nobel prize lecture: Electronic properties of graphene

نمایش نظرات

آموزش فیزیک محاسباتی: برنامه نویسی علمی با پایتون
جزییات دوره
21 hours
184
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,492
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dr Börge Göbel Dr Börge Göbel

دانشمند فیزیک کوانتومی، برنامه نویس و مدرس