![]() |
programmer's documentation
|
#include "cs_equation_param.h"
#include "cs_equation_common.h"
#include "cs_field.h"
#include "cs_param.h"
Go to the source code of this file.
Data Structures | |
struct | cs_equation_t |
Typedefs | |
typedef void *() | cs_equation_init_context_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb) |
Initialize a scheme data structure used during the building of the algebraic system. More... | |
typedef void *() | cs_equation_free_context_t(void *scheme_context) |
Destroy a scheme data structure. More... | |
typedef void() | cs_equation_initialize_system_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_matrix_t **system_matrix, cs_real_t **system_rhs) |
Create the matrix of the current algebraic system. Allocate and initialize the right-hand side associated to the given builder structure. More... | |
typedef void() | cs_equation_build_system_t(const cs_mesh_t *mesh, const cs_real_t *field_val, double dt_cur, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *rhs, cs_matrix_t *matrix) |
Build a linear system within the CDO framework. More... | |
typedef void() | cs_equation_prepare_solve_t(void *eq_to_cast, cs_real_t *p_x[], cs_real_t *p_rhs[]) |
Carry out operations for allocating and/or initializing the solution array and the right hand side of the linear system to solve. Handle parallelism thanks to cs_range_set_t structure. More... | |
typedef void() | cs_equation_update_field_t(const cs_real_t *solu, const cs_real_t *rhs, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *field_val) |
Store solution(s) of the linear system into a field structure Update extra-field values if required (for hybrid discretization) More... | |
typedef void() | cs_equation_compute_source_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *builder) |
Compute the contribution of source terms for the current time. More... | |
typedef void() | cs_equation_flux_plane_t(const cs_real_t normal[], const cs_real_t *pdi, int ml_id, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, double *d_flux, double *c_flux) |
Compute the diffusive and convective flux across a list of faces. More... | |
typedef void() | cs_equation_cell_difflux_t(const cs_real_t *fvals, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_flag_t location, cs_real_t *d_flux) |
Cellwise computation of the diffusive flux across all faces. Primal or dual faces are considered according to the space scheme. More... | |
typedef void() | cs_equation_extra_op_t(const char *eqname, const cs_field_t *field, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data) |
Extra-operation related to this equation. More... | |
typedef double *() | cs_equation_get_extra_values_t(const void *scheme_context) |
Get the computed values at a different location than that of the field associated to this equation. More... | |
typedef void() cs_equation_build_system_t(const cs_mesh_t *mesh, const cs_real_t *field_val, double dt_cur, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *rhs, cs_matrix_t *matrix) |
Build a linear system within the CDO framework.
[in] | m | pointer to a cs_mesh_t structure |
[in] | field_val | pointer to the current value of the field |
[in] | dt_cur | current value of the time step |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to a scheme builder structure |
[in,out] | rhs | right-hand side to compute |
[in,out] | matrix | pointer to cs_matrix_t structure to compute |
typedef void() cs_equation_cell_difflux_t(const cs_real_t *fvals, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_flag_t location, cs_real_t *d_flux) |
Cellwise computation of the diffusive flux across all faces. Primal or dual faces are considered according to the space scheme.
[in] | fvals | pointer to an array of field values |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to a generic data structure |
[in,out] | location | where the flux is defined |
[in,out] | diff_flux | pointer to the value of the diffusive flux |
typedef void() cs_equation_compute_source_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *builder) |
Compute the contribution of source terms for the current time.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to a scheme data structure which is cast on-the-fly |
typedef void() cs_equation_extra_op_t(const char *eqname, const cs_field_t *field, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data) |
Extra-operation related to this equation.
[in] | eqname | name of the equation |
[in] | field | pointer to a field structure |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to a generic data structure |
typedef void() cs_equation_flux_plane_t(const cs_real_t normal[], const cs_real_t *pdi, int ml_id, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, double *d_flux, double *c_flux) |
Compute the diffusive and convective flux across a list of faces.
[in] | normal | indicate in which direction flux is > 0 |
[in] | pdi | pointer to an array of field values |
[in] | ml_id | id related to a cs_mesh_location_t struct. |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to data specific for this scheme |
[in,out] | d_flux | pointer to the value of the diffusive flux |
[in,out] | c_flux | pointer to the value of the convective flux |
typedef void*() cs_equation_free_context_t(void *scheme_context) |
Destroy a scheme data structure.
[in,out] | scheme_context | pointer to a builder structure |
typedef double*() cs_equation_get_extra_values_t(const void *scheme_context) |
Get the computed values at a different location than that of the field associated to this equation.
[in] | scheme_context | pointer to a data structure cast on-the-fly |
typedef void*() cs_equation_init_context_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb) |
Initialize a scheme data structure used during the building of the algebraic system.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
typedef void() cs_equation_initialize_system_t(const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_matrix_t **system_matrix, cs_real_t **system_rhs) |
Create the matrix of the current algebraic system. Allocate and initialize the right-hand side associated to the given builder structure.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to generic data structure |
[in,out] | system_matrix | pointer of pointer to a cs_matrix_t struct. |
[in,out] | system_rhs | pointer of pointer to an array of double |
Carry out operations for allocating and/or initializing the solution array and the right hand side of the linear system to solve. Handle parallelism thanks to cs_range_set_t structure.
[in,out] | eq_cast | pointer to generic builder structure |
[in,out] | p_x | pointer of pointer to the solution array |
[in,out] | p_rhs | pointer of pointer to the RHS array |
typedef void() cs_equation_update_field_t(const cs_real_t *solu, const cs_real_t *rhs, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *field_val) |
Store solution(s) of the linear system into a field structure Update extra-field values if required (for hybrid discretization)
[in] | solu | solution array |
[in] | rhs | rhs associated to this solution array |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to a data structure |
[in,out] | field_val | pointer to the current value of the field |