1 #ifndef __CS_PROPERTY_H__ 2 #define __CS_PROPERTY_H__ 250 static inline const char *
293 const char *zone_name,
311 const char *zone_name,
329 const char *zone_name,
348 const char *zone_name,
370 const char *zone_name,
void cs_property_log_setup(void)
Print a summary of the settings for all defined cs_property_t structures.
Definition: cs_property.c:1196
time step descriptor
Definition: cs_time_step.h:51
#define restrict
Definition: cs_defs.h:122
cs_property_t * cs_property_add(const char *name, cs_property_type_t type)
Create and initialize a new property structure.
Definition: cs_property.c:292
cs_property_t * cs_property_by_name(const char *name)
Find the related property definition from its name.
Definition: cs_property.c:335
cs_xdef_t * cs_property_def_by_func(cs_property_t *pty, const char *zone_name, void *context, cs_xdef_eval_t *get_eval_at_cell, cs_xdef_eval_cw_t *get_eval_at_cell_cw)
Define a cs_property_t structure thanks to law depending on one scalar variable in a subdomain attach...
Definition: cs_property.c:674
Field descriptor.
Definition: cs_field.h:124
cs_xdef_t * cs_property_def_by_analytic(cs_property_t *pty, const char *zone_name, cs_analytic_func_t *func, void *input)
Define a cs_property_t structure thanks to an analytic function in a subdomain attached to the mesh l...
Definition: cs_property.c:622
Definition: cs_property.h:55
char *restrict name
Definition: cs_property.h:64
cs_property_type_t
Definition: cs_property.h:52
cs_xdef_t * cs_property_def_iso_by_value(cs_property_t *pty, const char *zone_name, double val)
Define an isotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:484
void cs_property_set_shared_pointers(const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step)
Set shared pointers to main domain members.
Definition: cs_property.c:255
#define BEGIN_C_DECLS
Definition: cs_defs.h:453
void() cs_xdef_eval_cw_t(const cs_cell_mesh_t *cm, const cs_time_step_t *ts, void *input, cs_real_t *eval)
Function pointer for evaluating a quantity defined through a descriptor (cs_xdef_t structure) by a ce...
Definition: cs_xdef_eval.h:92
Definition: cs_cdo_local.h:138
void cs_property_destroy_all(void)
Free all cs_property_t structures and the array storing all the structures.
Definition: cs_property.c:380
int n_definitions
Definition: cs_property.h:73
int id
Definition: cs_property.h:65
Definition: cs_cdo_connect.h:55
static cs_property_type_t cs_property_get_type(const cs_property_t *pty)
Retrieve the type of a property.
Definition: cs_property.h:270
void cs_property_get_cell_tensor(cs_lnum_t c_id, const cs_property_t *pty, bool do_inversion, cs_real_3_t *tensor)
Compute the value of the tensor attached a property at the cell center.
Definition: cs_property.c:875
void cs_property_finalize_setup(void)
Last stage of the definition of a property based on several definitions (i.e. definition by subdomain...
Definition: cs_property.c:419
void cs_property_def_by_field(cs_property_t *pty, cs_field_t *field)
Define a cs_property_t structure thanks to an array of values.
Definition: cs_property.c:783
double cs_real_t
Floating-point value.
Definition: cs_defs.h:297
Definition: cs_cdo_quantities.h:89
cs_real_t cs_property_value_in_cell(const cs_cell_mesh_t *cm, const cs_property_t *pty)
Compute the value of a property at the cell center Version using a cs_cell_mesh_t structure...
Definition: cs_property.c:1096
#define CS_FLAG_STATE_UNIFORM
Definition: cs_cdo.h:60
void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const cs_real_t *coords, bool compact, void *input, cs_real_t *retval)
Generic function pointer for an analytic function elt_ids is optional. If not NULL, it enables to access in coords at the right location and the same thing to fill retval if compact is set to false.
Definition: cs_cdo.h:169
Definition: cs_property.h:54
cs_property_type_t type
Definition: cs_property.h:70
Definition: cs_field_pointer.h:65
static const char * cs_property_get_name(const cs_property_t *pty)
Retrieve the name of a property.
Definition: cs_property.h:251
void cs_property_tensor_in_cell(const cs_cell_mesh_t *cm, const cs_property_t *pty, bool do_inversion, cs_real_3_t *tensor)
Compute the value of the tensor attached a property at the cell center Version using a cs_cell_mesh_t...
Definition: cs_property.c:1020
cs_flag_t state_flag
Definition: cs_property.h:66
void cs_property_get_fourier(const cs_property_t *pty, double dt, cs_real_t fourier[])
Compute the Fourier number in each cell.
Definition: cs_property.c:1131
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:309
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:293
#define END_C_DECLS
Definition: cs_defs.h:454
unsigned short int cs_flag_t
Definition: cs_defs.h:299
cs_property_t * cs_property_by_id(int id)
Find the related property definition from its id.
Definition: cs_property.c:362
Definition: cs_property.h:96
cs_real_t cs_property_get_cell_value(cs_lnum_t c_id, const cs_property_t *pty)
Compute the value of a property at the cell center.
Definition: cs_property.c:972
short int * def_ids
Definition: cs_property.h:75
cs_xdef_t * cs_property_def_aniso_by_value(cs_property_t *pty, const char *zone_name, cs_real_t tens[3][3])
Define an anisotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:570
cs_xdef_t * cs_property_def_by_array(cs_property_t *pty, cs_flag_t loc, cs_real_t *array, cs_lnum_t *index)
Define a cs_property_t structure thanks to an array of values.
Definition: cs_property.c:718
cs_xdef_t ** defs
Definition: cs_property.h:74
Definition: cs_property.h:57
void() cs_xdef_eval_t(cs_lnum_t n_elts, const cs_lnum_t *elt_ids, bool compact, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts, void *input, cs_real_t *eval)
Function pointer for evaluating a quantity defined through a descriptor (cs_xdef_t structure) ...
Definition: cs_xdef_eval.h:68
static bool cs_property_is_isotropic(const cs_property_t *pty)
returns true if the property is isotropic, otherwise false
Definition: cs_property.h:229
cs_property_key_t
Definition: cs_property.h:93
cs_xdef_eval_cw_t ** get_eval_at_cell_cw
Definition: cs_property.h:88
Definition: cs_property.h:56
static bool cs_property_is_uniform(const cs_property_t *pty)
returns true if the property is uniform, otherwise false
Definition: cs_property.h:207
int cs_property_get_n_properties(void)
Retrieve the number of properties.
Definition: cs_property.c:274
Definition: cs_property.h:62
cs_xdef_t * cs_property_def_ortho_by_value(cs_property_t *pty, const char *zone_name, double val[])
Define an orthotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:527
Definition: cs_property.h:95
cs_xdef_eval_t ** get_eval_at_cell
Definition: cs_property.h:84
void cs_property_eval_at_cells(const cs_property_t *pty, cs_real_t *array)
Evaluate the value of the property at each cell. Store the evaluation in the given array...
Definition: cs_property.c:838