Coport is a Julia-based program designed for computing covariant polarized radiation transfer in any spacetime. This code is particularly useful for imaging black hole accretion systems.
This document outlines the key components of Coport and provides detailed instructions for its use.
Before running the Coport code, ensure the following packages are installed:
DifferentialEquations.jl: For solving differential equations.LinearAlgebra.jl: For performing linear algebra computations.Interpolations.jl: For interpolation calculations.MAT.jl: For importing and exporting.matfiles.
The functions in the Coport program are named to reflect their specific functionalities.
-
TraceRay.jl: Handles the parallel computation of all rays. -
TraceSingleRay.jl: Computes a single ray. -
GetMetric.jl: Obtains the metric$g_{\mu \nu}$ and$g^{\mu \nu}$ . -
RayEqns.jl: Contains the equations governing ray motion. -
GetRayDirection.jl: Derives initial ray directions using a specific camera model. -
ParallelTransport.jl: Manages the part of the equation used for parallel transport of the polarization tensor. -
PlasmaEquation.jl: Describes emission, absorption, and Faraday rotation in the equations. -
FluidParameter.jl: Defines various parameters of the fluid. -
GetRadiationParameter.jl: Obtains covariant emission, absorption, and Faraday rotation coefficients. -
FluidTetrads.jl: Obtains fluid tetrads. -
ZamoProjection.jl: Projects the polarization tensor at the observer's screen. -
DataInterpolation.jl: Interpolates GRMHD data.
The settings for the observer and observation frequency in the Coport code are both located in the main.jl file. After configuring all parameters, you can simply run the main.jl file to generate the output.
For instance, if we set the pixel density to
If you use our code, please cite 'Coport: A New Public Code for Polarized Radiative Transfer in a Covariant Framework' by Jiewei Huang, Liheng Zheng, Minyong Guo and Bin Chen.