7.1
general documentation
cs_gwf_tracer.h File Reference
#include "cs_advection_field.h"
#include "cs_base.h"
#include "cs_equation.h"
+ Include dependency graph for cs_gwf_tracer.h:

Go to the source code of this file.

Data Structures

struct  cs_gwf_tracer_context_t
 
struct  cs_gwf_tracer_t
 

Typedefs

typedef cs_flag_t cs_gwf_tracer_model_t
 
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...
 
typedef void() cs_gwf_tracer_setup_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, const cs_real_t *l_saturation, cs_gwf_tracer_t *tracer)
 Generic function to set the parameters related to a tracer equation. More...
 
typedef void() cs_gwf_tracer_add_terms_t(cs_gwf_tracer_t *tracer)
 Generic function to update the terms to build in the algebraic system for a tracer equation according to the settings. More...
 

Enumerations

enum  cs_gwf_tracer_model_bit_t { CS_GWF_TRACER_USER = 1<< 0, CS_GWF_TRACER_SORPTION_EK_3_PARAMETERS = 1<< 1, CS_GWF_TRACER_SORPTION_EK_5_PARAMETERS = 1<< 2, CS_GWF_TRACER_PRECIPITATION = 1<< 4 }
 Flags specifying the general behavior of a tracer associated to the groundwater flow module. More...
 

Functions

cs_gwf_tracer_t * cs_gwf_tracer_init (int tracer_id, const char *eq_name, const char *var_name, cs_adv_field_t *adv_field, cs_gwf_tracer_model_t model)
 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...
 
cs_gwf_tracer_t * cs_gwf_tracer_free (cs_gwf_tracer_t *tracer)
 Free a cs_gwf_tracer_t structure. More...
 
void cs_gwf_set_main_tracer_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_set_precip_tracer_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_add_terms (cs_gwf_tracer_t *tracer)
 Add terms to the algebraic system related to a tracer equation according to the settings. Case of the standard tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t. More...
 
void cs_gwf_tracer_saturated_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, const cs_real_t *l_saturation, 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_unsaturated_setup (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, const cs_real_t *l_saturation, cs_gwf_tracer_t *tracer)
 Set the parameters related to a standard tracer equation in case of an unsaturated flow model. More...
 
void cs_gwf_tracer_log_setup (const cs_gwf_tracer_t *tracer)
 Display the main features related to a tracer. 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 cs_zone_t *z)
 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...
 
cs_real_t cs_gwf_tracer_integrate_sat (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_gwf_tracer_t *tracer, const cs_zone_t *z)
 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. Case of a fully saturated model. More...
 

Typedef Documentation

◆ cs_gwf_tracer_add_terms_t

typedef void() cs_gwf_tracer_add_terms_t(cs_gwf_tracer_t *tracer)

Generic function to update the terms to build in the algebraic system for a tracer equation according to the settings.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure

◆ cs_gwf_tracer_free_context_t

typedef void() cs_gwf_tracer_free_context_t(cs_gwf_tracer_t *tracer)

Generic function to free the input of a tracer model.

Parameters
[in,out]tracerpointer to a structure cs_gwf_tracer_t

◆ cs_gwf_tracer_model_t

◆ cs_gwf_tracer_setup_t

typedef void() cs_gwf_tracer_setup_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_adv_field_t *adv, const cs_real_t *l_saturation, cs_gwf_tracer_t *tracer)

Generic function to set the parameters related to a tracer equation.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]advpointer to an advection field structure
[in]l_saturationpointer to liquid saturation values or NULL
[in,out]tracerpointer to a cs_gwf_tracer_t structure

◆ cs_gwf_tracer_update_t

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.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_structure
[in]t_evaltime at which one performs the evaluation
[in]meshpointer to a cs_mesh_t structure
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure

Enumeration Type Documentation

◆ cs_gwf_tracer_model_bit_t

Flags specifying the general behavior of a tracer associated to the groundwater flow module.

Elemental modelling choice either from the physical viewpoint or the numerical viewpoint for the transport of a tracer

Enumerator
CS_GWF_TRACER_USER 

User-defined tracer.

All terms can be modified with user functions

CS_GWF_TRACER_SORPTION_EK_3_PARAMETERS 

EK model with 3 parameters.

Add the sorption phenomena to the default tracer equation. Case of the EK model with 3 parameters. Sorption is assumed to be infinite

CS_GWF_TRACER_SORPTION_EK_5_PARAMETERS 

EK model with 5 parameters.

