8.0
general documentation
cs_rad_transfer.h
Go to the documentation of this file.
1 #ifndef __CS_RAD_TRANSFER_H__
2 #define __CS_RAD_TRANSFER_H__
3 
4 /*============================================================================
5  * Radiation solver operations.
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2023 EDF S.A.
12 
13  This program is free software; you can redistribute it and/or modify it under
14  the terms of the GNU General Public License as published by the Free Software
15  Foundation; either version 2 of the License, or (at your option) any later
16  version.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21  details.
22 
23  You should have received a copy of the GNU General Public License along with
24  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25  Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 */
27 
28 /*----------------------------------------------------------------------------*/
29 
30 /*----------------------------------------------------------------------------
31  * Local headers
32  *----------------------------------------------------------------------------*/
33 
34 #include "cs_defs.h"
35 
36 #include "cs_time_control.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 /*=============================================================================
43  * Local Macro definitions
44  *============================================================================*/
45 
46 /*============================================================================
47  * Type definition
48  *============================================================================*/
49 
50 /* Radiative transfer model type */
51 
52 typedef enum {
53 
54  CS_RAD_TRANSFER_NONE = 0, /* Set a value to avoid compilation warnings */
57 
59 
60 /* Quadrature types */
61 
62 typedef enum {
63 
72 
74 
75 /* Radiative transfer model boundary condition type.
76  We use a naming similar to that of cs_boundary.h here, to ease
77  later migration. */
78 
79 enum {
80 
83 
86 
90 
96 
100 
104 
105 };
106 
107 /* Radiative transfer model type for atmospheric module */
108 
109 enum {
110 
114  CS_RAD_ATMO_3D_INFRARED = 1 << 2
115 
116 };
117 
118 /*============================================================================
119  * Global variables
120  *============================================================================*/
121 
123 extern const char *cs_rad_transfer_model_name[];
124 
126 extern const char *cs_rad_transfer_quadrature_name[];
127 
128 typedef struct {
129 
132  int nrphas;
133  int iimpar;
135  int imodak;
136  int imoadf;
137  int iwrp1t;
138  int imfsck;
139  double xnp1mx;
140  int idiver;
142  int ndirec;
143  int ndirs;
146  int restart;
147  int nwsgg;
149  int nzfrad;
150  int itpimp;
151  int ipgrno;
152  int iprefl;
153  int ifgrno;
154  int ifrefl;
155  int itpt1d;
156  int ifinfe;
157 
174  bool dispersion;
185  cs_time_control_t time_control; /* Time control for radiation updates */
186 
187 
189 
191 
192 /*=============================================================================
193  * Public function prototypes
194  *============================================================================*/
195 
196 /*----------------------------------------------------------------------------*/
200 /*----------------------------------------------------------------------------*/
201 
202 void
204 
205 /*----------------------------------------------------------------------------*/
206 
208 
209 #endif /* __CS_RAD_TRANSFER_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:332
#define END_C_DECLS
Definition: cs_defs.h:510
void cs_rad_transfer_finalize(void)
Finalize radiative transfer module.
Definition: cs_rad_transfer.c:316
cs_rad_quadrature_type_t
Definition: cs_rad_transfer.h:62
@ CS_RAD_QUADRATURE_DCT020_2468
Definition: cs_rad_transfer.h:71
@ CS_RAD_QUADRATURE_T4
Definition: cs_rad_transfer.h:68
@ CS_RAD_QUADRATURE_S8
Definition: cs_rad_transfer.h:66
@ CS_RAD_QUADRATURE_LC11
Definition: cs_rad_transfer.h:70
@ CS_RAD_QUADRATURE_S4
Definition: cs_rad_transfer.h:64
@ CS_RAD_QUADRATURE_T2
Definition: cs_rad_transfer.h:67
@ CS_RAD_QUADRATURE_TN
Definition: cs_rad_transfer.h:69
@ CS_RAD_QUADRATURE_S6
Definition: cs_rad_transfer.h:65
cs_rad_transfer_params_t * cs_glob_rad_transfer_params
@ CS_BOUNDARY_RAD_WALL_GRAY_1D_T
Definition: cs_rad_transfer.h:85
@ CS_BOUNDARY_RAD_WALL_GRAY_EXTERIOR_T
Definition: cs_rad_transfer.h:89
@ CS_BOUNDARY_RAD_WALL_GRAY
Definition: cs_rad_transfer.h:82
@ CS_BOUNDARY_RAD_WALL_GRAY_COND_FLUX
Definition: cs_rad_transfer.h:99
@ CS_BOUNDARY_RAD_WALL_REFL_COND_FLUX
Definition: cs_rad_transfer.h:103
@ CS_BOUNDARY_RAD_WALL_REFL_EXTERIOR_T
Definition: cs_rad_transfer.h:95
cs_rad_transfer_model_t
Definition: cs_rad_transfer.h:52
@ CS_RAD_TRANSFER_P1
Definition: cs_rad_transfer.h:56
@ CS_RAD_TRANSFER_NONE
Definition: cs_rad_transfer.h:54
@ CS_RAD_TRANSFER_DOM
Definition: cs_rad_transfer.h:55
const char * cs_rad_transfer_quadrature_name[]
const char * cs_rad_transfer_model_name[]
@ CS_RAD_ATMO_3D_DIFFUSE_SOLAR
Definition: cs_rad_transfer.h:113
@ CS_RAD_ATMO_3D_INFRARED
Definition: cs_rad_transfer.h:114
@ CS_RAD_ATMO_3D_NONE
Definition: cs_rad_transfer.h:111
@ CS_RAD_ATMO_3D_DIRECT_SOLAR
Definition: cs_rad_transfer.h:112
Structure containing the radiation module parameters.
Definition: cs_rad_transfer.h:128
int restart
Definition: cs_rad_transfer.h:146
int imfsck
Definition: cs_rad_transfer.h:138
int i_quadrature
Definition: cs_rad_transfer.h:141
int idiver
Definition: cs_rad_transfer.h:140
int ndirs
Definition: cs_rad_transfer.h:143
int imodak
Definition: cs_rad_transfer.h:135
int iprefl
Definition: cs_rad_transfer.h:152
int nwsgg
Definition: cs_rad_transfer.h:147
int iimpar
Definition: cs_rad_transfer.h:133
cs_real_3_t * vect_s
Definition: cs_rad_transfer.h:144
cs_time_control_t time_control
Definition: cs_rad_transfer.h:185
int ifinfe
Definition: cs_rad_transfer.h:156
int nrphas
Definition: cs_rad_transfer.h:132
cs_real_t * angsol
Definition: cs_rad_transfer.h:145
int ifgrno
Definition: cs_rad_transfer.h:153
int atmo_model
Definition: cs_rad_transfer.h:158
int iwrp1t
Definition: cs_rad_transfer.h:137
double xnp1mx
Definition: cs_rad_transfer.h:139
int verbosity
Definition: cs_rad_transfer.h:134
cs_real_t * wq
Definition: cs_rad_transfer.h:148
int atmo_dr_id
Definition: cs_rad_transfer.h:162
int ifrefl
Definition: cs_rad_transfer.h:154
int itpimp
Definition: cs_rad_transfer.h:150
int ndirec
Definition: cs_rad_transfer.h:142
cs_real_t dispersion_coeff
Definition: cs_rad_transfer.h:175
bool dispersion
Definition: cs_rad_transfer.h:174
int itpt1d
Definition: cs_rad_transfer.h:155
int atmo_df_id
Definition: cs_rad_transfer.h:166
cs_rad_transfer_model_t type
Definition: cs_rad_transfer.h:130
int atmo_ir_id
Definition: cs_rad_transfer.h:170
int imoadf
Definition: cs_rad_transfer.h:136
int ipgrno
Definition: cs_rad_transfer.h:151
int nzfrad
Definition: cs_rad_transfer.h:149
Definition: cs_time_control.h:96