#include <string.h>
#include "cs_base.h"
#include "cs_boundary_zone.h"
#include "cs_param_types.h"
#include "cs_quadrature.h"
#include "cs_volume_zone.h"
Go to the source code of this file.
Data Structures | |
struct | cs_xdef_t |
Structure storing medata for defining a quantity in a very flexible way. More... | |
struct | cs_xdef_array_context_t |
Context structure when an array is used for the definition. More... | |
struct | cs_xdef_analytic_context_t |
Context structure when a definition by analytic function is used. More... | |
struct | cs_xdef_dof_context_t |
Context structure when a definition by DoF function is used. More... | |
struct | cs_xdef_time_func_context_t |
Context structure when a time step function is used for the definition. More... | |
Typedefs | |
typedef void *() | cs_xdef_free_input_t(void *input) |
Destroy an input data structure. Complex data structure can be used when a cs_xdef_t structure is defined by an analytic function, a DoF function or a time function. Please refer to cs_xdef_analytic_context_t, cs_xdef_time_func_context_t or cs_xdef_dof_context_t. More... | |
Functions | |
cs_xdef_t * | cs_xdef_volume_create (cs_xdef_type_t type, int dim, int z_id, cs_flag_t state, cs_flag_t meta, void *context) |
Allocate and initialize a new cs_xdef_t structure based on volumic elements. More... | |
cs_xdef_t * | cs_xdef_boundary_create (cs_xdef_type_t type, int dim, int z_id, cs_flag_t state, cs_flag_t meta, void *context) |
Allocate and initialize a new cs_xdef_t structure based on boundary elements. More... | |
cs_xdef_t * | cs_xdef_timestep_create (cs_xdef_type_t type, cs_flag_t state, cs_flag_t meta, void *context) |
Allocate and initialize a new cs_xdef_t structure for setting the time step. More... | |
cs_xdef_t * | cs_xdef_free (cs_xdef_t *d) |
Free a cs_xdef_t structure. More... | |
cs_xdef_t * | cs_xdef_copy (cs_xdef_t *src) |
copy a cs_xdef_t structure More... | |
void | cs_xdef_set_input_context (cs_xdef_t *d, void *input) |
In the case of a definition by an analytic function, a time function or a function relying on degrees of freedom (DoFs), this function allows one to set a more or less complex input data structure. This call should be done before the first evaluation call of the associated cs_xdef_t structure. More... | |
void | cs_xdef_set_free_input_function (cs_xdef_t *d, cs_xdef_free_input_t *free_input) |
In case of a definition by an analytic function, a time function or a function relying on degrees of freedom (DoFs). One can set a function to free a complex input data structure (please refer to cs_xdef_free_input_t) for more details. More... | |
void | cs_xdef_set_array (cs_xdef_t *d, bool is_owner, cs_real_t *array) |
In case of definition by array, set the array after having added this definition. More... | |
void | cs_xdef_set_array_index (cs_xdef_t *d, cs_lnum_t *array_index) |
In case of definition by array, set the index to get access to the array values. More... | |
void | cs_xdef_set_quadrature (cs_xdef_t *d, cs_quadrature_type_t qtype) |
Set the type of quadrature to use for evaluating the given description. More... | |
cs_quadrature_type_t | cs_xdef_get_quadrature (cs_xdef_t *d) |
Get the type of quadrature to use for evaluating the given description. More... | |
cs_xdef_type_t | cs_xdef_get_type (const cs_xdef_t *d) |
Retrieve the flag dedicated to the state. More... | |
cs_flag_t | cs_xdef_get_state_flag (const cs_xdef_t *d) |
Retrieve the flag dedicated to the state. More... | |
void | cs_xdef_log (const char *prefix, const cs_xdef_t *d) |
Output the settings related to a cs_xdef_t structure. More... | |
const char * | cs_xdef_type_get_name (cs_xdef_type_t xdef_type) |
Retrieve a pointer to the cs_xdef_type's name string. More... | |
typedef void*() cs_xdef_free_input_t(void *input) |
Destroy an input data structure. Complex data structure can be used when a cs_xdef_t structure is defined by an analytic function, a DoF function or a time function. Please refer to cs_xdef_analytic_context_t, cs_xdef_time_func_context_t or cs_xdef_dof_context_t.
[in,out] | input | pointer to an input structure associated to a context structure |
enum cs_xdef_support_t |
enum cs_xdef_type_t |
Enumerator | |
---|---|
CS_XDEF_BY_ANALYTIC_FUNCTION | Definition relying on a cs_analytic_func_t function pointer |
CS_XDEF_BY_ARRAY | Definition based on an array |
CS_XDEF_BY_DOF_FUNCTION | Definition relying on a cs_dof_func_t function pointer |
CS_XDEF_BY_FIELD | Definition based on a field (see cs_field_t) |
CS_XDEF_BY_FUNCTION | Definition relying on a generic user-defined function. TODO |
CS_XDEF_BY_QOV | QOV = Quantity Over a Volume Definition which enables to spread a given quantity inside a volume. Useful to initialized a tracer in a subdomain for instance. |
CS_XDEF_BY_SUB_DEFINITIONS | Definition relying on a combination of other CS_XDEF_*** This kind of definition is useful for the definition of a property as the product of two existing ones. |
CS_XDEF_BY_TIME_FUNCTION | Definition relying on a function for setting the time step (see cs_time_func_t) |
CS_XDEF_BY_VALUE | Simple definition by a constant value |
CS_N_XDEF_TYPES |
cs_xdef_t* cs_xdef_boundary_create | ( | cs_xdef_type_t | type, |
int | dim, | ||
int | z_id, | ||
cs_flag_t | state, | ||
cs_flag_t | meta, | ||
void * | context | ||
) |
Allocate and initialize a new cs_xdef_t structure based on boundary elements.
[in] | type | type of definition |
[in] | dim | dimension of the values to define |
[in] | z_id | volume zone id |
[in] | state | flag to know if this uniform, cellwise, steady... |
[in] | meta | metadata associated to this description |
[in] | context | pointer to a structure |
cs_quadrature_type_t cs_xdef_get_quadrature | ( | cs_xdef_t * | d | ) |
Get the type of quadrature to use for evaluating the given description.
[in] | d | pointer to a cs_xdef_t structure |
Retrieve the flag dedicated to the state.
[in] | d | pointer to a cs_xdef_t structure |
cs_xdef_type_t cs_xdef_get_type | ( | const cs_xdef_t * | d | ) |
Retrieve the flag dedicated to the state.
[in] | d | pointer to a cs_xdef_t structure |
void cs_xdef_log | ( | const char * | prefix, |
const cs_xdef_t * | d | ||
) |
In case of definition by array, set the array after having added this definition.
[in,out] | d | pointer to a cs_xdef_t structure |
[in] | is_owner | manage or not the lifecycle of the array values |
[in] | array | values |
In case of definition by array, set the index to get access to the array values.
[in,out] | d | pointer to a cs_xdef_t structure |
[in] | array_index | index on array values |
void cs_xdef_set_free_input_function | ( | cs_xdef_t * | d, |
cs_xdef_free_input_t * | free_input | ||
) |
In case of a definition by an analytic function, a time function or a function relying on degrees of freedom (DoFs). One can set a function to free a complex input data structure (please refer to cs_xdef_free_input_t) for more details.
[in,out] | d | pointer to a cs_xdef_t structure |
[in] | free_input | pointer to a function which free the input structure |
void cs_xdef_set_input_context | ( | cs_xdef_t * | d, |
void * | input | ||
) |
In the case of a definition by an analytic function, a time function or a function relying on degrees of freedom (DoFs), this function allows one to set a more or less complex input data structure. This call should be done before the first evaluation call of the associated cs_xdef_t structure.
[in,out] | d | pointer to a cs_xdef_t structure |
[in] | input | pointer to an input structure |
void cs_xdef_set_quadrature | ( | cs_xdef_t * | d, |
cs_quadrature_type_t | qtype | ||
) |
Set the type of quadrature to use for evaluating the given description.
[in,out] | d | pointer to a cs_xdef_t structure |
[in] | qtype | type of quadrature |
cs_xdef_t* cs_xdef_timestep_create | ( | cs_xdef_type_t | type, |
cs_flag_t | state, | ||
cs_flag_t | meta, | ||
void * | context | ||
) |
Allocate and initialize a new cs_xdef_t structure for setting the time step.
[in] | type | type of definition |
[in] | state | flag to know if this uniform, cellwise, steady... |
[in] | meta | metadata associated to this description |
[in] | context | pointer to a structure storing the parameters (cast on-the-fly according to the type of definition) |
const char* cs_xdef_type_get_name | ( | cs_xdef_type_t | xdef_type | ) |
Retrieve a pointer to the cs_xdef_type's name string.
[in] | xdef_type | type to query |
cs_xdef_t* cs_xdef_volume_create | ( | cs_xdef_type_t | type, |
int | dim, | ||
int | z_id, | ||
cs_flag_t | state, | ||
cs_flag_t | meta, | ||
void * | context | ||
) |
Allocate and initialize a new cs_xdef_t structure based on volumic elements.
[in] | type | type of definition |
[in] | dim | dimension of the values to define |
[in] | z_id | volume zone id |
[in] | state | flag to know if this uniform, cellwise, steady... |
[in] | meta | metadata associated to this description |
[in] | context | pointer to a structure |