New Mexico Supercomputing Challenge

Exploring Solar Power

Team: 49

School: Desert Academy

Area of Science: Physics


Problem and Solution

We, Team 49, are submitting a model to directly demonstrate how a solar array works. How does a solar array work, and what is the most efficient setup in gathering energy? We shall work on a model using algorithms for well known graphing problems (i.e. x2+y2=1) except, in this model, we are not only turning those equations into code, but also adding a third dimension: we will add the z coordinate, or zcor as it is defined. We will have several agents including a sun (which moves as a circle), photons (which move on the x and y plane based on the "altitude" (zcor), electrons (follow wire paths), and solar arrays (which collect photons and convert them into electrons). So far, we have created a "sun" agent, which successfully moves around the field like wanted and creates photons, photons which move around the field like stated, and a solar array which absorbs the photons. We expect to get results similar to real life, as in some of the common setups of solar arrays today, but we may encounter spontaneous and unexpected behavior, characteristic of a complex system.


So far, we have made considerable progress on our model. While it is not yet fully functional, we have defined several key functions. One of these is a function, move, which provides realistic three-dimensional motion by using the variables zcor and zheading. The first of these represents the agent’s vertical position. The second of these represents the angle of the agents’s heading relative to the xy-plane. To move 1 unit, the agent changes its xy-position by the cosine of its zheading and changes its z-position by the sine of its heading. Another movement function we have made is that of the sun agent, which uses parametric equations to move in a perfect circle around the map, regardless of whether this corresponds to celestial mechanics.

One difficulty that has become apparent is that of organization: it has been difficult to coordinate our various tasks in the model, and it has also been difficult to find time to meet. To coordinate our tasks, we have used a tool called Dropbox, which lets us access files on all our accounts. To determine what needs to be done, we have used a tool called LucidChart to make flowcharts of the various stages of the project.

Next Steps

With the considerable progress we have already made, we have many aspirations that we will soon code in and make a reality. As well as coding the previously stated three-dimensional functions, we have also coded a way for the quantity of photons hatched to change as a function of what time of day it is.

Our future plans are based on our four breeds: photons, electrons, sun, and solar panels. We will code photons so that if their heading is not set to a solar panel, it is then set and they will move forward until they reach a panel. They alert the panel and then die. The sun will hatch photons divided by the cloud cover constant, if it exists. Solar panels will hatch electrons and reflect a proportional amount of photons. These are just some of our plans in our continuing model.


Team Members:

  Damian Browne
  Isaac Fischer
  Cameron Mathis

Sponsoring Teacher: Jeff Mathis

Mail the entire Team

For questions about the Supercomputing Challenge, a 501(c)3 organization, contact us at: consult1314 @

New Mexico Supercomputing Challenge, Inc.
Post Office Box 30102
Albuquerque, New Mexico 87190
(505) 667-2864

Supercomputing Challenge Board of Directors
Board page listing meetings and agendas
If you have volunteered for the Challenge, please fill out our In Kind form.