8.3
general documentation
cs_gwf_priv.h File Reference
#include "cs_advection_field.h"
#include "cs_equation.h"
#include "cs_gwf_param.h"
+ Include dependency graph for cs_gwf_priv.h:

Go to the source code of this file.

Data Structures

struct  cs_gwf_darcy_flux_t
 

Typedefs

typedef void() cs_gwf_darcy_update_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_real_t t_eval, bool cur2prev, cs_gwf_darcy_flux_t *darcy)
 Update the advection field/arrays related to the Darcy flux. The context associated to a cs_gwf_darcy_flux_t have pointers to the fields used to define the Darcy flux update. More...
 

Functions

void cs_gwf_get_value_pointers (const cs_equation_t *eq, cs_real_t **p_dof_vals, cs_real_t **p_cell_vals)
 Retrieve the values of (potential) fields needed for the update of the Darcy velocity/fluxes. More...
 
cs_gwf_darcy_flux_tcs_gwf_darcy_flux_create (cs_flag_t loc_flag)
 Allocate and initialize a cs_gwf_darcy_flux_t structure. More...
 
void cs_gwf_darcy_flux_free (cs_gwf_darcy_flux_t **p_darcy)
 Free a cs_gwf_darcy_flux_t structure. More...
 
void cs_gwf_darcy_flux_log (cs_gwf_darcy_flux_t *darcy)
 Log a cs_gwf_darcy_flux_t structure. More...
 
void cs_gwf_darcy_flux_define (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_param_space_scheme_t space_scheme, void *update_context, cs_gwf_darcy_update_t *update_func, cs_gwf_darcy_flux_t *darcy)
 Set the definition of the advection field attached to a cs_gwf_darcy_flux_t structure If the function pointer is set to null, then an automatic settings is done. More...
 
void cs_gwf_darcy_flux_balance (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_equation_param_t *eqp, cs_gwf_darcy_flux_t *darcy)
 Operate the balance by zone (relying on the splitting arising from the boundary settings) for the advection field attached to a cs_gwf_darcy_flux_t structure. More...
 
void cs_gwf_darcy_flux_update_on_boundary (const cs_equation_t *eq, const cs_equation_param_t *eqp, const cs_property_t *diff_pty, const cs_real_t *dof_vals, const cs_real_t *cell_vals, cs_real_t t_eval, cs_adv_field_t *adv)
 Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face. More...
 
void cs_gwf_darcy_flux_update_on_boundary_wo_eq (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_real_t *cell_vel, cs_adv_field_t *adv)
 Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face without using an equation (i.e. there is no associated boundary condition). Case of a vertex-based discretization. More...
 
void cs_gwf_update_head (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_equation_t *richards, cs_flag_t option_flag, cs_field_t *pressure_head, cs_real_t head_in_law[], bool cur2prev)
 Update head values (pressure head or head values for laws) Up to now, this is only used for single-phase flows in porous media (saturated or not case). More...
 

Typedef Documentation

◆ cs_gwf_darcy_update_t

typedef void() cs_gwf_darcy_update_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_real_t t_eval, bool cur2prev, cs_gwf_darcy_flux_t *darcy)

Update the advection field/arrays related to the Darcy flux. The context associated to a cs_gwf_darcy_flux_t have pointers to the fields used to define the Darcy flux update.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]t_evaltime at which one performs the evaluation
[in]cur2prevtrue or false
[in,out]darcypointer to the darcy flux structure

Function Documentation

◆ cs_gwf_darcy_flux_balance()

void cs_gwf_darcy_flux_balance ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_equation_param_t eqp,
cs_gwf_darcy_flux_t darcy 
)

Operate the balance by zone (relying on the splitting arising from the boundary settings) for the advection field attached to a cs_gwf_darcy_flux_t structure.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]eqppointer to the set of equation parameters
[in,out]darcypointer to the darcy structure

◆ cs_gwf_darcy_flux_create()

cs_gwf_darcy_flux_t * cs_gwf_darcy_flux_create ( cs_flag_t  loc_flag)

