18 #if GEOMETRY == CYLINDRICAL 24 #elif GEOMETRY == POLAR 30 #elif GEOMETRY == SPHERICAL 42 #define RADIATION_FIXEDPOINT_RAD 1 43 #define RADIATION_NEWTON_GAS 2 44 #define RADIATION_NEWTON_RAD 3 45 #define RADIATION_FIXEDPOINT_GAS 4 47 #ifndef RADIATION_IMPL // Implicit method 48 #define RADIATION_IMPL RADIATION_FIXEDPOINT_RAD 51 #ifndef RADIATION_NEQS // Size of the system solved in the implicit step 52 #define RADIATION_NEQS 4 61 #ifndef RADIATION_MAXITER 62 #define RADIATION_MAXITER 200 63 #endif // Maximum number of iterations allowed for the radiation implicit step 65 #ifndef RADIATION_ERROR 66 #define RADIATION_ERROR 1e-7 // Error used for convergence of the implicit step 71 #ifndef RADIATION_MIN_ERAD 72 #define RADIATION_MIN_ERAD 1e-16 79 #ifndef RADIATION_IMEX_SSP2 80 #define RADIATION_IMEX_SSP2 NO 85 #ifndef RADIATION_DIFF_LIMITING 86 #define RADIATION_DIFF_LIMITING NO 90 #ifndef RADIATION_VAR_OPACITIES 91 #define RADIATION_VAR_OPACITIES NO 97 #ifndef RADIATION_FULL_CONVERGENCE 98 #define RADIATION_FULL_CONVERGENCE YES 106 typedef struct RAD_DATA{
149 void MaxRadSpeed (
double **,
double *,
double *,
int,
int);
150 double LimitRadWaveVelocity (
double **,
double **,
Grid *,
int);
152 void LimitRadFlux(
double *);
153 void Rad_Speed (
double **,
double **,
Grid *, uint16_t *,
154 double *,
double *,
int,
int);
156 double EddTensor (
double *,
int ,
int);
159 int RadIterToPrim (
double *,
Rad_data *);
160 void RadFlux (
const State *,
int,
int);
167 void RadNewtonMinusF(
Rad_data *,
double *,
double *);
168 void RadNewtonJacobian (
double *,
double *,
double **,
Rad_data *);
170 double RadErr (
double *,
double *,
Rad_data *);
171 void RadStep (
double **,
double **,
double **,
int,
int, uint16_t *,
double);
172 void RadStep3D (Data_Arr, Data_Arr, Data_Arr, uint16_t ***,
RBox *,
double);
178 #if RADIATION_VAR_OPACITIES == YES 179 void UserDefOpacities (
double *,
double *,
double *);
void Rad_LF_Solver(const Sweep *sweep, int beg, int end, double *cmax, Grid *grid)
Definition: rad_tvdlf.c:11
void RadSourceFunction(double *, double *)
Definition: rad_sourcef.c:3
double * Rini
Definition: radiation.h:118
void Rad_HLLC_Solver(const Sweep *sweep, int beg, int end, double *cmax, Grid *grid)
Definition: rad_hllc.c:30
uint16_t * flag
Definition: radiation.h:109
double * u
Definition: radiation.h:126
Definition: structs.h:124
double Blackbody(double)
Definition: rad_tools.c:15
double gamma2
Definition: radiation.h:129
double exv
Definition: radiation.h:131
double GetTemperature(double, double)
Definition: rad_tools.c:29
double gamma
Definition: radiation.h:128
void RadFPMatrices(Rad_data *, double *, double **)
Definition: rad_tools.c:44
void AddRadSource2(Data_Arr, Data_Arr, Data_Arr, RBox *, double, double)
Definition: rad_sourcef.c:110
double dt
Definition: radiation.h:107
Definition: structs.h:261
double exv_prev
Definition: radiation.h:136
int pos
Definition: radiation.h:108
Riemann_Solver * Rad_SetSolver(const char *)
Definition: rad_set_solver.c:14
int GaussianSolve(double **, double *, double *, int)
Definition: rad_tools.c:127
void AddRadSource1(Data_Arr, Data_Arr, RBox *, double)
Definition: rad_sourcef.c:72
Definition: radiation.h:106
double u2
Definition: radiation.h:127
double ** cv
Definition: radiation.h:113
Definition: structs.h:201
double ** pv
Definition: radiation.h:112
double * Rprev
Definition: radiation.h:122
double * Ttot
Definition: radiation.h:115
void Rad_HLL_Solver(const Sweep *sweep, int beg, int end, double *cmax, Grid *grid)
Definition: rad_hll.c:22