Solve the Poisson problem using iteration and optimization with OpenMP