#include "cs_advection_field.h"#include "cs_base.h"#include "cs_equation.h"#include "cs_gwf_param.h"
Include dependency graph for cs_gwf_tracer.h:Go to the source code of this file.
Data Structures | |
| struct | cs_gwf_tracer_default_context_t |
| struct | cs_gwf_tracer_t |
Typedefs | |
| typedef void() | cs_gwf_tracer_init_setup_t(cs_gwf_tracer_t *tracer) |
| Generic function to update the first setup stage (the one done before building mesh and its related quantities) for a tracer equation. More... | |
| typedef void() | cs_gwf_tracer_finalize_setup_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, cs_gwf_tracer_t *tracer) |
| Generic function to finalize the setup of parameters related to a tracer equation. At this stage, mesh and its related quantities have been built. More... | |
| typedef void() | cs_gwf_tracer_update_t(cs_gwf_tracer_t *tracer, cs_real_t t_eval, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
| Generic function to update the phisical properties related to a tracer modelling. More... | |
| typedef void() | cs_gwf_tracer_free_context_t(cs_gwf_tracer_t *tracer) |
| Generic function to free the input of a tracer model. More... | |
Functions | |
| 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... | |
| cs_gwf_tracer_t * | cs_gwf_tracer_add (cs_gwf_tracer_model_t tr_model, cs_gwf_model_type_t gwf_model, const char *eq_name, const char *var_name, cs_adv_field_t *adv_field, cs_gwf_tracer_init_setup_t *init_setup, cs_gwf_tracer_finalize_setup_t *finalize_setup) |
| Create a new cs_gwf_tracer_t structure and initialize its members by default. Add a new equation related to the groundwater flow module. This equation is a specific transport equation. Tracer is advected thanks to the darcian velocity which is given by the resolution of the Richards equation. Diffusion/reaction parameters result from a physical modelling. More... | |
| void | cs_gwf_tracer_free_all (void) |
| Free all tracers. More... | |
| cs_real_t | cs_gwf_tracer_get_time_theta_max (void) |
| Retrieve the max. value of the theta parameter associated to a time scheme. Loop on all tracer equations. More... | |
| void | cs_gwf_tracer_set_main_param (cs_gwf_tracer_t *tracer, const char *soil_name, double wmd, double alpha_l, double alpha_t, double distrib_coef, double reaction_rate) |
| For a specified soil set the main parameters corresponding to a default modelling of a tracer transport. More... | |
| void | cs_gwf_tracer_set_precip_param (cs_gwf_tracer_t *tracer, const char *soil_name, double conc_w_star) |
| For a specified soil set the parameters corresponding to a precipitation modelling of a tracer transport. More... | |
| void | cs_gwf_tracer_init_setup (void) |
| Initial setup step for tracer equations. Soils and equation parameters are defined at this stage. Create new cs_field_t structures according to the setting. More... | |
| void | cs_gwf_tracer_finalize_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
| Finalize the tracer setup. More... | |
| void | cs_gwf_tracer_update_diff_tensor (cs_real_t t_eval, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
| Update the diffusion tensor related to each tracer equation. More... | |
| void | cs_gwf_tracer_log_all (void) |
| Display the main features related to each tracer. More... | |
| void | cs_gwf_tracer_compute_steady_all (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 for all tracer equations. Nothing is done if all equations are unsteady. More... | |
| void | cs_gwf_tracer_compute_all (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 new (unsteady) state for all tracer equations. Nothing is done if all equations are steady. More... | |
| void | cs_gwf_tracer_default_init_setup (cs_gwf_tracer_t *tracer) |
| Add terms to the algebraic system related to a tracer equation according to the settings. Case of the default tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t. More... | |
| void | cs_gwf_tracer_sat_finalize_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, cs_gwf_tracer_t *tracer) |
| Set the parameters related to a standard tracer equation case of a fully saturated flow model. More... | |
| void | cs_gwf_tracer_unsat_finalize_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, cs_gwf_tracer_t *tracer) |
| Set the parameters related to a standard tracer equation in case of an unsaturated flow model. More... | |
| cs_real_t | cs_gwf_tracer_integrate (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... | |
| typedef void() cs_gwf_tracer_finalize_setup_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, cs_gwf_tracer_t *tracer) |
Generic function to finalize the setup of parameters related to a tracer equation. At this stage, mesh and its related quantities have been built.
| [in] | connect | pointer to a cs_cdo_connect_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | adv | pointer to an advection field structure |
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| typedef void() cs_gwf_tracer_free_context_t(cs_gwf_tracer_t *tracer) |
Generic function to free the input of a tracer model.
| [in,out] | tracer | pointer to a structure cs_gwf_tracer_t |
| typedef void() cs_gwf_tracer_init_setup_t(cs_gwf_tracer_t *tracer) |
Generic function to update the first setup stage (the one done before building mesh and its related quantities) for a tracer equation.
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| typedef void() cs_gwf_tracer_update_t(cs_gwf_tracer_t *tracer, cs_real_t t_eval, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
Generic function to update the phisical properties related to a tracer modelling.
| [in,out] | tracer | pointer to a cs_gwf_tracer_structure |
| [in] | t_eval | time at which one performs the evaluation |
| [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 |
| cs_gwf_tracer_t* cs_gwf_tracer_add | ( | cs_gwf_tracer_model_t | tr_model, |
| cs_gwf_model_type_t | gwf_model, | ||
| const char * | eq_name, | ||
| const char * | var_name, | ||
| cs_adv_field_t * | adv_field, | ||
| cs_gwf_tracer_init_setup_t * | init_setup, | ||
| cs_gwf_tracer_finalize_setup_t * | finalize_setup | ||
| ) |
Create a new cs_gwf_tracer_t structure and initialize its members by default. Add a new equation related to the groundwater flow module. This equation is a specific transport equation. Tracer is advected thanks to the darcian velocity which is given by the resolution of the Richards equation. Diffusion/reaction parameters result from a physical modelling.
| [in] | tr_model | model related to this tracer |
| [in] | gwf_model | main model for the GWF module |
| [in] | eq_name | name of the tracer equation |
| [in] | var_name | name of the related variable |
| [in] | adv_field | pointer to a cs_adv_field_t structure |
| [in] | init_setup | function pointer (predefined prototype) |
| [in] | finalize_setup | function pointer (predefined prototype) |
| 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_tracer_compute_all | ( | 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 new (unsteady) state for all tracer equations. Nothing is done if all equations are steady.
| [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_tracer_compute_steady_all | ( | 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 for all tracer equations. 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 |
| void cs_gwf_tracer_default_init_setup | ( | cs_gwf_tracer_t * | tracer | ) |
Add terms to the algebraic system related to a tracer equation according to the settings. Case of the default tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t.
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| void cs_gwf_tracer_finalize_setup | ( | const cs_cdo_connect_t * | connect, |
| const cs_cdo_quantities_t * | quant | ||
| ) |
Finalize the tracer setup.
| [in] | connect | pointer to a cs_cdo_connect_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| void cs_gwf_tracer_free_all | ( | void | ) |
Free all tracers.
| cs_real_t cs_gwf_tracer_get_time_theta_max | ( | void | ) |
Retrieve the max. value of the theta parameter associated to a time scheme. Loop on all tracer equations.
| void cs_gwf_tracer_init_setup | ( | void | ) |
Initial setup step for tracer equations. Soils and equation parameters are defined at this stage. Create new cs_field_t structures according to the setting.
| cs_real_t cs_gwf_tracer_integrate | ( | 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) |
| void cs_gwf_tracer_log_all | ( | void | ) |
Display the main features related to each tracer.
| void cs_gwf_tracer_sat_finalize_setup | ( | const cs_cdo_connect_t * | connect, |
| const cs_cdo_quantities_t * | quant, | ||
| const cs_adv_field_t * | adv, | ||
| cs_gwf_tracer_t * | tracer | ||
| ) |
Set the parameters related to a standard tracer equation case of a fully saturated flow model.
| [in] | connect | pointer to a cs_cdo_connect_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | adv | pointer to an advection field structure |
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
Set the parameters related to a standard tracer equation case of a fully saturated flow model.
| [in] | connect | pointer to a cs_cdo_connect_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | adv | pointer to an advection field structure |
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| void cs_gwf_tracer_set_main_param | ( | cs_gwf_tracer_t * | tracer, |
| const char * | soil_name, | ||
| double | wmd, | ||
| double | alpha_l, | ||
| double | alpha_t, | ||
| double | distrib_coef, | ||
| double | reaction_rate | ||
| ) |
For a specified soil set the main parameters corresponding to a default modelling of a tracer transport.
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| [in] | soil_name | name of the related soil (or NULL if all soils are selected) |
| [in] | wmd | value of the water molecular diffusivity |
| [in] | alpha_l | value of the longitudinal dispersivity |
| [in] | alpha_t | value of the transversal dispersivity |
| [in] | distrib_coef | value of the distribution coefficient |
| [in] | reaction_rate | value of the first order rate of reaction |
For a specified soil set the main parameters corresponding to a default modelling of a tracer transport.
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| [in] | soil_name | name of the related soil (or NULL if all soils are selected) |
| [in] | wmd | value of the water molecular diffusivity |
| [in] | alpha_l | value of the longitudinal dispersivity |
| [in] | alpha_t | value of the transversal dispersivity |
| [in] | distrib_coef | value of the distribution coefficient |
| [in] | reaction_rate | value of the first order rate of reaction |
| void cs_gwf_tracer_set_precip_param | ( | cs_gwf_tracer_t * | tracer, |
| const char * | soil_name, | ||
| double | conc_w_star | ||
| ) |
For a specified soil set the parameters corresponding to a precipitation modelling of a tracer transport.
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| [in] | soil_name | name of the related soil (or NULL if all soils are selected) |
| [in] | conc_w_star | value of the saturated concentration in the liquid phase |
| void cs_gwf_tracer_unsat_finalize_setup | ( | const cs_cdo_connect_t * | connect, |
| const cs_cdo_quantities_t * | quant, | ||
| const cs_adv_field_t * | adv, | ||
| cs_gwf_tracer_t * | tracer | ||
| ) |
Set the parameters related to a standard tracer equation in case of an unsaturated flow model.
| [in] | connect | pointer to a cs_cdo_connect_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | adv | pointer to an advection field structure |
| [in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
| void cs_gwf_tracer_update_diff_tensor | ( | cs_real_t | t_eval, |
| const cs_mesh_t * | mesh, | ||
| const cs_cdo_connect_t * | connect, | ||
| const cs_cdo_quantities_t * | quant | ||
| ) |
Update the diffusion tensor related to each tracer equation.
| [in] | t_eval | time at which one performs the evaluation |
| [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 |