Strona głównaArtykułyTunneling Effect

Quantum Tunneling Simulation

Witness the seemingly impossible: particles passing through barriers they shouldn't be able to according to classical physics. This simulation explores the phenomenon of quantum tunneling, a cornerstone of modern physics where particles exploit their wave-like properties to overcome potential energy obstacles.

mysimulator teamZaktualizowano — czerwiec 2026≈ 8 min czytania▶ Otwórz symulację

Zasada zachowania w ukryciu

Równanie przewodzenia ciepła opisuje, jak temperatura rozprzestrzenia się w materiale, gdy przestajemy myśleć o poszczególnych cząsteczkach i zaczynamy myśleć o polu ciągłym. Wynika to z połączenia dwóch idei. Prawo Fouriera mówi, że strumień ciepła jest proporcjonalny do gradientu temperatury: ciepło przepływa z gorącego do zimnego, szybciej tam, gdzie gradient jest stromy. Zasada zachowania energii mówi, że temperatura w danym punkcie zmienia się tylko wtedy, gdy przez ten punkt przepływa więcej ciepła niż z niego ucieka. Połączenie tych dwóch powoduje powstanie pojedynczej równania różniczkowego częściowego, z którym współczynnikiem dyfuzyjności α = k/(ρc) łączone są przewodność cieplna k, gęstość ρ i pojemność cieplna c w jeden parametr.

∂u/∂t = α ( ∂²u/∂x² + ∂²u/∂y² )  ← równanie przewodzenia ciepła 2D u(x,y,t) = pole temperaturowe α = k / (ρ c) = współczynnik dyfuzyjności To jest to samo równanie, które opisuje rozprzestrzenianie się atramentów w wodzie i rozprzestrzenianie się zanieczyszczeń w atmosferze – dyfuzja i przewodzenie ciepła są tym samym matematyką z różnymi etykietami na osiach.

∂u/∂t = α ( ∂²u/∂x² + ∂²u/∂y² )    ← 2D heat equation
u(x,y,t)  = temperature field
α = k / (ρ c)  = thermal diffusivity

Obliczanie pochodnych metodą różnic skończonych

Komputer nie może bezpośrednio obliczyć pochodnej, dlatego symulacja rozkłada na siatkę płytę i zastępuje każdą pochodną różnicą pomiędzy sąsiednimi komórkami. Standardowa przybliżona metoda różnicy skończonej drugiego rzędu w jednym kierunku to ((u[i+1] − 2u[i] + u[i−1]) / Δx²); dodając to samo w drugim kierunku, otrzymujemy regułę aktualizacji, która przesuwa każdą komórkę w stronę średniej wartości jej czterech sąsiadów, ważoną przez stopień, w jakim obecnie odbiega od tej średniej.

next[i][j] = cur[i][j] + α * dt * (
  (cur[i+1][j] - 2*cur[i][j] + cur[i-1][j]) / dx2 +
  (cur[i][j+1] - 2*cur[i][j] + cur[i][j-1]) / dy2
)   // explicit FTCS scheme, one full grid pass per frame
demo na żywo · powiązana symulacja● LIVE

Dlaczego krok czasowy nie może być dowolny

Ta jawna metoda (FTCS – forward-time, centred-space) jest tania, ale nie zawsze bezpieczna. Analiza stabilności Von Neumanna – sprawdzanie, jak każdy składnik fouriera z błędu rośnie z kroku na krok – pokazuje, że metoda utrzymuje się w granicy tylko wtedy, gdy α·dt·(1/dx² + 1/dy²) jest mniejsze lub równe połowie. Jeśli dt przekroczy tę granicę, siatka nie tylko lekko się pomyli, zacznie oscylować i rozbiegać w ciągu kilku klatek, ponieważ dx już pojawia się pod pierwiastkiem w liczniku: zmniejszenie rozmiaru komórki o połowę wymusza redukcję kroku czasowego o współczynnik cztery. Metody ukryte, takie jak Crank–Nicolson, rozwiązują liniowy układ równań na każdym kroku zamiast odczytywać sąsiednie punkty, co jest droższe na krok, ale całkowicie eliminuje ograniczenie stabilności, dzięki czemu duże kroki czasowe zachowują się dobrze.

Przejściowy stan w porównaniu z równowagą

Uruchamiając regułę aktualizacji do przodu w czasie, otrzymujemy rozwiązanie przejściowe – płytę chłodzącą i nagrzewającą się w wyniku włączenia/wyłączenia źródeł ciepła. Pozostawione bezczynność przez wystarczająco długi czas z ustalonymi temperaturami brzegowymi, pole przestaje się zmieniać i spełnia równanie Laplace’a: ∇²u = 0 – stan równowagi. Można do niego dojść w dwóch sposobach – albo doprowadzić rozwiązanie przejściowe do zatrzymania, co może zająć tysiące klatek obrazu, albo rozwiązać równanie równowagi bezpośrednio za pomocą metody relaksacyjnej, takiej jak Gauss-Seidel lub metoda wszechstronnego relaksowania, która iteruje wyłącznie w przestrzeni i konwerguje znacznie szybciej, gdy tylko liczy się ostateczny obraz.

Granice decydują o obrazie

Utrzymywanie stałej temperatury w konkretnym punkcie – warunek Dirichlet – przypomina o temperaturze komórki na każdym kroku. Z kolei izolowany brzeg zmusza gradient temperatury do zera – warunek Neumann – co oznacza, że ciepło odbija się wewnętrznie, zamiast uciekać na zewnątrz. Rzeczywiste ściany działają mieszanką obu tych warunków, tracąc ciepło w proporcji do różnicy temperatur z otoczeniem, czyli warunek Robin, który przestrzegają rzeczywiste grzejniki i okna.

Często zadawane pytania

Dlaczego symulacja eksploduje na szum, jeśli przesuwam zbyt mocno suwkę prędkości?

Rozwiązanie wykorzystuje schemat różnic skończonych opartej na metodzie jawnej, który jest stabilny tylko wtedy, gdy krok czasowy pozostaje poniżej progu zdefiniowanego przez rozmiar komórki i dyfuzję (warunek stabilności von Neumanna). Przekroczenie tego progu powoduje, że błędy zaokrągleń rosną w każdym kroku zamiast maleć, przekształcając gładkie pole w szum w postaci siatki w ciągu kilku klatek.

Co właściwie różni tryb stanów ustalonych od trybu transwencji?

Tryb transwencji krok po kroku rozwiązuje pełną równanie zależne od czasu, pokazując rozprzestrzenianie się ciepła klatka po klatce. Stan stabilny zamiast tego bezpośrednio rozwiązuje ∇²u = 0 metodą relaksacyjną, przechodząc bezpośrednio do wzoru temperatury, w którym ustabilizuje się płyta, jeśli czekałaby na zawsze przy tych samych warunkach brzegowych.

Dlaczego źródła ciepła rozprzestrzeniają się okręgami zamiast kwadratami, nawet na siatce kwadratowej?

Dyfuzja jest izotropowa — ciepło prowadzi równie szybko we wszystkich kierunkach — dlatego kontury temperatury wokół punktowego źródła zbliżają się do okręgów w miarę pogłębiania się siatki, nawet jeśli symulacja zawsze rozmawia tylko z czterema sąsiadami osiowymi na komórkę.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Heat Equation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Heat Equation

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)