bwcycl: Becker-Wolff self-consistent cyclotron line model

This is the implementation by Carlo Ferrigno of the model by Becker & Wolff (2007). This implementation has been validated in Ferrigno, Becker et al. (2009)

The original model is described in P. A. Becker & M. Wolff Thermal and Bulk Comptonization in Accretion-powered X-Ray Pulsars 2007, ApJ 654, 435B.

The application details are reported in C. Ferrigno, P. A. Becker, A. Segreto, T. Mineo & A. Santangelo, Study of the accreting pulsar 4U 0115+63 using a bulk and thermal Comptonization model, 2009, A&A, 498, 825.

This package is also under version control at

It is mandatory to:

  1. freeze the model normalization to one;
  2. set the source distance in kpc;
  3. set and freeze the neutron star parameters (default values are a good choice);
  4. select which source terms should be computed.

The computation of the black-body source term is time consuming, because it involves the numerical solution of an integral. Since the contribution of this component is generally negligible, the parameter BBnorm should be set to zero and then fixed to one for the final runs. The parameters FFnorm and CYCnorm should be fixed to one.6.1

The mass accretion rate $\dot M$ is strongly degenerate with the accretion column radius and the parameter $\xi$; it is therefore advisable to fix $\dot M$ to a suitable value, which can be derived by equaling the X-ray luminosity to the accretion luminosity or a fraction of it. For a source in which the magnetic field is well above the plasma temperature and the contribution by the cyclotron emission term is minor, it is suggested to link the magnetic field of the continuum model to the one derived by the cyclotron scattering absorption feature(s).

For particular combinations of the parameters, the special functions used in the GSL libraries do not provide a finite value and a “Not a number” (NAN) is returned to Xspec. The following parameter constraints avoid most of NAN occurrences:

Finally, large values of $r_0>1000$ km should be avoided. When a NAN is returned the program prints out the parameter values for which this occurred and the contraints can be refined.

It is important to limit the parameter ranges in a customary way and maybe tune the mass accretion rate to a value which keeps these parameters in the range suggested by physical considerations. Equaling the accretion and the X-ray luminosities is not guaranteed to yield meaningful results for all sources.

It is possible to define a derived model as:
mdefine newbw bwcycl(Radius,Mass,csi,csiDel/(csi+10.85)**1.63,
in the Xspec prompt or:
xspec.AllModels.mdefine('newbw bwcycl(Radius,Mass,csi,

in pyXspec, with the parameter csiDel limited between $\sim10^{-4}$ and $\sim10^3$ and $\xi$ from 0.01 to 20. However, for $\xi>\sim5$, the lower limit of csiDel should be increased to about 3.

This complex setting could permit a safe exploration of the parameter space, while avoiding most of NAN in the model computation.

par1 $R_{\mathrm{NS}}$ : Neutron star radius in km (to be fixed)
par2 $M_{\mathrm{NS}}$ : Neutron star mass in $M_\odot$ (to be fixed)
par3 $\xi$ : Parameter linked to the photon escape time (order of some unities)
par4 $\delta$ : Ratio between bulk and thermal Comptonization importances
par5 $B$ : Magnetic field in units of $10^{12}$ Gauss
par6 $\dot M$ : Mass accretion rate in units of $10^{ 17}\,\mathrm{g\,s^{-1}}$
par7 $T_{\mathrm{e}}$ : Electron temperature in units of keV
par8 $r_0$ : Column radius in units of m
par9 $D$ : Source distance in units of kpc (to be fixed)
par10 BBnorm : Normalization of the blackbody seed photon component (fix it to zero at first)
par11 CYCnorm : Normalization of the cyclotron emission seed photon component (fix it to one)
par12 FFnorm : Normalization of the Bremsstrahlung emission seed photon component (fix it to one)


For any problem and suggestions, please contact
Carlo Ferrigno email: