![]() |
programmer's documentation
|
#include "cs_mesh.h"
#include "cs_time_step.h"
#include "cs_param.h"
#include "cs_field.h"
#include "cs_cdo_quantities.h"
#include "cs_equation_priv.h"
Go to the source code of this file.
Functions | |
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_summary (const cs_equation_t *eq) |
Summary of a cs_equation_t structure. More... | |
void | cs_equation_last_setup (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_option (cs_equation_t *eq, const char *keyname, const void *val) |
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 (cs_equation_t *eq, const char *def_key, void *val) |
Define the initial condition of the unknown related to this equation def_key is among "value", "analytic". More... | |
void | cs_equation_add_bc (cs_equation_t *eq, const char *ml_name, const char *bc_key, const char *def_key, const void *val) |
Define and initialize a new structure to store parameters related to an equation bc_key among "dirichlet", "neumann" or "robin" def_key among "value", "analytic", "user". More... | |
void | cs_equation_add_reaction (cs_equation_t *eq, const char *r_name, const char *type_name, cs_property_t *property) |
Define and initialize a new structure to store parameters related to a reaction term. More... | |
void | cs_equation_set_reaction_option (cs_equation_t *eq, const char *r_name, const char *keyname, const char *keyval) |
Set advanced parameters related to a reaction term keyname among "lumping", "hodge_algo", "hodge_coef"... If r_name is NULL, all reaction terms of the given equation are set according to the couple (keyname, keyval) More... | |
void | cs_equation_add_source_term (cs_equation_t *eq, const char *st_name, const char *ml_name, const char *def_key, const void *val) |
Define and initialize a new structure to store parameters related to a source term def_key among "value", "analytic", "user"... More... | |
void | cs_equation_set_source_term_option (cs_equation_t *eq, const char *st_name, const char *keyname, const char *keyval) |
Set members defined by default in a source term structure keyname among "quadrature", "post"... 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, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_time_step_t *time_step, 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 *m, 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 (const cs_time_step_t *time_step, cs_equation_t *eq) |
Solve the linear system for this equation. More... | |
void | cs_equation_post (const cs_time_step_t *time_step, const cs_equation_t *eq) |
Post-processing related to 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 cs_real_t * | cs_equation_get_face_values (const cs_equation_t *eq) |
Compute the values of the associated field at each face of the mesh If the pointer storing the values is NULL, it is alloacted inside the function. 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... | |
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_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... | |
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... | |
void cs_equation_add_bc | ( | cs_equation_t * | eq, |
const char * | ml_name, | ||
const char * | bc_key, | ||
const char * | def_key, | ||
const void * | val | ||
) |
Define and initialize a new structure to store parameters related to an equation bc_key among "dirichlet", "neumann" or "robin" def_key among "value", "analytic", "user".
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | ml_name | name of the related mesh location |
[in] | bc_key | type of boundary condition to add |
[in] | def_key | way of defining the value of the bc |
[in] | val | pointer to the value |
void cs_equation_add_reaction | ( | cs_equation_t * | eq, |
const char * | r_name, | ||
const char * | type_name, | ||
cs_property_t * | property | ||
) |
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] | r_name | name of the source term or NULL |
[in] | type_name | type of reaction term to add |
[in] | property | pointer to a cs_property_t struct. |
void cs_equation_add_source_term | ( | cs_equation_t * | eq, |
const char * | st_name, | ||
const char * | ml_name, | ||
const char * | def_key, | ||
const void * | val | ||
) |
Define and initialize a new structure to store parameters related to a source term def_key among "value", "analytic", "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] | def_key | way of defining the value of the source term |
[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 |
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 |
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 |
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 | ) |
Compute the values of the associated field at each face of the mesh If the pointer storing the values is NULL, it is alloacted inside the function.
[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 |
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_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 |
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, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const cs_time_step_t * | time_step, | ||
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] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | cdoq | pointer to a cs_cdo_quantities_t struct. |
[in] | time_step | pointer to a time step 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 | ( | cs_equation_t * | eq | ) |
Assign a set of pointer functions for managing the cs_equation_t structure during the computation.
[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_post | ( | const cs_time_step_t * | time_step, |
const cs_equation_t * | eq | ||
) |
Post-processing related to this equation.
[in] | time_step | pointer to a time step structure |
[in] | eq | pointer to a cs_equation_t structure |
void cs_equation_set_ic | ( | cs_equation_t * | eq, |
const char * | def_key, | ||
void * | val | ||
) |
Define the initial condition of the unknown related to this equation def_key is among "value", "analytic".
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | def_key | way of defining the value of the bc |
[in] | val | pointer to the value |
Define the initial condition of the unknown related to this equation def_key is among "value", "analytic".
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | def_key | way of defining the value of the bc |
[in] | val | pointer to the value |
void cs_equation_set_option | ( | cs_equation_t * | eq, |
const char * | keyname, | ||
const void * | val | ||
) |
Set a parameter in a cs_equation_t structure attached to keyname.
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | keyname | name of key related to the member of eq to set |
[in] | val | accessor to the value to set |
void cs_equation_set_reaction_option | ( | cs_equation_t * | eq, |
const char * | r_name, | ||
const char * | keyname, | ||
const char * | keyval | ||
) |
Set advanced parameters related to a reaction term keyname among "lumping", "hodge_algo", "hodge_coef"... If r_name is NULL, all reaction terms of the given equation are set according to the couple (keyname, keyval)
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | r_name | name of the reaction term |
[in] | keyname | name of the key |
[in] | keyval | pointer to the value to set to the key |
void cs_equation_set_source_term_option | ( | cs_equation_t * | eq, |
const char * | st_name, | ||
const char * | keyname, | ||
const char * | keyval | ||
) |
Set members defined by default in a source term structure keyname among "quadrature", "post"...
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | st_name | name of the source term |
[in] | keyname | name of the key |
[in] | keyval | pointer to the value to set to the key |
Set members defined by default in a source term structure keyname among "quadrature", "post"...
[in,out] | eq | pointer to a cs_equation_t structure |
[in] | st_name | name of the source term |
[in] | keyname | name of the key |
[in] | keyval | pointer to the value to set to the key |
void cs_equation_solve | ( | const cs_time_step_t * | time_step, |
cs_equation_t * | eq | ||
) |
Solve the linear system for this equation.
[in] | time_step | pointer to a time step structure |
[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 |