1 #ifndef __CS_GROUNDWATER_H__ 2 #define __CS_GROUNDWATER_H__ 103 typedef struct _groundwater_t cs_groundwater_t;
194 cs_property_t *permeability,
195 cs_property_t *soil_capacity,
196 cs_adv_field_t *adv_field,
197 cs_groundwater_t *gw);
213 const char *model_kw,
214 const char *pty_val);
254 const char *varname);
285 double reaction_rate);
343 cs_groundwater_t *gw);
367 cs_equation_t *eqs[],
368 cs_groundwater_t *gw);
Definition: cs_groundwater.h:87
time step descriptor
Definition: cs_time_step.h:51
Definition: cs_groundwater.h:60
Definition: cs_groundwater.h:61
Definition: cs_groundwater.h:79
double h_r
Definition: cs_groundwater.h:98
cs_equation_t * cs_groundwater_initialize(const cs_cdo_connect_t *connect, int richards_eq_id, int n_soils, int n_tracer_eqs, cs_property_t *permeability, cs_property_t *soil_capacity, cs_adv_field_t *adv_field, cs_groundwater_t *gw)
Initialize the module dedicated to groundwater flows.
Definition: cs_groundwater.c:1168
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
Definition: cs_groundwater.h:54
cs_equation_t * cs_groundwater_add_tracer(cs_groundwater_t *gw, int tracer_eq_id, const char *eqname, const char *varname)
Add a new equation related to the groundwater flow module This equation is a specific unsteady advect...
Definition: cs_groundwater.c:1457
double m
Definition: cs_groundwater.h:90
double tortuosity
Definition: cs_groundwater.h:92
void cs_groundwater_set_soil_param(cs_groundwater_t *gw, const char *ml_name, cs_groundwater_soilkey_t key, const char *keyval)
Set parameters related to a cs_groundwater_t structure.
Definition: cs_groundwater.c:1310
void cs_groundwater_set_tracer_param(cs_groundwater_t *gw, int tracer_eq_id, const char *ml_name, double wmd, double alpha_l, double alpha_t, double bulk_density, double distrib_coef, double reaction_rate)
Add a new equation related to the groundwater flow module This equation is a specific unsteady advect...
Definition: cs_groundwater.c:1524
Definition: cs_cdo_connect.h:67
Definition: cs_groundwater.h:81
Definition: cs_groundwater.h:82
void cs_groundwater_set_param(cs_groundwater_t *gw, cs_groundwater_key_t key, const char *keyval)
Set parameters related to a cs_groundwater_t structure.
Definition: cs_groundwater.c:984
Definition: cs_cdo_quantities.h:100
Definition: cs_groundwater.h:65
cs_groundwater_soilkey_t
Definition: cs_groundwater.h:58
Definition: cs_groundwater.h:80
Definition: cs_groundwater.h:76
void cs_groundwater_richards_setup(cs_groundwater_t *gw, cs_equation_t *richards)
Predefined settings for the Richards equation.
Definition: cs_groundwater.c:1602
double h_s
Definition: cs_groundwater.h:99
cs_groundwater_key_t
Definition: cs_groundwater.h:50
Definition: cs_groundwater.h:96
bool cs_groundwater_tracer_needs_reaction(const cs_groundwater_t *gw, int eq_id)
Check if one needs to add a reaction term for a given tracer.
Definition: cs_groundwater.c:1840
void cs_groundwater_tracer_setup(int tracer_eq_id, cs_equation_t *eq, cs_groundwater_t *gw)
Predefined settings for a tracer equation.
Definition: cs_groundwater.c:1899
Definition: cs_groundwater.h:52
double n
Definition: cs_groundwater.h:89
Definition: cs_groundwater.h:75
Definition: cs_groundwater.h:67
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
void cs_groundwater_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_list[], const cs_lnum_t i_face_list[], const cs_lnum_t b_face_list[], const cs_time_step_t *time_step)
Predefined post-processing output for the groundwater flow module prototype of this function is fixed...
Definition: cs_groundwater.c:2136
Definition: cs_groundwater.h:53
#define END_C_DECLS
Definition: cs_defs.h:449
int cs_groundwater_get_n_soils(const cs_groundwater_t *gw)
Get the number of requested soils.
Definition: cs_groundwater.c:965
bool cs_groundwater_tracer_needs_diffusion(const cs_groundwater_t *gw, int eq_id)
Check if one needs to add a diffusion term for a given tracer.
Definition: cs_groundwater.c:1869
cs_groundwater_model_t
Definition: cs_groundwater.h:73
cs_groundwater_t * cs_groundwater_finalize(cs_groundwater_t *gw)
Free the main structure related to groundwater flows.
Definition: cs_groundwater.c:928
void cs_groundwater_summary(const cs_groundwater_t *gw)
Summary of a cs_groundwater_t structure.
Definition: cs_groundwater.c:1035
subroutine richards(icvrge, dt)
Definition: richards.f90:79
void cs_groundwater_add_soil_by_value(cs_groundwater_t *gw, const char *ml_name, const char *model_kw, const char *pty_val)
Add a new type of soil to consider in the groundwater module.
Definition: cs_groundwater.c:1250
void cs_groundwater_compute(const cs_mesh_t *mesh, const cs_time_step_t *time_step, double dt_cur, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, bool do_logcvg, cs_equation_t *eqs[], cs_groundwater_t *gw)
Compute the system related to groundwater flows module.
Definition: cs_groundwater.c:1997
cs_groundwater_t * cs_groundwater_create(void)
Create a structure dedicated to manage groundwater flows.
Definition: cs_groundwater.c:884
Definition: cs_groundwater.h:64
double scale
Definition: cs_groundwater.h:91