![]() |
programmer's documentation
|
#include "cs_cdo_connect.h"
#include "cs_cdo_quantities.h"
#include "cs_equation_param.h"
#include "cs_equation_common.h"
#include "cs_field.h"
#include "cs_param.h"
#include "cs_mesh.h"
#include "cs_time_step.h"
Go to the source code of this file.
Functions | |
int | cs_equation_get_n_equations (void) |
Retrieve the number of equations. More... | |
cs_equation_t * | cs_equation_by_name (const char *eqname) |
Find the cs_equation_t structure with name eqname Return NULL if not find. More... | |
cs_equation_param_t * | cs_equation_param_by_name (const char *eqname) |
Return the cs_equation_param_t structure associated to a cs_equation_t structure thanks to the equation name. More... | |
cs_equation_param_t * | cs_equation_get_param (const cs_equation_t *eq) |
Return the cs_equation_param_t structure associated to a cs_equation_t structure. More... | |
cs_equation_t * | cs_equation_by_id (int eq_id) |
Find the cs_equation_t structure with name eqname Return NULL if not find. More... | |
bool | cs_equation_is_steady (const cs_equation_t *eq) |
Return true is the given equation is steady otherwise false. More... | |
const char * | cs_equation_get_name (const cs_equation_t *eq) |
Return the name related to the given cs_equation_t structure. More... | |
int | cs_equation_get_id (const cs_equation_t *eq) |
Return the id number related to the given cs_equation_t structure. More... | |
cs_field_t * | cs_equation_get_field (const cs_equation_t *eq) |
Return the field structure associated to a cs_equation_t structure. More... | |
cs_flag_t | cs_equation_get_flag (const cs_equation_t *eq) |
Return the flag associated to an equation. More... | |
cs_equation_builder_t * | cs_equation_get_builder (const cs_equation_t *eq) |
Return the cs_equation_builder_t structure associated to a cs_equation_t structure. Only for an advanced usage. More... | |
void * | cs_equation_get_scheme_context (const cs_equation_t *eq) |
Return a pointer to a structure useful to handle low-level operations for the given equation. More... | |
cs_equation_t * | cs_equation_add (const char *eqname, const char *varname, cs_equation_type_t eqtype, int dim, cs_param_bc_type_t default_bc) |
Add a new equation structure and set a first set of parameters. More... | |
cs_equation_t * | cs_equation_add_user (const char *eqname, const char *varname, int dim, cs_param_bc_type_t default_bc) |
Add a new user equation structure and set a first set of parameters. More... | |
void | cs_equation_destroy_all (void) |
Destroy all cs_equation_t structures. More... | |
void | cs_equation_log_monitoring (void) |
Print a synthesis of the monitoring information in the performance file. More... | |
void | cs_equation_log_setup (void) |
Summarize all cs_equation_t structures. More... | |
void | cs_equation_set_timer_stats (cs_equation_t *eq) |
Create timer statistics structures to enable a "home-made" profiling. More... | |
bool | cs_equation_finalize_setup (const cs_cdo_connect_t *connect, bool do_profiling) |
Assign a set of pointer functions for managing the cs_equation_t structure during the computation. More... | |
void | cs_equation_create_fields (void) |
Create a field structure related to all cs_equation_t structures. More... | |
void | cs_equation_initialize (const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts) |
Allocate and initialize the builder of the algebraic system. Set the initialize condition to all variable fields associated to each cs_equation_t structure. Compute the initial source term. More... | |
bool | cs_equation_needs_build (const cs_equation_t *eq) |
Check if one has to build the linear system. More... | |
void | cs_equation_build_system (const cs_mesh_t *mesh, const cs_time_step_t *time_step, double dt_cur, cs_equation_t *eq) |
Build the linear system for this equation. More... | |
void | cs_equation_solve (cs_equation_t *eq) |
Solve the linear system for this equation. More... | |
cs_property_t * | cs_equation_get_diffusion_property (const cs_equation_t *eq) |
Return a pointer to the cs_property_t structure associated to the diffusion term for this equation (NULL if not activated). More... | |
cs_property_t * | cs_equation_get_time_property (const cs_equation_t *eq) |
Return a pointer to the cs_property_t structure associated to the unsteady term for this equation (NULL if not activated). More... | |
cs_property_t * | cs_equation_get_reaction_property (const cs_equation_t *eq, const int reaction_id) |
Return a pointer to the cs_property_t structure associated to the reaction term called r_name and related to this equation. More... | |
cs_param_space_scheme_t | cs_equation_get_space_scheme (const cs_equation_t *eq) |
Return the type of numerical scheme used for the discretization in space. More... | |
int | cs_equation_get_space_poly_degree (const cs_equation_t *eq) |
Return the max. degree used in the polynomial basis for the space discretization. More... | |
int | cs_equation_get_var_dim (const cs_equation_t *eq) |
Return the dimension of the variable solved by this equation. More... | |
cs_equation_type_t | cs_equation_get_type (const cs_equation_t *eq) |
Return the type of equation for the given equation structure. More... | |
const cs_real_t * | cs_equation_get_face_values (const cs_equation_t *eq) |
Get the values at each face of the mesh for the field unknowns related to this equation. More... | |
const cs_real_t * | cs_equation_get_cell_values (const cs_equation_t *eq) |
Get the values at each cell centers for the field unknowns related to this equation. More... | |
void | cs_equation_compute_flux_across_plane (const cs_equation_t *eq, const char *ml_name, const cs_real_3_t direction, cs_real_t *diff_flux, cs_real_t *conv_flux) |
Compute the diffusive and convective flux accross a plane defined by a mesh location structure attached to the name ml_name. More... | |
void | cs_equation_compute_diff_flux_cellwise (const cs_equation_t *eq, cs_flag_t location, cs_real_t *diff_flux) |
Cellwise computation of the diffusive flux across all cell faces. Primal or dual faces are considered according to the space scheme. More... | |
void | cs_equation_compute_vtx_field_gradient (const cs_equation_t *eq, cs_real_t *v_gradient) |
Cellwise computation of the discrete gradient at vertices. More... | |
void | cs_equation_extra_post_all (const cs_time_step_t *ts, double dt) |
Predefined extra-operations related to all equations. More... | |
cs_equation_t* cs_equation_add | ( | const char * | eqname, |
const char * | varname, | ||
cs_equation_type_t | eqtype, | ||
int | dim, | ||
cs_param_bc_type_t | default_bc | ||
) |
Add a new equation structure and set a first set of parameters.
[in] | eqname | name of the equation |
[in] | varname | name of the variable associated to this equation |
[in] | eqtype | type of equation (user, predefined...) |
[in] | dim | dimension of the unknow attached to this equation |
[in] | default_bc | type of boundary condition set by default |
cs_equation_t* cs_equation_add_user | ( | const char * | eqname, |
const char * | varname, | ||
int | dim, | ||
cs_param_bc_type_t | default_bc | ||
) |
Add a new user equation structure and set a first set of parameters.
[in] | eqname | name of the equation |
[in] | varname | name of the variable associated to this equation |
[in] | dim | dimension of the unknow attached to this equation |
[in] | default_bc | type of boundary condition set by default |
void cs_equation_build_system | ( | const cs_mesh_t * | mesh, |
const cs_time_step_t * | time_step, | ||
double | dt_cur, | ||
cs_equation_t * | eq | ||
) |
Build the linear system for this equation.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | time_step | pointer to a time step structure |
[in] | dt_cur | value of the current time step |
[in,out] | eq | pointer to a cs_equation_t structure |
cs_equation_t* cs_equation_by_id | ( | int | eq_id | ) |
Find the cs_equation_t structure with name eqname Return NULL if not find.
[in] | eq_id | id of the equation to find |
cs_equation_t* cs_equation_by_name | ( | const char * | eqname | ) |
Find the cs_equation_t structure with name eqname Return NULL if not find.
[in] | eqname | name of the equation to find |
void cs_equation_compute_diff_flux_cellwise | ( | const cs_equation_t * | eq, |
cs_flag_t | location, | ||
cs_real_t * | diff_flux | ||
) |
Cellwise computation of the diffusive flux across all cell faces. Primal or dual faces are considered according to the space scheme.
[in] | eq | pointer to a cs_equation_t structure |
[in] | location | indicate where the flux has to be computed |
[in,out] | diff_flux | value of the diffusive flux |
void cs_equation_compute_flux_across_plane | ( | const cs_equation_t * | eq, |
const char * | ml_name, | ||
const cs_real_3_t | direction, | ||
cs_real_t * | diff_flux, | ||
cs_real_t * | conv_flux | ||
) |
Compute the diffusive and convective flux accross a plane defined by a mesh location structure attached to the name ml_name.
[in] | eq | pointer to a cs_equation_t structure |
[in] | ml_name | name of the related mesh location |
[in] | direction | vector indicating in which direction flux is > 0 |
[in,out] | diff_flux | value of the diffusive part of the flux |
[in,out] | conv_flux | value of the convective part of the flux |
void cs_equation_compute_vtx_field_gradient | ( | const cs_equation_t * | eq, |
cs_real_t * | v_gradient | ||
) |
Cellwise computation of the discrete gradient at vertices.
[in] | eq | pointer to a cs_equation_t structure |
[in,out] | v_gradient | gradient at vertices |
void cs_equation_create_fields | ( | void | ) |
Create a field structure related to all cs_equation_t structures.
void cs_equation_destroy_all | ( | void | ) |
Destroy all cs_equation_t structures.
void cs_equation_extra_post_all | ( | const cs_time_step_t * | ts, |
double | dt | ||
) |
Predefined extra-operations related to all equations.
[in] | ts | pointer to a cs_time_step_t struct. |
[in] | dt | value of the current time step |
bool cs_equation_finalize_setup | ( | const cs_cdo_connect_t * | connect, |
bool | do_profiling | ||
) |
Assign a set of pointer functions for managing the cs_equation_t structure during the computation.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | do_profiling | true or false |
cs_equation_builder_t* cs_equation_get_builder | ( | const cs_equation_t * | eq | ) |
Return the cs_equation_builder_t structure associated to a cs_equation_t structure. Only for an advanced usage.
[in] | eq | pointer to a cs_equation_t structure |
const cs_real_t* cs_equation_get_cell_values | ( | const cs_equation_t * | eq | ) |
Get the values at each cell centers for the field unknowns related to this equation.
[in] | eq | pointer to a cs_equation_t structure |
cs_property_t* cs_equation_get_diffusion_property | ( | const cs_equation_t * | eq | ) |
Return a pointer to the cs_property_t structure associated to the diffusion term for this equation (NULL if not activated).
[in] | eq | pointer to a cs_equation_t structure |
const cs_real_t* cs_equation_get_face_values | ( | const cs_equation_t * | eq | ) |
Get the values at each face of the mesh for the field unknowns related to this equation.
[in] | eq | pointer to a cs_equation_t structure |
cs_field_t* cs_equation_get_field | ( | const cs_equation_t * | eq | ) |
Return the field structure associated to a cs_equation_t structure.
[in] | eq | pointer to a cs_equation_t structure |
cs_flag_t cs_equation_get_flag | ( | const cs_equation_t * | eq | ) |
Return the flag associated to an equation.
[in] | eq | pointer to a cs_equation_t structure |
int cs_equation_get_id | ( | const cs_equation_t * | eq | ) |
Return the id number related to the given cs_equation_t structure.
[in] | eq | pointer to a cs_equation_t structure |
int cs_equation_get_n_equations | ( | void | ) |
Retrieve the number of equations.
const char* cs_equation_get_name | ( | const cs_equation_t * | eq | ) |
Return the name related to the given cs_equation_t structure.
[in] | eq | pointer to a cs_equation_t structure |
cs_equation_param_t* cs_equation_get_param | ( | const cs_equation_t * | eq | ) |
Return the cs_equation_param_t structure associated to a cs_equation_t structure.
[in] | eq | pointer to a cs_equation_t structure |
cs_property_t* cs_equation_get_reaction_property | ( | const cs_equation_t * | eq, |
const int | reaction_id | ||
) |
Return a pointer to the cs_property_t structure associated to the reaction term called r_name and related to this equation.
[in] | eq | pointer to a cs_equation_t structure |
[in] | reaction_id | id related to this reaction term |
void* cs_equation_get_scheme_context | ( | const cs_equation_t * | eq | ) |
Return a pointer to a structure useful to handle low-level operations for the given equation.
[in] | eq | pointer to a cs_equation_t structure |
int cs_equation_get_space_poly_degree | ( | const cs_equation_t * | eq | ) |
Return the max. degree used in the polynomial basis for the space discretization.
[in] | eq | pointer to a cs_equation_t structure |
cs_param_space_scheme_t cs_equation_get_space_scheme | ( | const cs_equation_t * | eq | ) |
Return the type of numerical scheme used for the discretization in space.
[in] | eq | pointer to a cs_equation_t structure |
cs_property_t* cs_equation_get_time_property | ( | const cs_equation_t * | eq | ) |
Return a pointer to the cs_property_t structure associated to the unsteady term for this equation (NULL if not activated).
[in] | eq | pointer to a cs_equation_t structure |
cs_equation_type_t cs_equation_get_type | ( | const cs_equation_t * | eq | ) |
Return the type of equation for the given equation structure.
[in] | eq | pointer to a cs_equation_t structure |
int cs_equation_get_var_dim | ( | const cs_equation_t * | eq | ) |
Return the dimension of the variable solved by this equation.
[in] | eq | pointer to a cs_equation_t structure |
void cs_equation_initialize | ( | const cs_mesh_t * | mesh, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_time_step_t * | ts | ||
) |
Allocate and initialize the builder of the algebraic system. Set the initialize condition to all variable fields associated to each cs_equation_t structure. Compute the initial source term.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantities_t structure |
[in] | ts | pointer to a cs_time_step_t structure |
bool cs_equation_is_steady | ( | const cs_equation_t * | eq | ) |
Return true is the given equation is steady otherwise false.
[in] | eq | pointer to a cs_equation_t structure |
void cs_equation_log_monitoring | ( | void | ) |
Print a synthesis of the monitoring information in the performance file.
void cs_equation_log_setup | ( | void | ) |
Summarize all cs_equation_t structures.
bool cs_equation_needs_build | ( | const cs_equation_t * | eq | ) |
Check if one has to build the linear system.
[in] | eq | pointer to a cs_equation_t structure |
cs_equation_param_t* cs_equation_param_by_name | ( | const char * | eqname | ) |
Return the cs_equation_param_t structure associated to a cs_equation_t structure thanks to the equation name.
[in] | eqname | name of the equation |
void cs_equation_set_timer_stats | ( | cs_equation_t * | eq | ) |
Create timer statistics structures to enable a "home-made" profiling.
[in,out] | eq | pointer to a cs_equation_t structure |
void cs_equation_solve | ( | cs_equation_t * | eq | ) |
Solve the linear system for this equation.
[in,out] | eq | pointer to a cs_equation_t structure |