Add the sorption phenomena to the default tracer equation in the case of the EK model with 5 parameters. Sorption is assumed to be finite. An additional equation related to the concentration of sorpted tracer in the second kind of sites.

CS_GWF_TRACER_PRECIPITATION 

Add the precipitation phenomena to the default tracer equation.

Function Documentation

◆ cs_gwf_set_main_tracer_param()

void cs_gwf_set_main_tracer_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.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure
[in]soil_namename of the related soil (or NULL if all soils are selected)
[in]wmdvalue of the water molecular diffusivity
[in]alpha_lvalue of the longitudinal dispersivity
[in]alpha_tvalue of the transversal dispersivity
[in]distrib_coefvalue of the distribution coefficient
[in]reaction_ratevalue of the first order rate of reaction

For a specified soil set the main parameters corresponding to a default modelling of a tracer transport.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure
[in]soil_namename of the related soil (or NULL if all soils are selected)
[in]wmdvalue of the water molecular diffusivity
[in]alpha_lvalue of the longitudinal dispersivity
[in]alpha_tvalue of the transversal dispersivity
[in]distrib_coefvalue of the distribution coefficient
[in]reaction_ratevalue of the first order rate of reaction

◆ cs_gwf_set_precip_tracer_param()

void cs_gwf_set_precip_tracer_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.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure
[in]soil_namename of the related soil (or NULL if all soils are selected)
[in]conc_w_starvalue of the saturated concentration in the liquid phase

◆ cs_gwf_tracer_add_terms()

void cs_gwf_tracer_add_terms ( cs_gwf_tracer_t *  tracer)

Add terms to the algebraic system related to a tracer equation according to the settings. Case of the standard tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure

Add terms to the algebraic system related to a tracer equation according to the settings. Case of the standard tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure

◆ cs_gwf_tracer_free()

cs_gwf_tracer_t* cs_gwf_tracer_free ( cs_gwf_tracer_t *  tracer)

Free a cs_gwf_tracer_t structure.

Parameters
[in,out]tracerpointer to a cs_gwf_tracer_t structure
Returns
a NULL pointer

◆ cs_gwf_tracer_init()

cs_gwf_tracer_t* cs_gwf_tracer_init ( int  tracer_id,
const char *  eq_name,
const char *  var_name,
cs_adv_field_t adv_field,
cs_gwf_tracer_model_t  model 
)

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.

Parameters
[in]tracer_idid number of the soil
[in]eq_namename of the tracer equation
[in]var_namename of the related variable
[in]adv_fieldpointer to a cs_adv_field_t structure
[in]modelmodel related to this tracer
Returns
a pointer to the new allocated structure

◆ cs_gwf_tracer_integrate()

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 cs_zone_t z 
)

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.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]tracerpointer to a cs_gwf_tracer_t structure
[in]zpointer to a volume zone structure
Returns
the value of the integral

◆ cs_gwf_tracer_integrate_sat()

cs_real_t cs_gwf_tracer_integrate_sat ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t cdoq,
const cs_gwf_tracer_t *  tracer,
const cs_zone_t z 
)

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. Case of a fully saturated model.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]tracerpointer to a cs_gwf_tracer_t structure
[in]zpointer to a volume zone structure
Returns
the value of the integral

◆ cs_gwf_tracer_log_setup()

void cs_gwf_tracer_log_setup ( const cs_gwf_tracer_t *  tracer)

Display the main features related to a tracer.

Parameters
[in]tracerpointer to a cs_gwf_tracer_t structure

◆ cs_gwf_tracer_saturated_setup()

void cs_gwf_tracer_saturated_setup ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_adv_field_t adv,
const cs_real_t l_saturation,
cs_gwf_tracer_t *  tracer 
)

Set the parameters related to a standard tracer equation case of a fully saturated flow model.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]advpointer to an advection field structure
[in]l_saturationpointer to the liquid saturation values
[in,out]tracerpointer to a cs_gwf_tracer_t structure

Set the parameters related to a standard tracer equation case of a fully saturated flow model.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]advpointer to an advection field structure
[in]l_saturationpointer to the liquid saturation values
[in,out]tracerpointer to a cs_gwf_tracer_t structure

◆ cs_gwf_tracer_unsaturated_setup()

void cs_gwf_tracer_unsaturated_setup ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_adv_field_t adv,
const cs_real_t l_saturation,
cs_gwf_tracer_t *  tracer 
)

Set the parameters related to a standard tracer equation in case of an unsaturated flow model.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]advpointer to an advection field structure
[in]l_saturationpointer to the liquid saturation values
[in,out]tracerpointer to a cs_gwf_tracer_t structure