56#define CS_FIELD_INTENSIVE (1 << 0)
59#define CS_FIELD_EXTENSIVE (1 << 1)
64#define CS_FIELD_VARIABLE (1 << 2)
67#define CS_FIELD_PROPERTY (1 << 3)
70#define CS_FIELD_POSTPROCESS (1 << 4)
73#define CS_FIELD_ACCUMULATOR (1 << 5)
76#define CS_FIELD_USER (1 << 6)
79#define CS_FIELD_CDO (1 << 7)
193#if defined(__cplusplus)
199 set_key_int(
int key_id,
203 set_key_int(
const char *key,
207 get_key_int(
int key_id);
210 get_key_int(
const char *key);
213 set_key_int_bits(
int key_id,
217 set_key_int_bits(
const char *key,
221 clear_key_int_bits(
int key_id,
225 clear_key_int_bits(
const char *key,
229 set_key_double(
int key_id,
233 set_key_double(
const char *key,
237 get_key_double(
int key_id);
240 get_key_double(
const char *key);
243 set_key_str(
int key_id,
247 set_key_str(
const char *key,
251 get_key_str(
int key_id);
254 get_key_str(
const char *key);
259 const int time_id = 0
265 const int time_id = 0
271 const int time_id = 0
277 const int time_id = 0
401 const char *name_suffix,
638 const char *name_suffix);
659 const char *name_suffix);
684 const char *name_part_2,
685 const char *name_part_3);
789 double default_value,
811 const char *default_value,
837 const void *default_value,
1314#if defined(__cplusplus)
Definition: cs_array.h:1111
Definition: cs_mdspan.h:69
#define BEGIN_C_DECLS
Definition: cs_defs.h:554
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
#define END_C_DECLS
Definition: cs_defs.h:555
int cs_field_set_key_int(cs_field_t *f, int key_id, int value)
Assign a integer value for a given key to a field.
Definition: cs_field.cpp:3109
int cs_field_clear_key_int_bits(cs_field_t *f, int key_id, int mask)
Set integer bits matching a mask to 0 for a given key for a field.
Definition: cs_field.cpp:3259
void cs_field_bc_coeffs_init(cs_field_bc_coeffs_t *bc_coeffs)
Definition: cs_field.cpp:1365
void cs_field_init_bc_coeffs(cs_field_t *f)
Initialize boundary condition coefficients arrays.
Definition: cs_field.cpp:2016
int cs_field_define_key_int(const char *name, int default_value, int type_flag)
Define a key for an integer value by its name and return an associated id.
Definition: cs_field.cpp:2718
int cs_field_get_key_int(const cs_field_t *f, int key_id)
Return a integer value for a given key associated with a field.
Definition: cs_field.cpp:3157
int cs_field_key_flag(int key_id)
Get the type flag associated with a given key id.
Definition: cs_field.cpp:2955
const void * cs_field_get_key_struct_const_ptr(const cs_field_t *f, int key_id)
Return a read-only pointer to a simple structure for a given key to a field.
Definition: cs_field.cpp:3733
void cs_field_set_n_time_vals(cs_field_t *f, int n_time_vals)
Change the number of time values managed by a field.
Definition: cs_field.cpp:1668
cs_field_t * cs_field_by_name(const char *name)
Return a pointer to a field based on its name.
Definition: cs_field.cpp:2371
cs_field_t * cs_field_by_double_composite_name_try(const char *name_part_1, const char *name_part_2, const char *name_part_3)
Return pointer to a field based on a double composite name if present.
Definition: cs_field.cpp:2503
int cs_field_define_key_str(const char *name, const char *default_value, int type_flag)
Define a key for a string value by its name and return an associated id.
Definition: cs_field.cpp:2792
void cs_field_set_values(cs_field_t *f, cs_real_t c)
Set current field values to the given constant.
Definition: cs_field.cpp:2176
cs_field_t * cs_field_by_composite_name(const char *name_prefix, const char *name_suffix)
Return a pointer to a field based on a composite name.
Definition: cs_field.cpp:2421
void * cs_field_get_key_struct_ptr(cs_field_t *f, int key_id)
Return a pointer to a simple structure for a given key to a field.
Definition: cs_field.cpp:3654
void cs_field_destroy_all_keys(void)
Destroy all defined field keys and associated values.
Definition: cs_field.cpp:2923
cs_field_t * cs_field_create(const char *name, int type_flag, int location_id, int dim, bool has_previous)
Create a field descriptor.
Definition: cs_field.cpp:1506
int cs_field_n_fields(void)
Return the number of defined fields.
Definition: cs_field.cpp:1486
void cs_field_log_defs(void)
Print info relative to all field definitions to log file.
Definition: cs_field.cpp:3792
const char * cs_field_get_label(const cs_field_t *f)
Return a label associated with a field.
Definition: cs_field.cpp:4460
bool cs_field_is_key_locked(const cs_field_t *f, int key_id)
Query if a given key has been locked for a field.
Definition: cs_field.cpp:3032
void cs_field_allocate_values(cs_field_t *f)
Allocate arrays for field values.
Definition: cs_field.cpp:1742
void cs_field_bc_coeffs_shallow_copy(const cs_field_bc_coeffs_t *ref, cs_field_bc_coeffs_t *copy)
Shallow copy of boundary condition coefficients.
Definition: cs_field.cpp:1403
int cs_field_set_key_str(cs_field_t *f, int key_id, const char *str)
Assign a character string for a given key to a field.
Definition: cs_field.cpp:3407
int cs_field_set_key_struct(cs_field_t *f, int key_id, void *s)
Assign a simple structure for a given key to a field.
Definition: cs_field.cpp:3528
cs_field_error_type_t
Definition: cs_field.h:90
@ CS_FIELD_INVALID_KEY_NAME
Definition: cs_field.h:93
@ CS_FIELD_INVALID_FIELD
Definition: cs_field.h:97
@ CS_FIELD_INVALID_TYPE
Definition: cs_field.h:96
@ CS_FIELD_INVALID_CATEGORY
Definition: cs_field.h:95
@ CS_FIELD_LOCKED
Definition: cs_field.h:98
@ CS_FIELD_OK
Definition: cs_field.h:92
@ CS_FIELD_INVALID_KEY_ID
Definition: cs_field.h:94
void() cs_field_clear_key_struct_t(void *t)
Definition: cs_field.h:307
const char * cs_field_get_key_str(const cs_field_t *f, int key_id)
Return a string for a given key associated with a field.
Definition: cs_field.cpp:3459
bool cs_field_is_key_set(const cs_field_t *f, int key_id)
Query if a given key has been set for a field.
Definition: cs_field.cpp:3001
cs_field_t * cs_field_by_name_try(const char *name)
Return a pointer to a field based on its name if present.
Definition: cs_field.cpp:2397
cs_field_t * cs_field(const char *name)
Return a pointer to a field based on its name. This function requires that a field of the given name ...
Definition: cs_field.cpp:4513
int cs_field_set_key_int_bits(cs_field_t *f, int key_id, int mask)
Set integer bits matching a mask to 1 for a given key for a field.
Definition: cs_field.cpp:3228
void cs_field_key_disable_setup_log(int key_id)
Disable logging setup values associated with a given key.
Definition: cs_field.cpp:2979
int cs_field_define_sub_key(const char *name, int parent_id)
Define a sub key.
Definition: cs_field.cpp:2897
void cs_field_allocate_or_map_all(void)
Allocate arrays for all defined fields based on their location.
Definition: cs_field.cpp:2316
void cs_field_bc_coeffs_free_copy(const cs_field_bc_coeffs_t *ref, cs_field_bc_coeffs_t *copy)
Free copy of boundary condition coefficients.
Definition: cs_field.cpp:1425
void cs_field_destroy_all(void)
Destroy all defined fields.
Definition: cs_field.cpp:2243
void cs_field_map_values(cs_field_t *f, cs_real_t *val, cs_real_t *val_pre)
Map existing value arrays to field descriptor.
Definition: cs_field.cpp:1781
cs_field_t * cs_field_create_by_composite_name(const char *name_prefix, const char *name_suffix, int type_flag, int location_id, int dim, bool has_previous)
Create a field descriptor.
Definition: cs_field.cpp:1547
const void * cs_field_get_key_struct(const cs_field_t *f, int key_id, void *s)
Return a structure for a given key associated with a field.
Definition: cs_field.cpp:3580
void cs_field_log_info(const cs_field_t *f, int log_keywords)
Print info relative to a given field to log file.
Definition: cs_field.cpp:3930
void cs_field_log_key_defs(void)
Print info relative to all key definitions to log file.
Definition: cs_field.cpp:4125
cs_field_t * cs_field_by_id(int id)
Return a pointer to a field based on its id.
Definition: cs_field.cpp:2347
double cs_field_get_key_double(const cs_field_t *f, int key_id)
Return a floating point value for a given key associated with a field.
Definition: cs_field.cpp:3337
const char * cs_glob_field_comp_name_9[]
const char * cs_glob_field_comp_name_6[]
int cs_field_define_key_struct(const char *name, const void *default_value, cs_field_log_key_struct_t *log_func, cs_field_log_key_struct_t *log_func_default, cs_field_clear_key_struct_t *clear_func, size_t size, int type_flag)
Define a key for a structure value by its name and return an associated id.
Definition: cs_field.cpp:2844
int cs_field_key_id(const char *name)
Return an id associated with a given key name.
Definition: cs_field.cpp:2663
int cs_field_define_key_double(const char *name, double default_value, int type_flag)
Define a key for an floating point value by its name and return an associated id.
Definition: cs_field.cpp:2755
void cs_field_define_keys_base(void)
Define base keys.
Definition: cs_field.cpp:4434
int cs_field_key_id_try(const char *name)
Return an id associated with a given key name if present.
Definition: cs_field.cpp:2690
cs_field_t * cs_field_find_or_create(const char *name, int type_flag, int location_id, int dim, bool has_previous)
Return a field matching a given name and attributes, creating it if necessary.
Definition: cs_field.cpp:1604
void cs_field_log_fields(int log_keywords)
Print info relative to all defined fields to log file.
Definition: cs_field.cpp:4064
void cs_field_current_to_previous(cs_field_t *f)
Copy current field values to previous values if applicable.
Definition: cs_field.cpp:2202
void cs_field_log_all_key_vals(bool log_defaults)
Print info relative to all given field keys to log file.
Definition: cs_field.cpp:4403
int cs_field_lock_key(cs_field_t *f, int key_id)
Lock a field relative to a given key.
Definition: cs_field.cpp:3064
cs_field_t * cs_field_by_composite_name_try(const char *name_prefix, const char *name_suffix)
Return a pointer to a field based on a composite name if present.
Definition: cs_field.cpp:2452
void cs_field_allocate_bc_coeffs(cs_field_t *f, bool have_flux_bc, bool have_mom_bc, bool have_conv_bc, bool have_exch_bc)
Allocate boundary condition coefficients arrays.
Definition: cs_field.cpp:1839
void cs_field_component_id_by_name(const char *name, int *f_id, int *c_id)
Return the id of a defined field and an associated component based on a component name.
Definition: cs_field.cpp:2574
int cs_field_set_key_double(cs_field_t *f, int key_id, double value)
Assign a floating point value for a given key to a field.
Definition: cs_field.cpp:3289
int cs_field_id_by_name(const char *name)
Return the id of a defined field based on its name.
Definition: cs_field.cpp:2553
void() cs_field_log_key_struct_t(const void *t)
Definition: cs_field.h:297
const char * cs_glob_field_comp_name_3[]
cs_field_t * cs_field_try(const char *name)
Return a pointer to a field based on its name. If no field of the given name is defined,...
Definition: cs_field.cpp:4560
void cs_field_allocate_gradient(cs_field_t *f)
Allocate arrays for field gradient.
Definition: cs_field.cpp:2152
void cs_field_log_key_vals(int key_id, bool log_defaults)
Print info relative to a given field key to log file.
Definition: cs_field.cpp:4279
@ t
Definition: cs_field_pointer.h:95
cs_alloc_mode_t
Definition: cs_mem.h:50
Definition: cs_field.h:105
cs_real_t * val_ip
Definition: cs_field.h:107
cs_real_t * val_f
Definition: cs_field.h:109
cs_real_t * flux
Definition: cs_field.h:111
cs_real_t * flux_lim
Definition: cs_field.h:112
Field boundary condition descriptor (for variables)
Definition: cs_field.h:120
cs_real_t * rcodcl2
Definition: cs_field.h:126
cs_real_t * af
Definition: cs_field.h:132
int location_id
Definition: cs_field.h:122
cs_real_t * bc
Definition: cs_field.h:137
cs_real_t * rcodcl3
Definition: cs_field.h:128
cs_real_t * val_f_lim
Definition: cs_field.h:142
cs_real_t * b
Definition: cs_field.h:131
cs_real_t * a
Definition: cs_field.h:130
cs_real_t * ad
Definition: cs_field.h:134
cs_real_t * hint
Definition: cs_field.h:139
cs_real_t * ac
Definition: cs_field.h:136
cs_real_t * rcodcl1
Definition: cs_field.h:125
cs_real_t * bf
Definition: cs_field.h:133
cs_real_t * bd
Definition: cs_field.h:135
cs_real_t * val_f_pre
Definition: cs_field.h:149
cs_real_t * val_f
Definition: cs_field.h:141
cs_real_t * flux
Definition: cs_field.h:145
int * icodcl
Definition: cs_field.h:124
cs_real_t * flux_lim
Definition: cs_field.h:146
Field descriptor.
Definition: cs_field.h:156
cs_array_2d< cs_real_t > ** _vals
Definition: cs_field.h:283
int location_id
Definition: cs_field.h:165
cs_real_t * grad
Definition: cs_field.h:184
cs_real_t ** vals
Definition: cs_field.h:169
int type
Definition: cs_field.h:161
int n_time_vals
Definition: cs_field.h:167
cs_real_t * val_pre
Definition: cs_field.h:180
const char * name
Definition: cs_field.h:158
bool is_owner
Definition: cs_field.h:191
cs_real_t * val
Definition: cs_field.h:177
int id
Definition: cs_field.h:160
cs_field_bc_coeffs_t * bc_coeffs
Definition: cs_field.h:188
int dim
Definition: cs_field.h:163