Defines an image and flux model based on the RIAF models employed in Broderick, Fish, Doeleman and Loeb (2011) and Broderick et al. (2016), permitting greater freedom to modify the underlying semi-analytic accretion flow structure. More...

#include "model/model_riaf.h"

Inheritance diagram for model_riaf:
Collaboration diagram for model_riaf:

Public Member Functions

 model_riaf (std::vector< double > frequencies, double M=VRT2::VRT2_Constants::M_SgrA_cm, double D=VRT2::VRT2_Constants::D_SgrA_cm)
 Constructor to make a RIAF model. Takes a vector of frequencies (Hz), mass (cm), distance (cm).
 
virtual size_t size () const
 Returns the number of the parameters the model expects.
 
void set_image_resolution (int Nray)
 
virtual void generate_model (std::vector< double > parameters)
 Currently simply saves model parameters. Repeat model production is prevented within the model_image_riaf objects.
 
virtual double visibility_amplitude (datum_visibility_amplitude &d, double accuracy)
 Returns visibility ampitudes in Jy, computed numerically. The accuracy parameter is not used at present.
 
virtual double closure_phase (datum_closure_phase &d, double accuracy)
 Returns closure phase in degrees. The accuracy parameter is not used at present.
 
virtual double closure_amplitude (datum_closure_amplitude &d, double accuracy)
 Returns closure ampitudes, computed numerically. The accuracy parameter is not used at present.
 
virtual double flux (datum_flux &d, double accuracy)
 Returns flux in Jy computed from the model_image_riaf with a frequency nearest to that requested. The accuracy parameter, in Jy, is used to determine the resolution of the image from which to obtain the flux estimate.
 
virtual void set_mpi_communicator (MPI_Comm comm)
 Defines a set of processors provided to the model for parallel computation via an MPI communicator. Only facilates code parallelization if the model computation is parallelized via MPI.
 

Protected Member Functions

size_t find_frequency_index (double frequency) const
 Finds the nearest frequency in the list originally passed.
 

Protected Attributes

std::vector< model_image_riaf * > _riaf_images
 Vector of model_image_riaf objects constructed independently at each flux in the list passed to the constructor.
 
std::vector< double > _parameters
 Internal copy of parameters to pass to the various copies of model_image_riaf.
 
bool _generated_model
 True if a model has been generated. Used to avoid repeated computation of the model at the same location.
 
- Protected Attributes inherited from model_visibility_amplitude
MPI_Comm _comm
 
- Protected Attributes inherited from model_closure_phase
MPI_Comm _comm
 
- Protected Attributes inherited from model_closure_amplitude
MPI_Comm _comm
 
- Protected Attributes inherited from model_flux
MPI_Comm _comm
 

Detailed Description

Provides explicit implementation of the model_image and model_flux objects for the semi-analytic RIAF models. There are additional tuning parameters that may impact accuracy, e.g., distance to the image screen, number of rays to produce, etc. See the appropriate parts of model_image_riaf.cpp for more.

Parameter list:

  • parameters[0] ... Black hole spin parameter (-1 to 1).
  • parameters[1] ... Cosine of the spin inclination relative to line of sight.
  • parameters[2] ... "Thermal" electron population density normalization in \({\rm cm}^{-3}\).
  • parameters[3] ... "Thermal" electron population density radial power law.
  • parameters[4] ... "Thermal" electron population density \(h/r\).
  • parameters[5] ... "Thermal" electron population temperature normalization in K.
  • parameters[6] ... "Thermal" electron population temperature radial power law.
  • parameters[7] ... Power-law electron population density normalization in \({\rm cm}^{-3}\).
  • parameters[8] ... Power-law electron population density radial power law.
  • parameters[9] ... Power-law electron population density \(h/r\).
  • parameters[10] .. Power-law electron population density spectral index.
  • parameters[11] .. Power-law electron population density minimum Lorentz factor.
  • parameters[12] .. Plasma beta.
  • parameters[13] .. Sub-keplerian parameter, i.e., sets \(u_\phi/u_t =\) parameters[13] \(\times\)<keplerian value>.
  • parameters[14] .. Position angle (in model_image) in radians.
Warning
Requires the VRT2 library to be installed.

Member Function Documentation

void set_image_resolution ( int  Nray)

Sets model_image_sed_fitted_riaf to generate production images with resolution Nray x Nray. The default is 128x128, which is probably larger than required in practice.


The documentation for this class was generated from the following files: