My research interests are theoretical and observational cosmology. The topics I am currently working on are:
primordial gravitational waves from inflation (and preheating), primordial non-Gaussianity from preheating, dark energy parametrization, and cosmological parameter estimation using a variety of observational data (CMB, weak lensing, Type Ia supernovae, galaxy power spectrum, Lya forests). I am particularly familiar with cosmomc package and scalar fields lattice simulation code.
In the past I have modified cosmomc to constrain a variety of interesting models: quintessence/phantom dark energy models, decaying dark matter, Infra-red cascading during inflation. I have also written a weak lensing likelihood code to include the weak lensing data into Mukov Chain Monte Carlo (MCMC) simulation. In the left panel I am showing the equation of state (EOS) of dark energy and the fractional cold dark matter density are constrained by different cosmological data sets. For each data set, the degeneracy between the two parameters causes "cosmic confusion". However, with many complementary cosmological observations, such degeneracy can be broken. The parameters constrained by a combination of the many cosmological observations converge to a concordance model.
Shown in the right panel is the constraint on fractional matter density $\Omega_m$, and $\sigma_8$, a key cosmological parameter describing the amplitude of linear matter power spectrum at scale $8h^{-1}$ Mpc. Althoug little tension between different data sets can be seen in this case, at two sigma (95.4% confidence) level they are consistent with the standard flat $\Lambda$CDM model.
In both plots I have used the latest available data sets in Nov 2009, which include Cosmic Microwave Background data (WMAP 5, Boomerang, Acbar, CBI, MAXIMA, DASI, VSAF, QUAD, BICEP), Weak Lensing data (COSMOS, CFHTLS-wide, RCS, VIRMOS, GaBoDS), Large Scale Structure data (SDSS LRG DR7), and Lyman alpha forest data.
Another thing I have been doing for a while is using lattice simulation to study early universe preheating. I have implemented 4-th, 6-th, and 8-th order symplectic integrator in the lattice simulation code.
It now can conserve energy at 10-12 level for canonical scalar fields simulations.
The extension to non-canonical scalar fields is done in August 2009.
The key component of the code is a sympletic - Runge-Kutta hybrid integrator, which can conserve energy at 10-8 level for non-canonical scalar fields simulations (the benchmark models I have tried are Roulette inflation models and Racetrack inflation models). The right panel shows the evolution of Roulette field $\tau_2$ (the real part of last-stablized modulus) on a 2D slice in the lattice simulation box (see our paper arXiv: 0909.0503). The simulation boxsize is 0.006H-1, where H is the Hubble parameter at the end of inflation.
The movie in the left panel visualizes our work "Cosmological Fluctuation from Infra-red Cascading During Inflation". Before our work, it was thought that small scale particle creation can not affect large scale cosmological perturbations and the only effect will be changing the background motion of inflaton. This is however incorrect. As you can see in the movie from lattice simulation, $\delta\phi$ is first generated at small scales through $\phi$-$\chi$ scattering. The gradient energy at small scales soon flows to large scales through infra-red cascading. These long-wave length fluctuations will be frozen after they leave the horizon. The amplitude of such fluctuations, in our toy 4-legs models, depending on the value of coupling g^2, can be comparable to the standard one from vacuum fluctuation (g^2~0.01 is sufficient to make a 10% level bump in the primordial scalar power spectrum).
Resources
code
Documentation
link
A multi-pool MCMC engine
In cosmomc package, (backup and) repalce source/MCMC.f90 with this file. Recompile. You are done. In the cases that likelihood has multiple maximums, the plugin tends to work better.
But I can not promise it works better for all cases. Also, my code does not support checkpoint (but it should be easy to add it by yourself).
This is my little cute MPI-OMP hybrid fast Fourier transformation code. It is specialized to do 3D Fourier transformation for a 2^n x 2^n x 2^n cubic box. MPI-FFT can be significantly faster if you do not sort the output into human-readable order. To do operations in Fourier space, you can use the little subroutine "FFT_unscramble" and "FFT_scramble" to convert between human-readable-order and MPI-FFT-optimized-order. FFTW can also do the "scrambled FFT", but I could not find the documentation of "scrambled space", which is needed for most operations in Fourier space (for example extracting the TT part of metric perturbation). This code also include a subroutine to realize random Gaussian field for a given power spectrum, and a subroutine to calculate power spectrum for a given field.