Go to the source code of this file.
Macros | |
#define | CS_GWF_ADV_FIELD_NAME "darcy_velocity" |
Flags specifying the kind of post-processing to perform in | |
! the groundwater flow module | |
#define | CS_GWF_POST_CAPACITY (1 << 0) |
Activate the post-processing of the capacity (property in front of the unsteady term in Richards equation) More... | |
#define | CS_GWF_POST_MOISTURE (1 << 1) |
Activate the post-processing of the moisture content. More... | |
#define | CS_GWF_POST_PERMEABILITY (1 << 2) |
Activate the post-processing of the permeability field. More... | |
#define | CS_GWF_POST_DARCY_FLUX_BALANCE (1 << 3) |
Compute the overall balance at the different boundaries of the Darcy flux. More... | |
#define | CS_GWF_POST_DARCY_FLUX_DIVERGENCE (1 << 4) |
Compute in each control volume (vertices or cells w.r.t the space scheme) the divergence of the Darcy flux. More... | |
#define | CS_GWF_POST_DARCY_FLUX_AT_BOUNDARY (1 << 5) |
Define a field at boundary faces for the Darcy flux and activate the post-processing. More... | |
Typedefs | |
typedef cs_flag_t | cs_gwf_model_t |
Enumerations | |
Flags specifying the general behavior of the groundwater flow module | |
enum | cs_gwf_model_bit_t { CS_GWF_GRAVITATION = 1<< 0, CS_GWF_RICHARDS_UNSTEADY = 1<< 1, CS_GWF_SOIL_PROPERTY_UNSTEADY = 1<< 2, CS_GWF_SOIL_ALL_SATURATED = 1<< 3, CS_GWF_FORCE_RICHARDS_ITERATIONS = 1<< 6, CS_GWF_RESCALE_HEAD_TO_ZERO_MEAN_VALUE = 1<< 7, CS_GWF_ENFORCE_DIVERGENCE_FREE = 1<< 8 } |
elemental modelling choice either from the physical viewpoint or the numerical viewpoint More... | |
Functions | |
bool | cs_gwf_is_activated (void) |
Check if the groundwater flow module has been activated. More... | |
cs_gwf_t * | cs_gwf_activate (cs_property_type_t pty_type, cs_flag_t flag) |
Initialize the module dedicated to groundwater flows. More... | |
cs_gwf_t * | cs_gwf_destroy_all (void) |
Free the main structure related to groundwater flows. More... | |
void | cs_gwf_log_setup (void) |
Summary of the main cs_gwf_t structure. More... | |
void | cs_gwf_set_post_options (cs_flag_t post_flag) |
Set the flag dedicated to the post-processing of the GWF module. More... | |
cs_gwf_tracer_t * | cs_gwf_add_tracer (cs_gwf_tracer_model_t model, const char *eq_name, const char *var_name) |
Add a new equation related to the groundwater flow module This equation is a particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. Terms solved in the equation are activated according to the settings. More... | |
cs_gwf_tracer_t * | cs_gwf_add_user_tracer (const char *eq_name, const char *var_name, cs_gwf_tracer_setup_t *setup, cs_gwf_tracer_add_terms_t *add_terms) |
Add a new equation related to the groundwater flow module This equation is a particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. Terms are activated according to the settings. Modelling of the tracer parameters are left to the user. More... | |
cs_gwf_tracer_t * | cs_gwf_tracer_by_name (const char *eq_name) |
Retrieve the pointer to the cs_gwf_tracer_t structure associated to the name given as parameter. More... | |
void | cs_gwf_init_setup (void) |
Predefined settings for the Richards equation and the related equations defining the groundwater flow module Create new cs_field_t structures according to the setting. More... | |
void | cs_gwf_add_tracer_terms (void) |
Add new terms if needed (such as diffusion or reaction) to tracer equations according to the settings. More... | |
void | cs_gwf_finalize_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
Last initialization step of the groundwater flow module. More... | |
void | cs_gwf_update (const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts, bool cur2prev) |
Update the groundwater system (pressure head, head in law, moisture content, darcian velocity, soil capacity or permeability if needed) More... | |
void | cs_gwf_compute_steady_state (const cs_mesh_t *mesh, const cs_time_step_t *time_step, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq) |
Compute the steady-state of the groundwater flows module. Nothing is done if all equations are unsteady. More... | |
void | cs_gwf_compute (const cs_mesh_t *mesh, const cs_time_step_t *time_step, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq) |
Compute the system related to groundwater flows module. More... | |
cs_real_t | cs_gwf_integrate_tracer (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_gwf_tracer_t *tracer, const char *z_name) |
Compute the integral over a given set of cells of the field related to a tracer equation. This integral turns out to be exact for linear functions. More... | |
void | cs_gwf_extra_op (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq) |
Predefined extra-operations for the groundwater flow module. More... | |
void | cs_gwf_extra_post (void *input, int mesh_id, int cat_id, int ent_flag[5], cs_lnum_t n_cells, cs_lnum_t n_i_faces, cs_lnum_t n_b_faces, const cs_lnum_t cell_ids[], const cs_lnum_t i_face_ids[], const cs_lnum_t b_face_ids[], const cs_time_step_t *time_step) |
Predefined post-processing output for the groundwater flow module prototype of this function is fixed since it is a function pointer defined in cs_post.h (cs_post_time_mesh_dep_output_t) More... | |
#define CS_GWF_ADV_FIELD_NAME "darcy_velocity" |
#define CS_GWF_POST_CAPACITY (1 << 0) |
Activate the post-processing of the capacity (property in front of the unsteady term in Richards equation)
#define CS_GWF_POST_DARCY_FLUX_AT_BOUNDARY (1 << 5) |
Define a field at boundary faces for the Darcy flux and activate the post-processing.
#define CS_GWF_POST_DARCY_FLUX_BALANCE (1 << 3) |
Compute the overall balance at the different boundaries of the Darcy flux.
#define CS_GWF_POST_DARCY_FLUX_DIVERGENCE (1 << 4) |
Compute in each control volume (vertices or cells w.r.t the space scheme) the divergence of the Darcy flux.
#define CS_GWF_POST_MOISTURE (1 << 1) |
Activate the post-processing of the moisture content.
#define CS_GWF_POST_PERMEABILITY (1 << 2) |
Activate the post-processing of the permeability field.
typedef cs_flag_t cs_gwf_model_t |
enum cs_gwf_model_bit_t |
elemental modelling choice either from the physical viewpoint or the numerical viewpoint
cs_gwf_t* cs_gwf_activate | ( | cs_property_type_t | pty_type, |
cs_flag_t | flag | ||
) |
Initialize the module dedicated to groundwater flows.
[in] | pty_type | type of permeability (iso, ortho...) |
[in] | flag | flag to handle this module |
cs_gwf_tracer_t* cs_gwf_add_tracer | ( | cs_gwf_tracer_model_t | model, |
const char * | eq_name, | ||
const char * | var_name | ||
) |
Add a new equation related to the groundwater flow module This equation is a particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. Terms solved in the equation are activated according to the settings.
[in] | model | physical modelling to consider (0 = default settings) |
[in] | eq_name | name of the tracer equation |
[in] | var_name | name of the related variable |
void cs_gwf_add_tracer_terms | ( | void | ) |
Add new terms if needed (such as diffusion or reaction) to tracer equations according to the settings.
cs_gwf_tracer_t* cs_gwf_add_user_tracer | ( | const char * | eq_name, |
const char * | var_name, | ||
cs_gwf_tracer_setup_t * | setup, | ||
cs_gwf_tracer_add_terms_t * | add_terms | ||
) |
Add a new equation related to the groundwater flow module This equation is a particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. Terms are activated according to the settings. Modelling of the tracer parameters are left to the user.
[in] | eq_name | name of the tracer equation |
[in] | var_name | name of the related variable |
[in] | setup | function pointer (predefined prototype) |
[in] | add_terms | function pointer (predefined prototype) |
void cs_gwf_compute | ( | const cs_mesh_t * | mesh, |
const cs_time_step_t * | time_step, | ||
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | cdoq | ||
) |
Compute the system related to groundwater flows module.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | time_step | pointer to a cs_time_step_t structure |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | cdoq | pointer to a cs_cdo_quantities_t structure |
void cs_gwf_compute_steady_state | ( | const cs_mesh_t * | mesh, |
const cs_time_step_t * | time_step, | ||
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | cdoq | ||
) |
Compute the steady-state of the groundwater flows module. Nothing is done if all equations are unsteady.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | time_step | pointer to a cs_time_step_t structure |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | cdoq | pointer to a cs_cdo_quantities_t structure |
cs_gwf_t* cs_gwf_destroy_all | ( | void | ) |
Free the main structure related to groundwater flows.
void cs_gwf_extra_op | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | cdoq | ||
) |
Predefined extra-operations for the groundwater flow module.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | cdoq | pointer to a cs_cdo_quantities_t structure |
void cs_gwf_extra_post | ( | void * | input, |
int | mesh_id, | ||
int | cat_id, | ||
int | ent_flag[5], | ||
cs_lnum_t | n_cells, | ||
cs_lnum_t | n_i_faces, | ||
cs_lnum_t | n_b_faces, | ||
const cs_lnum_t | cell_ids[], | ||
const cs_lnum_t | i_face_ids[], | ||
const cs_lnum_t | b_face_ids[], | ||
const cs_time_step_t * | time_step | ||
) |
Predefined post-processing output for the groundwater flow module prototype of this function is fixed since it is a function pointer defined in cs_post.h (cs_post_time_mesh_dep_output_t)
[in,out] | input | pointer to a optional structure (here a cs_gwf_t structure) |
[in] | mesh_id | id of the output mesh for the current call |
[in] | cat_id | category id of the output mesh for this call |
[in] | ent_flag | indicate global presence of cells (ent_flag[0]), interior faces (ent_flag[1]), boundary faces (ent_flag[2]), particles (ent_flag[3]) or probes (ent_flag[4]) |
[in] | n_cells | local number of cells of post_mesh |
[in] | n_i_faces | local number of interior faces of post_mesh |
[in] | n_b_faces | local number of boundary faces of post_mesh |
[in] | cell_ids | list of cells (0 to n-1) |
[in] | i_face_ids | list of interior faces (0 to n-1) |
[in] | b_face_ids | list of boundary faces (0 to n-1) |
[in] | time_step | pointer to a cs_time_step_t struct. |
void cs_gwf_finalize_setup | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant | ||
) |
Last initialization step of the groundwater flow module.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantities_t structure |
void cs_gwf_init_setup | ( | void | ) |
Predefined settings for the Richards equation and the related equations defining the groundwater flow module Create new cs_field_t structures according to the setting.
cs_real_t cs_gwf_integrate_tracer | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | cdoq, | ||
const cs_gwf_tracer_t * | tracer, | ||
const char * | z_name | ||
) |
Compute the integral over a given set of cells of the field related to a tracer equation. This integral turns out to be exact for linear functions.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | cdoq | pointer to a cs_cdo_quantities_t structure |
[in] | tracer | pointer to a cs_gwf_tracer_t structure |
[in] | z_name | name of the volumic zone where the integral is done (if NULL or "" all cells are considered) |
bool cs_gwf_is_activated | ( | void | ) |
Check if the groundwater flow module has been activated.
void cs_gwf_log_setup | ( | void | ) |
Summary of the main cs_gwf_t structure.
void cs_gwf_set_post_options | ( | cs_flag_t | post_flag | ) |
Set the flag dedicated to the post-processing of the GWF module.
[in] | post_flag | flag to set |
cs_gwf_tracer_t* cs_gwf_tracer_by_name | ( | const char * | eq_name | ) |
Retrieve the pointer to the cs_gwf_tracer_t structure associated to the name given as parameter.
[in] | eq_name | name of the tracer equation |
void cs_gwf_update | ( | const cs_mesh_t * | mesh, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_time_step_t * | ts, | ||
bool | cur2prev | ||
) |
Update the groundwater system (pressure head, head in law, moisture content, darcian velocity, soil capacity or permeability if needed)
[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 |
[in] | cur2prev | true or false |