7.1
general documentation
cs_physical_properties.h
Go to the documentation of this file.
1 #ifndef __CS_PHYSICAL_PROPERTIES_H__
2 #define __CS_PHYSICAL_PROPERTIES_H__
3 
4 /*============================================================================
5  * Physical properties computation and management.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2021 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 typedef enum {
41 
49 
51 
52 typedef enum {
53 
67 
69 
70 /*=============================================================================
71  * Public function prototypes
72  *============================================================================*/
73 
74 /*----------------------------------------------------------------------------
75  * Define thermal table.
76  *----------------------------------------------------------------------------*/
77 
78 void
79 cs_thermal_table_set(const char *material,
80  const char *method,
81  const char *reference,
83  int temp_scale);
84 
85 /*----------------------------------------------------------------------------
86  * Finalize thermal table
87  *----------------------------------------------------------------------------*/
88 
89 void
91 
92 /*----------------------------------------------------------------------------
93  * Compute a physical property.
94  *
95  * For values var1 and var2, we can use a stride so that accesses for a given
96  * element with id i will be of the form: var[i*stride]; this allows regular
97  * access with stride 1, and access to constant variables stored as a
98  * single-valued array with a stride of 0.
99  *
100  * parameters:
101  * property <-- property queried
102  * n_vals <-- number of values
103  * var1_stride <-- stride between successive values of var1
104  * var2_stride <-- stride between successive values of var2
105  * var1 <-- values on first plane axis
106  * var2 <-- values on second plane axis
107  * val --> resulting property values
108  *----------------------------------------------------------------------------*/
109 
110 void
112  cs_lnum_t n_vals,
113  cs_lnum_t var1_stride,
114  cs_lnum_t var2_stride,
115  const cs_real_t var1[],
116  const cs_real_t var2[],
117  cs_real_t val[]);
118 
119 /*----------------------------------------------------------------------------
120  * Compute properties with Freesteam in a defined thermal plane.
121  *
122  * parameters:
123  * thermo_plane <-- thermodynamic plane
124  * property <-- property queried
125  * n_vals <-- number of values
126  * var1 <-- values on first plane axis
127  * var2 <-- values on second plane axis
128  * val --> resulting property values
129  *
130  * returns:
131  * floating point value associated with the key id for this field
132  *----------------------------------------------------------------------------*/
133 
134 void
136  cs_phys_prop_type_t property,
137  const cs_lnum_t n_vals,
138  const cs_real_t var1[],
139  const cs_real_t var2[],
140  cs_real_t val[]);
141 
142 /*----------------------------------------------------------------------------*/
150 /*----------------------------------------------------------------------------*/
151 
152 cs_real_t
153 cs_physical_property_get_ref_value(const char *name);
154 
155 /*----------------------------------------------------------------------------*/
162 /*----------------------------------------------------------------------------*/
163 
164 void
165 cs_physical_property_set_ref_value(const char *name,
166  const cs_real_t val);
167 
168 /*----------------------------------------------------------------------------*/
176 /*----------------------------------------------------------------------------*/
177 
178 void
179 cs_physical_property_get_zone_values(const char *name,
180  const char *zname,
181  cs_real_t retval[]);
182 
183 /*----------------------------------------------------------------------------*/
191 /*----------------------------------------------------------------------------*/
192 
193 void
194 cs_physical_property_create(const char *name,
195  const int dim,
196  const cs_real_t refval);
197 
198 /*----------------------------------------------------------------------------*/
207 /*----------------------------------------------------------------------------*/
208 
209 void
211  const char *zname,
212  const int dim,
213  const cs_real_t val);
214 
215 /*----------------------------------------------------------------------------*/
224 /*----------------------------------------------------------------------------*/
225 
226 void
228  const char *zname,
229  const int dim,
230  cs_real_t vals[]);
231 
232 /*----------------------------------------------------------------------------*/
244 /*----------------------------------------------------------------------------*/
245 
246 void
248  int type_flag,
249  int location_id,
250  int dim,
251  bool has_previous);
252 
253 /*----------------------------------------------------------------------------*/
261 /*----------------------------------------------------------------------------*/
262 
263 int
264 cs_physical_property_field_id_by_name(const char *name);
265 
266 /*----------------------------------------------------------------------------*/
274 /*----------------------------------------------------------------------------*/
275 
276 void
278  const char *zname,
279  const cs_real_t vals[]);
280 
281 /*----------------------------------------------------------------------------*/
282 
284 
285 #endif /* __CS_PHYSICAL_PROPERTIES_H__ */
Definition: cs_physical_properties.h:57
Definition: cs_physical_properties.h:61
void cs_physical_property_create(const char *name, const int dim, const cs_real_t refval)
Create a physical property.
Definition: cs_physical_properties.c:967
cs_phys_prop_type_t
Definition: cs_physical_properties.h:52
void cs_thermal_table_set(const char *material, const char *method, const char *reference, cs_phys_prop_thermo_plane_type_t thermo_plane, int temp_scale)
Define thermal table.
Definition: cs_physical_properties.c:301
Definition: cs_physical_properties.h:45
#define BEGIN_C_DECLS
Definition: cs_defs.h:510
void cs_physical_property_get_zone_values(const char *name, const char *zname, cs_real_t retval[])
Get property reference values for a given zone.
Definition: cs_physical_properties.c:914
void cs_phys_prop_compute(cs_phys_prop_type_t property, cs_lnum_t n_vals, cs_lnum_t var1_stride, cs_lnum_t var2_stride, const cs_real_t var1[], const cs_real_t var2[], cs_real_t val[])
Compute a physical property.
Definition: cs_physical_properties.c:435
Definition: cs_physical_properties.h:59
void cs_physical_property_define_from_value(const char *name, const char *zname, const int dim, const cs_real_t val)
Add a property definition on a given zone using a single value.
Definition: cs_physical_properties.c:986
double cs_real_t
Floating-point value.
Definition: cs_defs.h:322
Definition: cs_physical_properties.h:63
void cs_physical_property_set_ref_value(const char *name, const cs_real_t val)
Set reference value for a physical property.
Definition: cs_physical_properties.c:891
Definition: cs_physical_properties.h:65
Definition: cs_physical_properties.h:60
cs_phys_prop_thermo_plane_type_t
Definition: cs_physical_properties.h:40
Definition: cs_physical_properties.h:44
Definition: cs_physical_properties.h:56
Definition: cs_physical_properties.h:64
void cs_phys_prop_freesteam(cs_phys_prop_thermo_plane_type_t thermo_plane, cs_phys_prop_type_t property, const cs_lnum_t n_vals, const cs_real_t var1[], const cs_real_t var2[], cs_real_t val[])
Compute properties with Freesteam in a defined thermal plane.
Definition: cs_physical_properties.c:542
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:316
#define END_C_DECLS
Definition: cs_defs.h:511
Definition: cs_physical_properties.h:62
void cs_physical_property_update_zone_values(const char *name, const char *zname, const cs_real_t vals[])
Update reference values for a property on a given zone.
Definition: cs_physical_properties.c:1113
cs_real_t cs_physical_property_get_ref_value(const char *name)
Get reference value of a physical property.
Definition: cs_physical_properties.c:867
Definition: cs_physical_properties.h:46
int cs_physical_property_field_id_by_name(const char *name)
Return id of field associated to property.
Definition: cs_physical_properties.c:1090
void cs_physical_property_define_from_field(const char *name, int type_flag, int location_id, int dim, bool has_previous)
Add a property definition based on a cs_field_t.
Definition: cs_physical_properties.c:1062
Definition: cs_physical_properties.h:43
Definition: cs_physical_properties.h:48
void cs_physical_property_define_from_values(const char *name, const char *zname, const int dim, cs_real_t vals[])
Add a property multi-diemnsional definition on a given zone.
Definition: cs_physical_properties.c:1025
Definition: cs_physical_properties.h:42
Definition: cs_physical_properties.h:47
void cs_thermal_table_finalize(void)
finalize thermal table.
Definition: cs_physical_properties.c:391
Definition: cs_physical_properties.h:55
Definition: cs_physical_properties.h:66
Definition: cs_physical_properties.h:54
Definition: cs_physical_properties.h:58