Skip to content
/ NINA Public

Population synthesis code for isolated radio pulsars - Nova Investigii Neutronicorum Astrorum

Notifications You must be signed in to change notification settings

ignotur/NINA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NINA code

Nova Investigii Neutronicorum Astrorum (New Study of Neutron Stars)

A computer code to draw synthetic samples of radio pulsars. The code follows the evolution and motion in the Galactic gravitational potential for large ensamble of neutron stars formed in isolated supernova explosions.

The code uses the electron density model YMW16 http://www.xao.ac.cn/ymw16/ http://www.atnf.csiro.au/research/pulsar/ymw16/ Yao, Manchester and Wang, 2017, Astrophys. J., 835, 29; arXiv:1610.09448

The population synthesis code is mostly based on Faucher-Giguere & Kaspi (2006) procedure with small modifications.

The code requires GSL (GNU scientific library) to be compiled.

Compilation

The code needs to be compiled as following:

cd ymw16_v1.2.2
make
cd ../
make

Running code

If the code is compiled succesfully it can be ran as ./population.out. It produces following output:

./population.out
#//----------------------------------------------------------//
#// Population synthesis code. Version 0.83 (see  //
#// the version agreement)                                   //
#// Author: Andrei Igoshev.                                  //
#// e-mail: ignotur@gmail.com, 2010-2019                     //
#//----------------------------------------------------------//
The population synthesis code allows to use following flags    
-b file -- black hole calculations. This flag makes program    
           calculate distributions of black holes by masses and
           write masses into file                              
-e -- extended output: one output file is divided into 3 files.
      One with P-dotP, one with positions and velocities and   
      one with luminosities at 1400 MHz.                       
-f -- full population. These type of calculations starts from  
      massive stars in four spiral arms, then stars evolve and 
      produce NS. Their evolution is considered up to now      
-g file -- generate file with population of massive stars.     
           This file constain masses of newly-born NS, their   
           positions, velocities and time of born              
-h -- help - show this information.                            
-i file -- initial file. This flag makes program use file with 
           initial positions, velocities and masses of NS.     
-o file -- file/s with results has/ve name as suggested.       
-p file -- file with parameters of synthesis is names as       
           suggested. If it is not mentioned, file input.par is
           used.                                               
-u -- undetectable. This option makes program create additional
      file/s with information about pulsars missed in survey.  
      (This option may cause much longer computations)   

The simplest way to ran complete population synthesis is to use ./population.out -f.

Troubleshooting

If the population synthesis code cannot be ran because the library libymw16.so is not found, it is recommended to add the local folder to the variable LD_LIBRARY_PATH for example as:

export LD_LIBRARY_PATH=.

The compilation of the electron density library requires different flags for Linux, namely the line flags= -dynamiclib -flat_namespace -O3 in makefile should be replaced with flags= -fPIC -shared -O3

Parameters of the simulation

At the moment the file with parameters is called parameters.par. You can run population synthesis with another parameter file if you call it this way:

./population.out -f -p alternative_parameter_filename.par

A typical parameter file looks as following:

Time of run (years): 5.5e8
Birthrate (stars per thousand years): 7
Initial radial distribution of stars: A
Spiral arms: yes
Initial distribution of pulsars periods: g
1st parameter of initial distribution of pulsars periods: 0.250
2st parameter of initial distribution of pulsars periods: 0.150
Initial distribution of pulsars magnetic fields: g
1st parameter of initial distribution of pulsars magnetic fields: 12.65
2st parameter of initial distribution of pulsars magnetic fields: 0.55
Model of luminocity: C
1st parameter of luminosity: 0
2nd parameter of luminosity: 0
3rd parameter of luminosity: 0
Model of magnetic field decay: A
1st parameter of magnetic field decay:  5e5
2nd parameter of magnetic field decay:  0
3rd parameter of magnetic field decay:  0

Below I describe a meaning of different parameters in this file.

Time of run

The simulation starts 5.5e8 years ago. It is recommended to keep this value at a level of approximately 1e9 years to reproduce the oldest pulsars, especially if no magnetic field decay is assumed.

Birthrate

Number of all massive stars (8-45 Msun) born per thousand years. Only a part of them end up as NSs in agreement with Kroupa mass function.

Initial radial distribution

Option A - the same as in the article Faucher-Giguere & Kaspi (2006)

Option B - as in the article by van der Kruit (1987)

Option C - radial distribution based on studies of far IR regions, for details see Faucher-Giguere & Kaspi (2006)

Option D - radial distribution based on studies of SNR remnants, for details see Faucher-Giguere & Kaspi (2006)

Option E - radial distribution based on studies of pulsars, for details see Faucher-Giguere & Kaspi (2006)

Luminosity models

Option A - model based on work of Fan et al. (2001). This model requires no additional parameters

Option B - radio brightness is normally distributed in a cone. This model requires two parameters: ds and dlum

Option C - model based on the article by Manchester et al. (2006). This model requires three parameters: a, b and C where L = C * pow (P, a) * pow(dot P, b)

Models of magnetic field decay

Option A - no magnetic field decay. No additional parameters are required.

Option B - piecewise magnetic field decay. It requires two parameters: (1) time before decay and (2) time after decay, before magnetic field dissappers completely

Option C - magntic field decay in a form decsribed in Aguiler, Pons & Miralles (2008). It requires two parameters: (1) fraction between Hall and Ohmic decay timescales and (2) Ohmnic decay timescale.

Option D - exponential magnetic field decay. It requires one parameter (1) timescale of magnetic field decay.

Using bimodal normal distribution for initial periods or magnetic fields

The distribution of initial spin periods and magnetic fields can consists of multiple normal distributions. In this case the parameter file needs to be written in following way:

Time of run (years): 5.5e8
Birthrate (stars per thousand years): 7
Initial radial distribution of stars: A
Spiral arms: yes
Initial distribution of pulsars periods: g
1st parameter of initial distribution of pulsars periods: 0.250
2st parameter of initial distribution of pulsars periods: 0.150
Initial distribution of pulsars magnetic fields: m
1st parameter of initial distribution of pulsars magnetic fields: 0.5
2nd parameter of initial distribution of pulsars magnetic fields: 12.9
3rd parameter of initial distribution of pulsars magnetic fields: 0.2
4th parameter of initial distribution of pulsars magnetic fields: 0.5
5th parameter of initial distribution of pulsars magnetic fields: 11.2
6th parameter of initial distribution of pulsars magnetic fields: 0.2
Model of luminocity: C
1st parameter of luminosity: 0
2nd parameter of luminosity: 0
3rd parameter of luminosity: 0
Model of magnetic field decay: A
1st parameter of magnetic field decay:  5e5
2nd parameter of magnetic field decay:  0
3rd parameter of magnetic field decay:  0

First and fourth parameters are the weights of corresponding normal distributions. The second/third and fifth/sixth parameters are the mean of the lognormal distribution (magnetic field) or normal distribution (periods).

Fast check of the population synthesis results

To check fast is the results of the population synthesis have anything to do in comparison to the real population you can run python skript tst_p.py

python tst_p.py

This script plots histogram for key synthetic pulsar parameters including periods, period derivatives, radio luminosties, distribution in galactic latitude and longuitude and plots period - period derivative histogram.

An example of the result is shown below.

Results of simulations

About

Population synthesis code for isolated radio pulsars - Nova Investigii Neutronicorum Astrorum

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published