1#ifndef __CS_GWF_SOIL_H__
2#define __CS_GWF_SOIL_H__
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
#define END_C_DECLS
Definition cs_defs.h:468
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition cs_defs.h:321
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:298
@ rho
Definition cs_field_pointer.h:103
void cs_user_gwf_get_soil_density(const cs_gwf_soil_t *soil, cs_real_t *density)
Retrieve the bulk density related to a soil structure.
Definition cs_user_gwf.c:112
cs_gwf_soil_t * cs_gwf_soil_by_id(int id)
Retrieve a soil structure from its id.
Definition cs_gwf_soil.c:507
void() cs_gwf_soil_finalize_t(void *input)
Generic function to set free the input of a soil structure.
Definition cs_gwf_soil.h:89
int cs_gwf_get_n_soils(void)
Get the number of allocated soils.
Definition cs_gwf_soil.c:491
cs_gwf_soil_t * cs_gwf_soil_by_name(const char *name)
Retrieve a soil structure from its name.
Definition cs_gwf_soil.c:526
void cs_gwf_set_aniso_saturated_soil(cs_gwf_soil_t *soil, double *k_s, double theta_s, double rho)
Set a soil defined by a saturated hydraulic model and attached to an isotropic permeability.
Definition cs_gwf_soil.c:644
const short int * cs_gwf_get_cell2soil(void)
Get the array storing the associated soil for each cell.
Definition cs_gwf_soil.c:926
void cs_gwf_set_user_soil(cs_gwf_soil_t *soil, void *input, cs_gwf_soil_update_t *update_func, cs_gwf_soil_finalize_t *free_func)
Set a soil defined by a user-defined hydraulic model and attached to an anisotropic permeability.
Definition cs_gwf_soil.c:778
void cs_gwf_soil_free_all(void)
Free all cs_gwf_soil_t structures.
Definition cs_gwf_soil.c:461
cs_real_t cs_gwf_soil_get_bulk_density(const cs_gwf_soil_t *soil)
Retrieve the bulk density associated to the given soil structure.
Definition cs_gwf_soil.c:555
void cs_gwf_build_cell2soil(cs_lnum_t n_cells)
Build an array storing the associated soil for each cell.
Definition cs_gwf_soil.c:877
void() cs_gwf_soil_update_t(const cs_real_t t_eval, const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *head_values, const cs_zone_t *zone, void *input)
Generic function to update the physical properties related to a hydraulic model. At least,...
Definition cs_gwf_soil.h:72
cs_gwf_soil_t * cs_gwf_soil_add(const char *z_name, cs_gwf_soil_hydraulic_model_t model)
Create and add a new cs_gwf_soil_t structure. A first initialization of all members by default is per...
Definition cs_gwf_soil.c:381
void cs_gwf_set_aniso_genuchten_soil(cs_gwf_soil_t *soil, double *k_s, double theta_s, double theta_r, double rho)
Set a soil defined by a Van Genuchten hydraulic model and attached to an anisotropic permeability.
Definition cs_gwf_soil.c:732
void cs_gwf_soil_set_by_field(cs_property_t *permeability, cs_field_t *permea_field, cs_property_t *moisture_content, cs_field_t *moisture_field, cs_property_t *soil_capacity, cs_field_t *capacity_field)
Set the properties of the groundwater flow module thanks to cs_field_t structure. The consequence is ...
Definition cs_gwf_soil.c:949
void cs_gwf_soil_set_all_saturated(cs_property_t *permeability, cs_property_t *moisture_content, cs_field_t *moisture_field)
Set the properties of the groundwater flow module all soils are considered as saturated.
Definition cs_gwf_soil.c:807
cs_gwf_soil_hydraulic_model_t
Definition cs_gwf_soil.h:100
@ CS_GWF_SOIL_N_HYDRAULIC_MODELS
Definition cs_gwf_soil.h:106
@ CS_GWF_SOIL_USER
Definition cs_gwf_soil.h:105
@ CS_GWF_SOIL_SATURATED
Definition cs_gwf_soil.h:104
@ CS_GWF_SOIL_GENUCHTEN
Definition cs_gwf_soil.h:102
void cs_gwf_soil_log_setup(void)
Summary of the settings related to all cs_gwf_soil_t structures.
Definition cs_gwf_soil.c:972
void cs_gwf_set_iso_saturated_soil(cs_gwf_soil_t *soil, double k_s, double theta_s, double rho)
Set a soil defined by a saturated hydraulic model and attached to an isotropic permeability.
Definition cs_gwf_soil.c:604
void cs_gwf_set_iso_genuchten_soil(cs_gwf_soil_t *soil, double k_s, double theta_s, double theta_r, double rho)
Set a soil defined by a Van Genuchten hydraulic model and attached to an anisotropic permeability.
Definition cs_gwf_soil.c:683
Definition cs_cdo_connect.h:74
Definition cs_cdo_quantities.h:94
Field descriptor.
Definition cs_field.h:124
Definition cs_gwf_soil.h:114
cs_real_33_t saturated_permeability
Definition cs_gwf_soil.h:119
double m
Definition cs_gwf_soil.h:123
double scale
Definition cs_gwf_soil.h:124
double bulk_density
Definition cs_gwf_soil.h:116
double saturated_moisture
Definition cs_gwf_soil.h:118
double n
Definition cs_gwf_soil.h:122
double residual_moisture
Definition cs_gwf_soil.h:117
double tortuosity
Definition cs_gwf_soil.h:125
Definition cs_gwf_soil.h:143
cs_real_33_t saturated_permeability
Definition cs_gwf_soil.h:147
double bulk_density
Definition cs_gwf_soil.h:145
double saturated_moisture
Definition cs_gwf_soil.h:146
Definition cs_gwf_soil.h:159
cs_gwf_soil_hydraulic_model_t model
Definition cs_gwf_soil.h:166
int id
Definition cs_gwf_soil.h:161
void * input
Definition cs_gwf_soil.h:169
cs_gwf_soil_update_t * update_properties
Definition cs_gwf_soil.h:172
cs_gwf_soil_finalize_t * free_input
Definition cs_gwf_soil.h:173
int zone_id
Definition cs_gwf_soil.h:162
Definition cs_property.h:104