Interaktywny system obliczeniowy wykorzystujący Metodę Elementów Skończonych (MES) do rozwiązywania równań różniczkowych drugiego rzędu. Projekt został zrealizowany w ramach przedmiotu Równania Różniczkowe i Różnicowe na Wydziale Informatyki AGH.
Głównym celem aplikacji jest wyznaczenie rozkładu potencjału elektromagnetycznego w zadanym obszarze przy użyciu sformułowania wariacyjnego (słabego). Zgodnie z wymaganiami projektowymi, cała logika obliczeniowa została zaimplementowana bez użycia zewnętrznych bibliotek matematycznych (takich jak NumPy czy SciPy), co wymagało ręcznego stworzenia solwerów macierzowych i algorytmów całkowania.
Zgodnie z algorytmem wyboru (litera nazwiska), projekt rozwiązuje zagadnienie potencjału elektromagnetycznego:
-
Równanie:
$\frac{d^{2}\phi}{dx^{2}} = -\frac{\rho}{\epsilon_{r}}$ -
Warunki brzegowe:
-
$\phi'(0) + \phi(0) = 5$ (Warunek Robina) -
$\phi(3) = 2$ (Warunek Dirichleta)
-
-
Parametry:
$\rho = 1$ , a$\epsilon_r$ jest funkcją przedziałami stałą na odcinku$[0, 3]$ .
Aplikacja została podzielona na moduły odzwierciedlające etapy rozwiązywania problemu inżynierskiego:
W sekcji "Teoria" znajduje się pełne wyprowadzenie matematyczne formy dwuliniowej
-
Generowanie układu równań: Automatyczne tworzenie macierzy sztywności i wektora obciążeń dla dowolnej liczby elementów
$n$ . -
Całkowanie numeryczne: Wykorzystanie kwadratur Gaussa-Legendre'a (
$N=2$ ) do precyzyjnego obliczania całek wewnątrz elementów. -
Solver macierzowy: Własna implementacja algorytmu eliminacji Gaussa, służąca do rozwiązywania układu równań liniowych
$Ax = b$ .
- React & TypeScript: Zapewnienie pełnej kontroli nad typami danych i reaktywnością interfejsu.
-
Recharts: Generowanie interaktywnych wykresów funkcji
$\phi(x)$ . - KaTeX: Renderowanie złożonych wzorów matematycznych w formacie LaTeX dla zwiększenia czytelności dokumentacji teoretycznej.
Aplikacja jest dostępna w wersji online przez GitHub Pages (link w opisie repozytorium). Aby uruchomić ją lokalnie:
- Sklonuj repozytorium:
git clone https://github.com/Veexeq/RRiR-Project
- Zainstaluj zależności:
npm install
- Uruchom serwer deweloperski:
npm run dev
Wiktor Trybus
Informatyka na WI AGH
Projekt zrealizowany w roku akademickim 2025/2026.