My Project
programmer's documentation
|
Go to the source code of this file.
Macros | |
Flags specifying the general behavior of the groundwater flow module | |
#define | CS_GWF_GRAVITATION (1 << 0) |
Gravitation effects are taken into account in the Richards equation. More... | |
#define | CS_GWF_FORCE_RICHARDS_ITERATIONS (1 << 1) |
Even if the Richards equation is steady-state, this equation is solved at each iteration. More... | |
#define | CS_GWF_RESCALE_HEAD_TO_ZERO_MEAN_VALUE (1 << 2) |
Compute the mean-value of the hydraulic head field and subtract this mean-value to get a field with zero mean-value. It's important to set this flag if no boundary condition is given. More... | |
#define | CS_GWF_ENFORCE_DIVERGENCE_FREE (1 << 3) |
Activate a treatment to enforce a Darcy flux to be divergence-free. More... | |
#define | CS_GWF_RICHARDS_UNSTEADY (1 << 4) |
Richards equation is unsteady (unsatured behavior) More... | |
#define | CS_GWF_SOIL_PROPERTY_UNSTEADY (1 << 5) |
Physical properties related to soil behavior are time-dependent. More... | |
#define | CS_GWF_SOIL_ALL_SATURATED (1 << 6) |
Several different hydraulic modeling can be considered. Set a special flag if all soils are considered as saturated (a simpler treatment can be performed in this case) More... | |
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... | |
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... | |
void | cs_gwf_set_gravity_vector (const cs_real_3_t gvec) |
Activate the gravity and set the gravitaty vector. More... | |
void | cs_gwf_set_darcian_flux_location (cs_flag_t location_flag) |
Advanced setting: indicate where the darcian flux is stored cs_flag_primal_cell is the default setting cs_flag_dual_face_byc is a valid choice for vertex-based schemes. More... | |
cs_gwf_tracer_t * | cs_gwf_add_tracer (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 are activated according to the settings. More... | |
cs_gwf_tracer_t * | cs_gwf_add_tracer_user (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_ENFORCE_DIVERGENCE_FREE (1 << 3) |
Activate a treatment to enforce a Darcy flux to be divergence-free.
#define CS_GWF_FORCE_RICHARDS_ITERATIONS (1 << 1) |
Even if the Richards equation is steady-state, this equation is solved at each iteration.
#define CS_GWF_GRAVITATION (1 << 0) |
Gravitation effects are taken into account in the Richards equation.
#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.
#define CS_GWF_RESCALE_HEAD_TO_ZERO_MEAN_VALUE (1 << 2) |
Compute the mean-value of the hydraulic head field and subtract this mean-value to get a field with zero mean-value. It's important to set this flag if no boundary condition is given.
#define CS_GWF_RICHARDS_UNSTEADY (1 << 4) |
Richards equation is unsteady (unsatured behavior)
#define CS_GWF_SOIL_ALL_SATURATED (1 << 6) |
Several different hydraulic modeling can be considered. Set a special flag if all soils are considered as saturated (a simpler treatment can be performed in this case)
#define CS_GWF_SOIL_PROPERTY_UNSTEADY (1 << 5) |
Physical properties related to soil behavior are time-dependent.
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 | ( | 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 are activated according to the 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_tracer_user | ( | 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_darcian_flux_location | ( | cs_flag_t | location_flag | ) |
Advanced setting: indicate where the darcian flux is stored cs_flag_primal_cell is the default setting cs_flag_dual_face_byc is a valid choice for vertex-based schemes.
[in] | location_flag | where the flux is defined |
Advanced setting: indicate where the darcian flux is stored cs_flag_primal_cell is the default setting cs_flag_dual_face_byc is a valid choice for vertex-based schemes.
cs_flag_dual_face_byc is the default setting for Vb (default space scheme) whereas cs_flag_primal_cell should be prefered for other schemes
[in] | location_flag | where the flux is defined |
void cs_gwf_set_gravity_vector | ( | const cs_real_3_t | gvec | ) |
Activate the gravity and set the gravitaty vector.
[in] | gvec | values of the gravity vector |
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 |