8.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-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_thermal_model.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 typedef enum {
43 
51 
53 
54 typedef enum {
55 
69 
71 
72 /*=============================================================================
73  * Public function prototypes
74  *============================================================================*/
75 
76 /*----------------------------------------------------------------------------
77  * Define thermal table.
78  *----------------------------------------------------------------------------*/
79 
80 void
81 cs_thermal_table_set(const char *material,
82  const char *method,
83  const char *reference,
85  cs_temperature_scale_t temp_scale);
86 
87 /*----------------------------------------------------------------------------
88  * Finalize thermal table
89  *----------------------------------------------------------------------------*/
90 
91 void
93 
94 /*----------------------------------------------------------------------------*/
102 /*----------------------------------------------------------------------------*/
103 
104 const char *
106 
107 /*----------------------------------------------------------------------------*/
132 /*----------------------------------------------------------------------------*/
133 
134 void
136 
137 /*----------------------------------------------------------------------------
138  * Compute a physical property.
139  *
140  * For values var1 and var2, we can use a stride so that accesses for a given
141  * element with id i will be of the form: var[i*stride]; this allows regular
142  * access with stride 1, and access to constant variables stored as a
143  * single-valued array with a stride of 0.
144  *
145  * parameters:
146  * property <-- property queried
147  * n_vals <-- number of values
148  * var1_stride <-- stride between successive values of var1
149  * var2_stride <-- stride between successive values of var2
150  * var1 <-- values on first plane axis
151  * var2 <-- values on second plane axis
152  * val --> resulting property values
153  *----------------------------------------------------------------------------*/
154 
155 void
157  cs_lnum_t n_vals,
158  cs_lnum_t var1_stride,
159  cs_lnum_t var2_stride,
160  const cs_real_t var1[],
161  const cs_real_t var2[],
162  cs_real_t val[]);
163 
164 /*----------------------------------------------------------------------------*/
172 /*----------------------------------------------------------------------------*/
173 
174 cs_real_t
175 cs_physical_property_get_ref_value(const char *name);
176 
177 /*----------------------------------------------------------------------------*/
184 /*----------------------------------------------------------------------------*/
185 
186 void
187 cs_physical_property_set_ref_value(const char *name,
188  const cs_real_t val);
189 
190 /*----------------------------------------------------------------------------*/
198 /*----------------------------------------------------------------------------*/
199 
200 void
201 cs_physical_property_get_zone_values(const char *name,
202  const char *zname,
203  cs_real_t retval[]);
204 
205 /*----------------------------------------------------------------------------*/
213 /*----------------------------------------------------------------------------*/
214 
215 void
216 cs_physical_property_create(const char *name,
217  const int dim,
218  const cs_real_t refval);
219 
220 /*----------------------------------------------------------------------------*/
229 /*----------------------------------------------------------------------------*/
230 
231 void
233  const char *zname,
234  const int dim,
235  const cs_real_t val);
236 
237 /*----------------------------------------------------------------------------*/
246 /*----------------------------------------------------------------------------*/
247 
248 void
250  const char *zname,
251  const int dim,
252  cs_real_t vals[]);
253 
254 /*----------------------------------------------------------------------------*/
266 /*----------------------------------------------------------------------------*/
267 
268 void
270  int type_flag,
271  int location_id,
272  int dim,
273  bool has_previous);
274 
275 /*----------------------------------------------------------------------------*/
283 /*----------------------------------------------------------------------------*/
284 
285 int
286 cs_physical_property_field_id_by_name(const char *name);
287 
288 /*----------------------------------------------------------------------------*/
296 /*----------------------------------------------------------------------------*/
297 
298 void
300  const char *zname,
301  const cs_real_t vals[]);
302 
303 /*----------------------------------------------------------------------------*/
304 
306 
307 #endif /* __CS_PHYSICAL_PROPERTIES_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
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:657
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:791
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:879
void cs_physical_properties_set_coolprop_backend(const char *backend)
Set backend for CoolProp.
Definition: cs_physical_properties.c:482
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:529
cs_phys_prop_thermo_plane_type_t
Definition: cs_physical_properties.h:42
@ CS_PHYS_PROP_PLANE_TX
Definition: cs_physical_properties.h:50
@ CS_PHYS_PROP_PLANE_PS
Definition: cs_physical_properties.h:46
@ CS_PHYS_PROP_PLANE_TS
Definition: cs_physical_properties.h:49
@ CS_PHYS_PROP_PLANE_PT
Definition: cs_physical_properties.h:45
@ CS_PHYS_PROP_PLANE_PV
Definition: cs_physical_properties.h:48
@ CS_PHYS_PROP_PLANE_PH
Definition: cs_physical_properties.h:44
@ CS_PHYS_PROP_PLANE_PU
Definition: cs_physical_properties.h:47
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:752
cs_real_t cs_physical_property_get_ref_value(const char *name)
Get reference value of a physical property.
Definition: cs_physical_properties.c:634
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:828
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:680
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:733
void cs_thermal_table_set(const char *material, const char *method, const char *reference, cs_phys_prop_thermo_plane_type_t thermo_plane, cs_temperature_scale_t temp_scale)
Define thermal table.
Definition: cs_physical_properties.c:300
cs_phys_prop_type_t
Definition: cs_physical_properties.h:54
@ CS_PHYS_PROP_THERMAL_CONDUCTIVITY
Definition: cs_physical_properties.h:66
@ CS_PHYS_PROP_SPECIFIC_VOLUME
Definition: cs_physical_properties.h:62
@ CS_PHYS_PROP_TEMPERATURE
Definition: cs_physical_properties.h:57
@ CS_PHYS_PROP_PRESSURE
Definition: cs_physical_properties.h:56
@ CS_PHYS_PROP_ISOCHORIC_HEAT_CAPACITY
Definition: cs_physical_properties.h:61
@ CS_PHYS_PROP_INTERNAL_ENERGY
Definition: cs_physical_properties.h:64
@ CS_PHYS_PROP_QUALITY
Definition: cs_physical_properties.h:65
@ CS_PHYS_PROP_DENSITY
Definition: cs_physical_properties.h:63
@ CS_PHYS_PROP_ENTHALPY
Definition: cs_physical_properties.h:58
@ CS_PHYS_PROP_SPEED_OF_SOUND
Definition: cs_physical_properties.h:68
@ CS_PHYS_PROP_ISOBARIC_HEAT_CAPACITY
Definition: cs_physical_properties.h:60
@ CS_PHYS_PROP_ENTROPY
Definition: cs_physical_properties.h:59
@ CS_PHYS_PROP_DYNAMIC_VISCOSITY
Definition: cs_physical_properties.h:67
int cs_physical_property_field_id_by_name(const char *name)
Return id of field associated to property.
Definition: cs_physical_properties.c:856
const char * cs_physical_properties_get_coolprop_backend(void)
Get backend set for CoolProp.
Definition: cs_physical_properties.c:445
void cs_thermal_table_finalize(void)
finalize thermal table.
Definition: cs_physical_properties.c:394
cs_temperature_scale_t
Definition: cs_thermal_model.h:64