6.3
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-2020 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 /*----------------------------------------------------------------------------*/
37 
39 
40 /*=============================================================================
41  * Local Macro definitions
42  *============================================================================*/
43 
44 /*============================================================================
45  * Type definition
46  *============================================================================*/
47 
48 /* Radiative transfer model type */
49 
50 typedef enum {
51 
52  CS_RAD_TRANSFER_NONE = 0, /* Set a value to avoid compilation warnings */
55 
57 
58 /* Quadrature types */
59 
60 typedef enum {
61 
70 
72 
73 /* Radiative transfer model type for atmospheric module */
74 
75 enum {
80 };
81 
82 
83 /*============================================================================
84  * Global variables
85  *============================================================================*/
86 
88 extern const char *cs_rad_transfer_model_name[];
89 
91 extern const char *cs_rad_transfer_quadrature_name[];
92 
93 typedef struct {
94 
97  int nrphas;
98  int iimpar;
99  int verbosity;
100  int imodak;
101  int imoadf;
102  int iwrp1t;
103  int imfsck;
104  double xnp1mx;
105  int idiver;
107  int ndirec;
108  int ndirs;
111  int restart;
112  int nfreqr;
113  int nwsgg;
115  int nzfrad;
116  int itpimp;
117  int ipgrno;
118  int iprefl;
119  int ifgrno;
120  int ifrefl;
121  int itpt1d;
122  int ifinfe;
123 
140  bool dispersion;
153 
155 
156 /*=============================================================================
157  * Public function prototypes
158  *============================================================================*/
159 
160 /*----------------------------------------------------------------------------*/
164 /*----------------------------------------------------------------------------*/
165 
166 void
168 
169 /*----------------------------------------------------------------------------*/
170 
172 
173 #endif /* __CS_RAD_TRANSFER_H__ */
cs_rad_transfer_params_t::angsol
cs_real_t * angsol
Definition: cs_rad_transfer.h:110
cs_rad_transfer_params_t::ipgrno
int ipgrno
Definition: cs_rad_transfer.h:117
cs_rad_transfer_params_t::itpimp
int itpimp
Definition: cs_rad_transfer.h:116
cs_defs.h
cs_rad_transfer_params_t::ndirec
int ndirec
Definition: cs_rad_transfer.h:107
cs_rad_transfer_params_t::dispersion_coeff
cs_real_t dispersion_coeff
Definition: cs_rad_transfer.h:141
cs_rad_transfer_params_t::nwsgg
int nwsgg
Definition: cs_rad_transfer.h:113
cs_rad_transfer_params_t::verbosity
int verbosity
Definition: cs_rad_transfer.h:99
cs_rad_transfer_params_t::ifgrno
int ifgrno
Definition: cs_rad_transfer.h:119
cs_rad_transfer_params_t::imodak
int imodak
Definition: cs_rad_transfer.h:100
cs_rad_transfer_params_t::atmo_dr_id
int atmo_dr_id
Definition: cs_rad_transfer.h:128
cs_rad_transfer_model_t
cs_rad_transfer_model_t
Definition: cs_rad_transfer.h:50
cs_real_3_t
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:317
cs_rad_transfer_model_name
const char * cs_rad_transfer_model_name[]
cs_glob_rad_transfer_params
cs_rad_transfer_params_t * cs_glob_rad_transfer_params
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:493
cs_rad_transfer_params_t::i_quadrature
int i_quadrature
Definition: cs_rad_transfer.h:106
cs_rad_transfer_params_t::vect_s
cs_real_3_t * vect_s
Definition: cs_rad_transfer.h:109
CS_RAD_ATMO_3D_DIRECT_SOLAR
@ CS_RAD_ATMO_3D_DIRECT_SOLAR
Definition: cs_rad_transfer.h:78
cs_real_t
double cs_real_t
Floating-point value.
Definition: cs_defs.h:304
CS_RAD_QUADRATURE_T4
@ CS_RAD_QUADRATURE_T4
Definition: cs_rad_transfer.h:66
cs_rad_transfer_params_t
Structure containing the radiation module parameters.
Definition: cs_rad_transfer.h:93
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:492
cs_rad_transfer_params_t::ifinfe
int ifinfe
Definition: cs_rad_transfer.h:122
CS_RAD_TRANSFER_NONE
@ CS_RAD_TRANSFER_NONE
Definition: cs_rad_transfer.h:52
cs_rad_transfer_params_t::atmo_ir_id
int atmo_ir_id
Definition: cs_rad_transfer.h:136
cs_rad_transfer_params_t::type
cs_rad_transfer_model_t type
Definition: cs_rad_transfer.h:95
cs_rad_transfer_params_t::ndirs
int ndirs
Definition: cs_rad_transfer.h:108
cs_rad_transfer_params_t::imoadf
int imoadf
Definition: cs_rad_transfer.h:101
CS_RAD_QUADRATURE_LC11
@ CS_RAD_QUADRATURE_LC11
Definition: cs_rad_transfer.h:68
CS_RAD_QUADRATURE_S6
@ CS_RAD_QUADRATURE_S6
Definition: cs_rad_transfer.h:63
CS_RAD_TRANSFER_DOM
@ CS_RAD_TRANSFER_DOM
Definition: cs_rad_transfer.h:53
cs_rad_transfer_params_t::nzfrad
int nzfrad
Definition: cs_rad_transfer.h:115
cs_rad_transfer_params_t::nrphas
int nrphas
Definition: cs_rad_transfer.h:97
cs_rad_quadrature_type_t
cs_rad_quadrature_type_t
Definition: cs_rad_transfer.h:60
CS_RAD_QUADRATURE_S8
@ CS_RAD_QUADRATURE_S8
Definition: cs_rad_transfer.h:64
cs_rad_transfer_params_t::ifrefl
int ifrefl
Definition: cs_rad_transfer.h:120
cs_rad_transfer_params_t::atmo_model
int atmo_model
Definition: cs_rad_transfer.h:124
cs_rad_transfer_params_t::imfsck
int imfsck
Definition: cs_rad_transfer.h:103
cs_rad_transfer_params_t::wq
cs_real_t * wq
Definition: cs_rad_transfer.h:114
cs_rad_transfer_params_t::iimpar
int iimpar
Definition: cs_rad_transfer.h:98
cs_rad_transfer_quadrature_name
const char * cs_rad_transfer_quadrature_name[]
CS_RAD_ATMO_3D_INFRARED
@ CS_RAD_ATMO_3D_INFRARED
Definition: cs_rad_transfer.h:77
cs_rad_transfer_params_t::restart
int restart
Definition: cs_rad_transfer.h:111
cs_rad_transfer_params_t::dispersion
bool dispersion
Definition: cs_rad_transfer.h:140
CS_RAD_ATMO_3D_NONE
@ CS_RAD_ATMO_3D_NONE
Definition: cs_rad_transfer.h:76
cs_rad_transfer_params_t::itpt1d
int itpt1d
Definition: cs_rad_transfer.h:121
CS_RAD_QUADRATURE_S4
@ CS_RAD_QUADRATURE_S4
Definition: cs_rad_transfer.h:62
cs_rad_transfer_params_t::atmo_df_id
int atmo_df_id
Definition: cs_rad_transfer.h:132
CS_RAD_QUADRATURE_DCT020_2468
@ CS_RAD_QUADRATURE_DCT020_2468
Definition: cs_rad_transfer.h:69
CS_RAD_ATMO_3D_DIFFUSE_SOLAR
@ CS_RAD_ATMO_3D_DIFFUSE_SOLAR
Definition: cs_rad_transfer.h:79
cs_rad_transfer_params_t::iprefl
int iprefl
Definition: cs_rad_transfer.h:118
cs_rad_transfer_params_t::nfreqr
int nfreqr
Definition: cs_rad_transfer.h:112
CS_RAD_QUADRATURE_TN
@ CS_RAD_QUADRATURE_TN
Definition: cs_rad_transfer.h:67
cs_rad_transfer_finalize
void cs_rad_transfer_finalize(void)
Finalize radiative transfer module.
Definition: cs_rad_transfer.c:305
CS_RAD_QUADRATURE_T2
@ CS_RAD_QUADRATURE_T2
Definition: cs_rad_transfer.h:65
cs_rad_transfer_params_t::xnp1mx
double xnp1mx
Definition: cs_rad_transfer.h:104
CS_RAD_TRANSFER_P1
@ CS_RAD_TRANSFER_P1
Definition: cs_rad_transfer.h:54
cs_rad_transfer_params_t::idiver
int idiver
Definition: cs_rad_transfer.h:105
cs_rad_transfer_params_t::iwrp1t
int iwrp1t
Definition: cs_rad_transfer.h:102