Team Number: 096 School Name: Sandia Prep Area of Science: Physics Project Title: Parallel Computational Approaches for Solving Schrodinger's Equation Project Abstract: http://mode.lanl.k12.nm.us/97.98/abstracts/096.html Interim Report: http://mode.lanl.k12.nm.us/97.98/interims/096.html Final Report: http://mode.lanl.k12.nm.us/97.98/finalreports/096/finalreport.html
The Monte Carlo approach uses random number generation and statistical rules to generate a solution for the equation. The approach has many advantages because any problem of arbitrary complexity can be addressed with relative ease. The problem is that the statistical clutter that develops can lead the computer to obtain incorrect results and thus this method often eats up lots of computation time. Despite that, it provides an interesting comparison to the Finite-Difference method, especially in problems of increasing complexity.
The Finite-Difference method relies on placing a mesh over the model in order to divide it into smaller cells, each of which can be analyzed independently. As the number of cells increases, the size of each decreases, allowing for the analysis of smaller portions of the model. This can be summarized by the following: As resolution increases, accuracy increases proportionally; unfortunately, computation time also increases proportionally. The trick to this method is finding a balance between accuracy and computation time. By solving for each intersection of the grid we can use a compilation of our results to form a usable model. This method, in comparison to the Monte Carlo approach, is an extremely organized and systematic means of looking at the problem.
With the code from each system, we will compare the results from both single processor systems and parallel systems at ARC (the Albuquerque Resource Center). We are running our code using MPI (or Message Passing Interface) to perform the communication between processors. We will also use several parallel numerical libraries including PETSc to write the parallel code. We will measure the efficiency of our code by comparing the accuracy and computation time. The Monte Carlo approach will be the more accurate overall, but for smaller systems the computation time is expected to outweigh any gains made in accuracy. As the problem grows in complexity, and number of processors, we expect to see the Finite Difference Method take as long if not longer than the Monte Carlo approach.
We presently have basic running C++ code and are working on implementing boundary conditions for the model. Our code runs in both serial and parallel environments but we do not yet have results. We have a basic understanding of the mathematics involved in solving quantum equations and have gained familiarity with Schrodinger's equation and the related processes for its solution. Our future goals include establishing working boundary conditions and fine tuning our code to the point at which we can plot our results.
In conclusion, we are currently tying together the final portions of our model for Schrodinger's equation. After implementing our code on both serial and parallel systems we will promptly plot the results with respect to execution time and energy of the particle at a given point within the boundaries. Thus far we have learned a great deal regarding the basics of quantum mechanical problems as well as several facets of calculus that we had not yet been exposed to in school.