programmer's documentation
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
src
base
cs_field_operator.h
Go to the documentation of this file.
1
#ifndef __CS_FIELD_OPERATOR_H__
2
#define __CS_FIELD_OPERATOR_H__
3
4
/*============================================================================
5
* Field based algebraic operators.
6
*============================================================================*/
7
8
/*
9
This file is part of Code_Saturne, a general-purpose CFD tool.
10
11
Copyright (C) 1998-2013 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
#include "
cs_field.h
"
36
#include "
cs_gradient.h
"
37
38
/*----------------------------------------------------------------------------*/
39
40
BEGIN_C_DECLS
41
42
/*=============================================================================
43
* Macro definitions
44
*============================================================================*/
45
46
/*============================================================================
47
* Type definitions
48
*============================================================================*/
49
50
/*=============================================================================
51
* Public function prototypes
52
*============================================================================*/
53
54
/*----------------------------------------------------------------------------
55
* Compute cell gradient of scalar field or component of vector or
56
* tensor field.
57
*
58
* parameters:
59
* f <-- pointer to field
60
* use_previous_t <-- should we use values from the previous time step ?
61
* gradient_type <-- gradient type
62
* halo_type <-- halo type
63
* inc <-- if 0, solve on increment; 1 otherwise
64
* recompute_cocg <-- should COCG FV quantities be recomputed ?
65
* n_r_sweeps <-- if > 1, number of reconstruction sweeps
66
* verbosity <-- verbosity level
67
* clip_mode <-- clipping mode
68
* epsilon <-- precision for iterative gradient calculation
69
* extrap <-- boundary gradient extrapolation coefficient
70
* clip_coeff <-- clipping coefficient
71
* grad --> gradient
72
*----------------------------------------------------------------------------*/
73
74
void
cs_field_gradient_scalar
(
const
cs_field_t
*f,
75
bool
use_previous_t,
76
cs_gradient_type_t
gradient_type,
77
cs_halo_type_t
halo_type,
78
int
inc,
79
bool
recompute_cocg,
80
int
n_r_sweeps,
81
int
verbosity,
82
int
clip_mode,
83
double
epsilon,
84
double
extrap,
85
double
clip_coeff,
86
cs_real_3_t
*
restrict
grad);
87
88
/*----------------------------------------------------------------------------
89
* Compute cell gradient of scalar field or component of vector or
90
* tensor field.
91
*
92
* parameters:
93
* f <-- pointer to field
94
* use_previous_t <-- should we use values from the previous time step ?
95
* gradient_type <-- gradient type
96
* halo_type <-- halo type
97
* inc <-- if 0, solve on increment; 1 otherwise
98
* recompute_cocg <-- should COCG FV quantities be recomputed ?
99
* n_r_sweeps <-- if > 1, number of reconstruction sweeps
100
* hyd_p_flag <-- flag for hydrostatic pressure
101
* verbosity <-- verbosity level
102
* clip_mode <-- clipping mode
103
* epsilon <-- precision for iterative gradient calculation
104
* extrap <-- boundary gradient extrapolation coefficient
105
* clip_coeff <-- clipping coefficient
106
* f_ext <-- exterior force generating the hydrostatic pressure
107
* grad --> gradient
108
*----------------------------------------------------------------------------*/
109
110
void
cs_field_gradient_potential
(
const
cs_field_t
*f,
111
bool
use_previous_t,
112
cs_gradient_type_t
gradient_type,
113
cs_halo_type_t
halo_type,
114
int
inc,
115
bool
recompute_cocg,
116
int
n_r_sweeps,
117
int
hyd_p_flag,
118
int
verbosity,
119
int
clip_mode,
120
double
epsilon,
121
double
extrap,
122
double
clip_coeff,
123
cs_real_3_t
f_ext[],
124
cs_real_3_t
*
restrict
grad);
125
126
/*----------------------------------------------------------------------------
127
* Compute cell gradient of scalar field or component of vector or
128
* tensor field.
129
*
130
* parameters:
131
* f <-- pointer to field
132
* use_previous_t <-- should we use values from the previous time step ?
133
* gradient_type <-- gradient type
134
* halo_type <-- halo type
135
* inc <-- if 0, solve on increment; 1 otherwise
136
* recompute_cocg <-- should COCG FV quantities be recomputed ?
137
* n_r_sweeps <-- if > 1, number of reconstruction sweeps
138
* verbosity <-- verbosity level
139
* clip_mode <-- clipping mode
140
* epsilon <-- precision for iterative gradient calculation
141
* extrap <-- boundary gradient extrapolation coefficient
142
* clip_coeff <-- clipping coefficient
143
* grad --> gradient
144
*----------------------------------------------------------------------------*/
145
146
void
cs_field_gradient_vector
(
const
cs_field_t
*f,
147
bool
use_previous_t,
148
cs_gradient_type_t
gradient_type,
149
cs_halo_type_t
halo_type,
150
int
inc,
151
int
n_r_sweeps,
152
int
verbosity,
153
int
clip_mode,
154
double
epsilon,
155
double
clip_coeff,
156
cs_real_33_t
*
restrict
grad);
157
158
/*----------------------------------------------------------------------------*/
159
160
END_C_DECLS
161
162
#endif
/* __CS_FIELD_OPERATOR_H__ */
Generated on Thu Feb 27 2014 19:21:34 by
1.8.3.1