90 GHz Continuum Observations of Messier 66

Authors

  • B. Nikolic, Astrophysics Group, Cavendish Laboratory, University of Cambridge, Cambridge CB3 0HE, UK
  • R. C. Bolton, Astrophysics Group, Cavendish Laboratory, University of Cambridge, Cambridge CB3 0HE, UK

Abstract

Radio emission at around 90 GHz from star-forming galaxies is expected to be strongly dominated by the free-free component due to ionising radiation from massive, short-lived, stars. We present high surface-brightness sensitivity observations at 90 GHz of the nearby star-forming galaxy Messier 66 with resolution of about 9 arcsec (corresponding to a physical scale of about 500 pc) and analyse these observations in combination with archival lower frequency radio and mid-infrared measurements. For the four regions for which the observations support our models we find that the free-free component indeed dominates the emission at 90 GHz, making up 76–90 per cent of the luminosity at this frequency but with the data also consistent with all of the emission being due to free-free. The estimates of free-free luminosities are also consistent, within measurement and decomposition errors, with star-formation rates derived from lower radio frequencies and mid-infrared observations. In our analysis we consider both power-law and curved spectra for the synchrotron component but do not find evidence to support the curved model in preference to the power-law.

Full text

PDF. Astro-Ph

Software

The analysis and plots were produced using radiospec software, see http://www.mrao.cam.ac.uk/~bn204/galevol/speca/index.html.

Many of the results can also be reproduced using the InMin library which is significantly simpler to use. Here is an example “C”-language program which computes the Bayesian evidence for our analysis of region C of M66:

#include <math.h>
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>

#include <inmin_nested.h>

double model(double nu, 
             const double *x)
{
  const double z=0.00259;

  double l_nu=x[0];
  double alpha=x[1];
  double l_psi=x[2];

  nu=nu*1e6*(1+z);

  const double lum= pow(10,l_nu)*1.3e23 *pow(nu/1e9, alpha)+
    2.17e20*pow(10, l_psi)* pow(nu/1e9, -0.1);


  const double  DL=3e5*z/70 * 3.09e22;

  return (1+z)*lum/ (4*M_PI*pow(DL,2)) * 1e26;
}


double lklhood(const double *x,
               void *data)
{
  size_t N=4;
  double val=0;
  double *ddata=(double*)data;
  for(size_t i=0; i<N; ++i)
  {
    const double nu=ddata[i*3];
    const double fmodel=model(nu, x);
    const double fobs=ddata[i*3+1];
    const double fnoise=ddata[i*3+2];
    val+= 0.5*pow( (fmodel - fobs)/ fnoise, 2);
    val+= 0.5*log(2*M_PI*pow(fnoise, 2));
  }
  return -val;
}

double pbox[] ={ -3.5, -1 ,  // l_nu
                 -1.5, -0.5, // alpha
                 -3, 1}; // l_psi

double m66_c[]= {1.425e3, 39.6e-3, 39.5e-3 * 0.05,
                 4.86e3,  18.3e-3, 18.3e-3*0.05,
                 8.43e3,  12.0e-3, 12.0e-3*0.05,
                 90.0e3,  8.0e-3, 8.0e-3*0.15};

double prior(const double *x,
             void *data)
{
  for(size_t i=0; i<3; ++i)
    if ( x[i] < pbox[2*i] || x[i] > pbox[2*i+1])
      return -1e9;
  return 0;
}


double moment1(size_t c,
               size_t N, 
               double *x, 
               double *l,
               double *w,
               size_t ns)
{
  double val=0, sum=0;
  for(size_t i=0; i<ns; ++i)
    {
      const double ww=exp(l[i])*w[i];
      val+=x[N*i+c]* ww;
      sum+=ww;
    }
  return val/sum;
    
}

void main(void)
{
  inmin_nested_in in;
  in.fll=lklhood;
  in.fprior=prior;
  in.N=3;

  in.mon.accept_f=NULL;
  in.mon.propose_p_f=NULL;

  //in.mon.accept_f=lklmon;
  //in.mon.propose_p_f=propmon;

  size_t NSS=200;
  double *ss = (double*)malloc(sizeof(double)*NSS*in.N);
  inmin_flatbox_ss(pbox, 
                   in.N, 
                   ss, 
                   NSS, 
                   43);
    
  inmin_nested_out out;

  inmin_nested_run(10000,
                   ss,
                   NSS,
                   &in,
                   &out,
                   &m66_c[0]);

  for(size_t i=0; i<3; ++i)
    printf("Moment 1 of %i parameter is %f \n" , i , 
           moment1(i, 3, out.xv, out.llv, out.wv, out.ns));

  printf("Evidence is %10.9f\n", inmin_evidence_rect(out.ns, out.llv, out.wv));
}

Data

Spitzer and Halpha data are from the SINGS survey and are available from the IPAC website at http://irsa.ipac.caltech.edu/data/SPITZER/docs/spitzermission/observingprograms/legacy/sings/

Complete plots of radiospec analysis

All of the images are high resolution PNG, load them individually in your browser to see them at full resolution.

Region B – Power law synchrotron component

Fan diagram:

../_images/M66B-phys-fan.png

Marginal posteriors:

