![]() |
programmer's documentation
|
#include "cs_defs.h"
#include <assert.h>
#include <ctype.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <bft_mem.h>
#include "cs_base.h"
#include "cs_cdo.h"
#include "cs_cdovb_scaleq.h"
#include "cs_cdovcb_scaleq.h"
#include "cs_cdofb_scaleq.h"
#include "cs_evaluate.h"
#include "cs_hho_scaleq.h"
#include "cs_log.h"
#include "cs_mesh_location.h"
#include "cs_parall.h"
#include "cs_post.h"
#include "cs_range_set.h"
#include "cs_sles.h"
#include "cs_timer_stats.h"
#include "cs_equation.h"
Macros | |
#define | CS_EQUATION_DBG 1 |
Typedefs | |
typedef void *() | cs_equation_init_builder_t(const cs_equation_param_t *eqp, const cs_mesh_t *mesh) |
Initialize a builder structure. More... | |
typedef void *() | cs_equation_free_builder_t(void *builder) |
Destroy a builder structure. More... | |
typedef void() | cs_equation_initialize_system_t(void *builder, 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, void *builder, cs_real_t *rhs, cs_matrix_t *matrix) |
Build a linear system within the CDO framework. More... | |
typedef void() | cs_equation_update_field_t(const cs_real_t *solu, const cs_real_t *rhs, void *builder, 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(void *builder) |
Compute the contribution of source terms for the current time. More... | |
typedef void() | cs_equation_flux_plane_t(const cs_real_t direction[], const cs_real_t *pdi, int ml_id, void *builder, double *diff_flux, double *conv_flux) |
Compute the diffusive and convective flux across a list of faces. More... | |
typedef void() | cs_equation_cell_difflux_t(const cs_real_t *f_vals, void *builder, 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, void *builder) |
Extra-operation related to this equation. More... | |
typedef double *() | cs_equation_get_extra_values_t(const void *builder) |
Get the computed values at a different location than that of the field associated to this equation. More... | |
typedef void() | cs_equation_monitor_t(const char *eqname, const void *builder) |
Display information related to the monitoring of the current system. More... | |
Functions | |
static int | _check_ml_name (const char *ml_name, const char *default_ml_name) |
Given its name, get the id related to a cs_mesh_location_t structure. More... | |
static int | _add_bc_def (cs_param_bc_t *bc) |
Update the structure storing the BC parameters. More... | |
static int | _add_ic_def (cs_param_time_t *t_info) |
Add a new definition to set the initial condition (IC) More... | |
static void | _initialize_field_from_ic (cs_equation_t *eq) |
Set the initial values for the variable related to an equation. More... | |
cs_equation_t * | cs_equation_create (const char *eqname, const char *varname, cs_equation_type_t eqtype, cs_param_var_type_t vartype, cs_param_bc_type_t default_bc) |
Define and initialize a new structure to store parameters related to an equation. More... | |
cs_equation_t * | cs_equation_free (cs_equation_t *eq) |
Destroy a cs_equation_t structure. More... | |
void | cs_equation_print_monitoring (const cs_equation_t *eq) |
Print a synthesis of the monitoring information in the performance file. More... | |
void | cs_equation_summary (const cs_equation_t *eq) |
Summary of a cs_equation_t structure. More... | |
void | cs_equation_set_timer_stats (cs_equation_t *eq) |
Create timer statistics structures to enable a "home-made" profiling. More... | |
void | cs_equation_last_setup (const cs_cdo_connect_t *connect, cs_equation_t *eq) |
Assign a set of pointer functions for managing the cs_equation_t structure during the computation. More... | |
void | cs_equation_set_param (cs_equation_t *eq, cs_equation_key_t key, const char *keyval) |
Set a parameter in a cs_equation_t structure attached to keyname. More... | |
void | cs_equation_link (cs_equation_t *eq, const char *keyword, void *pointer) |
Associate a material property or an advection field with an equation for a given term (diffusion, time, convection) More... | |
void | cs_equation_set_ic_by_value (cs_equation_t *eq, const char *ml_name, cs_get_t get) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here a constant value is set to all the entities belonging to the given mesh location. More... | |
void | cs_equation_set_ic_by_qov (cs_equation_t *eq, const char *ml_name, double quantity) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here the value related to all the entities belonging to the given mesh location is such that the integral over these cells returns the requested quantity. More... | |
void | cs_equation_set_ic_by_analytic (cs_equation_t *eq, const char *ml_name, cs_analytic_func_t *analytic) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function. More... | |
void | cs_equation_add_bc_by_value (cs_equation_t *eq, const cs_param_bc_type_t bc_type, const char *ml_name, const cs_get_t get) |
Define and initialize a new structure to set a boundary condition related to the givan equation structure ml_name corresponds to the name of a pre-existing cs_mesh_location_t. More... | |
void | cs_equation_add_bc_by_analytic (cs_equation_t *eq, const cs_param_bc_type_t bc_type, const char *ml_name, cs_analytic_func_t *analytic) |
Define and initialize a new structure to set a boundary condition related to the givan equation structure ml_name corresponds to the name of a pre-existing cs_mesh_location_t. More... | |
void | cs_equation_add_linear_reaction (cs_equation_t *eq, cs_property_t *property, const char *r_name) |
Define and initialize a new structure to store parameters related to a reaction term. More... | |
cs_source_term_t * | cs_equation_add_source_term_by_val (cs_equation_t *eq, const char *st_name, const char *ml_name, const void *val) |
Define a new source term structure and initialize it by value. More... | |
cs_source_term_t * | cs_equation_add_source_term_by_analytic (cs_equation_t *eq, const char *st_name, const char *ml_name, cs_analytic_func_t *ana) |
Define a new source term structure and initialize it by an analytical function. More... | |
void | cs_equation_create_field (cs_equation_t *eq) |
Create a field structure related to this cs_equation_t structure to an equation. More... | |
void | cs_equation_init_system (const cs_mesh_t *mesh, cs_equation_t *eq) |
Initialize the values of a field according to the initial condition related to its equation. 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... | |
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 to an equation. 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... | |
const 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_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 char *r_name) |
Return a pointer to the cs_property_t structure associated to the reaction term called r_name and related to this equation. More... | |
cs_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... | |
cs_param_var_type_t | cs_equation_get_var_type (const cs_equation_t *eq) |
Return the type of 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_extra_post (const cs_equation_t *eq, const cs_time_step_t *ts, double dt) |
Predefined extra-operations related to this equation. More... | |
Variables | |
static const char | _err_empty_eq [] |
#define CS_EQUATION_DBG 1 |
typedef void() cs_equation_build_system_t(const cs_mesh_t *mesh, const cs_real_t *field_val, double dt_cur, void *builder, 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,out] | builder | pointer to 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 *f_vals, void *builder, 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] | f_vals | pointer to an array of field values |
[in,out] | builder | pointer to a builder 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(void *builder) |
Compute the contribution of source terms for the current time.
[in,out] | builder | pointer to builder structure |
typedef void() cs_equation_extra_op_t(const char *eqname, const cs_field_t *field, void *builder) |
Extra-operation related to this equation.
[in] | eqname | name of the equation |
[in] | field | pointer to a field structure |
[in,out] | builder | pointer to builder structure |
typedef void() cs_equation_flux_plane_t(const cs_real_t direction[], const cs_real_t *pdi, int ml_id, void *builder, double *diff_flux, double *conv_flux) |
Compute the diffusive and convective flux across a list of faces.
[in] | direction | 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,out] | builder | pointer to a builder structure |
[in,out] | diff_flux | pointer to the value of the diffusive flux |
[in,out] | conv_flux | pointer to the value of the convective flux |
typedef void*() cs_equation_free_builder_t(void *builder) |
Destroy a builder structure.
[in,out] | builder | pointer to a builder structure |
typedef double*() cs_equation_get_extra_values_t(const void *builder) |
Get the computed values at a different location than that of the field associated to this equation.
[in] | builder | pointer to a builder structure |
typedef void*() cs_equation_init_builder_t(const cs_equation_param_t *eqp, const cs_mesh_t *mesh) |
Initialize a builder structure.
[in] | eq | pointer to a cs_equation_param_t structure |
[in] | mesh | pointer to a cs_mesh_t structure |
typedef void() cs_equation_initialize_system_t(void *builder, 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,out] | builder | pointer to generic builder 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 |
typedef void() cs_equation_monitor_t(const char *eqname, const void *builder) |
Display information related to the monitoring of the current system.
[in] | eqname | name of the related equation |
[in] | builder | pointer to an equation builder structure |
typedef void() cs_equation_update_field_t(const cs_real_t *solu, const cs_real_t *rhs, void *builder, 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,out] | builder | pointer to builder structure |
[in,out] | field_val | pointer to the current value of the field |
|
inlinestatic |
Update the structure storing the BC parameters.
[in,out] | bc | pointer to a cs_param_bc_t structure |
|
inlinestatic |
Add a new definition to set the initial condition (IC)
[in,out] | t_info | pointer to a cs_param_time_t structure |
|
inlinestatic |
Given its name, get the id related to a cs_mesh_location_t structure.
[in] | ml_name | name of the location |
[in] | default_ml_name | name of the location by default |
|
static |
Set the initial values for the variable related to an equation.
[in,out] | eq | pointer to a cs_equation_t structure |
void cs_equation_add_bc_by_analytic | ( | cs_equation_t * | eq, |
const cs_param_bc_type_t | bc_type, | ||
const char * | ml_name, | ||
cs_analytic_func_t * | analytic | ||
) |
Define and initialize a new structure to set a boundary condition related to the givan equation structure ml_name corresponds to the name of a pre-existing cs_mesh_location_t.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | bc_type | type of boundary condition to add |
[in] | ml_name | name of the related mesh location |
[in] | analytic | pointer to an analytic function defining the value |
void cs_equation_add_bc_by_value | ( | cs_equation_t * | eq, |
const cs_param_bc_type_t | bc_type, | ||
const char * | ml_name, | ||
const cs_get_t | get | ||
) |
Define and initialize a new structure to set a boundary condition related to the givan equation structure ml_name corresponds to the name of a pre-existing cs_mesh_location_t.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | bc_type | type of boundary condition to add |
[in] | ml_name | name of the related mesh location |
[in] | get | pointer to a cs_get_t structure storing the value |
void cs_equation_add_linear_reaction | ( | cs_equation_t * | eq, |
cs_property_t * | property, | ||
const char * | r_name | ||
) |
Define and initialize a new structure to store parameters related to a reaction term.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | property | pointer to a cs_property_t struct. |
[in] | r_name | name of the reaction term (optional, i.e. NULL) |
cs_source_term_t* cs_equation_add_source_term_by_analytic | ( | cs_equation_t * | eq, |
const char * | st_name, | ||
const char * | ml_name, | ||
cs_analytic_func_t * | ana | ||
) |
Define a new source term structure and initialize it by an analytical function.
Define and initialize by an analytical function a new structure related to a source term defined by a user.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | st_name | name of the source term or NULL |
[in] | ml_name | name of the related mesh location |
[in] | ana | pointer to an analytical function |
cs_source_term_t* cs_equation_add_source_term_by_val | ( | cs_equation_t * | eq, |
const char * | st_name, | ||
const char * | ml_name, | ||
const void * | val | ||
) |
Define a new source term structure and initialize it by value.
Define and initialize by value a new structure to store parameters related to a source term defined by a user.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | st_name | name of the source term or NULL |
[in] | ml_name | name of the related mesh location or NULL |
[in] | val | pointer to the value |
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] | m | 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 |
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 |
cs_equation_t* cs_equation_create | ( | const char * | eqname, |
const char * | varname, | ||
cs_equation_type_t | eqtype, | ||
cs_param_var_type_t | vartype, | ||
cs_param_bc_type_t | default_bc | ||
) |
Define and initialize a new structure to store parameters related to an equation.
[in] | eqname | name of the equation |
[in] | varname | name of the variable associated to this equation |
[in] | eqtype | type of equation (user, predefined...) |
[in] | vartype | type of variable (scalar, vector, tensor...) |
[in] | default_bc | type of boundary condition set by default |
void cs_equation_create_field | ( | cs_equation_t * | eq | ) |
Create a field structure related to this cs_equation_t structure to an equation.
[in,out] | eq | pointer to a cs_equation_t structure |
void cs_equation_extra_post | ( | const cs_equation_t * | eq, |
const cs_time_step_t * | ts, | ||
double | dt | ||
) |
Predefined extra-operations related to this equation.
[in] | eq | pointer to a cs_equation_t structure |
[in] | ts | pointer to a cs_time_step_t struct. |
[in] | dt | value of the current time step |
cs_equation_t* cs_equation_free | ( | cs_equation_t * | eq | ) |
Destroy a cs_equation_t structure.
[in,out] | 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).
Return a pointer to the cs_property_t structure associated to the diffusion term for this equation.
[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 |
const char* cs_equation_get_name | ( | const cs_equation_t * | eq | ) |
Return the name related to the given cs_equation_t structure to an equation.
[in] | eq | pointer to a cs_equation_t structure |
const 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 char * | r_name | ||
) |
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 |
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_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).
Return a pointer to the cs_property_t structure associated to the unsteady term for this equation.
[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 |
cs_param_var_type_t cs_equation_get_var_type | ( | const cs_equation_t * | eq | ) |
Return the type of variable solved by this equation.
[in] | eq | pointer to a cs_equation_t structure |
void cs_equation_init_system | ( | const cs_mesh_t * | mesh, |
cs_equation_t * | eq | ||
) |
Initialize the values of a field according to the initial condition related to its equation.
[in] | mesh | pointer to the mesh structure |
[in,out] | eq | pointer to a cs_equation_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_last_setup | ( | const cs_cdo_connect_t * | connect, |
cs_equation_t * | eq | ||
) |
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,out] | eq | pointer to a cs_equation_t structure |
void cs_equation_link | ( | cs_equation_t * | eq, |
const char * | keyword, | ||
void * | pointer | ||
) |
Associate a material property or an advection field with an equation for a given term (diffusion, time, convection)
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | keyword | "time", "diffusion", "advection" |
[in] | pointer | pointer to a given structure |
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 |
void cs_equation_print_monitoring | ( | const cs_equation_t * | eq | ) |
Print a synthesis of the monitoring information in the performance file.
[in] | eq | pointer to a cs_equation_t structure |
void cs_equation_set_ic_by_analytic | ( | cs_equation_t * | eq, |
const char * | ml_name, | ||
cs_analytic_func_t * | analytic | ||
) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | ml_name | name of the associated mesh location (if NULL or "" all cells are considered) |
[in] | analytic | pointer to an analytic function |
void cs_equation_set_ic_by_qov | ( | cs_equation_t * | eq, |
const char * | ml_name, | ||
double | quantity | ||
) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here the value related to all the entities belonging to the given mesh location is such that the integral over these cells returns the requested quantity.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | ml_name | name of the associated mesh location (if NULL or "" all cells are considered) |
[in] | quantity | quantity to distribute over the mesh location |
void cs_equation_set_ic_by_value | ( | cs_equation_t * | eq, |
const char * | ml_name, | ||
cs_get_t | get | ||
) |
Define the initial condition for the unknown related to this equation This definition can be done on a specified mesh location. By default, the unknown is set to zero everywhere. Here a constant value is set to all the entities belonging to the given mesh location.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | ml_name | name of the associated mesh location (if NULL or "" all cells are considered) |
[in] | val | pointer to the value |
void cs_equation_set_param | ( | cs_equation_t * | eq, |
cs_equation_key_t | key, | ||
const char * | keyval | ||
) |
Set a parameter in a cs_equation_t structure attached to keyname.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | key | key related to the member of eq to set |
[in] | keyval | accessor to the value to set |
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 |
void cs_equation_summary | ( | const cs_equation_t * | eq | ) |
Summary of a cs_equation_t structure.
[in] | eq | pointer to a cs_equation_t structure |