#include <assert.h>
#include <ctype.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <bft_mem.h>
#include "cs_field.h"
#include "cs_gwf_soil.h"
#include "cs_hodge.h"
#include "cs_log.h"
#include "cs_math.h"
#include "cs_mesh_location.h"
#include "cs_parall.h"
#include "cs_post.h"
#include "cs_reco.h"
#include "cs_gwf_tracer.h"
Macros | |
#define | CS_GWF_TRACER_DBG 0 |
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) |
Set a tracer for a specified soil when the tracer is attached to the default model. 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 default 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. 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... | |
#define CS_GWF_TRACER_DBG 0 |
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 | ||
) |
Set a tracer for a specified soil when the tracer is attached to the default model.
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_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.
[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_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 default tracer modelling Rely on the generic function: cs_gwf_tracer_add_terms_t.
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.
[in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
cs_gwf_tracer_t* cs_gwf_tracer_free | ( | cs_gwf_tracer_t * | tracer | ) |
Free a cs_gwf_tracer_t structure.
[in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
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.
[in] | tracer_id | id number of the soil |
[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] | model | model related to this tracer |
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.
[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 | pointer to a volume zone structure |
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.
[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 | pointer to a volume zone structure |
void cs_gwf_tracer_log_setup | ( | const cs_gwf_tracer_t * | tracer | ) |
Display the main features related to a tracer.
[in] | tracer | pointer to a cs_gwf_tracer_t structure |
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.
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] | l_saturation | pointer to the liquid saturation values |
[in,out] | tracer | pointer to a cs_gwf_tracer_t structure |
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.
[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] | l_saturation | pointer to the liquid saturation values |
[in,out] | tracer | pointer to a cs_gwf_tracer_t structure |