Allocate and initialize a cs_gwf_darcy_flux_t structure.

Parameters
[in]loc_flagflag to define where the flux is defined
Returns
a pointer to the newly allocated structure

◆ cs_gwf_darcy_flux_define()

void cs_gwf_darcy_flux_define ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t cdoq,
cs_param_space_scheme_t  space_scheme,
void *  update_context,
cs_gwf_darcy_update_t update_func,
cs_gwf_darcy_flux_t darcy 
)

Set the definition of the advection field attached to a cs_gwf_darcy_flux_t structure If the function pointer is set to null, then an automatic settings is done.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]space_schemespace discretization using this structure
[in]update_contextpointer to the context for the update step
[in]update_funcpointer to an update function or null
[in,out]darcypointer to the darcy structure

Set the definition of the advection field attached to a cs_gwf_darcy_flux_t structure If the function pointer is set to null, then an automatic settings is done.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]space_schemespace discretization using this structure
[in]update_contextpointer to the context for the update step
[in]update_funcpointer to an update function or nullptr
[in,out]darcypointer to the darcy structure

◆ cs_gwf_darcy_flux_free()

void cs_gwf_darcy_flux_free ( cs_gwf_darcy_flux_t **  p_darcy)

Free a cs_gwf_darcy_flux_t structure.

Parameters
[in,out]p_darcypointer of pointer to the darcy structure

◆ cs_gwf_darcy_flux_log()

void cs_gwf_darcy_flux_log ( cs_gwf_darcy_flux_t darcy)

Log a cs_gwf_darcy_flux_t structure.

Parameters
[in,out]darcypointer to the darcy structure

◆ cs_gwf_darcy_flux_update_on_boundary()

void cs_gwf_darcy_flux_update_on_boundary ( const cs_equation_t eq,
const cs_equation_param_t eqp,
const cs_property_t diff_pty,
const cs_real_t dof_vals,
const cs_real_t cell_vals,
cs_real_t  t_eval,
cs_adv_field_t adv 
)

Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face.

Case of a vertex-based discretization and single-phase flows in porous media (saturated or not).

Parameters
[in]eqpointer to the equation related to this Darcy flux
[in]eqpset of equation parameters to use or nullptr
[in]diff_ptydiffusion property or nullptr
[in]dof_valsvalues at the location of the degrees of freedom
[in]cell_valsvalues at the cell centers or nullptr
[in]t_evaltime at which one performs the evaluation
[in,out]advpointer to the Darcy advection field

◆ cs_gwf_darcy_flux_update_on_boundary_wo_eq()

void cs_gwf_darcy_flux_update_on_boundary_wo_eq ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t cdoq,
cs_real_t cell_vel,
cs_adv_field_t adv 
)

Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face without using an equation (i.e. there is no associated boundary condition). Case of a vertex-based discretization.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]cell_velDarcy velocity in each cell
[in,out]advpointer to the Darcy advection field to update

◆ cs_gwf_get_value_pointers()

void cs_gwf_get_value_pointers ( const cs_equation_t eq,
cs_real_t **  p_dof_vals,
cs_real_t **  p_cell_vals 
)

Retrieve the values of (potential) fields needed for the update of the Darcy velocity/fluxes.

Parameters
[in]eqpointer to an equation structure
[out]p_dof_valsdouble pointer to the values (degrees of freedom)
[out]p_cell_valsdouble pointer to the values (cell values)

◆ cs_gwf_update_head()

void cs_gwf_update_head ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t cdoq,
const cs_equation_t richards,
cs_flag_t  option_flag,
cs_field_t pressure_head,
cs_real_t  head_in_law[],
bool  cur2prev 
)

Update head values (pressure head or head values for laws) Up to now, this is only used for single-phase flows in porous media (saturated or not case).

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure
[in]richardspointer to the Richards equation
[in]option_flagcalculation option related to the GWF module
[in,out]pressure_headpressure head field
[in,out]head_in_lawvalues of the head used in law
[in]cur2prevtrue or false