COSMOS API AHF2D - cmyoo/cosmos GitHub Wiki

COSMOS :: Class description for Ahf2d

  • This class defines the necessary variables and functions to detect the surface of an apparent horizon in the three dimensional box.

  • "cosmos.h" is required to use this tool.

Ahf2d :: Variables

  • General variables for apparent horizon finder
type name description
bool error true if AH is not found
int mt number of theta grid
int mp number of phi grid
int fignum number for figure plot
double dt d theta
double dti 1/ dtheta
double dti2 1/ dtheta^2
double dp d phi
double dpi 1/ dphi
double dpi2 1/ dphi^2
double var acceleration parameter in PRD55 2002
double fac factor of iteration update
double *theta theta coordinate
double *phi phi coordinate
double hini initial radius
double **ha previous horizon radius
double **hb updated horizon radius
double **src source term
double **ds area element
double **dce for equator length
double **dcp1 for meridian length-1
double **dcp2 for merician length-2
double area area
double mass mass
double spin spin
double circe equator length
double circp1 meridian length-1
double circp2 meridian length-2
  • Variables for IMLUCGS poisson solver (see "Basics of numerical computation(note in Japanese edition)" p.90 for names of vectors)
type name description
double **vtmp temporary vector in Poisson solver
double **vp p-vector in Poisson solver
double **vr r-vector in Poisson solver
double **vr0 r0-vector in Poisson solver
double **ve e-vector in Poisson solver
double **vh h-vector in Poisson solver
double **vcon temporary used in precondition
double **cb vector for matrix non-zero components
double **cc vector for matrix non-zero components
double **pcd vector for matrix non-zero components
double **cd vector for the matrix D in IMLU decomposition
double **ce vector for matrix non-zero components
double **cf vector for matrix non-zero components

Constructor and Destructor

Ahf2d(int ntheta, int& nphi, double& va, double& fa, double& hc)

~Ahf2d()

Functions

GET and SET functions

type name
bool get_error()
void set_error(bool e)
void set_hini(double h)
void set_hflag(Fmv0 *fmv)

Functions for finding Apparent Horizon

type name description
void multiple(double **x,double **ax) Matrix multiplier
void poisson(double **vf,double **src,double errmax) Poisson solver
void precondition(double **vs) Preconditioning
void boundaryset(double **vs) reflection boundary condition
void boundary_half(double **vs) reflection boundary condition (half)
void boundary_periodicphi_nosympoletheta(double **vs) periodic boundary condition for phi
void boundary0(double **vs) substituting 0 for boundary
void find_ah(Fmv0 *fmv,int loopmax,double err_p,double err_eps,ofstream& fout,short int& hsign) Finding Apparent Horizon
void print_ah(Fmv0 *fmv,ofstream& fout,double time) Printing information of Apparent Horizon
double hrad(int tc,int pc,double th,double ph,int order)
double ipol( double& rr,double *xx,double *yy,int order ) Interpolation