My Project
programmer's documentation
cs_equation_iterative_solve.h
Go to the documentation of this file.
1 #ifndef __CS_EQUATION_ITERATIVE_SOLVE_H__
2 #define __CS_EQUATION_ITERATIVE_SOLVE_H__
3 
4 /*============================================================================
5  * Scalar convection diffusion equation solver.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2019 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 #include "cs_defs.h"
30 
31 /*----------------------------------------------------------------------------
32  * Local headers
33  *----------------------------------------------------------------------------*/
34 
35 #include "cs_parameters.h"
36 
38 
39 /*----------------------------------------------------------------------------*/
40 
41 /*=============================================================================
42  * Public function prototypes
43  *============================================================================*/
44 
45 /*----------------------------------------------------------------------------*/
52 /*----------------------------------------------------------------------------*/
53 
54 /*----------------------------------------------------------------------------*/
146 /*----------------------------------------------------------------------------*/
147 
148 void
150  int iterns,
151  int f_id,
152  const char *name,
153  int iescap,
154  int imucpp,
155  cs_real_t normp,
156  cs_var_cal_opt_t *var_cal_opt,
157  const cs_real_t pvara[],
158  const cs_real_t pvark[],
159  const cs_real_t coefap[],
160  const cs_real_t coefbp[],
161  const cs_real_t cofafp[],
162  const cs_real_t cofbfp[],
163  const cs_real_t i_massflux[],
164  const cs_real_t b_massflux[],
165  const cs_real_t i_viscm[],
166  const cs_real_t b_viscm[],
167  const cs_real_t i_visc[],
168  const cs_real_t b_visc[],
170  const cs_real_2_t weighf[],
171  const cs_real_t weighb[],
172  int icvflb,
173  const int icvfli[],
174  const cs_real_t rovsdt[],
175  cs_real_t smbrp[],
176  cs_real_t pvar[],
177  cs_real_t dpvar[],
178  const cs_real_t xcpp[],
179  cs_real_t eswork[]);
180 
181 /*----------------------------------------------------------------------------*/
282 /*----------------------------------------------------------------------------*/
283 
284 void
286  int iterns,
287  int f_id,
288  const char *name,
289  int ivisep,
290  int iescap,
291  cs_var_cal_opt_t *var_cal_opt,
292  const cs_real_3_t pvara[],
293  const cs_real_3_t pvark[],
294  const cs_real_3_t coefav[],
295  const cs_real_33_t coefbv[],
296  const cs_real_3_t cofafv[],
297  const cs_real_33_t cofbfv[],
298  const cs_real_t i_massflux[],
299  const cs_real_t b_massflux[],
300  cs_real_t i_viscm[],
301  const cs_real_t b_viscm[],
302  const cs_real_t i_visc[],
303  const cs_real_t b_visc[],
304  const cs_real_t secvif[],
305  const cs_real_t secvib[],
307  const cs_real_2_t weighf[],
308  const cs_real_t weighb[],
309  int icvflb,
310  const int icvfli[],
311  const cs_real_33_t fimp[],
312  cs_real_3_t smbrp[],
313  cs_real_3_t pvar[],
314  cs_real_3_t eswork[]);
315 
316 /*----------------------------------------------------------------------------*/
405 /*----------------------------------------------------------------------------*/
406 
407 void
409  int f_id,
410  const char *name,
411  cs_var_cal_opt_t *var_cal_opt,
412  const cs_real_6_t pvara[],
413  const cs_real_6_t pvark[],
414  const cs_real_6_t coefats[],
415  const cs_real_66_t coefbts[],
416  const cs_real_6_t cofafts[],
417  const cs_real_66_t cofbfts[],
418  const cs_real_t i_massflux[],
419  const cs_real_t b_massflux[],
420  const cs_real_t i_viscm[],
421  const cs_real_t b_viscm[],
422  const cs_real_t i_visc[],
423  const cs_real_t b_visc[],
425  const cs_real_2_t weighf[],
426  const cs_real_t weighb[],
427  int icvflb,
428  const int icvfli[],
429  const cs_real_66_t fimp[],
430  cs_real_6_t smbrp[],
431  cs_real_6_t pvar[]);
432 
434 
435 #endif /* __CS_EQUATION_ITERATIVE_SOLVE_H__ */
f_id
void const int * f_id
Definition: cs_gui.h:292
cs_defs.h
cs_real_3_t
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:315
cs_real_2_t
cs_real_t cs_real_2_t[2]
vector of 2 floating-point values
Definition: cs_defs.h:314
i_massflux
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t cs_real_t i_massflux[]
Definition: cs_convection_diffusion.h:5386
cs_equation_iterative_solve_tensor
void cs_equation_iterative_solve_tensor(int idtvar, int f_id, const char *name, cs_var_cal_opt_t *var_cal_opt, const cs_real_6_t pvara[], const cs_real_6_t pvark[], const cs_real_6_t coefats[], const cs_real_66_t coefbts[], const cs_real_6_t cofafts[], const cs_real_66_t cofbfts[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_viscm[], const cs_real_t b_viscm[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t viscel[], const cs_real_2_t weighf[], const cs_real_t weighb[], int icvflb, const int icvfli[], const cs_real_66_t fimp[], cs_real_6_t smbrp[], cs_real_6_t pvar[])
This function solves an advection diffusion equation with source terms for one time step for the symm...
Definition: cs_equation_iterative_solve.c:2036
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
coefav
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t const cs_real_t const cs_real_3_t const cs_real_3_t coefav[]
Definition: cs_divergence.h:64
viscel
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_6_t viscel[]
Definition: cs_convection_diffusion.h:5418
b_visc
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t b_visc[]
Definition: cs_convection_diffusion.h:5386
cs_real_t
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
cofbfp
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cofbfp[]
Definition: cs_convection_diffusion.h:5386
i_visc
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t i_visc[]
Definition: cs_convection_diffusion.h:5386
coefbv
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t const cs_real_t const cs_real_3_t const cs_real_3_t const cs_real_33_t coefbv[]
Definition: cs_divergence.h:64
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
weighb
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_6_t const cs_real_2_t const cs_real_t weighb[]
Definition: cs_convection_diffusion.h:5418
cs_equation_iterative_solve_scalar
void cs_equation_iterative_solve_scalar(int idtvar, int iterns, int f_id, const char *name, int iescap, int imucpp, cs_real_t normp, cs_var_cal_opt_t *var_cal_opt, const cs_real_t pvara[], const cs_real_t pvark[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_viscm[], const cs_real_t b_viscm[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t viscel[], const cs_real_2_t weighf[], const cs_real_t weighb[], int icvflb, const int icvfli[], const cs_real_t rovsdt[], cs_real_t smbrp[], cs_real_t pvar[], cs_real_t dpvar[], const cs_real_t xcpp[], cs_real_t eswork[])
This function solves an advection diffusion equation with source terms for one time step for the vari...
Definition: cs_equation_iterative_solve.c:209
b_massflux
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t cs_real_t cs_real_t b_massflux[]
Definition: cs_convection_diffusion.h:5386
idtvar
void const char const char const cs_int_t const cs_int_t * idtvar
Definition: cs_time_plot.h:95
cs_equation_iterative_solve_vector
void cs_equation_iterative_solve_vector(int idtvar, int iterns, int f_id, const char *name, int ivisep, int iescap, cs_var_cal_opt_t *var_cal_opt, const cs_real_3_t pvara[], const cs_real_3_t pvark[], const cs_real_3_t coefav[], const cs_real_33_t coefbv[], const cs_real_3_t cofafv[], const cs_real_33_t cofbfv[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], cs_real_t i_viscm[], const cs_real_t b_viscm[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t secvif[], const cs_real_t secvib[], cs_real_6_t viscel[], const cs_real_2_t weighf[], const cs_real_t weighb[], int icvflb, const int icvfli[], const cs_real_33_t fimp[], cs_real_3_t smbrp[], cs_real_3_t pvar[], cs_real_3_t eswork[])
This function solves an advection diffusion equation with source terms for one time step for the vect...
Definition: cs_equation_iterative_solve.c:1193
pvar
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t pvar[]
Definition: cs_convection_diffusion.h:5386
coefap
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t coefap[]
Definition: cs_convection_diffusion.h:5386
rovsdt
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t rovsdt[]
Definition: cs_matrix_building.h:65
cs_parameters.h
xcpp
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t xcpp[]
Definition: cs_matrix_building.h:65
cs_real_6_t
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:317
imucpp
void const int const int const int const cs_real_t const int * imucpp
Definition: cs_matrix_building.h:65
coefbp
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t coefbp[]
Definition: cs_convection_diffusion.h:5386
weighf
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_6_t const cs_real_2_t weighf[]
Definition: cs_convection_diffusion.h:5418
cs_real_66_t
cs_real_t cs_real_66_t[6][6]
6x6 matrix of floating-point values
Definition: cs_defs.h:322
cs_real_33_t
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:321
cofafp
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t *const cs_real_3_t cs_real_t const cs_real_t const cs_real_t const cs_real_t cofafp[]
Definition: cs_convection_diffusion.h:5386
cs_var_cal_opt_t
structure containing the variable calculation options.
Definition: cs_parameters.h:60
cfpoin::icvfli
integer, dimension(:), allocatable icvfli
boundary convection flux indicator of a Rusanov or an analytical flux (some boundary contributions of...
Definition: cfpoin.f90:52