../_images/M66B-phys-h1-cadd0alpha.png ../_images/M66B-phys-h1-cadd0l_nu.png ../_images/M66B-phys-h1-cadd1l_psi.png ../_images/M66B-phys-h1-ftherm33.png ../_images/M66B-phys-h1-ftherm90.png

Joint posteriors:

../_images/M66B-phys-h2-cadd0alpha-cadd1l_psi.png ../_images/M66B-phys-h2-cadd0l_nu-cadd0alpha.png ../_images/M66B-phys-h2-cadd0l_nu-cadd1l_psi.png

Region B – Power curved synchrotron component

Fan diagram:

../_images/M66B-curve-fan.png

Marginal posteriors:

../_images/M66B-curve-h1-cadd0alpha.png ../_images/M66B-curve-h1-cadd0l_nu.png ../_images/M66B-curve-h1-cadd1l_psi.png ../_images/M66B-curve-h1-ftherm33.png ../_images/M66B-curve-h1-ftherm90.png

Joint posteriors:

../_images/M66B-curve-h2-cadd0alpha-cadd1l_psi.png ../_images/M66B-curve-h2-cadd0l_nu-cadd0alpha.png ../_images/M66B-curve-h2-cadd0l_nu-cadd1l_psi.png

Region C – Power law synchrotron component

Fan diagram:

../_images/M66C-phys-fan.png

Marginal posteriors:

../_images/M66C-phys-h1-cadd0alpha.png ../_images/M66C-phys-h1-cadd0l_nu.png ../_images/M66C-phys-h1-cadd1l_psi.png ../_images/M66C-phys-h1-ftherm33.png ../_images/M66C-phys-h1-ftherm90.png

Joint posteriors:

../_images/M66C-phys-h2-cadd0alpha-cadd1l_psi.png ../_images/M66C-phys-h2-cadd0l_nu-cadd0alpha.png ../_images/M66C-phys-h2-cadd0l_nu-cadd1l_psi.png

Region C – Power curved synchrotron component

Fan diagram:

../_images/M66C-curve-fan.png

Marginal posteriors:

../_images/M66C-curve-h1-cadd0alpha.png ../_images/M66C-curve-h1-cadd0l_nu.png ../_images/M66C-curve-h1-cadd1l_psi.png ../_images/M66C-curve-h1-ftherm33.png ../_images/M66C-curve-h1-ftherm90.png

Joint posteriors:

../_images/M66C-curve-h2-cadd0alpha-cadd1l_psi.png ../_images/M66C-curve-h2-cadd0l_nu-cadd0alpha.png ../_images/M66C-curve-h2-cadd0l_nu-cadd1l_psi.png

Region D – Power law synchrotron component

Fan diagram:

../_images/M66D-phys-fan.png

Marginal posteriors:

../_images/M66D-phys-h1-cadd0alpha.png ../_images/M66D-phys-h1-cadd0l_nu.png ../_images/M66D-phys-h1-cadd1l_psi.png ../_images/M66D-phys-h1-ftherm33.png ../_images/M66D-phys-h1-ftherm90.png

Joint posteriors:

../_images/M66D-phys-h2-cadd0alpha-cadd1l_psi.png ../_images/M66D-phys-h2-cadd0l_nu-cadd0alpha.png ../_images/M66D-phys-h2-cadd0l_nu-cadd1l_psi.png

Region D – Power curved synchrotron component

Fan diagram:

../_images/M66D-curve-fan.png

Marginal posteriors:

../_images/M66D-curve-h1-cadd0alpha.png ../_images/M66D-curve-h1-cadd0l_nu.png ../_images/M66D-curve-h1-cadd1l_psi.png ../_images/M66D-curve-h1-ftherm33.png ../_images/M66D-curve-h1-ftherm90.png

Joint posteriors:

../_images/M66D-curve-h2-cadd0alpha-cadd1l_psi.png ../_images/M66D-curve-h2-cadd0l_nu-cadd0alpha.png ../_images/M66D-curve-h2-cadd0l_nu-cadd1l_psi.png

Region E – Power law synchrotron component

Fan diagram:

../_images/M66E-phys-fan.png

Marginal posteriors:

../_images/M66E-phys-h1-cadd0alpha.png ../_images/M66E-phys-h1-cadd0l_nu.png ../_images/M66E-phys-h1-cadd1l_psi.png ../_images/M66E-phys-h1-ftherm33.png ../_images/M66E-phys-h1-ftherm90.png

Joint posteriors:

../_images/M66E-phys-h2-cadd0alpha-cadd1l_psi.png ../_images/M66E-phys-h2-cadd0l_nu-cadd0alpha.png ../_images/M66E-phys-h2-cadd0l_nu-cadd1l_psi.png

Region E – Power curved synchrotron component

Fan diagram:

../_images/M66E-curve-fan.png

Marginal posteriors:

../_images/M66E-curve-h1-cadd0alpha.png ../_images/M66E-curve-h1-cadd0l_nu.png ../_images/M66E-curve-h1-cadd1l_psi.png ../_images/M66E-curve-h1-ftherm33.png ../_images/M66E-curve-h1-ftherm90.png

Joint posteriors:

../_images/M66E-curve-h2-cadd0alpha-cadd1l_psi.png ../_images/M66E-curve-h2-cadd0l_nu-cadd0alpha.png ../_images/M66E-curve-h2-cadd0l_nu-cadd1l_psi.png