#define TRUE 1 | . |
#define FALSE 0 | . |
#define PI 3.141592653589793 | . |
#define SQRT3 1.732050808 | . |
#define RAD1 0.01745329252 | . |
#define _Temperature_Accuracy 0.01 | accuracy in the search for a new temperature used in _MATH_LIB_Ridder_Root |
#define _DUST_COMPONENT_NAME_SIZE_ 25 | length of a name of a dust component |
#define _DUST_DENSITY_TYPE_NAME_SIZE_ 50 | length of a name of a dust density type |
#define _SUBLIMATION_RADIUS_ACCURACY_ 0.05 | accuracy of the initial sublimation distances used in _VESNA_Find_Initial_Eta_Denominator |
#define _SUBLIMATION_TOLERANCE_ 0.001 | accuracy of the sublimation temperature |
#define _INITIAL_GRID_ARRAY_theta_min 0.0 | . |
#define _INITIAL_GRID_ARRAY_theta_max (PI/2.0) | min and max angle used in the initial grid array |
#define _MIN_VERTEX_DISTANCE_ 0.2 | minimal distance between two vertices in the units of _PAUK_size_limit. This is used in _PAUK_clean_the_vertex_list |
struct _Debugger_Flags { | |
int SCREEN_MESSAGE; | -d : debug : run-time messages on the screen about the program status |
int STOP; | -s n: stop : stop the running code at a position specified by the number "n" |
int CONTINUE; | -c n: continue : start the program at the point where it has been stopped by "-s n" flag |
}; |
struct _Input_Data_Flags { | |
int LAMBDA_TYPE; | flag in the global input file which gives us information how the lambda grid is specified |
int SOURCE_TYPE; | flag in the global input which gives us information how the source flux is specified |
int *DUST_TYPE; | flag in the global input file which gives us information how the dust chemical and physical properties are specified. It will be an array from 0 to Max_Dust_Type-1. This will be used for calculation of the dust cross sections. |
int *DUST_DENSITY_TYPE; | flag in the global input file which gives us information how the dust densities are specified |
char **DUST_DENSITY_TYPE_NAME; | name of the models |
}; |
struct _Debugger_Flags DEBUG; | . |
struct _Input_Data_Flags INPUT; | . |
. | |
double *Lambda_Grid; | vector with the wavelenghts at the grid points |
int lambda_Max; | total number of grid points: index of the last wavelength in the grid |
. | |
double Tau_Total; | total optical depth toward the central energy source at azimuthal angle Theta_Total_Value and wavelength Lambda_Total_Value. This optical depth is used for scaling of all other optical depths used in the program |
double Theta_Total_Value; | azimuthal angle which defines the line of total optical depth Tau_Total |
int Theta_Total; | integer representation of Theta_Total_Value in the angular grid of the central energy source |
double Tau_Min_Grid; | optical depth below which we do not calculate the radiative transfer matrix, but rather use the approximate solution of optically thin dust (used in combination with Lambda_Min_Grid) |
double Lambda_Min_Grid; | the shortest wavelength for which we can use the approximate solution of optically thin dust and avoid calculation of radiative transfer matrix (used in combination with Tau_Min_Grid) |
double Grid_Tolerance_Tau_Factor; | if we have already built a grid for an optical depth tau, then we will use the same grid for the optical depths between "tau*Grid_Tolerance_Tau_Factor" and "tau" (this also means that Grid_Tolerance_Tau_Factor has to be smaller than 1) |
double Lambda_Total_Value; | wavelength at which the total optical depth Tau_Total is specified |
int Lambda_Total; | integer representation of Lambda_Total_Value in Lambda_Grid |
double *Source_Flux; | the central 'point' source flux |
double Rout; | Outer radius of the dust envelope |
double Source_Radius; | The scaled radius of the source |
double Source_Teff; | The effective source temperature |
. | |
char **Dust_Component_Name; | names of the dust components |
double *Dust_Sublim_Temp; | sublimation temperatures |
int Max_Dust_Type; | Total number of different dust type in the multigrain mixture |
double **Sigma_Dust_Abs; | dust absorption cross sections |
double **Sigma_Dust_Sca; | dust scattering cross sections |
struct density_parameters *Dust_Density_Param; | list of lists to all necessary parameters required for calculation of the dust density profiles for each of the dust components. |
double Eta_Denominator; | denominator in the Eta function |
. | |
double Psi; | 'Psi' variable (see equations for definition) |
struct _integral_ray_structure *integral_directions; | angular integral in the radiative transfer. This is the list of integral rays. It has to be created for each grid point separately. |
. | |
struct _vertex_structure *start_vertex_list; | that is a pointer to the grid vertices which form a grid |
struct _triangle_structure *start_triangle_list; | when the vertices are connected into a mesh, they create triangles. This triangles are the mesh cells. |
struct _grid_per_lambda_structure *grid_per_lambda; | list of grids, one grid at each wavelength |
struct _vertex_structure *start_old_vertex_list; | vertex list from a previous iteration |
struct _triangle_structure *start_old_triangle_list; | triangle list form a previous iteration |
struct _quadrangle_structure *start_quadrangle_list; | these quadrangles are corrections of the sublimation surfaces. They are created in _PAUK_sublimation_extension and destroyed in _PAUK_main |
int _INITIAL_GRID_ARRAY_r; | total number of the radial grid steps |
int _INITIAL_GRID_ARRAY_theta; | total number of the angular grid steps in the array of intital approximation used for generation of the initial grid. |
float ***initial_energy_array; | array of the initial energy density and ... |
float ***initial_temperature_array; | ...initial dust temperature. This array is used for generation of the initial triangular grid |
int START_LEVEL; | the grid cell with their level number smaller or equal then START_LEVEL will be created for sure |
double CELL_SIZE_LIMIT; | the smallest geometrical size od a grid cell (at r=1) |
double ETA_RATIO_LIMIT; | ratio between eta values at two grid points has to be bigger than ETA_RATIO_LIMIT or 1/ETA_RATIO_LIMIT |
int TOTAL_NUMBER_OF_VERTICES; | total number of the grid vrtices |
int TOTAL_NUMBER_OF_TRIANGLES; | total number of the grid triangles |
double epsilon_GRID_ERROR; | tolerance in the optical depth criterium for a new grid point |
. | |
double Output_Lambda_Image; | the wavelength at which we need an image (comes with the flag -L ) |
double Output_Theta_Image; | the inclination angle at which we need an image (comes with the flag -A) |
. | |
int PLOT_IMAGE_SIZE_X; | size of the plotted image (the GIF image will be lager. This is just the part with the data) |
int PLOT_IMAGE_SIZE_Y; | size of the plotted image (the GIF image will be lager. This is just the part with the data) |
. | |
int my_MPI_rank; | rank of my process |
int total_MPI_process; | total number of processes |
MPI_Comm MPI_communicator; | . |