|
programmer's documentation
|
#include "cs_defs.h"#include <errno.h>#include <locale.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <math.h>#include <float.h>#include <bft_mem.h>#include <bft_printf.h>#include "cs_mesh_location.h"#include "cs_post.h"#include "cs_evaluate.h"#include "cs_walldistance.h"#include "cs_groundwater.h"#include "cs_prototypes.h"#include "cs_cdovb_scaleq.h"#include "cs_cdofb_scaleq.h"#include "cs_domain.h"
Functions | |
| static void | _domain_post (const cs_domain_t *domain) |
| Postprocessing of quantities attached to the current domain s.t. advection fields. More... | |
| static void | _check_boundary_setup (cs_domain_t *domain) |
| Check if the setup of boundary is reliable. More... | |
| static void | _add_mesh_locations (cs_domain_t *domain) |
| Check if the setup is reliable. More... | |
| static cs_domain_boundary_t * | _init_domain_boundaries (cs_lnum_t n_b_faces) |
| Allocate and initialize a cs_domain_boundary_t structure. More... | |
| static cs_domain_boundary_t * | _free_domain_boundaries (cs_domain_boundary_t *bcs) |
| Destroy a cs_domain_boundary_t structure. More... | |
| static void | _compute_wall_distance (cs_domain_t *domain) |
| Compute the wall distance. More... | |
| static void | _compute_steady_user_equations (cs_domain_t *domain) |
| Compute equations which user-defined and steady-state. More... | |
| static void | _compute_unsteady_user_equations (cs_domain_t *domain, int nt_cur) |
| Compute user-defined equation which are time-dependent. More... | |
| cs_domain_t * | cs_domain_init (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities) |
| Create and initialize a 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_t * | cs_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... | |
| 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_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 particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling. 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) |
| Find the cs_equation_t structure whith name eqname Return NULL if not find. 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... | |
Variables | |
| static const char | _domain_boundary_ml_name [CS_PARAM_N_BOUNDARY_TYPES][CS_CDO_LEN_NAME] |
|
static |
Check if the setup is reliable.
| [in] | domain | pointer to a cs_domain_t structure |
|
static |
Check if the setup of boundary is reliable.
| [in] | domain | pointer to a cs_domain_t structure |
|
static |
Compute equations which user-defined and steady-state.
| [in,out] | domain | pointer to a cs_domain_t structure |
|
static |
Compute user-defined equation which are time-dependent.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | nt_cur | current number of iteration done |
|
static |
Compute the wall distance.
| [in,out] | domain | pointer to a cs_domain_t structure |
|
static |
Postprocessing of quantities attached to the current domain s.t. advection fields.
| [in] | domain | pointer to a cs_domain_t struct. |
|
static |
Destroy a cs_domain_boundary_t structure.
| [in,out] | bcs | pointer to the cs_domain_t structure to free |
|
static |
Allocate and initialize a cs_domain_boundary_t structure.
| [in] | n_b_faces | number of boundary faces |
| void cs_domain_activate_groundwater | ( | cs_domain_t * | domain, |
| const char * | model | ||
| ) |
Activate the computation of the Richards' equation.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | model | keyword related to the model used |
| void cs_domain_activate_wall_distance | ( | cs_domain_t * | domain | ) |
Activate the computation of the wall distance.
| [in,out] | domain | pointer 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | adv_name | name 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | ml_name | mesh location name |
| [in] | bdy_name | key 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 particular type of unsteady advection-diffusion reaction eq. Tracer is advected thanks to the darcian velocity and diffusion/reaction parameters result from a physical modelling.
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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | eqname | name of the equation |
| [in] | varname | name of the related variable |
| [in] | dispersivity | dispersivity for each axis (x, y, z] |
| [in] | bulk_density | value of the bulk density |
| [in] | distrib_coef | value of the distribution coefficient |
| [in] | reaction_rate | value 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | pty_name | name of the property to add |
| [in] | type_name | key 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | eqname | name of the equation |
| [in] | varname | name of the related variable |
| [in] | key_type | type of equation: "scalar", "vector", "tensor" |
| [in] | key_bc | type of boundary condition set by default "zero_value" or "zero_flux" |
| void cs_domain_create_fields | ( | cs_domain_t * | domain | ) |
Find the cs_equation_t structure whith name eqname Return NULL if not find.
Create a cs_field_t structure for each equation defined in the domain.
| [in,out] | domain | pointer 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| cs_domain_t* cs_domain_free | ( | cs_domain_t * | domain | ) |
Free a cs_domain_t structure.
| [in,out] | domain | pointer to the cs_domain_t structure to free |
| 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.
| [in] | domain | pointer to a domain structure |
| [in] | ref_name | name of the adv_field to find |
| 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.
| [in] | domain | pointer to a cs_domain_t structure |
| [in] | eqname | name of the equation to find |
| 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.
| [in] | domain | pointer to a cs_domain_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.
| [in] | domain | pointer to a domain structure |
| [in] | ref_name | name of the property to find |
| void cs_domain_increment_time | ( | cs_domain_t * | domain | ) |
Update time step after one temporal iteration.
| [in,out] | domain | pointer 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 a cs_domain_t structure.
Create and initialize of cs_domain_t structure.
| [in] | mesh | pointer to a cs_mesh_t struct. |
| [in] | mesh_quantities | pointer to a cs_mesh_quantities_t struct. |
| void cs_domain_last_setup | ( | cs_domain_t * | domain | ) |
Proceed to the last settings of a cs_domain_t structure.
| [in,out] | domain | pointer 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| void cs_domain_set_default_boundary | ( | cs_domain_t * | domain, |
| const char * | bdy_name | ||
| ) |
Set the boundary type by default.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | bdy_name | key 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | freq | each 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| [in] | t_end | final physical time |
| [in] | nt_max | max. number of temporal iterations |
| [in] | defkey | way of defining the time step |
| [in] | defval | definition of the time step |
| void cs_domain_setup_predefined_equations | ( | cs_domain_t * | domain | ) |
Setup predefined equations which are activated.
| [in,out] | domain | pointer 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.
| [in,out] | domain | pointer to a cs_domain_t structure |
| void cs_domain_summary | ( | const cs_domain_t * | domain | ) |
Summary of a cs_domain_t structure.
| [in] | domain | pointer to the cs_domain_t structure to summarize |
|
static |
1.8.9.1