Christopher Plumberg
Research Log, MSU Summer REU Program, 2008
June 5, 2008
Today, we learned how to work with
HTML And now, I am supposed to make a change to my page. I
don't have any images or links to put on here yet. Just to
experiment, here is a link to Montana's
homepage. Also, here is a link to the first plot I
successfully made after a LOT of programming: Initial
Conditions for Solar Magnetic Fields in Corona. Wow. My
hands are tingling.
June 6, 2008
I made a notable contribution to mathematical
physics, which I have named after myself. Although I have had
little cause to utilize this operator, it is good to have it in my
name. This operator, known as the Plumbergian, consists of
applying the Laplacian operator 10 times to a scalar function f. In shorthand, the
Plumbergian operator is written "del-20 f".
June 9, 2008
Dr. Kankelborg is still out of town today, so
I am taking the opportunity to familiarize myself with the Perl
programming language, and if I have time, review some HTML. The
reading goes pretty quickly, partly because the book is written well,
and partly because I am beginning to pick up on the basics of new
programming languages pretty quickly, since in the lowest-level
programs, they seem to have much in common. I expect that I will
return to my specific research project tomorrow.
June 10, 2008
Well, Dr. Kankelborg got back today, so I was
able to catch up with him on some of the next steps that my research
can take. I continued to work on Perl, and began investigating
PDL, which I will hopefully begin tomorrow. The primary thing
absorbing my attention at the moment is the homework set he assigned to
me; it is proving to be very difficult, but I am excited to see if I
can find out a good answer (there are different ways of doing this
problem). I will keep you, my captive audience, posted on any
future, more interesting developments.
June 11, 2008
I spent a number of hours on the difficult
problem, but to no avail; when I went to ask Dr. Kankelborg for help,
he showed me a way that was very simple and straightforward, and which
afterwards I thought to myself that I should have seen. Alas, I
find success and failure to both be part of the learning process, and
that is indeed why I am here. I will continue to persevere with
my remaining tasks this summer.
On a brighter note, I had the privilege of
meeting Craig DeForest (via telecast), Dr. Kankelborg's co-developer of
the software which I will be using a lot this summer, FLUX.
We
discussed some of my progress so far in programming languages, and
(among other things) what would be a reasonable project for me to focus
on in my remaining time here this summer. We settled on
discussing and modeling (with FLUX) a distribution of magnetic field
lines which resembles (and receives its name from) a Conestoga
Wagon. I have a paper (coauthored by Drs. Kankelborg and
DeForest) on this topic which I will read tomorrow, and an additional
paper on the Voronoi method, a way to tessellate the plane
perpendicular
to a set of magnetic field lines in such a way that the magnetic flux
carried by each is distributed appropriately and smoothly (FLUX uses
this technique).
More to follow on these papers and progress
made tomorrow in Perl and PDL.
June 12, 2008
I spent today primarily in attendance of our
first lecture on Lang's
Encyclopedia of the Sun, and reading the
articles that I mentioned yesterday. The first gave me an
appreciation for the Voronoi method (discussed yesterday), and the
second deepened my understanding of the dynamics of the system which I
will be using FLUX to model.
Tomorrow I hope to bounce some questions off
of Dr. Kankelborg in regards to some of these articles to ensure that I
understand the physics involved; I also plan to spend tomorrow and
(hopefully) part of the weekend in mastering Perl and PDL. I have
been advised not to try to achieve mastery of these languages, since
there is simply too much to do so in just a few days, so I believe that
I will settle for a familiarity with the basic concepts involved, and
then learn whatever else I need to as I go.
June 13, 2008
I continued to work on mastery of Perl and
PDL. Only a little bit farther to go. Talking to Dr.
Kankelborg about my project, we were able to find in the Devore
and
Antiochos article (which discusses the previous work in modeling
the Conestoga
Wagon phenomenon) the exact conditions under which the model was run;
it will be a (relatively) simple matter to translate this into
something that FLUX can use.
I also spent a bit of the weekend reviewing
some concepts which were a bit iffy for me, including convolution
integrals and Legendre transformations, and reviewing some material
from earlier this week.
June 16, 2008
This morning, I wrapped up my self-directed
crash course in Perl and PDL. We decided today that the next
major step that I need to take is to work to get one of Dan Bruder's
simpler programs/test cases for FLUX up and running, to ascertain that
everything is working correctly. After that, we also need to take
care of getting FLUX installed on helios.
However, after a lot of struggling and trying
various options, I was not able to get any of Dan's programs to
run. Dr. Kankelborg was not able to get anything run either.
June 17, 2008
I spent today catching up on a lot of
miscellaneous tasks that I need to finish up on my computer. I
also spent some time thinking about a problem which has occupied my
mind in my spare time (when I'm not working on something directly
related to FLUX), which is, how, computationally, can we expect to
obtain the magnetic energy contained in a collection of fluxons?
After all, the Voronoi polygons of fluxons toward the perimeter of such
a collection would extend to infinity; is there a way to integrate
B² analytically to infinity in the case of a general
distribution? Dr. Kankelborg and I spent a good while discussing
some options and some things that he had already tried, including
various plausible assumptions to make about the distribution of the
magnetic flux throughout a given Voronoi polygon. It's something
I plan to keep thinking about.
In the meantime, we found out today that the
reason we could not get any of Dan's old programs to run was because
PDL is not functioning correctly on filament (the server we were
using)! So instead, we're planning to just ask Keiji to install
the latest version of FLUX onto helios, which is much faster than
filament anyway. Everything should be up and running soon.
June 18, 2008
I spent today reviewing the Fan
& Gibson
article on another possible situation that I can work on modeling
this
summer, if there is time. This one involves slowly (i.e.,
sub-Alvènic speeds, to keep the system in quasi-equilibrium)
bringing a magnetic flux tube with a large amount of initial magnetic
helicity through the photosphere into an otherwise anchored arcade on
the solar surface. If I can get the Devore-Antiochos simulation
modeled correctly, then I expect this one will be next on the list.
I also continued my clandestine investigation
into the world of HTML and other programming languages with I expect
will come in handy sooner or later. I ordered 5 books online last
night, and one a couple of nights ago, all pertaining to
programming. They should be a good read.
Hopefully, I will be able to report on
palpable progress with respect to FLUX by the end of this week.
Stay tuned to find out.
June 19, 2008
SUCCESS!!! Craig (as I shall henceforth
refer to Dr. DeForest) gave me a few helpful tips on how I could go
about setting up what I needed to get FLUX running properly...and it
worked! Actually, I completed the first successful run sometime
last night, but without the X-terminal to display the results.
However, Craig, showed me how to fix that as well, and as I speak a
beautiful mess of numbers and pictures is flashing across the
background of my screen. Thus, FLUX is up and operating
correctly.
Late this afternoon, I also ran through my
original IDL assignment (cf. my original Semicircles
plot) with my final array as the initial conditions to the
FLUX program. The first step was to take my array and convert it
using Teddy Wahl's program write_fluxon into a .flx file, which FLUX
would accept. Running Dan Bruder's PDL code (available online
here)
as before produced the X-terminal and cascade of numbers.
The stable solution my run of FLUX produced was exactly what I
expected! Things are running well. I expect that the next
step will be to actually begin to implement the papers I am supposed to
be analyzing into code, and begin to run the tests on them as
well. Also, the remains the question of specifying the
orientation of the line-of-sight for the X-terminal window.
How can I change this? I hope to find this out soon.
June 20, 2008
I feel a bit silly. I can change the
line of sight in the X-terminal by clicking and dragging. Genius.
I set out to create a movie of the relaxation
of my Semicircles plot, but have not figure it out yet. Also, I
spent a while beginning to implement the DeVore and Antiochos
simulation into code. I have nothing extensive at this point, but
I have made definitive progress.
June 21, 2008
I succeeded in creating a movie of the
relaxation; each frame of the movie is created as a .png file straight
from simple_relaxer. It is necessary to read these files into
another file ('list.txt'), and then i was able to write a script that
would create a movie variable, open the xstepper and play the movie.
June 26, 2008
The server was down for a day and a half this
week, and I have been somewhat inconsistent with my entries into
journals. However, a quick summary of my week will suffice.
Given that I had successfully completed a
relaxation of my Semicircle plot, the next step was to get to work
finding a way to shift the endpoints (the initial 4x4 plot of points
that I generated) in a given manner I wish. After playing with
some options, I used object-oriented notation to specify the position
of a given vertex (a 3-PDL), which I incremented with another 3-PDL
(defined elsewhere).
Also, since I had a considerable amount of
time this week in which helios was unavailable, I made the best of it
by upgrading my computer with a number of programming IDE's, and began
to familiarize myself with Python and Pascal, in case knowledge of
either becomes useful at some point in the future.
Tomorrow is Friday.
June 27, 2008
Among other things, I spent today hunting
through PDL documentation to determine how to change/select the actual
value contained in a 1x1 piddle. After rummaging through a LOT of
dead ends and incomprehensible coding jargon, I finally found what I
was looking for. The at function returns the value at a
particular position in a given object as a perl scalar. For
example, I ended up with a sequence of commands that looked something
like this:
perldl> $pos = pdl (1, 0.5, 3)
perldl> $h = at($pos,1) ## OR $h = $pos->at(1)
$h is now equal to 0.5, as though I had said $h = 1./2.. The set
function works using a similar syntax.
June 30, 2008
I spent some of today working on cleaning up
my code and making sure it was all well-documented and perspicuous to
whomever comes after me next year. Also, I learned that one way
to make your function pause is to use the sleep function: sleep k,
where k is the number of seconds you want the program to pause.
Or, if you would like it to pause until you tell it to continue, you
can use (in PDL) POSIX::pause(); this will pause the program until you
hit CTRL-C to continue.
Also, last night, as I was reviewing some
Python programming basics, and I had a mathematical epiphany pertaining
to the Fibonacci series. Consider any positive integer n greater
than 1, and consider the set of Fibonacci numbers less than n.
Then n can be written (in at least one distinct way) as a partial sum
over this set of Fibonacci numbers. The proof of this is a bit
trickier, but I think I almost have it. I'm also trying to think
of potential applications, in case this is not just another example of
me playing with numbers. I like to think of the Fibonacci series
in this sense as sort of a "naturalized base" for integers great than
2. It remains for me to see where else I can use this.
By the way, I am perfectly aware that this has
nothing whatsoever to do with solar physics. I just thought it
was cool enough to include in my daily journal entry.
July 8, 2008
I offer my sincerest apologies for the
unseemly gap between my previous entry and this one. I have spent
a significant amount of the disparity in time in Glacier Lake National
Park, and it was a wonderful time at that.
I've been having technical difficulties with
my computer, but I think I may soon be able to surmount them, God
willing. I also successfully ran FLUX for the DeVore/Antiochos
Wagon formation yesterday, although I eventually had to terminate the
process, since it was running a bit long. I'm also having some
problems with the array I'm using to represent the footprints of the
vertices (@footprints); hopefully, I'll get these sorted out with
Craig's (and/or Laurel's) help soon. More to follow once I get my
computer fully functional again.
July 9, 2008
Well, this morning my computer is working
again. Rather than fix the original problem (my old profile was
corrupted, and my desktop wouldn't load), I just created a new profile
and am accessing all of my old information and programs through my old
desktop (since I made myself system administrator).
Now that I can run my computer again, I'm
going to try setting the argument for updateneighbors() to
<undef> instead of 1; i expect that this will speed up the
calculations significantly. Maybe this will allow me to pinpoint
the source of some of my errors. More to follow.
A chat with Craig this afternoon informed me
that there were some minor modifications that I needed to make to Teddy
Wahl's write_fluxon program, which I did. This has corrected the
"label-uniqueness" error i was getting during my runs of FLUX, but not
the "Vertex -3" problem, which looks something like the first red line
on this page. Hopefully, we can
get this corrected soon.
July 10, 2008
I caught a few bugs in my script today that
have forced me to redo a lot of former work. However, they are
fixed now, and if I can get the "Vertex -3" problem fixed, I should be
able to get some good science out of this simulation before the end.
July 14, 2008
Still no solution the the "Vertex -3" problem,
although it could be related to the fact that I do not think we
currently have the most recent version of FLUX installed on
helios. I'm going to talk to Dr. Kankelborg and Keiji about this
and see if there is anything we can (or should) do.
I ran a number of Dan Bruder's FLUX analysis
programs today on the results of my testrun on the DAWagon for 32
fluxons. Most of them seemed to come out nicely; it should giv e
us an idea of what sorts of improvements can be made to FLUX. The
simulation with 256 fluxons is not yet working, because it does not
want to converge on any values. I'm going to keep working to find
out what the problem is.
July 15, 2008
Today, I am running the 128 and 256 fluxon
versions of the DAWagon, and they are both running a bit slower than
the others, but are definitely converging. Hopefully I will soon
have some presentable results to be proud of.