1 #ifndef __CS_PROPERTY_H__ 2 #define __CS_PROPERTY_H__ 51 #define CS_PROPERTY_MASS_DENSITY "mass_density" 60 #define CS_PROPERTY_POST_FOURIER (1 << 0) 73 #define CS_PROPERTY_ISO (1 << 0) 78 #define CS_PROPERTY_ORTHO (1 << 1) 84 #define CS_PROPERTY_ANISO (1 << 2) 89 #define CS_PROPERTY_ANISO_SYM (1 << 3) 94 #define CS_PROPERTY_BY_PRODUCT (1 << 4) 305 static inline const char *
int id
Definition: cs_property.h:133
void cs_property_log_setup(void)
Print a summary of the settings for all defined cs_property_t structures.
Definition: cs_property.c:2182
cs_xdef_t * cs_property_def_by_array(cs_property_t *pty, cs_flag_t loc, cs_real_t *array, bool is_owner, cs_lnum_t *index)
Define a cs_property_t structure thanks to an array of values.
Definition: cs_property.c:1594
#define restrict
Definition: cs_defs.h:127
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:733
cs_property_t * cs_property_by_name(const char *name)
Find the related property definition from its name.
Definition: cs_property.c:843
short int * def_ids
Definition: cs_property.h:150
cs_real_t eigen_ratio
Definition: cs_property.h:187
#define CS_FLAG_STATE_UNIFORM
Definition: cs_flag.h:87
void cs_property_set_shared_pointers(const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect)
Set shared pointers to main domain members.
Definition: cs_property.c:699
cs_flag_t state_flag
Definition: cs_property.h:134
cs_real_t eigen_max
Definition: cs_property.h:186
Field descriptor.
Definition: cs_field.h:125
cs_xdef_t * cs_property_def_aniso_by_value(cs_property_t *pty, const char *zname, 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:1317
bool is_iso
Definition: cs_property.h:182
Structure storing the evaluation of a property and its related data.
Definition: cs_property.h:178
char *restrict name
Definition: cs_property.h:132
#define BEGIN_C_DECLS
Definition: cs_defs.h:495
cs_flag_t process_flag
Definition: cs_property.h:135
cs_real_t ref_value
Definition: cs_property.h:142
Set of local quantities and connectivities related to a mesh cell This is a key structure for all cel...
Definition: cs_cdo_local.h:159
cs_real_t value
Definition: cs_property.h:191
cs_xdef_cw_eval_t ** get_eval_at_cell_cw
Definition: cs_property.h:162
void cs_property_destroy_all(void)
Free all cs_property_t structures and the array storing all the structures.
Definition: cs_property.c:940
Definition: cs_cdo_connect.h:76
cs_xdef_t * cs_property_def_ortho_by_value(cs_property_t *pty, const char *zname, double val[])
Define an orthotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:1267
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:982
void cs_property_set_reference_value(cs_property_t *pty, double refval)
Set the reference value associated to a cs_property_t structure This is a real number even whatever t...
Definition: cs_property.c:923
void cs_property_def_by_field(cs_property_t *pty, cs_field_t *field)
Define a cs_property_t structure thanks to a field structure.
Definition: cs_property.c:1661
cs_property_type_t type
Definition: cs_property.h:136
cs_xdef_eval_t ** get_eval_at_cell
Definition: cs_property.h:158
double cs_real_t
Floating-point value.
Definition: cs_defs.h:307
Definition: cs_cdo_quantities.h:124
#define CS_PROPERTY_ISO
Definition: cs_property.h:73
Definition: cs_property.h:113
bool need_eigen
Definition: cs_property.h:185
cs_xdef_t * cs_property_def_iso_by_value(cs_property_t *pty, const char *zname, double val)
Define an isotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:1213
cs_xdef_t * cs_property_def_by_func(cs_property_t *pty, const char *zname, void *context, cs_xdef_eval_t *get_eval_at_cell, cs_xdef_cw_eval_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:1551
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 dense_output, void *input, cs_real_t *retval)
Generic function pointer for an evaluation relying on an analytic function elt_ids is optional...
Definition: cs_param_types.h:94
void() cs_xdef_eval_t(cs_lnum_t n_elts, const cs_lnum_t *elt_ids, bool dense_output, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_real_t time_eval, void *context, cs_real_t *eval)
Function pointer for evaluating a quantity defined through a descriptor (cs_xdef_t structure) ...
Definition: cs_xdef_eval.h:66
Definition: cs_property.h:130
const cs_property_t ** related_properties
Definition: cs_property.h:167
cs_xdef_t * cs_property_def_aniso_sym_by_value(cs_property_t *pty, const char *zname, cs_real_t symtens[6])
Define an anisotropic cs_property_t structure by value for entities related to a volume zone...
Definition: cs_property.c:1375
cs_real_t cs_property_value_in_cell(const cs_cell_mesh_t *cm, const cs_property_t *pty, cs_real_t t_eval)
Compute the value of a property at the cell center Version using a cs_cell_mesh_t structure...
Definition: cs_property.c:2073
cs_xdef_t ** defs
Definition: cs_property.h:146
Definition: cs_field_pointer.h:65
void cs_property_data_init(bool need_tensor, bool need_eigen, const cs_property_t *property, cs_property_data_t *data)
Initialize a cs_property_data_t structure. If property is NULL then one considers that this is a unit...
Definition: cs_property.c:1093
#define CS_FLAG_STATE_STEADY
Definition: cs_flag.h:90
cs_real_t cs_property_get_cell_value(cs_lnum_t c_id, cs_real_t t_eval, const cs_property_t *pty)
Compute the value of a property at the cell center.
Definition: cs_property.c:1981
void cs_property_eval_at_cells(cs_real_t t_eval, 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:1715
Structure storing medata for defining a quantity in a very flexible way.
Definition: cs_xdef.h:154
cs_xdef_t * cs_property_def_by_time_func(cs_property_t *pty, const char *zname, cs_time_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:1427
void() cs_xdef_cw_eval_t(const cs_cell_mesh_t *cm, cs_real_t time_eval, 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_cw_eval.h:70
bool need_tensor
Definition: cs_property.h:189
void cs_property_set_option(cs_property_t *pty, cs_property_key_t key)
Set optional parameters related to a cs_property_t structure.
Definition: cs_property.c:890
cs_xdef_t * cs_property_def_by_analytic(cs_property_t *pty, const char *zname, 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:1501
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:301
int n_definitions
Definition: cs_property.h:145
void cs_property_get_cell_tensor(cs_lnum_t c_id, cs_real_t t_eval, const cs_property_t *pty, bool do_inversion, cs_real_t tensor[3][3])
Compute the value of the tensor attached to a property at the cell center.
Definition: cs_property.c:1941
void cs_property_get_fourier(const cs_property_t *pty, cs_real_t t_eval, double dt, cs_real_t fourier[])
Compute the Fourier number in each cell.
Definition: cs_property.c:2117
int n_related_properties
Definition: cs_property.h:166
#define END_C_DECLS
Definition: cs_defs.h:496
unsigned short int cs_flag_t
Definition: cs_defs.h:309
cs_property_t * cs_property_by_id(int id)
Find the related property definition from its id.
Definition: cs_property.c:870
void() cs_time_func_t(double time, void *input, cs_real_t *retval)
Function which defines the evolution of a quantity according to the current time and any structure gi...
Definition: cs_param_types.h:137
bool is_unity
Definition: cs_property.h:183
const cs_property_t * property
Definition: cs_property.h:180
Definition: cs_property.h:114
void cs_property_tensor_in_cell(const cs_cell_mesh_t *cm, const cs_property_t *pty, cs_real_t t_eval, bool do_inversion, cs_real_t tensor[3][3])
Compute the value of the tensor attached to a property at the cell center Version using a cs_cell_mes...
Definition: cs_property.c:2031
cs_property_t * cs_property_add_as_product(const char *name, const cs_property_t *pty_a, const cs_property_t *pty_b)
Define a cs_property_t structure thanks to the product of two properties The type is infered from tha...
Definition: cs_property.c:782
cs_flag_t cs_property_type_t
Definition: cs_property.h:102
cs_xdef_t * cs_property_def_constant_value(cs_property_t *pty, double val)
Define a single uniform and steady isotropic definition for the given cs_property_t structure...
Definition: cs_property.c:1156
cs_property_key_t
List of available keys for setting options on a property.
Definition: cs_property.h:111
int cs_property_get_n_properties(void)
Retrieve the number of properties.
Definition: cs_property.c:716
Structure associated to the definition of a property relying on the cs_xdef_t structure.