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"
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:
- model/model_riaf.h
- model/model_riaf.cpp