From 6bd2da95d766e092f3e0bd62d8281be1a7ef660a Mon Sep 17 00:00:00 2001 From: arunningcroc Date: Thu, 1 Jul 2021 14:31:45 +0300 Subject: [PATCH 1/5] clarified goals, added tests, added new codes --- poisson2d/README.md | 24 ++++---- poisson2d/modern.f90 | 97 +++++++++++++++++++++++++++++++++ poisson2d/naive.c | 85 +++++++++++++++++++++-------- poisson2d/naive.f90 | 51 ----------------- poisson2d/optimized.c | 82 +++++++++++++++++++++------- poisson2d/optimized.f90 | 55 ------------------- poisson2d/poisson.py | 55 +++++++++++-------- poisson2d/poisson.pyx | 64 +++++++++++++--------- poisson2d/poissonvectorized.py | 64 ++++++++++++++++++++++ poisson2d/problemdesc.pdf | Bin 0 -> 93781 bytes poisson2d/setup.py | 16 ------ poisson2d/traditional1.f90 | 80 +++++++++++++++++++++++++++ poisson2d/traditional2.f90 | 82 ++++++++++++++++++++++++++++ 13 files changed, 531 insertions(+), 224 deletions(-) create mode 100644 poisson2d/modern.f90 delete mode 100644 poisson2d/naive.f90 delete mode 100644 poisson2d/optimized.f90 create mode 100644 poisson2d/poissonvectorized.py create mode 100755 poisson2d/problemdesc.pdf delete mode 100644 poisson2d/setup.py create mode 100644 poisson2d/traditional1.f90 create mode 100644 poisson2d/traditional2.f90 diff --git a/poisson2d/README.md b/poisson2d/README.md index 14ae309..086c4b4 100644 --- a/poisson2d/README.md +++ b/poisson2d/README.md @@ -15,17 +15,21 @@ The grid is a 2-dimensional array of size MxM. The timings for different values | Language | M=100 | M=200 | M=300 | |---------------------|-----------------|-----------------------|------------------------| -| Python (pure) | 276 | n/a | n/a | -| Cython | 1.02 | 32.8 | 229 | -| Fortran (naive) | 0.34 | 13.2 | 69.7 | -| Fortran (optimized) | 0.18 | 6.25 | 31.4 | -| C (naive) | 0.42* | 7.25 | 33.7 | -| C (optimized) | 0.37* | 6.80 | 32.8 | - -* For all of these results, the amount of iterations performed by the respective codes was approximately -the same, with the exception of the 100x100 grid C codes, which did nearly a double amount of iterations -compared to the rest, for some reason. The timings are on AMD Ryzen 5 3600 @3.6GHz, using WSL2 on Windows 10. +| Python (pure) | 198 | n/a | n/a | +| Cython | 0.46 | 5.77 | 43.9 | +| Fortran (trad1) | 0.23 | 3.59 | 18.3 | +| Fortran (trad2) | 0.19 | 4.29 | 19.6 | +| C (naive) | 0.18 | 2.46 | 11.6 | +| C (optimized) | 0.13 | 1.83 | 8.26 | +| Fortran (modern) | 0.19 | n/a | 8.08 | +| Python (vectorized) | 0.92 | 10.8 | 65.7 | + +* For all of these results, the amount of iterations performed was exactly the same. + The timings are on AMD Ryzen 5 3600 @3.6GHz, using WSL2 on Windows 10. Some thoughts on the code at https://runningcrocodile.fi/articles/pythonperformance.html . Also, there was discussion about this problem at Discourse: https://fortran-lang.discourse.group/t/performance-c-vs-fortran/1461 with important contributions from numerous users (Mason, Beliavsky, septc, implicitall, nncarlson, han190 and pmk) + +Codes written by a running crocodile (traditional1.f90, traditional2.f90, naive.c, optimized.c, poisson.py, poissonvectorized.py, poisson.pyx) +and Damian Rouson (modern.f90) with the aforementioned help from Discourse. diff --git a/poisson2d/modern.f90 b/poisson2d/modern.f90 new file mode 100644 index 0000000..81e00fd --- /dev/null +++ b/poisson2d/modern.f90 @@ -0,0 +1,97 @@ +module modern_func + !! Code by Damian Rouson, @rouson. + !! Modified by ARC, @arunningcroc + + !! Define a scalar function over 2-space. + implicit none + + private + public :: dp, run_modern + + integer, parameter :: precision = 15, range = 50 + integer, parameter :: dp = selected_real_kind(precision, range) +contains + pure real(dp) function rho(x,y) + real(dp), intent(in) :: x,y + rho = -(6.0_dp*x*y*(1.0_dp-y)-2.0_dp*x**3.0_dp) + end function + + pure elemental real(dp) function boundary(y) + real(dp),intent(in) :: y + boundary = y*(1-y) + end function + + pure real(dp) function analytical_sol(x,y) + real(dp), intent(in) :: x,y + analytical_sol = y*(1-y)*x**3 + end function + + integer function run_modern(M) + real(dp) :: dx, rho_sampled(M,M) + integer :: M,i,j + + dx = 1.0/(M-1) + associate( dy => (dx) ) ! Associating with an expression provides immutable state so dy cannot be inadvertently redefined. + + do concurrent(i=1:M, j=1:M) + rho_sampled(i,j) = rho(i*dx,j*dy) + end do + + block ! Tighten the scoping to declutter the code above. + real(dp) :: delta_phi, avgerror + real(dp), parameter :: tolerance=1E-8_dp, analytical_tol = 5.0e-3_dp + real(dp), dimension(0:M-1,0:M-1) :: phi_prime, phi, analytical + integer :: iteration + + phi = 0. + phi(M-1,:) = boundary([(i*dx,i=0,M-1)]) + + do concurrent(i=0:M-1, j=0:M-1) + analytical(i,j) = analytical_sol(i*dx,j*dx) + end do + + phi_prime([0,M-1], 1:M-2) = phi([0,M-1], 1:M-2) ! Initialize only boundary values except corners. (Internal values will + phi_prime(1:M-2, [0,M-1]) = phi(1:M-2, [0,M-1]) ! be overwritten in the first iteration. Corners will never be used.) + + delta_phi = 1.0_dp !tolerance + epsilon(tolerance) ! Ensure at least 1 iteration. + iteration = 0 + do while (delta_phi > tolerance ) + iteration = iteration + 1 + do concurrent(i=1:M-2, j=1:M-2) ! Compute updated solution estimate at internal points. + phi_prime(i,j) = (phi(i+1,j) + phi(i-1,j) + phi(i,j+1) + phi(i,j-1))/4._dp & + + (dx/2._dp)*(dy/2._dp)*rho_sampled(i,j) + end do + delta_phi = maxval(abs(phi_prime - phi)) + phi(1:M-2, 1:M-2) = phi_prime(1:M-2, 1:M-2) ! Update internal values. + !print *, iteration + end do + phi = phi/maxval(abs(phi)) + analytical = analytical/maxval(abs(analytical)) + avgerror = sum(abs(phi-analytical))/(M*M) + if(avgerror > analytical_tol) then + print *, "Failed to match analytical solution", avgerror + end if + run_modern = iteration + end block + + + end associate + end function +end module + + +program poisson + !! Solve the 2D Poisson equation using a smoothing operation to iterate. + use modern_func, only: run_modern, dp + implicit none + + integer :: iter + integer, parameter :: M=170 + real(dp) :: t_start, t_end + + + call cpu_time(t_start) + iter = run_modern(M) + call cpu_time(t_end) + print *, t_end-t_start, iter +end program \ No newline at end of file diff --git a/poisson2d/naive.c b/poisson2d/naive.c index 9d72f22..6ed2091 100644 --- a/poisson2d/naive.c +++ b/poisson2d/naive.c @@ -3,7 +3,14 @@ #include #include #include -#define M 300 +#define M 100 +#define analytical_tol 5.0e-3 + +/* + * + * Code by ARC, @arunningcroc + * + */ void swap(double (*a)[M], double (*b)[M], int n) { double swp; @@ -28,38 +35,69 @@ double mmax(double (*phi)[M], double (*phip)[M], int n) } return max; } +void normalize(double (*phi)[M]) { + double max = -50000; + for(int i=0; i max) max = fabs(phi[i][j]); + } + } + for(int i=0; i s1 && x < e1 && y > s1 && y < e1) { - return 1.0; - } else if (x > s2 && x < e2 && y > s2 && y < e2 ) { - return -1.0; - } else { - return 0.0; - } + return -(6.0*x*y*(1.0-y)-2.0*pow(x,3.0)); } -void run(double toler, double a) +double boundary(double y) +{ + return y*(1.0-y); +} +double analytical_sol(double x,double y) +{ + return y*(1.0-y)*pow(x,3.0); +} +double get_average_error(double (*sol)[M], double (*analytical)[M]) { + double sum = 0.0; + normalize(sol); + normalize(analytical); + for(int i=0; i toler) { @@ -69,22 +107,25 @@ void run(double toler, double a) for (int j=1; j < M-1; j++) { phip[i][j] = (phi[i+1][j] + phi[i-1][j] + phi[i][j+1] + phi[i][j-1])/4.0 + - a2/(4.0 * epsilon0)*rho(i*a,j*a); + a2*rho(i*a,j*a)/4.0; } } delta = mmax(phi, phip, M); swap(phi, phip, M); } - printf("iters %d", iter); - + if(get_average_error(phi, analytical) > analytical_tol) { + printf("Failed to reach analytical solution, error %f \n", get_average_error(phi, analytical)); + } + return iter; } int main(int argc, char *argv[]) { + int iter; clock_t start = clock(); - run(1e-6, 0.01); + iter = run(1e-8, 1.0/(M-1)); clock_t end = clock(); double total = ((double)(end - start)) / CLOCKS_PER_SEC; - printf("Execution time: %f\n",total); + printf("Execution time %f, iters: %d\n",total,iter); } diff --git a/poisson2d/naive.f90 b/poisson2d/naive.f90 deleted file mode 100644 index 3c34692..0000000 --- a/poisson2d/naive.f90 +++ /dev/null @@ -1,51 +0,0 @@ -module rhofunc -implicit none -public -integer, parameter :: dp=kind(0.d0) -contains - pure real(dp) function rho(x,y) - real(dp), intent(in) :: x,y - if (x > 0.6_dp .and. x < 0.8_dp .and. y > 0.6_dp .and. y<0.8) then - rho = 1.0_dp - else if (x> 0.2_dp .and. x<0.4_dp .and. y>0.2_dp .and. y<0.4_dp) then - rho = -1.0_dp - else - rho = 0.0_dp - end if - end function - -end module - -program poisson -use rhofunc, only: rho -implicit none -integer, parameter :: dp=kind(0.d0), M=300 -integer :: i,j, iter -real(dp),parameter :: epsilon0=8.85E-12_dp, target=1E-6_dp, a=0.01 -real(dp) :: delta, b, e, phiprime(M,M), phi(M,M), a2, rhoarr(M,M), temp(M,M) - - -delta = 1.0_dp -iter = 0 -call cpu_time(b) -phiprime(:,:) = 0.0_dp -phi(:,:) = 0.0_dp - -do while (delta > target ) - iter = iter + 1 - a2 = a**2.0_dp - do i=2, M-1 - do j=2, M-1 - phiprime(i,j) = (phi(i+1,j) + phi(i-1,j) + phi(i,j+1) + phi(i,j-1))/4.0_dp & - + a2/4.0_dp/epsilon0*rho(i*a,j*a) - end do - end do - delta = maxval(abs(phiprime - phi)) - temp = phi - phi = phiprime - phiprime = temp - -end do -call cpu_time(e) -print *, e-b, iter -end program \ No newline at end of file diff --git a/poisson2d/optimized.c b/poisson2d/optimized.c index 0dddfec..b758a1f 100644 --- a/poisson2d/optimized.c +++ b/poisson2d/optimized.c @@ -3,7 +3,14 @@ #include #include #include -#define M 300 +#define M 200 +#define analytical_tol 5.0e-3 + +/* + * + * Code by ARC, @arunningcroc + * + */ void swap(double (*a)[M], double (*b)[M], int n) { double swp; @@ -26,33 +33,60 @@ double mmax(double (*phi)[M], double (*phip)[M], int n) } return max; } +void normalize(double (*phi)[M]) { + double max = -50000; + for(int i=0; i max) max = phi[i][j]; + } + } + for(int i=0; i s1 && x < e1 && y > s1 && y < e1) { - return 1.0; - } else if (x > s2 && x < e2 && y > s2 && y < e2 ) { - return -1.0; - } else { - return 0.0; - } + return -(6.0*x*y*(1.0-y)-2.0*pow(x,3.0)); } -void run(double toler, double a) +double boundary(double y) +{ + return y*(1.0-y); +} +double analytical_sol(double x,double y) +{ + return y*(1.0-y)*pow(x,3.0); +} +int run(double toler, double a) { - double epsilon0 = 8.85e-12; double a2; double (*phi)[M]; double (*phip)[M]; double (*rhoa)[M]; + double (*analytical)[M]; phi = malloc(sizeof(double[M][M])); phip = malloc(sizeof(double[M][M])); rhoa = malloc(sizeof(double[M][M])); - + analytical = malloc(sizeof(double[M][M])); + for(int i=0; i toler) { @@ -71,22 +109,26 @@ void run(double toler, double a) for (int j=1; j < M-1; j++) { phip[i][j] = (phi[i+1][j] + phi[i-1][j] + phi[i][j+1] + phi[i][j-1])/4.0 + - a2/(4.0 * epsilon0)*rhoa[i][j]; + a2*rhoa[i][j]/4.0; } } delta = mmax(phi, phip, M); swap(phi, phip, M); } - printf("iters %d", iter); + if(get_average_error(phi, analytical) > analytical_tol) { + printf("Failed to reach analytical solution, error %f\n", get_average_error(phi, analytical) ); + } + return iter; } int main(int argc, char *argv[]) { + int iter; clock_t start = clock(); - run(1e-6, 0.01); + iter = run(1e-8, 1.0/(M-1)); clock_t end = clock(); double total = ((double)(end - start)) / CLOCKS_PER_SEC; - printf("Execution time: %f\n",total); + printf("Execution time %f, iters: %d \n",total, iter); } diff --git a/poisson2d/optimized.f90 b/poisson2d/optimized.f90 deleted file mode 100644 index 3bc1045..0000000 --- a/poisson2d/optimized.f90 +++ /dev/null @@ -1,55 +0,0 @@ -module rhofunc -implicit none -public -integer, parameter :: dp=kind(0.d0) -contains - pure real(dp) function rho(x,y) - real(dp), intent(in) :: x,y - if (x > 0.6_dp .and. x < 0.8_dp .and. y > 0.6_dp .and. y<0.8) then - rho = 1.0_dp - else if (x> 0.2_dp .and. x<0.4_dp .and. y>0.2_dp .and. y<0.4_dp) then - rho = -1.0_dp - else - rho = 0.0_dp - end if - end function - -end module - -program poisson -use rhofunc, only: rho -implicit none -integer, parameter :: dp=kind(0.d0), M=300 -integer :: i,j, iter -real(dp),parameter :: epsilon0=8.85E-12_dp, target=1E-6_dp, a=0.01 -real(dp) :: delta, b, e, phiprime(M,M), phi(M,M), a2, rhoarr(M,M) - - -delta = 1.0_dp -iter = 0 -call cpu_time(b) -phiprime(:,:) = 0.0_dp -phi(:,:) = 0.0_dp -do i=1, M - do j=1, M - rhoarr(i,j) = rho(i*a,j*a) - end do -end do - -do while (delta > target ) - iter = iter + 1 - a2 = a**2.0_dp - do i=2, M-1 - do j=2, M-1 - phiprime(i,j) = (phi(i+1,j) + phi(i-1,j) + phi(i,j+1) + phi(i,j-1))/4.0_dp & - + a2/4.0_dp/epsilon0*rhoarr(i,j) - end do - end do - delta = maxval(abs(phiprime - phi)) - phi = phiprime - - -end do -call cpu_time(e) -print *, e-b, iter -end program \ No newline at end of file diff --git a/poisson2d/poisson.py b/poisson2d/poisson.py index e1659c1..1feaf19 100644 --- a/poisson2d/poisson.py +++ b/poisson2d/poisson.py @@ -5,49 +5,58 @@ import matplotlib.pyplot as plt import datetime -# Constants -M = 100 # Grid squares on a side -V = 1.0 # Voltage at top wall -target = 1e-6 # Target accuracy -a = 0.01 -epsilon0 = 8.85e-12 + +M = 100 +a = 1/(M-1) +target = 1e-8 +analytical_tol = 5.0e-3 # Create arrays to hold potential values -phi = np.zeros([M+1,M+1],float) -#phi[0,:] = V -phiprime = np.zeros([M+1,M+1],float) +phi = np.zeros([M,M],float) +phiprime = np.zeros([M,M],float) +#Analytical solution to the problem +sol = np.zeros([M,M],float) +begin = datetime.datetime.now() +def realsol(x,y): + return y*(1-y)*x**3 +for i in range(M): + for j in range(M): + sol[i,j] = realsol(a*i,a*j) + +#Boundary conditions +for i in range(M): + phi[M-1,i] = i*a*(1-i*a) + phiprime[M-1,i] = i*a*(1-i*a) + +#Source term def ro(x,y): - if x>0.6 and x<0.8 and y>0.6 and y<0.8: - return 1 - elif x>0.2 and x<0.4 and y>0.2 and y<0.4: - return -1 - else: - return 0 + return -(6*x*y*(1-y) - 2*x**3) # Main loop -begin = datetime.datetime.now() delta = 1.0 while delta>target: # Calculate new values of the potential a2 = a**2 - for i in range(1,M): - for j in range(1,M): + for i in range(1,M-1): + for j in range(1,M-1): phiprime[i,j] = (phi[i+1,j] + phi[i-1,j] \ + phi[i,j+1] + phi[i,j-1])/4 \ - + a2/4/epsilon0*ro(i*a,j*a) + + a2*ro(i*a,j*a)/4 # Calculate maximum difference from old values delta = np.max(abs(phi-phiprime)) # Swap the two arrays around phi,phiprime = phiprime,phi +maxsol = np.max(abs(sol)) +maxphi = np.max(abs(phi)) +sol = sol/maxsol +phi = phi/maxphi +assert np.sum(np.abs(sol-phi))/(M*M) < analytical_tol end = datetime.datetime.now() dif = end-begin -print(dif.total_seconds()) -# Make a plot -plt.imshow(phi,origin='lower') -plt.savefig("purepython.png") +print(dif.total_seconds()) \ No newline at end of file diff --git a/poisson2d/poisson.pyx b/poisson2d/poisson.pyx index 64d827f..d813d7c 100644 --- a/poisson2d/poisson.pyx +++ b/poisson2d/poisson.pyx @@ -9,59 +9,69 @@ import numpy as np cimport numpy as np import matplotlib.pyplot as plt cimport cython +from libc.math cimport pow import time import datetime -cdef int ro(double x,double y): - cdef double startone, endone, starttwo, endtwo - startone = 0.6 - endone = 0.8 - starttwo = 0.2 - endtwo = 0.4 - if x>startone and xstartone and ystarttwo and xstarttwo and ytarget: counter += 1 - for i in range(1,M): - for j in range(1,M): + for i in range(1,M-1): + for j in range(1,M-1): phiprime[i,j] = (phi[i+1,j] + phi[i-1,j] \ + phi[i,j+1] + phi[i,j-1])/4 \ - + a2/(4*epsilon0)*ro(i*a,j*a) + + a2*roa[i,j]/4.0 # Calculate maximum difference from old values - delta = np.max(np.abs(phi-phiprime)) - + delta = np.max(abs(phi-phiprime)) # Swap the two arrays around phi,phiprime = phiprime,phi + assert np.sum(np.abs(analytical_sol-phi))/(M*M) < analytical_tol + print(counter) begin = datetime.datetime.now() diff --git a/poisson2d/poissonvectorized.py b/poisson2d/poissonvectorized.py new file mode 100644 index 0000000..90233d5 --- /dev/null +++ b/poisson2d/poissonvectorized.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import numpy as np +import matplotlib.pyplot as plt +import datetime + + +M = 300 +a = 1/(M-1) +target = 1e-8 +analytical_tol = 5.0e-3 + +# Create arrays to hold potential values +phi = np.zeros([M,M],float) +phiprime = np.zeros([M,M],float) +roa = np.zeros([M,M],float) +#Analytical solution to the problem +sol = np.zeros([M,M],float) +begin = datetime.datetime.now() +def realsol(x,y): + return y*(1-y)*x**3 +for i in range(M): + for j in range(M): + sol[i,j] = realsol(a*i,a*j) + +#Boundary conditions +for i in range(M): + phi[M-1,i] = i*a*(1-i*a) + phiprime[M-1,i] = i*a*(1-i*a) + +#Source term +def ro(x,y): + return -(6*x*y*(1-y) - 2*x**3) + +for i in range(M): + for j in range(M): + roa[i,j] = ro(i*a,j*a) + +# Main loop +delta = 1.0 +iterations = 0 +while delta>target: + + # Calculate new values of the potential + a2 = a**2 + iterations += 1 + phiprime[1:M-1,1:M-1] = (phi[2:M,1:M-1] + phi[0:M-2,1:M-1] \ + + phi[1:M-1,0:M-2] + phi[1:M-1,2:M])/4 \ + + a2*roa[1:M-1,1:M-1]/4 + + # Calculate maximum difference from old values + delta = np.max(abs(phi-phiprime)) + + # Swap the two arrays around + phi,phiprime = phiprime,phi +maxsol = np.max(abs(sol)) +maxphi = np.max(abs(phi)) +sol = sol/maxsol +phi = phi/maxphi +assert np.sum(np.abs(sol-phi))/(M*M) < analytical_tol +end = datetime.datetime.now() +dif = end-begin +print(dif.total_seconds(),iterations) \ No newline at end of file diff --git a/poisson2d/problemdesc.pdf b/poisson2d/problemdesc.pdf new file mode 100755 index 0000000000000000000000000000000000000000..d4e9e6e4c26b8485d1573a4b36571db745edd245 GIT binary patch literal 93781 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%0DZGUxFfZRd!w*}n^pko; z)8%X6R!jvJy(ehEfBtKNX7)$w3{Jr4xohXKOYS##F`O6KG{Nn*T5?+h?;OrAUE*c* z>7%oH&H`TiJbJbg&|SEiL(c7O&(K*)nwoaTB2~3m@_7d!KkfE zf?Od7HaFTlwA6=VbI}}~CDQ2_7r}72(z>B(RNUeh~??-M?w4hw@(@^|0 zPxexF(GrTIChV|Dz7QY@Z{||#lRKKbcPz^JW0W_`j}v6b7kXW`{u5h|w9=xMWY{UE&t|+oSpGMO`EB#=i4lH@NG3ErTl+zpP(q|J6mB+Y zp{Y@{3~;tN=6@XLbmppBTG9)XSrd5%}uNtCb$EUhy+#X@+FtOW7sIEV2Q79 z*lj4CqeHvwQW@k(7h0VCW^01mjqo}Xl*f-q|CD!{kW&*hZxu^2)4P(~z)2=4FXJt_ zz+G7?=o}F7(0&udV~GT)qJFsC8OyG8L!Rf%smDBIA%DD^aqHPWJOWa-D)N!7P%CW- zt=~X?+ku1Ik7L-Ey=}gdndaeRcSeUT`C`7UbaEr*(Js+f$gglAH*#dyV(pa=%lJ|j zxL*gOja&G+=BFKeMjKlYRGs{|#o?x;FNu_yS+uw8zRbKV-oMqD7dwN8w!SEFWmB14 zfCuG#HT0`<-u9|AM7*UElQ}WG{Y@#n-WX*WB&Q^^8yf#I-N^RjlWsx1RO4F)k-Aw! zcj#aPUeIOAHTR0|kek)yjTA`ksFMlwvUxq7mKMFUWd&TO!aO+(+$4&4wLc2+wMpW9 z3QXs>QOc;prQV|s@0G-;((Sd|gzQa=lwws$)8`NC0Zx3njqmvr7mF}wzQtgaw@1}P zvC`ovn&kcQPMv2#vfUESXTLwniQOIH`9bpG70Gql9WfXNh*D$AvQ>Xlt7SB!J21Y^ zJpJcTZ z+Q9!yDk3T?qNJhq-$5zI|HUctA5O~1$ngJ(ld}I?>i@t=E&nHZ$bZP^|Aaz0|I60? z2kvAfVEQlclj%R^6ZU`FlK+*3GO}{8GyZoN`fs0>HZG=41pjfUxR{EV8rz$g{wJ=% z*~Q7!&=$&LBc=sZ0cT@@HX3?3&o+9g%m1d{Hv>e-%!o%P^%9RMPDe&AxK>{8!3uiVHA7{Rp-sDTk6LxVH3qXRP&P&y`N z`w#itN+33Y)t-?ZOnd>j#O4M7uHm?d&Gi=Ul-2^Pafe;ixuzTR|m@|tL zLz}Zxu{%rK2W`SW`?Po3uuZh6O-)T8n_O&t?F$X;=uWO%s~bR)JEDNSGxFXizlOXxFgiisct7UZ^}GG3Kd}ZGSwKU30&*XMg_Rxf z=b!Iw7?yYJUj3fnc5H#Dd*7FIfau=epGVnK->zs|+v=^~kYCqc7$PMksKx;nf9jt& zd5yId*geV7fq!51%#48?9G!qT)-V8fey54-4SwWNqy3diY-DTzb^OskcS?RK*N*c( z%f8In%K?6;Nv%Kmngsxk^DtMw_lZS^AWFl(ypGEb$r@iWY9(jJ!4v__&J z=K_LXt~k3LZ)Rs#rr0#P8(w^9Y0w>4qzT2#%ARhFXU3~Wot%N&=_ujI(g4|KuOLn~ z&KnA!SkiF9D-E@ZE2d<|$SuxZ)61ZVtKfAtLAAq;qj!;*6yvOXV89$uBrPgd(A2KHIpBEh=RZ~Z$`MdHRIXeGr^+%YQAyr- zZVF8bFkMS74l}vSit7_QqP2*}qV?SnxwAG9T23!Ew{hNPnyGkt;s3W%hNtU*jfB;i z@R||z#ObfBZK$80ZL%HrTnqb!g-uKmbf(D48b+VH!eVMNEtGgLdW2@4J z_BSIXF>P5&i6Wkzf_$0XD?}_+_eXyBF6s+k_3tX1SBBJjmV&D(oH>{jU^Iz~&6F^+ z#@R_ZbLr3!S=$+w)mf>F#uT-w#7>Hq>Fn}ZTNQJT50{wU2a__XA&G}(6}?5Krjujd zY^k&H+MP=~me;&~dlY|*qOey^tH^8z=?lm1Pt(j?(hGS08M=r`i#ie znw5KKCX+QF2E}wv^cQ;zp49UpZzzlJxFqa@+CO$EF&uMz=$}tSb{w&bni87NNk6et zth@ZR%*{a~G4PTpu4AZ&payk*rW#Y|F-u!)q)|^s8n3QfV$I^ zi&{P3bPr}_@+uJ4mVk^NtW#kDi|=_CuFq8>@%4%Iid+sCu4X0Ap*sS)#R3Rd1P`QqHbSl5*T}5yoZ>0u&eS))IZ}vqxHu!@ zjGIG803OZAv)Q!H<6GU$)S1Xi^oi1ct%O>5mCNA3%X)#iV);lrldnMMerPe%Zo!7H z$6ca~+Q+rWNHIR~4MjB|v~&SP8Fs|o&9TU|mJ5;>vSTq`BzZ1L9>d8Jh&b8{@{l0C z+2Z$|RAUhnVY>|g4XTRGQ%1uiO_Z5i{Y<=G^-lQWL@&lkmmY=mDFW0U1!I4nvrSZm zUEsE9C!eYpuq|_;h(R>gZ|IlQA)@Ay-nKiv#fnrfJ;B2VN!6Hp zvLddO%`C6twHT(NE@P0_9YaJivFWH*Ew$BfAM{LADuZdmS59pok265Z%YBY;!RkN% zWt1#1cE{=mKS4Z*Umz(FZX5fcJ9hJ+0zVY4e_}QI6+@H_IcZ32?+bkzhkn5Nn#%S2 zR& z*RdpFFbX{MmBnNzL+LrxyR3N>DCOz&y2!8Qn31BmgXHF4E(jIBvIZO6lr&OISd&98 zR_P@9UpTrlu>K0vOoUeQ)2hA)A~m2F`bfyFNPfl2B)$Aqv_|!>8I5%mO^9}8>2EBw zm#l%=7130!Oj?c_nkoG&Q1+aoRQ;eKk(oZ6fQ=+UoBV1`>JNga^w?q}G1VaG#x&8< zZ&7#^lpVH|+N#;l?Ez=u@TrVLkHdXQAOAZ3X2iPB)&aPV z*6J+9J#kOKPN)HXY*JB()7`w0*Xom*)MoH+hq#%9O9K`D7fJ&3+?G%`ON8rZLQi`n z=2X^_Tn-$2mUgeHNK@khBZk^|53cfF=}wTp){Wu%wMhG4p6X}%G-m8HG%Oj}s@uI) zTCroN@!VMFvXS7@_(nIYjM@XX)NhYer1;~ddIsaM#nNDoU=5S-TG#+ zizpn5-&)+-ZXBADN_O!4KY{&*(cG7~j>W;TPb%wn5#;XIQP6~Y=F zW)|*YF~XS>j!0EKUPTEmn>p?9>Mi=Kk~ljs0tWu06rm}OD2DBoLsrKj~2?cN%e_E-u!(*kGp`ZxhT23%US z@~If-VC4)y%PCvesm#PrMlMUg&*GaNb~{aB_f)0`tnMq_w#^NG8hW|$Q$<~d3Mvpe zvVuNmhAqew3xbV=S&SPbE!h|_+BiZrk&WxbGnFaQ=<3|L zc&KNCFf$MpITBtQeTaZe(-5XnGB8s%qlsThRwhB&x;JrxIt?SveBTwl)T)k9s ztx&Lp6Mm6{Aq-^aEF4rGTUO2Vi$44|AVXJ1Mr^QGiVsB1Rrr323g1h{x+HHW-;%^_ znWgg{vHGhPvaE@|04a(x&V3PXXP~&Se<}yQ&~VP6gTyR%{zIuh;?>DGo>f&Q3Rd{Z%}sy4$XGZ`!wI zX?QhVtYAb=GHB1zh=ZJC+%~^bIMsZ!fyt|v&Eg>Ss1RYmd_c9JXfOH%y z_o!A{em*CH%1iZG@jpk1D;L9d&u6kTH7ANYZ*q`*=eQ6*&*7RIdAzAw-HAd2;-;Yy zi&g~S8cX-8XQ7h%B8QuvEhGVZms}qZ&O-hxS1RMJFhUzeU!AmGPZ zCk7*Q5b7nm16w#+N#WW8x?$dGM5Foge+XrLQ)_c}z4m&N@+A(Vz_M@>0F)YYtC-w? z3?*+8s^GZ5ct{@!MiN`}J=uxtFzzeYsKjdcS8_@G1Ppca_8+}4yd67Pi1Xt~wQ!#Y z>Bzv)Z0hHaLttV%-r(WtnQ)piqy!hm%K1AapcHl}jhNzop!d_u)O{E@jrNo?zEQck z9`G&3v5g!SXhqaga0~vhB@2#3F;ccNw~DwAd-ad%+hicNd8%(t8uSfV-Gd|c5C8V>KU`0{=E@TV)1>{|{oLTQcNU*#n7VV-RIQHwO%73H!!^)Eqe%wX9d-~LAI zb!J20mR2jAli{PMQey8$WY%t;L68<_`3vuEDy62=8&1EHlFQMU*sot*a#mo>;|uB| z^@O>nl%XQIB7Tkm5MMEo($$-GjykU#GWNAi z3s$t+s-x@EqqV*0eSn(~DPKl?*2lT9w?G;P7- z;olx36{9748~@~o6K=utBZw#BBZSLr_6Q0GX;tuScA)f#m@MWmB~iqC-aRLzmInlI zJ+c`~G*L?xZ~a(kU_!b!=xtVv5_Ni>+0NGH39VM_C86KLdFjm?>tSX$__Pa(6Z2yM z1alt&u1Gmdkqe+nk?xASGEt@bm|H~khDLZ04QTR9&jKM)+j=sNl0?eiiOdeK8@x3* z>`G`1h3+W6Ymk-1&`c;mh@#O`KSb@d)l8mw@n3{s_@lYm6}WtJEy=^Br^J_vab>-i zqD-HK`Vkzk8EmRr&|x3HN-C(`SuY`eta2w^^yDo65jbhd48nWl{G$^qIflUW#lzAT zKCZYT6g!4IlQ&H+=+{yp>}iwA*R)lalTldfMsm!9hR!O45SPMW{2>*&A&Z3&-twee z+lZ|}Ptzc#aS5ZO5#mtF10E60MD{lq8dCm%281DE zK2WMQk3*)hMgOX3^dS>6jO)>$f%9+DROLmAUyvvzVnANUhI%c&nbiV*uMR)jOu`!~lgTM5%X9%S z^~x>NfvmF7)f2rLT5~ewc_&cRP8%LF^9J-fB33VKcO_kKRje3?s-6?p(tARiq z#J%PzmTPkkdUAJVXk#K*22U z8wo!f1J>Xo7_jMn=Ihtc7q?x_7w?pB%WKoIdc%oWN3;a%7~$54vsWHjo##1oGxM7+dPuzX)I!DO_6FXU*qly!?fKxsA`2d@dP)RdAz*{Y*cdOghI z1WMCmD-a+nHTHl>Pa2w(u1`L)>gVP)OD8=R;#S0q*!`gR*3!snNQg7b_`w!}gb)xq z6K;G2*> zJZ_WnhQ*-{+sO6L<-IcYdhY}+$28P55h9K-TK;&!%XO7%VThvDGkm}@%J#iRch7EJ z?)cL(+yy!>Cq_{G=O$M>jyhjhE8woDFql2=F)jLs9O?9ddw8X~0i;fpu!+LQ@;y7Y zw8(N{;0-y<3!piru!Kv`zD7rhgL1`0k*xd34GNjQ_ zUudYABF~R6wLEN?N;wg5n$_7!z4kVjH*Bpbl7He!pVa86e(!YL?#zf2+>;E_cRZZ8 zU$9NiQ?R(+{UA|~M*lQ;_GUJhx07e;&@Ak8obWn#FDdQIz@vvV`}*J}3<}~BX9Dy8 zj+eLQgGpTU;lszMb~1TH*WePmw?A$a3D+sK0*g$lGpeuHR@Rp^hfZkWsw=!lIfDtB zqkO|LO7Eg&jlNkpox$fkVU<}>enom6RixIEMK4faiNS30FCcke-i zX@|XbsB-Ia^^E+&7UtgCT$)?lq{peZtc9oG!zS25>0@gOUz)L_Dj}_~u=fN5Y|^Fb zM7~dXsDKi)up5?Kew1yY>XEcW|2PKc9zeod5)>dpWpNH$SntETJ$5h%kZpDLF#IiGL6OtOoTgA!(F$kYXleIy8kWVoZ}X zB>R$|qcxNSE;*L#uyd*M!CYX7uUeO(fU5rJ7WdGN=3=t}WJgWHT7Z-kaa^AhDna9I zknPc}ma>TViZ>N}DgJ8anE>v=GaF#$8IIE=&-6;i;+Jc;c?A@mF^-!DA^D}txY}D0 zHfKugqgheV*iUJ9>y~q)3UkXwFJ)aaby{}={Od~5m!8&Eoy=DOXIlauA!i;qu93@c zsUB;5rx=nU#oZnt>yBOUic@i%aHatD&UECWsWT-)@pO35!8YxfKoZ`mxN* zv!zPRjd@r+As%7jhjo!4fVJ-YtTuog!7?$M3c0(gNCi`r9!=N+uFJYm`B%~2^DxL}VxbBh6xsefWdDc1L zS#J^Q6om=iQ62$FT7#=vQ_Xs@)L@*qcmv};14abDiOQq~O5V;e1~q}``NEBV1AeMW zkZBR)agdRdAMmh7ObIp1H3KbE@4A+$sf3t*W>P_k3Ty_Whjjo|D=gqe)Ps@TdmErk zy`H%#vZ!z3;X4A~mNSm zql{c=E0$>6fEyZ{>)##oYuCav8#HMyazKQJ=Jg+!8TSF@4YI1det8ekx+*|)uFDSi zaJ0z27|!!&MN~g0m%hpcGF3I|8@d*qR#&c}hOqKmCQPvD72njJ8XASZYqYzT-|Pre zefrVJ^K6xO?Qm?8E`xm|ti5!=&yt&9N#a?6K%Fzvs<8I8QTa-R-lL^TL(M$sqwt$}Xm9GC!o2+5uxr+2Kj9oBU&h+@e%^$_jdSMoZYbmE5I7oLf8@P|-{ zqRYFN^=WMRDO}~mTRW0D?9g{FET$Hldd}EP1Hm`k|qve zE%Mj|)bi`T1ZMVP)0~%$U0Wu688OKDaG1;O93#evvl)v85wbn51l_?6n7LIyxqoPy z6gD&J^rIQm)x?$AKuf7A!USt1h(j%nL!0{Q!28AX4s-dn=cFx$B(KajrPcU=({l5y zuLvT{p~rgY$tOSVr}SyE9S}8>2v-QoNxmM5g~W^oc6oU!1TL+rX7}ai8A`cXXyT8i zEFBn3--+HMq6R?Y7!rb6AQc#MEmNScwysYuGv&NOBapB66=84rRxcS*RF5^hUC}X-^gR0kVhYaIGM0jUk9n%)46|H;I5{_q>sVrP1jrpDuaqxPrnO=9v zXgA(^DoO>@88a;4$rJG3Jz+1&8x^5$aP5}Ab{B2UN!=kSkoM>S-i!}0v8n}q*Th$k z)Howj@DtG14j$f(G22#$<9+?%@JGi3cUkF2I;3hOBVeKhJY>Vhpx%qAjW+i^#3H2$ znml}bPD#_mwa%XKw5NKf(zS@7li0z8qg^~bk*hS*I;OFWsi!-#E%DZvyK#Q2=?{gW z9G?wB{pr47HpmtAvmFY}WhoC^8I3S{k^tah(7jErhkYb_*wo2e-PO5h)xnY5PSRO^ zf}r8t&FbhbQje~(USLLId>ocP0OBBFMi*<(YN<4T-_!>Z$EbpYKx|~r!9J()L}gOM z;n`s$jKg$j=Ws-LO3J%GCPl`;M8K+i(=|50LfpbF01A&#IY4ew9F}Z zvXwuzlR*@(79kS(qWB@ZCn{Do@?=}#q|nK>ZsvGMcEaGe1f_1WZ$fOZNjHt744Yxb zahr=Y%wjhs?Vga9vH9}$^~J8BVnI-cL&+bc|H7LkdSh~J_eD8mNE{x7z#E0wT2)F~ zjuWM0c*_+pwfR}hqO;i@$2Cjblh)1)rK;$hFJ1D+xXj1-9^IMXu&2H1D$zLJSY^Nj zUBJlMS~xtVmq1*(%Xm%aYar>+v9mMx+qnb}+DmDqm#5=|qyBc#vK;TNWvIismSdW~ zhB{o$EHmb>6A~Doh0bgf0|CjK9!(UlT?x_pZp}D;4Dw`fx%U+*@XyZM0))txQ)NZ= zp3jrz^oM=hngyZE2hUo4L1pfR1P zPfC@&oMXImh7RU5Bv}srFv6oYl`hpLT630G`>jSfPeV?LF7}T*glCwBE!J?j@x>?A zuxS{A4yoUcfO~=rS2x1XaBSMV+QaZI2f|g>a-yIY4hspC!K~oedfIAw%r4Z?H=iE8 za9z*;D}qBlDl#XvE-yrEJvI ziYr4M2)K1u%B4BE2jNuscJ;(zro*y3#22-+*S{48&;%XKTQa97*x`N;ZE3; z6jx8L@)lbg7pTn35Ds&gcftL}ZXi$e!(A9KUF8UDiNnIVG*s#!5K%S)Sup23(1muBRbU;%=qph*$yXgU4_bFH>5t!^4Q>E{gQbR9OS z*|BZCdt$S+z+pPd_r6m=`<VZt_}FTlh_kW7$vc3ktAu|Pvu_RXnd8!00Wr;Pyc!7}Uh_|YCaOz6P8(a1RI zgU3Qef%!E7J>$7Mx}dA2512qNY63>ZL#8JFutK;7(x3quHq5$Vmc!wQwf3!$ zu^`Ebr1C?9`K}&yI(H%-aoAt$3d1O1E|{y;^AHQ+vi;&?C57v|}L<66lS#k5{7pmNna zo<-9*pSf{~vFxJ{{7YC6j1iqs_*Wv^qxKpEFL#HzQ|hWa3l&!mHrU2U{wfUF&6axz z7A$D8cw)rN{Sgo1=}GL>L}H2uI-z@uY4dQKr=$-N%#zG*LR z*$j@-y(j}-%N5y?HcJUnMB9euL#tMXNu1Lx5MA9ppN*}0E9)BcI(~TE&PjpQ9)Cn| zpl6F_#&H6k!h%RmUDV|(2^J6tbpbZW3;GLVlCTgf#_;}P*(g#o<_pA@Ed$2{I@@+r zdcl}ask-2zhEDfyGO?S1|3sv{g@F{-!96O?6Xbn|^}Rwz$uf)*Ir^TUoRN~IhHF+` z@mfcFsv}A9I*%S~ahNii9NH_H(6PIVLu4+8N6BYHvB)|5&94EGinGz^>B8-EpPnB^ zv!+lBzRg2-OpBQ+y_zF32{-C`0!wVK$acuLVTWj4XFG0~gFN99;L2E{@ zpXEGh{)Z%~B{y#CO!xbqN8Y{MHa#pW1H>2AzG9paEn2?-6U+_d7Ln zWw_S@dwJ;yCU&LZ=jdWi2l~d0NiR}Ew3b-_^a65@!cgUDk2ob-2Tc#h#)xV(wTanP z>wB8z(y z$~ zm@Yl1w~4g~x)ZeCIlg9@-Jc$hra9KWx7=$N7{i~$VQfkUtN8SjHg=!_-WACe!%~6h za*XWm+rkLTys8=kv#FhF+?0jiXW9H|3xt>CkWk%c(~@b5yFM2~%p_5A4wVI(ASVYJ zEXUk5V-8;5Eu{wF`^^neUjIZ31c@v*<+4&%;(gb)?u<+G&hVMV_MXG?EAYpoIr zZ&9Y785r?!yOZ)wUYaeWPZs8&rKxyBF<$$V98-xU$`H&3)2>NXon5fx51OI+yb$Lu z`JzS2b|oDZ!|PrcIU|eISurqWBT)g}SumzF1A-+{)S%CpM`C{8mhD#XWM1hoUYnn; zNyl-!eH}nKH29T;LTav(H#@(+za8Pnz*$!;%kHpO_q?JhOjJQY+91fV%zILNcfIxn z{#Aqon3PKMrkljSwftXPW?x z=6hke%?`fJI$L9dE!<*Pw7x4I9-F(4-;f6l#`DkJ~aJ**kylpCYsJmnn|zO=s9kw z+N=YNkbga=c_S4ZS^wyIJ{5eJt@6{G(A(W z%|@lrdTm#+!dnAX_>7drNfvP!C&8|Gd3Lyyg^;$;^G~`;H&CuXYvc_T8B0r=$&W*N zK4byMmv!Dt1Ol2>v!{pd|1z)T6S#T_=) z+>>qj$MRRq3WmEk-c`UPDeG44L6J_(cwIfH8_D=sEjgNq`BGo|u+&e((UB{U)alZTT zn5?IGMb%Pk1@apva7O+SazX-MhaG_;ihOAlGzQ)V^A^Fw!WMTI`kw!ug+PXlzbLco zFGoP7F{{grw*6eQ-TU!dO3(-e7Y@DT?;s@oEX}9ir@Z?qNbW0R7Qew_6qQqn0VYTe zaLdfw=20OYH3QFK zm+SkP<3!|ap}OtloBesS&Cp#wl6pxku|)B48ARRAD62WK!R|d>MezCoU2Sk)%Q$}h zTz~O;L0K5cxX<;&LhUv4t3W8-K2;~Nia|Pa%Z@(piJJ^de}v@U%JSIuZSXH&Ud2Z5VQaaj=heUh-s~clyTo zn7EW(k5$~;me1*G`v-1N$Q|x%q0MkYHaggHre&27Cq*3nWdS`TpRGBH zQNHn*)473N|Jf&@#HS>IT)kXM8iXO7E*`a}vi=}*Hi=QCMVuT0L=+Nt8{8X{Po%kS z`GKo;I;7#1M=@hfO0;-#j<`*0pt(HS-x45tWG9z*GS=iaQ-AonA~Pd@rn_hdj5xenG2D>LLC#{gJzXWrAX`Lt z5dlrTL?4KQH1LzsJ0oz9B#4 zFm#h&_N}B&%;9YH?tyT>hWw#00eNaQaoVtuk^HJpR#6TwwE|$_R!nvr+l(Mh-Aveo zf47!rX}gV^HXO8m-y_4eFCBUqNN1XQC~bGf-#2^}I^4+Y;L-UVssc?)ZL)6Ecl_De zKI{XhCU35O2SFI}fuRmP1nJ(PzIxktb_N|DD_aTE_hzd9rrL+QmJ<}_p$B~&s*VaC zolMC?<)bx1tuefl`V}1;KpgANc7*i6lt!pS3hK#;pS;yX*^-O8n1WNuF{BXxwC(kfdKFD3#m0BW%{JNJIv#n%-u*u>jQM4=CNW zS+V@YPmIfHO{XAg2F7r(6*LeT_-!|+a^SOoeEnAv9SUn?Wq_sHPB*5vQ4F%_D<$&3 z1&5N~h4H0(u%H=LFq8>VpE28^X4c@-PGZHk4{Tt z$&no7&qi{zGXO4omvQocZ>DT{(Rb9A?@l2?u5|Hx%3@R>naLMtAbE0THcqb)blry| zF}E?>pB*=X^Vft3M=dZ^dN=8F&*DO5uw&PkV}>fr?q*~uzoU~QsEJN(Pe&3Wsmhp! zp8t~1F*fhoXDWuY&@b!957NM8!FZn-q@G%gAf<)Cq@aIx==NDfesx|!|W_^uZmNO?ywjsCXy%Xuf-J^#Ph(I z7FI_(mZS ztrG{Ju{ffvw-5hS%ma-*t^3-x$1YDQOH zC8v(RMXUoJFv(Qg^bjvJ?^Gap^ep-|2;l4`gixtPWFfF#vvR5i7#$(`ZBy(Jn^sy7 z#^xW~K5oHoKuH_aEsK4zkxIvOW8TtMj~d$&n}SW;U|7bKEQA;OP47}+fRBh*?6&aP z-@MHWFZBE-;4fK%!U>D%)UH{E{*DmaGh&{eIxM5;{~a4pu3AU54p~r2SJijkVzh}x zk9^d;F}_al6U%!bMHG${BYGkz69p?vcgwRcA0MonoXa>Y#EShO{?bYnEnDz!tlN3S_l>&olFBkL?Y_9T-;UZjkG02&TcBRA+ z@GceSyF2Nx9f*s15PJN{k&!?OFUsP%Q*c*Pm;0gjL3pKb_v84%519^&o@1SIS4y0c zqye{G=rS-JCq*tOL*gqX6T+sntHjpMs`T7tJGxN2Bmfn0x_0kZO`c1?q9ZXRu(|U? z==3^Um2fG2c$%>tmr%H{>66>6k+HE{f@g|ua-S?wYew$X?vQ{KcdxhoP_1;iS2`5F z4pk;&Lgiz~36-`g_P`sBV`95P`W#oi zjCaL^)8JUhrWSnKqRiv!@KtfqdY(Ash#IXx2U+ehWn_e?qNp*~&`_yU(jH$NwD|9j zZ50-a>MeC)r5HN0K3!DF8rt^8;I2p7qF0(=oX51#w0)*MWEtj)vj;gSF{D#B6++8K zEn4aw=S$20QH^@bcSn$x+?)(`U}*A2^xNmr_)zb(FeCRj$E1?b>k-0{o{A3k8^wF* zFv+g&!(oq2h3F$(z!obNX};`Y2VH@FwZU^@z9qqB0jCGwne~EXQb54X3zTVN*Rfxj zA+k89ia~k8O_$Q3NxaC81bLcvDsm5TcMS$DO?%qsSS+%#6|g<1sp)r9xoNTfXm|VsN6hR%-uH^RTPTxa+{pQzf7L7T&!N zMlY3kI+8U1tpGU(+q4+n(y|5PjFrmYV_@xfL#$Y7gan(w)%CqNe7q;HJDJGTA$AG{ zb3WJKjM~e2QR zhMgP9)n^-eK7enZ_vy7 zM5piI+D_D`7?$uJA3pt7ol3CfdK)3qF?~_6+@!I?k&3$CI~nEE0&+hsgg#sQs@tV_ z(yY~_A~EA{0_po0XB_gx?xHj7Reggi`XewQK@wfU`j`g0!KSH1TrB8K`K~a4|D0+g zh9^v1y~)tmD|tylB@DBhba02$2=K>x?VcmeE zId8I^Yr#9^`=SQ|&9kRSeG#6c@KK`Lpnx)zs-~hSsforG#ndg92=(Vmp54a|)BqFO zsEvdfyI&7N)V}ZA_u~rr59XFIJjRHsPFY8vC!YwVc*o#E8meJ%vdiA!UcpA*1CZ;9Dwl9lVuDXcQfCSYf=JaJn;3Q*cr3q4EDvJu|+Q-aT;H zt$5u~;>+;6D6(EQIc!E8PpEyg*?Zu~tV{=j?p0Phz}b0_?2Cjd~mS( z>qbm5E(@Qcn_99%4FPE>E;Y$ggRrVh`5$gcAx!jNn~B1i)Ubd*gPor*Dyx%qx)Wic zrM_Tfnb}f=vV#ETNA%Pbh+Q=bGVu_)pO)sSXV44|Hov`~I`XdM+946&c2cdf`6Rft zUIqX3`kUw(y+yd(InkPR=b`hM_j9<&znqHi|W3 z$n{q(M(nm%Qrn^zt+q^T|_w!ryJ9y&hOLKGbX3s*H2O48zHlMtnS+VRo2Awv z64Ho|!rKrNNPmc&b4I47qNx1iT$W>0hOW6)f|UjiS}gFWMjlyec6*Lfpgtu_sRmh- zL)qV;pZQ^*DEl&`zhQ+c6`PGgmBDcFW-dX-R%p7@3L&D|veo6kT5~QX*{xg7IUDgp zkL`nI3*W<{b#N`viJ4Q$2!v9RwS%{(GBoRj+89p&!X|xk&TTg8S!7=QHd(4x$|_w; zqRol^m@^Z>o>WbTfJoE{11rxG&xJtR3`$vaIxABziSXLL*&CjPmj$(Y6+wtYL0i2L18pZ3-nL9U*m5}?aanIh9`s5Z z$l=wlQgL{AkY=jSIv*oF*tOZ!S~cCKBV{u2lt>7Sx;Yiq0|LxD8Aysa!9cA4x&jbNTT!BzF*qt8S09uH&ZdQ2a(okLizyg zwQNOQ=4Ld5>R_VOcgp9)(oabg)0)&n9`sW<`skqSj+7fmZ^6?LlP|x*OKvzXmc-8L z$rWvb%ZXw?iJBTSTjXx(P+4eYZOP2rJt)!MK1!PhXsjs@S+(4!#!zkaq7uR81MN<-uNy-vYYCKzK`u9Fz|CX$B)KGN z1kB3vV>x8%+(88bExm*;LP~x*lCge7Wu`V(p)%m1|Ayod0&@L-C+b-k{!8rqf0w8i zmK0Z%6Z%QiEB$|($61Je%;StioE#kge**PC#_#{Fc3cP`36KKF0~7#C02P2HzyM$f zF#5k$& z0_*^Gwk803fW3jEiLJGXsq=puIa-*R{|rqWE$oZ|_SP;=00)4Bi``Ge{y!%i0YAEP z3wMAsz}ei<#022%X7``sbGQFcp94Gro+gfV|5NP$KT`hxHTKWK_+Os?e~1ZkU_>GkBddY5`h`OIr_O;b-(#aXEetHvO$zA2Ff z)?!*v7Wyb+tb&r+2{6!~%t`?wNG|-WU#r+4Z`zS^CGd{UAOpD{-wd(#U};?ZV`Q>f zIhTq03jUq2V7=4O`hEj5(*uZLARPVz-G12pc(1_m#nt+-{wOp81Q6hyc?*)gm%Mm= zYRl8|7GF=$`V3}ZwGVf94Brlrp=*Ee`i_eg{Nu|SSVym^3fic^a)Fs412cKQXutw< zn;IH;`EfHcGH@%(vQTLz=cH2Ouy-L`n;}XAGXC zkR9j{2&gSXyWta|=F9-`t-$!3&iA}`V}ZaFvDVuX)-(D-ueQx{f#fWg!bWv-uvA; zE=Xqp)ZG*AlRn=AmuOy(+x5Ta%uS7 zqs3{qP{NB8s3rKtD^{DpvWjn<2jj}t@)berH`e3}zy^Z@FYC|j?Xg1#g5^ef;cqXQ zVrube=giE;dKCxv)XMypqXK6Q(frtEK)7ZHQWh6iMs(gqjpJx-1J1sbuP_I8{2nj> z!lgkw{x}42x17P%hjtSA_Q|(%2eyvy5%og?AoUi%*$s|>>N9^Lde*bNv+w%~9W#t7 zuYJeY^4BH6KO&C8>w|uS@^K1$0lxxSyMF(ax=vUqQdEqL1mLqvhGh2#fjQU-e#Qn!rKY0w?D%O%0Ag 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%0DASUjOL#1oHvN|6F=(L`K6!p~+z#Nv`J;!d{m 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 target ) + iter = iter + 1 + a2 = a**2.0_dp + do i=1, M-2 + do j=1, M-2 + phiprime(i,j) = (phi(i+1,j) + phi(i-1,j) + phi(i,j+1) + phi(i,j-1))/4.0_dp & + + a2*rho(i*a,j*a)/4.0_dp + end do + end do + delta = maxval(abs(phiprime - phi)) + temp = phi + phi = phiprime + phiprime = temp + + end do + phi = phi/maxval(abs(phi)) + analytical = analytical/maxval(abs(analytical)) + avgerror = sum(abs(phi-analytical))/(M*M) + print *, avgerror + if(avgerror > analytical_tol) then + print *, "Failed to agree with analytical solution", avgerror + end if + run_naive = iter +end function +end module naiveimpl + + +program poisson +use naiveimpl, only: run_naive +implicit none +integer, parameter :: dp=kind(0.d0), M=100 +integer :: iter +real(dp) :: b,e + + +call cpu_time(b) +iter = run_naive(M) +call cpu_time(e) +print *, e-b, iter +end program \ No newline at end of file diff --git a/poisson2d/traditional2.f90 b/poisson2d/traditional2.f90 new file mode 100644 index 0000000..3f63a9f --- /dev/null +++ b/poisson2d/traditional2.f90 @@ -0,0 +1,82 @@ +module traditionalopt +implicit none +public +integer, parameter :: dp=kind(0.d0) +contains +pure real(dp) function rho(x,y) + real(dp), intent(in) :: x,y + rho = -(6.0_dp*x*y*(1.0_dp-y)-2.0_dp*x**3.0_dp) +end function + +pure elemental real(dp) function boundary(y) + real(dp), intent(in) :: y + + boundary = y*(1-y) +end function + +pure real(dp) function analytical_sol(x,y) + real(dp), intent(in) :: x,y + analytical_sol = y*(1-y)*x**3 +end function + +integer function run_trad_optim(M) + integer :: i,j, iter,M + real(dp),parameter :: target=1E-8_dp ,analytical_tol = 5.0e-3 + real(dp) :: phiprime(0:M-1,0:M-1), phi(0:M-1,0:M-1), a2, analytical(0:M-1,0:M-1), source(0:M-1,0:M-1),delta,a,avgerror + a = 1.0/(M-1) + delta = 1.0_dp + iter = 0 + phiprime(:,:) = 0.0_dp + phi(:,:) = 0.0_dp + phiprime(M-1,:) = boundary([(i*a,i=0,M-1)]) + phi(M-1,:) = boundary([(i*a,i=0,M-1)]) + do i=0,M-1 + do j=0, M-1 + analytical(i,j) = analytical_sol(i*a,j*a) + end do + end do + + do i=0, M-1 + do j=0, M-1 + source(i,j) = rho(i*a,j*a) + end do + end do + + + do while (delta > target ) + iter = iter + 1 + a2 = a**2.0_dp + do i=1, M-2 + do j=1, M-2 + phiprime(i,j) = (phi(i+1,j) + phi(i-1,j) + phi(i,j+1) + phi(i,j-1))/4.0_dp & + + a2*source(i,j)/4.0 + end do + end do + delta = maxval(abs(phiprime - phi)) + phi = phiprime + end do + phi = phi/maxval(abs(phi)) + analytical = analytical/maxval(abs(analytical)) + avgerror = sum(abs(phi-analytical))/(M*M) + if(avgerror > analytical_tol) then + print *, "Failed to match analytical solution", avgerror + end if + run_trad_optim = iter + end function +end module + +program poisson +use traditionalopt, only: run_trad_optim +implicit none +integer, parameter :: dp=kind(0.d0), M=100 +integer :: iter +real(dp) :: e,b + + + + +call cpu_time(b) +iter = run_trad_optim(M) +call cpu_time(e) +print *, e-b, iter +end program \ No newline at end of file From 7d34cb526187ecabd9ba70cfeb32fb15bf894b8f Mon Sep 17 00:00:00 2001 From: arunningcroc Date: Thu, 1 Jul 2021 14:46:50 +0300 Subject: [PATCH 2/5] fixed a line in the pdf --- poisson2d/problemdesc.pdf | Bin 93781 -> 93788 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/poisson2d/problemdesc.pdf b/poisson2d/problemdesc.pdf index d4e9e6e4c26b8485d1573a4b36571db745edd245..518fd114fc346c92a58ed6c077a4e017cadcb7d9 100755 GIT binary patch delta 2715 zcmaizdpuO@8pj)#Dc6)RrrK_0SHi5zthFY0V?>CJTq_Dw_P7+GkcEm0mBc87A(W6y zG0|kZMx{1Vp`)afO9~OuKI-iDshRWnob}iH`MtmQ`906~eb=L2(cWIsGit&J1x%`4 ztbw2IL1cJiB@c_hSf4J_qWjWvz0v1JAFZSJ+J~?BROioMj^=Kh$RGFA zl1f4(rc?h=WT2gmP7;W)1E}O~m5D2BFf3>e_^Dss1Mu`l3hFZYx7Y!ndtx_M<-1h3qQlf{O82 z{pb0)iLM52DFwpW9bPk$1Fb<}*0L7l+bkWIzRKa)&~i>@_J);1hX_7tWrYfj_2$^(H2JDtOV0P~wNm zEN0!aQ?p%1687Hc43&~q$HiCV7j%xxC>ifrv{_i2fwVaJW#J?G6>v!ks+AG9y`jp<%1V0)6N8p03#TcqcCd7pkIi7D#Ag~dDD2R!ub zfyrrKyR!xotQV;a?#>PpmZ++Zn-4k>F9LV+Pewjibaj>4_VqfVeI{+sE0ay%kESFJ zN97pVuU-;$b^jzcNA37EIOKfDg+NVbX)^6-*=yN0Wxq%nr+0AC6}34F=BV@{ZIcyi zqSq62N5tmctIcwEpVB!)uACulb)Orm94>s|C=^U6GQnCzj;{2QyBl?z5r}{MAZwjM z5$oQwsj?-) zOs_bx;@&=LtD)(9iq~_YV^JRW9|sk2ZeHxQ1(pP`H9*r=pfRL)h!Iab5U3W+*%U=o z$&4a|+oWGT=6af?T|ci-b_Va;5a*qH;ZA={V1&u4hkCB7>hvaBjh#jhoeL}32pSd& zH)@CxJ=z?a#7ZxhH{|i2DOfhfD!#kaAJ=SJQ6ph9d22wWEjf16U6i9c!nhG+Nw$+@ zm@IV;U%{QLdSe~dC@VcwZ9b8vX4Rl1t2f4+$S`pDv%)@-_27s_n{_1a03?bjHILBN zAJsWd>Tu70L6+A|jwas~pMT`OSTc04l2kCcf2;KV#nPU<3f(J?i$f}EZ_j1g+2*uN zU%oYFNAA@+YAV{r5yE?HHtcrT)0sMXAjB-}hMIm4>QS3&(+YJEyTz?odxPPh!t zI33UWeREyGrHd);vLf*_Y~tR>ub5POcztAEA1f1(OBy^}ik+QenaTNn*>+mHc6qSS z`zQ5}(+b>L|9BT-;f6OKx6++;c9`GX>1tfcY4BRs#Lm#B2OZdaiF{%;v5qAiaYS6_ z!uztnI5iTs1)mE@mPB5?UUh8)Dq(gl;BXnQM^9@crId8>w;4;!q++*2p@qyms{gsd zbz`j6(AZdMJl@00-D+ed%IhyJj3s2n`def2H9N)%eODPC+GRexb{H*j)bzPRo)hg@ zx>K|$1`$3P_@0S}4wCkJ2&bopQzp@3j@$V0HXaUejN%zu%C?IG!y{%eK0^1@WCL+-!ugV zF@fP=2*3q`VF>;o8p@BA0;5!c>0k^N&=$Z51S0_aH!b|1yQ3f|RbV<45C{fPihysy zB|rv*1%p8tg@2~Cz#oFC5I-&mMlt?o7Dx-AULXzdzXd7=QhpAhP!^svjlUj(K?n`! zyH5l|Kz`IH0%H6jC_)wREz}c0jX@a1kDo@tDBqh=`Tk4NKnVUW{-Du7c9kzd-;IJn zCNO3~ryJ1_I%;Z!(2NihV}>b;(M@R}!&qNg_y1aUDC_Hs2OiiJaNuBo7gL-DA^;%1 Kb}hr&RQ%tQuJN4! delta 2730 zcmaizc{r4N8^;Zy#t|K|XL%V*NzeYwNK@9z5=9MVNtwo2B1@q(nz6=ZD-@35$Xbaw zB#os`$-&6v&-cDR_xjXH=jdp+os%)BbtG{gNVy#ULodtimBc-p zwJh!i*^JScT7K?Z2yI-xcEDg*ZeYdREHZMFfZQ>CT@UJY zW_cN~T*3w(wW%hZWiTsT?%S=3oUS7oT)G)z@3Zi$gW9xcd)3N0Y}oFPDbaS{5PSbyKv38rc*U{m^S<6RnXsS+KR!~A_+NlwmN6bkV`_IY=kqN4&gK1Yh z-$PyBYRm6k?ei&?%HFoh6#CmqEQbXS+MC~HMC_rcmz~W@^<%@cz6B{K z=9w?T_IpQ^ib&s8+REK%$d0v)H=5cJm`AGg*KBs^KJmNa4P_zW%GyGwU^7-r_7j=G zsMu69fV3rslgssyk8{v}MajMM+ZwLS2zTKKI1kB`6Fo@(%CK$>%+Ed`_hBDaY0C}0 z%4Qi~3opEEHTk(q%xxVBb--Ji9}iUGvsKg%hU_7dvhl+T&6{mmC4rItal+pBWlS3D zz*T3gGPX7SLemt3#%feVgI{8UnQ6>$(JySMjZY}0;dDZda zzsim8ihBsD$;yupc0KQV_3n$Z{)?FdV0Z~j+tE4TFWW}KL!Db1@5No6mKX67-w&pl zi}~CedX~0~1KQRnz~v=6O@;LX^43GQme16_y**%2b%RkpvUNx!=X6Y1s-KxrU!~8u ztdjjo^V}F+YOC`}rMW5BcL|(1ch8eERxG1PuKJ$f9iVwg7?zjLVT`m zk)nlWp5PkJQVW_UZgv(o?se$!liy{YFqWWnkjgnvb2~=uXHU}WHfeeFD?PW5g<#(Y zn`;nWlxKB*%P}f*bPttYwRXKkt27h&la*Q?30<$&mh_aJ(pGtLf3Q?xOO)p!xo0E# zro(e#qAh2W{PXfvi!VgnKlZ`lar$&`QPsJ}wN?GW?m}lM`g+oY;_m=l85*#^3odH_-g2HSFhj4ta0m!oH zXruOIX8AXn%&sq7Twzc^9xl*-r0J&%z6`jbQT9O0wt8ILYogLU+rdt)W2^Mjju8!X z!tzG&;byaCSB}ai)O2+^%!v}hzu1bL%?hYfU8^Lk-gzZh>g?&EPT=!bBY!|(L&$xd#DhI?({>$v2I#J3_s4TOh@Vn!+h z9?r%U*OR=`jgRJkOu9E8TPG_$&-(eUkQ?9;^dnX-#9gr0~7PWc9M?o*w{o>L+2qbbwz__&Xz~#$Vn8dNfaYg9MFXU07BORunqv|=n*&A_<5MQ2hr7a%?u#`0s$NV!Ecrf29v;9 z4XOiQAN9lP#BVPEh> Date: Thu, 1 Jul 2021 14:56:00 +0300 Subject: [PATCH 3/5] more clarification in the pdf --- poisson2d/problemdesc.pdf | Bin 93788 -> 94860 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/poisson2d/problemdesc.pdf b/poisson2d/problemdesc.pdf index 518fd114fc346c92a58ed6c077a4e017cadcb7d9..c2ff71651859fc3e562d0348b6109fbc1b240373 100755 GIT binary patch delta 27315 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 delta 26295 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 Date: Thu, 1 Jul 2021 14:58:37 +0300 Subject: [PATCH 4/5] more clarification in the pdf --- poisson2d/problemdesc.pdf | Bin 94860 -> 95186 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/poisson2d/problemdesc.pdf b/poisson2d/problemdesc.pdf index c2ff71651859fc3e562d0348b6109fbc1b240373..4b67a46c5df4f65edc3ac3708aa2cdfa9ca57f0e 100755 GIT binary patch delta 26954 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 delta 26588 zcmV(tK@y$>luHL-+sO?G!mZzy)UEQpNv`mY1Ww>TS zWvi?0>d)k}6ny>H)i3WpD!yPA4ER=@xUTkYy-_ktx@KrgPn)E7?U81yE{MqIBJ!Mn zWlD@9?qa88j9WW$eC8>S$9TyKPJgy(q+a( zI%)Y3mn)gE`CLyyY+5eZ6yupZvGM42h#a{d<7N@cEUpnb%`nOH$YK2X!(>dKl-Zei z1BU_ex#5De$$(Qc1^Yac3hFGPYa=y(gp83uSZ1`jIJ{D+lB%xysyNVKH@L1N@}_Cy zrUd29KnEku?A6Dlj!&rK54ty69z6#Vk+HI$X{j9?wD!>Q92c z>2bl76-$pRrO-}F=_D#$8m3Qsg7o3J1m#%-TE4%!F+By#q&KKIkau?+~&4*cU3dsym&5c zh2hNVDfoYSrq$AN0y=SjHiKLYji5$bd0A^@<4GVTsGP}HXMu+Nau2R8t1gUupcpiK z-Bnv?1h(V&czbYt;3AVF)k6@Dk`{?G%Nks(vAGzIuB}RFpdyj(Q^Ge3+UCi==!ghm z?~k)KDN*F!`On|}oGtMcy8<++>aM4;&rQEj7l+5*pX$fcIT6=?DW3b@@c(YuQXQ{{ zh#oA@)1~EJRH&Y&D#POZOX-4E{%JdCv|d0=QDYQ{92)UqB>RTG7(h00 zG`O$&J)sN)Mv1*`aeZ(nMr!*yge;*UMF=+YWc+TMIyAv4XaVoC1rS|hKw`(3=_!BU zG?DCRj_L&v#Vk#Kik+W?Ub}7K8R6HdXt*#6#blZviwU5nG756BqO2euszY!ns4RTN z$<)aRv%#Ukl)R7SV!TQqd}Q7`_H2=uLQkD3682Oilt_MeN9QkaJy`(Y77SPPBZc1b zFMUX3%y^F&^vL%dLtXtdIHH^S@EB%q!~TZ8MIF9d?CV2+srQbR@Jg0XG7O#B7n9Xx zjxd5>1@87iLxb^^g>>DtN5CA=@QVwpVGG@csIauJc6--_*;9KUa|vMrXiyx6z}eiy z92T@_$G;#Wl!m__{{1C>2ql#K2=-+v5AWcQYb%rHfFS|kUe!Cajt^L07l1@$ZHLmg z6j-ixp0q=MJ+TonYp8ID&tgyf`d)AzcF925L~)L8mwEDsKYnO~f(CFRf9io#s|H^% zG+5T#TFH6gvA*!oY!wV3GM?(UM5ijtvhW_o_9+MuJcIX3u-DW&g*~n7LPC~fs6beO z#-Szy@PW!wq#9!zJfq;js`MEDU~mYu-K)84i$((smYR0;Zi})_A2(PeXd^;;H(H2(fM5a|X5s0yu;lS1j((jiJE;;59RF)J#6u<@ z1NqeC`21KRz%dk#uB)Kj`LJDy9A4r&rIvcaVgC#6&CgeF{so0CI=Qo{4ziaKFf$4- zOl59obZ9alF*P$cF_U146a_IhHaRkrp&clH_61N}+tvjN;{*>D9Gc+n?(XicjYH$^ z5G=R`cXxMp4<6hJ1PJc-IOj^v{r zBR4=qPML`rz{to#&&bFOPe!I{>1+f1w-}yG9q8y}39{q6@ZD0i-Y!WcYu&B(9zPw$POT93VpNbaXX6bBy0Z;}y0Ucd|rhva12FM%P0{_(+JvfRUZ)Uxr3DPM~*xe`X;Kwzfb!XD9f- z>Jzne1e(0l?!oY{leM-3x!HOB8<<(znVS98gsF=?gPNVCg9}hf^xr1$BKSWtbD%ST zjggU&gNqdabN~R|O)MDx3a{#aVGsOU$@G`_y#pUFdyqZA?7az~kEI##{RiI5$;cH5 zaCUS7`gr|Q@xKV3i3wn8Y2pkp2AW&i!T*W=E(V(Y3%?(}qoq4Qhw**(m;j7_eg6BT z_dZ^xAUhk6Kjwd*FN3tYmZGLI&A&SSuTEGPri8-dE8S=>GQ%0~qM-K+f+jfcN%%0A?UZ_`gn+ogKh`ApDo;Z^Xd}U=aU< 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 DKvo&_ From 305996824abc8227dc549bd94477963ddcc3c25f Mon Sep 17 00:00:00 2001 From: arunningcroc Date: Fri, 2 Jul 2021 09:25:47 +0300 Subject: [PATCH 5/5] added tex for the description pdf --- poisson2d/problemdesc.tex | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 poisson2d/problemdesc.tex diff --git a/poisson2d/problemdesc.tex b/poisson2d/problemdesc.tex new file mode 100755 index 0000000..7120749 --- /dev/null +++ b/poisson2d/problemdesc.tex @@ -0,0 +1,38 @@ +\title{Problem: 2D Poisson equation} + +\date{\today} + +\documentclass[12pt]{article} +\usepackage{amsmath} +\usepackage[english]{babel} +\begin{document} +\maketitle +\section{Theory} +Partial differential equations are a mainstay of physics, and as such, many methods have been developed for solving them numerically. The problem to be solved in this idiom is obtaining a numerical solution to Poisson's equation +\begin{align} +\nabla ^2 u(x,y) = v(x,y) +\end{align} +by the finite-difference Jacobi relaxation method, i.e. by making a grid with some grid cell area $h^2$ and iteratively solving + +\begin{align} +u_{i+1}(x,y) = &\frac{1}{4h^2}\bigg( u_i(x+h,y) + u_i(x-h,y)\\ + &+ u_i(x,y-h) + u_i(x,y+h) - 4u_i(x,y)\bigg) - \frac{h^2}{4}v(x,y) +\end{align} +until some desired convergence. In other words, each grid point is updated by considering it and its neighbours in the previous iteration as well as the source term. +\section{Specifics} +\begin{itemize} +\item The grid must be a unit square, i.e. the sides are of length 1. The grid spacing $h$ is $1/(M-1)$, if the number of grid cells is $M^2$. +\item You must use a handwritten version of the algorithm above. Other than that, anything goes. +\item The source term is $v(x,y) = 6xy(1-y)-2x^3$ +\item The initial guess for $u(x,y)$ should be zero everywhere except the boundary condition at $x=1$. +\item The boundary conditions are $u(0,y) = 0, u(1,y) = y(1-y), u(x,0) = 0, u(x,1) = 0$. +\item The code is convergent when the maximum grid point absolute difference between two iterations is $10^{-8}$. In other words, in pseudocode, when max(abs(current-previous))$<1e-8$. +\item The exercise is considered complete when the convergent numerical solution has been checked against the analytical solution $u(x,y) = y(1-y)x^3$ and found to be within acceptable bounds. This is done by considering the average error per grid point, which must be below $5\cdot 10^{-3}$. Remember that the solution is unique only up to an additive constant, so you should normalize so that the highest absolute value of your solution (as well as the analytical solution) is 1! + +\end{itemize} + +Following these instructions, run the code for M=100, 200, 300. Your code should converge in 16054, 53666 and 106405 iterations, respectively; if it doesn't, check that your algorithm and initial conditions are correct. +\section{Notes} +Be sure to be careful with the boundary conditions and take some care to set the array for $v(x,y)$ correctly. It is easy to make off-by-one errors that make convergence to the analytical solution impossible. +\end{document} +This is never printed