Computational Cosmology

As Cosmology enters its maturity, it is clear that numerical tools are an integral part of the next step of understanding in fundamental science.

Setting the stage

My research adviser at Kenyon College, Dr. Tom Giblin began using numerical simulations to study preheating, an extremely inhomogeneous period that may have existed directly after the end of inflation. It would have occurred as the energy density of the Universe changed from a potential dominated state to a radiation dominated state. In most models, an efficient transition can be obtained through a stage of parametric resonance, during which copious particle production is associated with large gradient energy terms which source gravitational radiation. This radiation immediately decouples from the matter content of the Universe and freely propagates to the present day.

Along with Richard Easther (Yale University) and Eugene Lim (Cambridge University/Kings College London), Dr. Giblin designed an algorithm for robustly simulating various early Universe models and predicting the associated gravitational power spectra.

From 2006-2008, Dr. Giblin wrote and maintained the numerical code and adapted {\sc LatticeEasy} (a publicly available field evolution code) to communicate with our software. This software is one of a few algorithms for the explicit calculation of gravitational wave backgrounds from cosmological scenarios and has become a standard against which newer software is measured.

Identifying barriers

Advances in computer science have given us the ability to use scientific computing methods to simulate complex systems in order to achieve a better understanding of cosmology. In the last decade, Dr. Giblin and members of his lab group developed a new CPU-optimized C++ program known as GABE (Grid And Bubble Evolver).  GABE evolves scalar fields (as well as other purposes) on an expanding background.

http://cosmo.kenyon.edu/gabe.html

The universe is MASSIVE and that means traditional CPU computing methods are limited to small resolution simulation.  This becomes a barrier to research when we want to investigate very small structures present in certain cosmological situations. I joined Dr. Giblin's lab group to develop a GPU accelerated version of GABE.  This meant converting the sequential/OpenMP algorithm functionality into highly-parallel, robust CUDA C/C++ code.  Over the summer of 2014, I developed, integrated and delivered GPU accelerated code to enable GABE to achieve speed-ups over two orders of magnitude. This speed up allows astrophysicists and cosmologists to investigate areas of computational cosmology that were previously thought impossible.

 

longeroutput_OSC.gif

Investigating: Oscillons

Once I had delivered the code, I switched my focus towards using my accelerated code to investigate the phenomena that prompted Dr. Giblin to hire me.  Oscillons are localized, oscillatory, stable solutions to nonlinear equations of motion. Basically a hot energy mass that does resonates and does not go away.  In an expanding background oscillons lose energy, but at a rate that is exponentially small when the expansion rate is slow.

The two clips below display 2D cross-sectional areas of isolated oscillons. The left slice in each video displays energy values of the radiation dominated scalar field and the right slice in each video displays energy values of the matter dominated scalar field.   The presence of expansion causes energy to resonate without dissipating like we expect.  We expect this because the cosmological principle states that the universe is homogeneous (same everywhere) and isotropic (having no preferred direction)

 no expansion

no expansion

 with expansion

with expansion

falling short

Numerically, a universe that starts with (almost) thermal initial conditions will cool to a final state where a significant fraction of the energy of the universe -- on the order of 50% -- is stored in oscillons. If this phenomenon persists in realistic models, oscillons may have cosmological consequences.

Previous versions of GABE have fallen short. It could take three months for the program to run and generate results. My GPU accelerated version enables the same program to run over night. 

 

Oscillon_Example_Image.jpg

Leveraging the gpu

Using C++ with Linux, I taught myself to accelerate computationally dense processes by writing CUDA code. I developed, debugged, and integrated CUDA C/C++ code by implementing parallel processing techniques commonly used in video processing algorithms. Seeing my impact on my fellow research team cultivated my passion for leveraging state-of-art algorithms to accelerate computational processes to deliver solutions to pre-existing barriers. 

robert_ridge_climb.jpg

qUANTUM zeno effect

The quantum Zeno effect is a feature of quantum mechanical systems allowing a particle's time evolution to be arrested by measuring it frequently enough with respect to some chosen measurement setting. 

Sometimes this effect is interpreted as:

"a system can't change while

you are watching it."

MEASUREMENT

 By its nature, the effect appears only in systems with distinguishable quantum states, and hence is inapplicable to classical phenomena and macroscopic bodies.

By its nature, the effect appears only in systems with distinguishable quantum states, and hence is inapplicable to classical phenomena and macroscopic bodies.

In quantum mechanics, the interaction mentioned is called "measurement" because its result can be interpreted in terms of classical mechanics.

Frequent measurement prohibits the transition. It can be a transition of a particle from one half-space to another, a transition of a photon in a waveguide from one mode to another, and it can be a transition of an atom from one quantum state to another.

Dr. BenJamin Schumacher

I had the opportunity to perform an independent research study for completion of my capstone requirements for my scientific computing concentration from Kenyon.  Working under Dr. Benjamin Schumacher, we set out to investigate this phenomena using numerical methods.

First we needed to develop a C++ program for time-evolving non-linear differential equations modeling both quantum mechanical particles and environments.

IMG_4595.JPG

time-dependent SCHRODINGER equation

This program numerically integrates the Schrodinger equation on finite complex scalar fields for simulating interactions of quantum particles under varied observation.

IMG_4599.JPG

Split-step Fourier Method

This version implements a second-order in time finite difference method known as the "split-step" Crank-Nicolson method. By calculating energy states using the hamiltonian in both position and momentum space, this program is able to achieve numerically stable integration, which is necessary for finite difference methods.

IMG_4601.JPG

Back and Forth

Each time-iteration, the program evolves the wave function in the position basis. Then we apply a Fourier transform the wave function to evolve the non-linear term of the Hamiltonian in the momentum basis/phase-space. The waveform is then reverse Fourier transformed back into position space in order to repeat this evolution of the waveform.

particle_well_potential_2.gif
particle_well_potential_16.gif
DIT-FFT-butterfly[1].png

Windmills + birds

With Sens of Life, I work with IR cameras to develop computer vision algorithms to monitor bird trajectories near windmills to reduce collisions and damage. Implementing classical computer vision techniques such as: feature detection, background subtraction and image morphology, I communicate with engineers in France to plan and setup integrated systems for real-time multi-camera image processing. This project demonstrates my ability to develop, implement, debug, and optimize C/C++ and Python code with OpenCV on Windows and embedded Linux

bird_track.gif
windmill_from_above_trajectory_bird.jpg

stitching

Real-time stitch multiple IR Cameras into one single image each frame after preprocessing, but before significant computer vision algorithms portion of image piepline.

Input/output

- INPUT: IR cameras (h264 stream) OUTPUT: file (h264) 

 

 

dimensions_trajectory_bird.jpg