Program pwostał jako zadanie zaliczeniowe z przedmiotu "Programowanie w języku Fortran". Jest to prgram prezentujący metody całkowania (metodę kwadratów, trapezów) wraz z zastosowaniem mechanizmu coarrays do współbieżnego obliczenia wyników całkowania dla podprzedziałów przedziału całkowania (było ich 8).
Projekt składa się z 2 folderów oraz pliku uruchomieniowego.
.
├── src #(folder zawierający pliki źródłowe)
├── functions.F90 #(interfejs funkcji oraz przykładowe funkcje)
├── rectangle.F90 #(implementacja metody kwadratów)
├── trapezoid.F90 #(implementacja metody trapezów)
├── main.F90 #(kod programu testującego)
├── res #(folder zawierjący wyniki działania)
├── results #(wyniki testowego wykonania)
./main #(bezpośrednie uruchomienie programu testującego)
make test #(uruchmienie za pomocą make)
Uruchomienie programu spowoduje wypisanie w konsoli wyników obliczenia całek na przedziale od -1 do 1 dla zdefiniowanych funkcji (x^2 + 2x + 1, cos(x) oraz e^x) wraz z porównaniem z przewidywanym wynikiem. Wyświetlone komunikaty zostaną również zapisane w pliku /res/results.
Otrzymane wyniki dla metody kwadratów (podział przedziału na 8 części):
2.65625000000000 dla y(x) = x^2 + 2 * x + 1
1.68733263340509 dla y(x) = cos(x)
2.34429268716435 dla y(x) = e^x
Otrzymane wyniki dla metody trapezów (podział przedziału na 8 części):
2.68750000000000 dla y(x) = x^2 + 2 * x + 1
1.67416750270445 dla y(x) = cos(x)
2.36263133358521 dla y(x) = e^x
Wyniki analityczne otrzymane za pomocą narzędzia Wolfram Alpha.
Otrzymane wyniki nie odbiegają znacznie od tych wyznaczonych analitycznie, z tego wynika, że dla testowanych funkcji prezentowane metody całkowania dają dobre przybliżenie wyniku. Dokładność wyników zależy również od gęstosci podziału przedziału całkowania (np podział na 8 fragmentów).