9.2
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-2026 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 "base/cs_defs.h"
35
37
38/*============================================================================
39 * Type definitions
40 *============================================================================*/
41
42typedef enum {
43
51
53
54typedef enum {
55
71
73
74/*=============================================================================
75 * Public function prototypes
76 *============================================================================*/
77
78/*----------------------------------------------------------------------------
79 * Define thermal table.
80 *----------------------------------------------------------------------------*/
81
82void
83cs_thermal_table_set(const char *material,
84 const char *method,
85 const char *reference,
87 cs_temperature_scale_t temp_scale);
88
89/*----------------------------------------------------------------------------
90 * Finalize thermal table
91 *----------------------------------------------------------------------------*/
92
93void
95
96/*----------------------------------------------------------------------------
97 * Get current thermal table plane
98 *----------------------------------------------------------------------------*/
99
102
103/*----------------------------------------------------------------------------*/
111/*----------------------------------------------------------------------------*/
112
113const char *
115
116/*----------------------------------------------------------------------------*/
141/*----------------------------------------------------------------------------*/
142
143void
145
146/*----------------------------------------------------------------------------
147 * Compute a physical property.
148 *
149 * For values var1 and var2, we can use a stride so that accesses for a given
150 * element with id i will be of the form: var[i*stride]; this allows regular
151 * access with stride 1, and access to constant variables stored as a
152 * single-valued array with a stride of 0.
153 *
154 * parameters:
155 * property <-- property queried
156 * n_vals <-- number of values
157 * var1_stride <-- stride between successive values of var1
158 * var2_stride <-- stride between successive values of var2
159 * var1 <-- values on first plane axis
160 * var2 <-- values on second plane axis
161 * val --> resulting property values
162 *----------------------------------------------------------------------------*/
163
164void
166 cs_lnum_t n_vals,
167 cs_lnum_t var1_stride,
168 cs_lnum_t var2_stride,
169 const cs_real_t var1[],
170 const cs_real_t var2[],
171 cs_real_t val[]);
172
173/*----------------------------------------------------------------------------*/
181/*----------------------------------------------------------------------------*/
182
184cs_physical_property_get_ref_value(const char *name);
185
186/*----------------------------------------------------------------------------*/
193/*----------------------------------------------------------------------------*/
194
195void
197 const cs_real_t val);
198
199/*----------------------------------------------------------------------------*/
207/*----------------------------------------------------------------------------*/
208
209void
211 const char *zname,
212 cs_real_t retval[]);
213
214/*----------------------------------------------------------------------------*/
222/*----------------------------------------------------------------------------*/
223
224void
225cs_physical_property_create(const char *name,
226 const int dim,
227 const cs_real_t refval);
228
229/*----------------------------------------------------------------------------*/
238/*----------------------------------------------------------------------------*/
239
240void
242 const char *zname,
243 const int dim,
244 const cs_real_t val);
245
246/*----------------------------------------------------------------------------*/
255/*----------------------------------------------------------------------------*/
256
257void
259 const char *zname,
260 const int dim,
261 cs_real_t vals[]);
262
263/*----------------------------------------------------------------------------*/
275/*----------------------------------------------------------------------------*/
276
277void
279 int type_flag,
280 int location_id,
281 int dim,
282 bool has_previous);
283
284/*----------------------------------------------------------------------------*/
292/*----------------------------------------------------------------------------*/
293
294int
296
297/*----------------------------------------------------------------------------*/
305/*----------------------------------------------------------------------------*/
306
307void
309 const char *zname,
310 const cs_real_t vals[]);
311
312/*----------------------------------------------------------------------------*/
313
314#endif /* CS_PHYSICAL_PROPERTIES_H */
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
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.cpp:673
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.cpp:807
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.cpp:895
void cs_physical_properties_set_coolprop_backend(const char *backend)
Set backend for CoolProp.
Definition: cs_physical_properties.cpp:498
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.cpp:545
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.cpp:768
cs_real_t cs_physical_property_get_ref_value(const char *name)
Get reference value of a physical property.
Definition: cs_physical_properties.cpp:650
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.cpp:844
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.cpp:696
void cs_physical_property_create(const char *name, const int dim, const cs_real_t refval)
Create a physical property.
Definition: cs_physical_properties.cpp:749
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.cpp:298
cs_phys_prop_thermo_plane_type_t cs_thermal_table_get_thermo_plane(void)
Get current thermal table plane.
Definition: cs_physical_properties.cpp:440
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_DRHO_DH_P
Definition: cs_physical_properties.h:70
@ CS_PHYS_PROP_SPEED_OF_SOUND
Definition: cs_physical_properties.h:68
@ CS_PHYS_PROP_DRHO_DP_H
Definition: cs_physical_properties.h:69
@ 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.cpp:872
const char * cs_physical_properties_get_coolprop_backend(void)
Get backend set for CoolProp.
Definition: cs_physical_properties.cpp:461
void cs_thermal_table_finalize(void)
finalize thermal table.
Definition: cs_physical_properties.cpp:393
cs_temperature_scale_t
Definition: cs_thermal_model.h:61