|
programmer's documentation
|
#include "cs_defs.h"#include "cs_base.h"#include "cs_cdo_connect.h"#include "cs_cdo_local.h"#include "cs_cdo_quantities.h"#include "cs_equation_common.h"#include "cs_equation_param.h"#include "cs_field.h"#include "cs_matrix.h"#include "cs_mesh.h"#include "cs_source_term.h"#include "cs_time_step.h"
Go to the source code of this file.
Functions | |
| void | cs_cdofb_scaleq_init_common (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step, const cs_matrix_structure_t *ms) |
| Allocate work buffer and general structures related to CDO scalar-valued face-based schemes. Set shared pointers from the main domain members. More... | |
| void | cs_cdofb_scaleq_get (cs_cell_sys_t **csys, cs_cell_builder_t **cb) |
| Retrieve work buffers used for building a CDO system cellwise. More... | |
| void | cs_cdofb_scaleq_finalize_common (void) |
| Free work buffer and general structure related to CDO face-based schemes. More... | |
| void * | cs_cdofb_scaleq_init_context (const cs_equation_param_t *eqp, cs_equation_builder_t *eqb) |
| Initialize a cs_cdofb_scaleq_t structure storing data useful for managing such a scheme. More... | |
| void * | cs_cdofb_scaleq_free_context (void *data) |
| Destroy a cs_cdofb_scaleq_t structure. More... | |
| void | cs_cdofb_scaleq_compute_source (const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data) |
| Compute the contributions of source terms (store inside data) More... | |
| void | cs_cdofb_scaleq_initialize_system (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 data structure. More... | |
| void | cs_cdofb_scaleq_build_system (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 the linear system arising from a scalar convection/diffusion equation with a CDO face-based scheme. One works cellwise and then process to the assembly. More... | |
| void | cs_cdofb_scaleq_update_field (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... | |
| void | cs_cdofb_scaleq_extra_op (const char *eqname, const cs_field_t *field, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data) |
| Predefined extra-operations related to this equation. More... | |
| double * | cs_cdofb_scaleq_get_face_values (const void *data) |
| Get the computed values at each face. More... | |
| void cs_cdofb_scaleq_build_system | ( | 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 the linear system arising from a scalar convection/diffusion equation with a CDO face-based scheme. One works cellwise and then process to the assembly.
| [in] | mesh | 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 cs_cdofb_scaleq_t structure |
| [in,out] | rhs | right-hand side |
| [in,out] | matrix | pointer to cs_matrix_t structure to compute |
| void cs_cdofb_scaleq_compute_source | ( | const cs_equation_param_t * | eqp, |
| cs_equation_builder_t * | eqb, | ||
| void * | data | ||
| ) |
Compute the contributions of source terms (store inside data)
| [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 cs_cdofb_scaleq_t structure |
| void cs_cdofb_scaleq_extra_op | ( | const char * | eqname, |
| const cs_field_t * | field, | ||
| const cs_equation_param_t * | eqp, | ||
| cs_equation_builder_t * | eqb, | ||
| void * | data | ||
| ) |
Predefined extra-operations 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 cs_cdofb_scaleq_t structure |
| void cs_cdofb_scaleq_finalize_common | ( | void | ) |
Free work buffer and general structure related to CDO face-based schemes.
| void* cs_cdofb_scaleq_free_context | ( | void * | data | ) |
Destroy a cs_cdofb_scaleq_t structure.
| [in,out] | data | pointer to a cs_cdofb_scaleq_t structure |
| void cs_cdofb_scaleq_get | ( | cs_cell_sys_t ** | csys, |
| cs_cell_builder_t ** | cb | ||
| ) |
Retrieve work buffers used for building a CDO system cellwise.
| [out] | csys | pointer to a pointer on a cs_cell_sys_t structure |
| [out] | cb | pointer to a pointer on a cs_cell_builder_t structure |
| double* cs_cdofb_scaleq_get_face_values | ( | const void * | data | ) |
Get the computed values at each face.
| [in] | data | pointer to cs_cdofb_scaleq_t structure |
| void cs_cdofb_scaleq_init_common | ( | const cs_cdo_quantities_t * | quant, |
| const cs_cdo_connect_t * | connect, | ||
| const cs_time_step_t * | time_step, | ||
| const cs_matrix_structure_t * | ms | ||
| ) |
Allocate work buffer and general structures related to CDO scalar-valued face-based schemes. Set shared pointers from the main domain members.
| [in] | quant | additional mesh quantities struct. |
| [in] | connect | pointer to a cs_cdo_connect_t struct. |
| [in] | time_step | pointer to a time step structure |
| [in] | ms | pointer to a cs_matrix_structure_t structure |
| void* cs_cdofb_scaleq_init_context | ( | const cs_equation_param_t * | eqp, |
| cs_equation_builder_t * | eqb | ||
| ) |
Initialize a cs_cdofb_scaleq_t structure storing data useful for managing such a scheme.
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in,out] | eqb | pointer to a cs_equation_builder_t structure |
| void cs_cdofb_scaleq_initialize_system | ( | 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 data 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 cs_cdofb_scaleq_t 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 |
| void cs_cdofb_scaleq_update_field | ( | 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 cs_cdofb_scaleq_t structure |
| [in,out] | field_val | pointer to the current value of the field |
1.8.13