Jacek Matulewski
Materiały do wykładu Fizyka w symulacjach i modelowaniu komputerowym

Kody źródłowe do ćwiczeń:

Całkowanie układu równań różniczkowych zwyczajnych (ODE):
ode1 - metody Eulera i MidPoint (RK2); rzut: C++ (BCB6) [zip], C# (VS2008) [zip], Pascal (Delphi 7) [zip], Pascal (Free Pascal) [zip]
ode2 - metody RK4 i RKF4(5); oscylator: C++ (BCB6) [zip], C# (VS2008) [zip]
ode3 - zbiór oscylatorów sprzężonych: C++ (BCB6) [zip]
ode4 - układ Ziemia-Księżyc (grawitacja): C++ (BCB6) [zip], C# (VS2008) [zip]
ode4 z wizualizacją - układ Ziemia-Księżyc (grawitacja) z wizualizacją w VCL (PathGraph): C++ (BCB6) [zip]
ode4 z wizualizacją (plik .exe) - plik .exe skompilowany w taki sposób, żeby można go było uruchomić bez zainstalowanego BCB6 (nie używa RTL i ma wkompilowane pakiety): C++ (BCB6) [zip]
ode5 - zagadnienie 3 cial (Ziemia, Księżyc i rakieta): C++ (BCB6) [zip]
UWAGA! We wszystkich implementacjach RK4 i RKF4(5) jest błąd polegający na zmienianiu elementów tablicy y_tmp w trakcie gdy jest ona nadal używana do obliczania wartości kolejnych przyrostów (funkcje odeint_RK4 i odeint_RKF45). Wersja poprawiona jest tylko w cpp2_cpp.zip.

Archiwa ode#_cpp.zip zawierają projekty gotowe do kompilacji w Borland C++Builder 6.
Pliki Unit1.cpp (ode1-ode4) powinny skompilować się w każdym kompilatorze C++ (np. gcc lub Visual C++)
Archiwa ode#_cs.zip zawierają rozwiązania gotowe do kompilacji w Visual Studio 2008.

Zbiór komponentów dla C++Builder 6 lub Delphi 7 (i nowszych), które można wykorzystać do wizualizacji 2D [zip]

Implementacja wektora, macierzy i kwaternionu (szablony C++) [zip]

Całkowanie równania różniczkowego cząstkowego (PDE) na przykładzie równania Schroedingera:
pde0 - projekt startowy (biblioteks 3p.dll zawiera klasy PDE.Complex i PDE.UkladTrojprzekatniowy z metodą statyczną rozw3p (przykład ich użycia w projekcie): C# (VS2008) [zip]
pde1 - zaimplementowany solver dla równania Schroedingera z potencjałem harmonicznym: C# (VS2008) [zip], C++ (BCB6) [zip]
pde2 - zapis funkcji falowej i próg potencjału: C# (VS2008) [zip], C++ (BCB6) [zip] (wzory funkcji falowej do zad. 7: Nt=500, Nt=1500)

Implementacja liczb zespolonych w C# [zip]

Projekty korzystające z okna przystosowanego do wyświetlania OpenGL w VC++ (Win32, MFC, GLUT) i C++Builder (VCL)