#include "cs_defs.h"
#include <assert.h>
#include <ctype.h>
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <bft_mem.h>
#include "cs_array.h"
#include "cs_log.h"
#include "cs_param_cdo.h"
#include "cs_reco.h"
#include "cs_volume_zone.h"
#include "cs_xdef_eval.h"
#include "cs_property.h"
Macros | |
#define | CS_PROPERTY_DBG 0 |
Functions | |
void | cs_property_init_sharing (const cs_mesh_t *mesh, const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect) |
Set shared pointers to main domain members. More... | |
int | cs_property_get_n_properties (void) |
Retrieve the number of properties. More... | |
cs_property_t * | cs_property_add (const char *name, cs_property_type_t type) |
Create and initialize a new property structure. More... | |
cs_property_t * | cs_property_subcell_add (const char *name, cs_property_type_t type) |
Create and initialize a new property structure with an evaluation which can be called on a sub-partition of a cell. This kind of property is not available for all numerical scheme. By default, only one evaluation is performed in each cell. More... | |
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 that of the related properties The value of the property is given as: value_ab = value_a * value_b. More... | |
cs_property_t * | cs_property_by_name (const char *name) |
Find the related property definition from its name. More... | |
cs_property_t * | cs_property_by_id (int id) |
Find the related property definition from its id. More... | |
void | cs_property_set_option (cs_property_t *pty, cs_property_key_t key) |
Set optional parameters related to a cs_property_t structure. More... | |
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 the type of property is. More... | |
void | cs_property_destroy_all (void) |
Free all cs_property_t structures and the array storing all the structures. More... | |
void | cs_property_finalize_setup (void) |
Last stage of the definition of a property based on several definitions (i.e. definition by subdomains) More... | |
cs_property_data_t | cs_property_data_define (bool need_tensor, bool need_eigen, const cs_property_t *property) |
Define a cs_property_data_t structure (not a pointer to this structure). If property is NULL then one considers that this is a unitary property. More... | |
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 unitary property. More... | |
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. This is a specialized variant of cs_property_def_iso_by_value since several assumptions are satisfied. More... | |
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. More... | |
cs_xdef_t * | cs_property_boundary_def_iso_by_value (cs_property_t *pty, const char *zname, double val) |
Define the value at the boundary for the given (isotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname. More... | |
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. More... | |
cs_xdef_t * | cs_property_boundary_def_ortho_by_value (cs_property_t *pty, const char *zname, double vals[]) |
Define the value at the boundary for the given (orthotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname. More... | |
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. More... | |
cs_xdef_t * | cs_property_boundary_def_aniso_by_value (cs_property_t *pty, const char *zname, double tens[3][3]) |
Define the value at the boundary for the given (anisotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname. More... | |
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. Optimized case with a symmetric storage. More... | |
cs_xdef_t * | cs_property_boundary_def_aniso_sym_by_value (cs_property_t *pty, const char *zname, double tens[6]) |
Define the value at the boundary for the given (anisotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname Optimized case with a symmetric storage. More... | |
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 a time function for all cells associated to the zone named zname. More... | |
cs_xdef_t * | cs_property_boundary_def_by_time_func (cs_property_t *pty, const char *zname, cs_time_func_t *func, void *input) |
Define the value of a cs_property_t structure at the boundary thanks to a time function in a subdomain attached to a zone named zname. More... | |
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 for all cells associated to the zone named zname. More... | |
cs_xdef_t * | cs_property_boundary_def_by_analytic (cs_property_t *pty, const char *zname, cs_analytic_func_t *func, void *input) |
Define the value of a cs_property_t structure at the boundary thanks to a time function for all boundary faces associated to the zone named zname. More... | |
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 the value of a cs_property_t structure thanks to low-level functions specifying how to evaluate the property in each cell (with cell-wise structures or not). This definition applies to all cells associated to the zone named zname. More... | |
cs_xdef_t * | cs_property_def_by_array (cs_property_t *pty, cs_flag_t loc, cs_real_t *array, bool is_owner, const cs_lnum_t *index, const cs_lnum_t *ids) |
Define a cs_property_t structure thanks to an array of values. One assumes that all cells are defined using this array. More... | |
cs_xdef_t * | cs_property_boundary_def_by_array (cs_property_t *pty, const char *zname, cs_flag_t loc, cs_real_t *array, bool is_owner, const cs_lnum_t *index, const cs_lnum_t *ids) |
Define the values of a property at the boundarye thanks to an array All boundary faces associated to the zone named zname are defined using this definition. More... | |
cs_xdef_t * | cs_property_def_by_field (cs_property_t *pty, cs_field_t *field) |
Define a cs_property_t structure thanks to a field structure. One assumes that all cells are defined using this array. More... | |
cs_xdef_t * | cs_property_boundary_def_by_field (cs_property_t *pty, cs_field_t *field) |
Define the values of a property at the boundary thanks to a field structure. One assumes that all boundary faces are defined using this array. More... | |
void | cs_property_iso_get_cell_values (cs_real_t t_eval, const cs_property_t *pty, int *pty_stride, cs_real_t **p_pty_vals) |
Evaluate the value of the property at each cell. Store the evaluation in the given array. More... | |
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. More... | |
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 a property at the cell center. More... | |
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. More... | |
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_mesh_t structure. More... | |
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. More... | |
void | cs_property_c2v_values (const cs_cell_mesh_t *cm, const cs_property_t *pty, cs_real_t t_eval, cs_real_t *eval) |
Compute the values of an isotropic property in each portion of dual cell in a (primal) cell. This relies on the c2v connectivity. More... | |
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. More... | |
void | cs_property_log_setup (void) |
Print a summary of the settings for all defined cs_property_t structures. More... | |
Variables | |
static const char | _err_empty_pty [] |
static const cs_cdo_quantities_t * | cs_cdo_quant |
static const cs_cdo_connect_t * | cs_cdo_connect |
static const cs_mesh_t * | cs_mesh |
static int | _n_properties = 0 |
static int | _n_max_properties = 0 |
static cs_property_t ** | _properties = NULL |
#define CS_PROPERTY_DBG 0 |
cs_property_t* cs_property_add | ( | const char * | name, |
cs_property_type_t | type | ||
) |
Create and initialize a new property structure.
[in] | name | name of the property |
[in] | type | type of property |
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 that of the related properties The value of the property is given as: value_ab = value_a * value_b.
[in] | name | name of the property |
[in] | pty_a | pointer to a cs_property_t structure |
[in] | pty_b | pointer to a cs_property_t structure |
cs_xdef_t* cs_property_boundary_def_aniso_by_value | ( | cs_property_t * | pty, |
const char * | zname, | ||
double | tens[3][3] | ||
) |
Define the value at the boundary for the given (anisotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | tens | values to set given as a 3x3 tensor |
cs_xdef_t* cs_property_boundary_def_aniso_sym_by_value | ( | cs_property_t * | pty, |
const char * | zname, | ||
double | tens[6] | ||
) |
Define the value at the boundary for the given (anisotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname Optimized case with a symmetric storage.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | tens | tensor to set given as an array of 6 values |
cs_xdef_t* cs_property_boundary_def_by_analytic | ( | cs_property_t * | pty, |
const char * | zname, | ||
cs_analytic_func_t * | func, | ||
void * | input | ||
) |
Define the value of a cs_property_t structure at the boundary thanks to a time function for all boundary faces associated to the zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | func | pointer to a cs_analytic_func_t function |
[in] | input | NULL or pointer to a structure cast on-the-fly |
cs_xdef_t* cs_property_boundary_def_by_array | ( | cs_property_t * | pty, |
const char * | zname, | ||
cs_flag_t | loc, | ||
cs_real_t * | array, | ||
bool | is_owner, | ||
const cs_lnum_t * | index, | ||
const cs_lnum_t * | ids | ||
) |
Define the values of a property at the boundarye thanks to an array All boundary faces associated to the zone named zname are defined using this definition.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | NULL or name of the boundary zone |
[in] | loc | information to know where are located values |
[in] | array | pointer to an array |
[in] | is_owner | transfer the lifecycle to the cs_xdef_t structure (true or false) |
[in] | index | optional pointer to an array of index values |
[in] | ids | optional pointer to a list of entity ids |
cs_xdef_t* cs_property_boundary_def_by_field | ( | cs_property_t * | pty, |
cs_field_t * | field | ||
) |
Define the values of a property at the boundary thanks to a field structure. One assumes that all boundary faces are defined using this array.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | field | pointer to a cs_field_t structure |
cs_xdef_t* cs_property_boundary_def_by_time_func | ( | cs_property_t * | pty, |
const char * | zname, | ||
cs_time_func_t * | func, | ||
void * | input | ||
) |
Define the value of a cs_property_t structure at the boundary thanks to a time function in a subdomain attached to a zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | func | pointer to a cs_time_func_t function |
[in] | input | NULL or pointer to a structure cast on-the-fly |
cs_xdef_t* cs_property_boundary_def_iso_by_value | ( | cs_property_t * | pty, |
const char * | zname, | ||
double | val | ||
) |
Define the value at the boundary for the given (isotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | val | value to set |
cs_xdef_t* cs_property_boundary_def_ortho_by_value | ( | cs_property_t * | pty, |
const char * | zname, | ||
double | vals[] | ||
) |
Define the value at the boundary for the given (orthotropic) property. This value is uniform and steady for all the boundary faces associated to the boundary zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all boundary faces are considered) |
[in] | vals | values to set |
cs_property_t* cs_property_by_id | ( | int | id | ) |
Find the related property definition from its id.
[in] | id | id of the property to find |
cs_property_t* cs_property_by_name | ( | const char * | name | ) |
Find the related property definition from its name.
[in] | name | name of the property to find |
void cs_property_c2v_values | ( | const cs_cell_mesh_t * | cm, |
const cs_property_t * | pty, | ||
cs_real_t | t_eval, | ||
cs_real_t * | eval | ||
) |
Compute the values of an isotropic property in each portion of dual cell in a (primal) cell. This relies on the c2v connectivity.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pty | pointer to a cs_property_t structure |
[in] | t_eval | physical time at which one evaluates the term |
[in,out] | eval | array of values storing the evaluation |
cs_property_data_t cs_property_data_define | ( | bool | need_tensor, |
bool | need_eigen, | ||
const cs_property_t * | property | ||
) |
Define a cs_property_data_t structure (not a pointer to this structure). If property is NULL then one considers that this is a unitary property.
[in] | need_tensor | true if one needs a tensor-valued evaluation |
[in] | need_eigen | true if one needs an evaluation of eigen values |
[in] | property | pointer to the cs_property_t structure |
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 unitary property.
[in] | need_tensor | true if one needs a tensor-valued evaluation |
[in] | need_eigen | true if one needs an evaluation of eigen values |
[in] | property | pointer to the cs_property_t structure |
[in,out] | data | structure to initialize (already allocated) |
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.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | tens | values to set (3x3 tensor) |
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. Optimized case with a symmetric storage.
Define the value of a cs_property_t structure thanks to a time function for all cells associated to the zone named zname. Optimized case with a symmetric storage.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | symtens | values to set (6 values) |
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 for all cells associated to the zone named zname.
Define the value of a cs_property_t structure thanks to an analytic function for all cells associated to the zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | func | pointer to a cs_analytic_func_t function |
[in] | input | NULL or pointer to a structure cast on-the-fly |
cs_xdef_t* cs_property_def_by_array | ( | cs_property_t * | pty, |
cs_flag_t | loc, | ||
cs_real_t * | array, | ||
bool | is_owner, | ||
const cs_lnum_t * | index, | ||
const cs_lnum_t * | ids | ||
) |
Define a cs_property_t structure thanks to an array of values. One assumes that all cells are defined using this array.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | loc | information to know where are located values |
[in] | array | pointer to an array |
[in] | is_owner | transfer the lifecycle to the cs_xdef_t structure (true or false) |
[in] | index | optional pointer to an array of index values |
[in] | ids | optional pointer to a list of entity ids |
cs_xdef_t* cs_property_def_by_field | ( | cs_property_t * | pty, |
cs_field_t * | field | ||
) |
Define a cs_property_t structure thanks to a field structure. One assumes that all cells are defined using this array.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | field | pointer to a cs_field_t structure |
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 the value of a cs_property_t structure thanks to low-level functions specifying how to evaluate the property in each cell (with cell-wise structures or not). This definition applies to all cells associated to the zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | context | pointer to a structure (may be NULL) |
[in] | get_eval_at_cell | pointer to a function |
[in] | get_eval_at_cell_cw | pointer to a function |
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 a time function for all cells associated to the zone named zname.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | func | pointer to a cs_time_func_t function |
[in] | input | NULL or pointer to a structure cast on-the-fly |
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. This is a specialized variant of cs_property_def_iso_by_value since several assumptions are satisfied.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | val | value to set |
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.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | val | value to set |
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.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | zname | name of the associated zone (if NULL or "" all cells are considered) |
[in] | val | values to set (vector of size 3) |
void cs_property_destroy_all | ( | void | ) |
Free all cs_property_t structures and the array storing all the structures.
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.
[in] | t_eval | physical time at which one evaluates the term |
[in] | pty | pointer to a cs_property_t structure |
[in,out] | array | pointer to an array of values (must be allocated) |
void cs_property_finalize_setup | ( | void | ) |
Last stage of the definition of a property based on several definitions (i.e. definition by subdomains)
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 a property at the cell center.
Compute the value of the tensor attached to a property at the cell center.
[in] | c_id | id of the current cell |
[in] | t_eval | physical time at which one evaluates the term |
[in] | pty | pointer to a cs_property_t structure |
[in] | do_inversion | true or false |
[in,out] | tensor | 3x3 matrix |
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.
[in] | c_id | id of the current cell |
[in] | t_eval | physical time at which one evaluates the term |
[in] | pty | pointer to a cs_property_t structure |
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.
[in] | pty | pointer to the diffusive property struct. |
[in] | t_eval | physical time at which one evaluates the term |
[in] | dt | value of the current time step |
[in,out] | fourier | pointer to an array storing Fourier numbers |
int cs_property_get_n_properties | ( | void | ) |
Retrieve the number of properties.
void cs_property_init_sharing | ( | const cs_mesh_t * | mesh, |
const cs_cdo_quantities_t * | quant, | ||
const cs_cdo_connect_t * | connect | ||
) |
Set shared pointers to main domain members.
[in] | mesh | mesh structure shared between FV and CDO |
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
void cs_property_iso_get_cell_values | ( | cs_real_t | t_eval, |
const cs_property_t * | pty, | ||
int * | pty_stride, | ||
cs_real_t ** | p_pty_vals | ||
) |
Evaluate the value of the property at each cell. Store the evaluation in the given array.
[in] | t_eval | physical time at which one evaluates the term |
[in] | pty | pointer to a cs_property_t structure |
[out] | pty_stride | = 0 if uniform, =1 otherwise |
[in,out] | pty_vals | pointer to an array of values. Allocated if not The size of the allocation depends on the value of the pty_stride |
void cs_property_log_setup | ( | void | ) |
Print a summary of the settings for all defined cs_property_t structures.
void cs_property_set_option | ( | cs_property_t * | pty, |
cs_property_key_t | key | ||
) |
Set optional parameters related to a cs_property_t structure.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | key | key related to a setting option |
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 the type of property is.
[in,out] | pty | pointer to a cs_property_t structure |
[in] | refval | value to set |
cs_property_t* cs_property_subcell_add | ( | const char * | name, |
cs_property_type_t | type | ||
) |
Create and initialize a new property structure with an evaluation which can be called on a sub-partition of a cell. This kind of property is not available for all numerical scheme. By default, only one evaluation is performed in each cell.
[in] | name | name of the property |
[in] | type | type of property |
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_mesh_t structure.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pty | pointer to a cs_property_t structure |
[in] | t_eval | physical time at which one evaluates the term |
[in] | do_inversion | true or false |
[in,out] | tensor | 3x3 matrix |
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.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pty | pointer to a cs_property_t structure |
[in] | t_eval | physical time at which one evaluates the term |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |