programmer's documentation
Data Structures | Functions
cs_domain.h File Reference
#include "cs_time_step.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_cdo_connect.h"
#include "cs_cdo_quantities.h"
#include "cs_param.h"
#include "cs_equation.h"
#include "cs_property.h"
#include "cs_advection_field.h"
#include "cs_groundwater.h"
Include dependency graph for cs_domain.h:

Go to the source code of this file.

Data Structures

struct  cs_domain_t
 

Functions

cs_domain_tcs_domain_init (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities)
 Create and initialize of cs_domain_t structure. More...
 
void cs_domain_last_setup (cs_domain_t *domain)
 Proceed to the last settings of a cs_domain_t structure. More...
 
cs_domain_tcs_domain_free (cs_domain_t *domain)
 Free a cs_domain_t structure. More...
 
void cs_domain_summary (const cs_domain_t *domain)
 Summary of a cs_domain_t structure. More...
 
void cs_domain_set_default_boundary (cs_domain_t *domain, const char *bdy_name)
 Set the boundary type by default. More...
 
void cs_domain_add_boundary (cs_domain_t *domain, const char *ml_name, const char *bdy_name)
 Add a boundary type defined on a mesh location. More...
 
void cs_domain_set_output_freq (cs_domain_t *domain, int freq)
 Set the frequency at which output is done in listing. More...
 
void cs_domain_set_time_step (cs_domain_t *domain, double t_end, int nt_max, const char *defkey, void *defval)
 Setup the time step structure related to a domain. More...
 
void cs_domain_define_current_time_step (cs_domain_t *domain)
 Set the current time step for this new time iteration. More...
 
void cs_domain_add_property (cs_domain_t *domain, const char *pty_name, const char *type_name)
 Add a new property to the current computational domain. More...
 
cs_property_t * cs_domain_get_property (const cs_domain_t *domain, const char *ref_name)
 Find the related property definition from its name. More...
 
void cs_domain_add_advection_field (cs_domain_t *domain, const char *adv_name)
 Add a new advection field to the current computational domain. More...
 
cs_adv_field_t * cs_domain_get_advection_field (const cs_domain_t *domain, const char *ref_name)
 Find the related advection field definition from its name. More...
 
cs_equation_t * cs_domain_get_equation (const cs_domain_t *domain, const char *eqname)
 Find the cs_equation_t structure whith name eqname Return NULL if not find. More...
 
void cs_domain_activate_wall_distance (cs_domain_t *domain)
 Activate the computation of the wall distance. More...
 
void cs_domain_activate_groundwater (cs_domain_t *domain, const char *model)
 Activate the computation of the Richards' equation. More...
 
void cs_domain_add_groundwater_tracer (cs_domain_t *domain, const char *eq_name, const char *var_name, cs_real_3_t dispersivity, double bulk_density, double distribution_coef, double reaction_rate)
 Add a new equation related to the groundwater flow module This equation is a specific unsteady advection/diffusion/reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. More...
 
cs_groundwater_t * cs_domain_get_groundwater (const cs_domain_t *domain)
 Retrieve the pointer to a cs_groundwater_t structure related to this domain. More...
 
void cs_domain_setup_predefined_equations (cs_domain_t *domain)
 Setup predefined equations which are activated. More...
 
void cs_domain_add_user_equation (cs_domain_t *domain, const char *eqname, const char *varname, const char *key_type, const char *key_bc)
 Add a new user equation to a domain. More...
 
void cs_domain_create_fields (cs_domain_t *domain)
 Create a cs_field_t structure for each equation defined in the domain. More...
 
bool cs_domain_needs_iterate (cs_domain_t *domain)
 Check if one needs to continue iterations in time. More...
 
void cs_domain_increment_time (cs_domain_t *domain)
 Update time step after one temporal iteration. More...
 
void cs_domain_solve (cs_domain_t *domain)
 Solve all the equations of a computational domain for one time step. More...
 

Function Documentation

void cs_domain_activate_groundwater ( cs_domain_t domain,
const char *  model 
)

Activate the computation of the Richards' equation.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]modelkeyword related to the model used
void cs_domain_activate_wall_distance ( cs_domain_t domain)

Activate the computation of the wall distance.

Parameters
[in,out]domainpointer to a cs_domain_t structure
void cs_domain_add_advection_field ( cs_domain_t domain,
const char *  adv_name 
)

Add a new advection field to the current computational domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]adv_namename of the advection field to add
void cs_domain_add_boundary ( cs_domain_t domain,
const char *  ml_name,
const char *  bdy_name 
)

Add a boundary type defined on a mesh location.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]ml_namemesh location name
[in]bdy_namekey name of boundary to set
void cs_domain_add_groundwater_tracer ( cs_domain_t domain,
const char *  eq_name,
const char *  var_name,
cs_real_3_t  dispersivity,
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 advection/diffusion/reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]eqnamename of the equation
[in]varnamename of the related variable
[in]dispersivitydispersivity for each axis (x, y, z]
[in]bulk_densityvalue of the bulk density
[in]distrib_coefvalue of the distribution coefficient
[in]reaction_ratevalue of the first order rate of reaction

Add a new equation related to the groundwater flow module This equation is a specific unsteady advection/diffusion/reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]eqnamename of the equation
[in]varnamename of the related variable
[in]dispersivitydispersivity for each axis (x, y, z]
[in]bulk_densityvalue of the bulk density
[in]distrib_coefvalue of the distribution coefficient
[in]reaction_ratevalue of the first order rate of reaction
void cs_domain_add_property ( cs_domain_t domain,
const char *  pty_name,
const char *  type_name 
)

Add a new property to the current computational domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]pty_namename of the property to add
[in]type_namekey name related to the type of property
void cs_domain_add_user_equation ( cs_domain_t domain,
const char *  eqname,
const char *  varname,
const char *  key_type,
const char *  key_bc 
)

Add a new user equation to a domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]eqnamename of the equation
[in]varnamename of the related variable
[in]key_typetype of equation: "scalar", "vector", "tensor"
[in]key_bctype of boundary condition set by default "zero_value" or "zero_flux"
void cs_domain_create_fields ( cs_domain_t domain)

Create a cs_field_t structure for each equation defined in the domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure

Create a cs_field_t structure for each equation defined in the domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure
void cs_domain_define_current_time_step ( cs_domain_t domain)

Set the current time step for this new time iteration.

Parameters
[in,out]domainpointer to a cs_domain_t structure
cs_domain_t* cs_domain_free ( cs_domain_t domain)

Free a cs_domain_t structure.

Parameters
[in,out]domainpointer to the cs_domain_t structure to free
Returns
a NULL pointer
cs_adv_field_t* cs_domain_get_advection_field ( const cs_domain_t domain,
const char *  ref_name 
)

Find the related advection field definition from its name.

Parameters
[in]domainpointer to a domain structure
[in]ref_namename of the adv_field to find
Returns
NULL if not found otherwise the associated pointer
cs_equation_t* cs_domain_get_equation ( const cs_domain_t domain,
const char *  eqname 
)

Find the cs_equation_t structure whith name eqname Return NULL if not find.

Parameters
[in]domainpointer to a cs_domain_t structure
[in]eqnamename of the equation to find
Returns
a pointer to a cs_equation_t structure or NULL if not found
cs_groundwater_t* cs_domain_get_groundwater ( const cs_domain_t domain)

Retrieve the pointer to a cs_groundwater_t structure related to this domain.

Parameters
[in]domainpointer to a cs_domain_t structure
Returns
a pointer to a cs_groundwater_t structure
cs_property_t* cs_domain_get_property ( const cs_domain_t domain,
const char *  ref_name 
)

Find the related property definition from its name.

Parameters
[in]domainpointer to a domain structure
[in]ref_namename of the property to find
Returns
NULL if not found otherwise the associated pointer
void cs_domain_increment_time ( cs_domain_t domain)

Update time step after one temporal iteration.

Parameters
[in,out]domainpointer to a cs_domain_t structure
cs_domain_t* cs_domain_init ( const cs_mesh_t mesh,
const cs_mesh_quantities_t mesh_quantities 
)

Create and initialize of cs_domain_t structure.

Parameters
[in]meshpointer to a cs_mesh_t struct.
[in]mesh_quantitiespointer to a cs_mesh_quantities_t struct.
Returns
a pointer to a cs_domain_t structure

Create and initialize of cs_domain_t structure.

Parameters
[in]meshpointer to a cs_mesh_t struct.
[in]mesh_quantitiespointer to a cs_mesh_quantities_t struct.
Returns
a pointer to a cs_domain_t structure
void cs_domain_last_setup ( cs_domain_t domain)

Proceed to the last settings of a cs_domain_t structure.

Parameters
[in,out]domainpointer to the cs_domain_t structure to set
bool cs_domain_needs_iterate ( cs_domain_t domain)

Check if one needs to continue iterations in time.

Parameters
[in,out]domainpointer to a cs_domain_t structure
Returns
true or false
void cs_domain_set_default_boundary ( cs_domain_t domain,
const char *  bdy_name 
)

Set the boundary type by default.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]bdy_namekey name of the default boundary
void cs_domain_set_output_freq ( cs_domain_t domain,
int  freq 
)

Set the frequency at which output is done in listing.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]freqeach freq iterations
void cs_domain_set_time_step ( cs_domain_t domain,
double  t_end,
int  nt_max,
const char *  defkey,
void *  defval 
)

Setup the time step structure related to a domain.

Parameters
[in,out]domainpointer to a cs_domain_t structure
[in]t_endfinal physical time
[in]nt_maxmax. number of temporal iterations
[in]defkeyway of defining the time step
[in]defvaldefinition of the time step
void cs_domain_setup_predefined_equations ( cs_domain_t domain)

Setup predefined equations which are activated.

Parameters
[in,out]domainpointer to a cs_domain_t structure
void cs_domain_solve ( cs_domain_t domain)

Solve all the equations of a computational domain for one time step.

Parameters
[in,out]domainpointer to a cs_domain_t structure
void cs_domain_summary ( const cs_domain_t domain)

Summary of a cs_domain_t structure.

Parameters
[in]domainpointer to the cs_domain_t structure to summarize