|
programmer's documentation
|
#include "cs_defs.h"#include <assert.h>#include <string.h>#include <bft_mem.h>#include "cs_boundary_zone.h"#include "cs_xdef.h"#include "cs_equation_bc.h"
Macros | |
| #define | CS_EQUATION_BC_DBG 0 |
Functions | |
| static void | _assign_vb_dirichlet_values (int dim, int n_vf, const cs_lnum_t *lst, const cs_real_t *eval, bool is_constant, cs_real_t *vvals, int counter[]) |
| Set the Dirichlet BC values to the face vertices. Case of vertex-based schemes. More... | |
| static void | _init_cell_sys_bc (const cs_cdo_bc_face_t *face_bc, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys) |
| Set members of the cs_cell_sys_t structure related to the boundary conditions. Only the generic part is done here. The remaining part is performed specifically for each scheme. More... | |
| void | cs_equation_init_boundary_flux_from_bc (cs_real_t t_eval, const cs_cdo_quantities_t *cdoq, const cs_equation_param_t *eqp, cs_real_t *values) |
| Set the values for the normal boundary flux stemming from the Neumann boundary conditions (zero is left where a Dirichlet is set. This can be updated later on) More... | |
| void | cs_equation_vb_set_cell_bc (const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, const cs_cdo_bc_face_t *face_bc, const cs_flag_t vtx_bc_flag[], const cs_real_t dir_values[], cs_real_t t_eval, cs_cell_sys_t *csys, cs_cell_builder_t *cb) |
| Set the BC into a cellwise view of the current system. Case of vertex-based schemes. More... | |
| void | cs_equation_fb_set_cell_bc (const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, const cs_cdo_bc_face_t *face_bc, const cs_real_t dir_values[], cs_real_t t_eval, cs_cell_sys_t *csys, cs_cell_builder_t *cb) |
| Set the BC into a cellwise view of the current system. Case of Face-based schemes. More... | |
| void | cs_equation_compute_dirichlet_vb (cs_real_t t_eval, const cs_mesh_t *mesh, const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_equation_param_t *eqp, const cs_cdo_bc_face_t *face_bc, cs_cell_builder_t *cb, cs_flag_t *bcflag, cs_real_t *bcvals) |
| Compute the values of the Dirichlet BCs when DoFs are attached to vertices. More... | |
| void | cs_equation_compute_dirichlet_fb (const cs_mesh_t *mesh, const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_equation_param_t *eqp, const cs_cdo_bc_face_t *face_bc, cs_real_t t_eval, cs_cell_builder_t *cb, cs_real_t *values) |
| Compute the values of the Dirichlet BCs when DoFs are attached to CDO face-based schemes. More... | |
| void | cs_equation_set_vertex_bc_flag (const cs_cdo_connect_t *connect, const cs_cdo_bc_face_t *face_bc, cs_flag_t *vflag) |
| Define an array of flags for each vertex collecting the flags of associated boundary faces. More... | |
| void | cs_equation_compute_neumann_sv (cs_real_t t_eval, short int def_id, short int f, const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, double *neu_values) |
| Compute the values of the Neumann BCs when DoFs are scalar-valued and attached to vertices. More... | |
| void | cs_equation_compute_neumann_fb (cs_real_t t_eval, short int def_id, short int f, const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, double *neu_values) |
| Compute the values of the Neumann BCs when DoFs are attached to faces. More... | |
| void | cs_equation_compute_robin (cs_real_t t_eval, short int def_id, short int f, const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, double *rob_values) |
| Compute the values of the Robin BCs. More... | |
| #define CS_EQUATION_BC_DBG 0 |
|
inlinestatic |
Set the Dirichlet BC values to the face vertices. Case of vertex-based schemes.
| [in] | dim | number of values to assign to each vertex |
| [in] | n_vf | number of vertices in a face |
| [in] | lst | list of vertex numbering |
| [in] | eval | result of the evaluation to set |
| [in] | is_constant | same value for all vertices ? |
| [in,out] | vvals | vertex values to update |
| [in,out] | counter | counter to update |
|
inlinestatic |
Set members of the cs_cell_sys_t structure related to the boundary conditions. Only the generic part is done here. The remaining part is performed specifically for each scheme.
| [in] | face_bc | pointer to a cs_cdo_bc_face_t structure |
| [in] | cm | pointer to a cs_cell_mesh_t structure |
| [in,out] | csys | pointer to a cs_cell_system_t structure |
| void cs_equation_compute_dirichlet_fb | ( | const cs_mesh_t * | mesh, |
| const cs_cdo_quantities_t * | quant, | ||
| const cs_cdo_connect_t * | connect, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_cdo_bc_face_t * | face_bc, | ||
| cs_real_t | t_eval, | ||
| cs_cell_builder_t * | cb, | ||
| cs_real_t * | values | ||
| ) |
Compute the values of the Dirichlet BCs when DoFs are attached to CDO face-based schemes.
| [in] | mesh | pointer to a cs_mesh_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | connect | pointer to a cs_cdo_connect_t struct. |
| [in] | eqp | pointer to a cs_equation_param_t |
| [in] | face_bc | pointer to a cs_cdo_bc_face_t structure |
| [in] | t_eval | time at which one evaluates the boundary cond. |
| [in,out] | cb | pointer to a cs_cell_builder_t structure |
| [in,out] | values | pointer to the array of values to set |
| void cs_equation_compute_dirichlet_vb | ( | cs_real_t | t_eval, |
| const cs_mesh_t * | mesh, | ||
| const cs_cdo_quantities_t * | quant, | ||
| const cs_cdo_connect_t * | connect, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_cdo_bc_face_t * | face_bc, | ||
| cs_cell_builder_t * | cb, | ||
| cs_flag_t * | bcflag, | ||
| cs_real_t * | bcvals | ||
| ) |
Compute the values of the Dirichlet BCs when DoFs are attached to vertices.
| [in] | t_eval | time at which one performs the evaluation |
| [in] | mesh | pointer to a cs_mesh_t structure |
| [in] | quant | pointer to a cs_cdo_quantities_t structure |
| [in] | connect | pointer to a cs_cdo_connect_t struct. |
| [in] | eqp | pointer to a cs_equation_param_t |
| [in] | face_bc | pointer to a cs_cdo_bc_face_t structure |
| [in,out] | cb | pointer to a cs_cell_builder_t structure |
| [in,out] | bcflag | pointer to an array storing type of BC |
| [in,out] | values | pointer to the array of values to set |
| void cs_equation_compute_neumann_fb | ( | cs_real_t | t_eval, |
| short int | def_id, | ||
| short int | f, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_cell_mesh_t * | cm, | ||
| double * | neu_values | ||
| ) |
Compute the values of the Neumann BCs when DoFs are attached to faces.
| [in] | t_eval | time at which one performs the evaluation |
| [in] | def_id | id of the definition for setting the Neumann BC |
| [in] | f | local face number in the cs_cell_mesh_t |
| [in] | eqp | pointer to a cs_equation_param_t |
| [in] | cm | pointer to a cs_cell_mesh_t structure |
| [in,out] | neu_values | array storing Neumann values to use |
| void cs_equation_compute_neumann_sv | ( | cs_real_t | t_eval, |
| short int | def_id, | ||
| short int | f, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_cell_mesh_t * | cm, | ||
| double * | neu_values | ||
| ) |
Compute the values of the Neumann BCs when DoFs are scalar-valued and attached to vertices.
| [in] | t_eval | time at which one performs the evaluation |
| [in] | def_id | id of the definition for setting the Neumann BC |
| [in] | f | local face number in the cs_cell_mesh_t |
| [in] | eqp | pointer to a cs_equation_param_t |
| [in] | cm | pointer to a cs_cell_mesh_t structure |
| [in,out] | neu_values | array storing the Neumann values |
| void cs_equation_compute_robin | ( | cs_real_t | t_eval, |
| short int | def_id, | ||
| short int | f, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_cell_mesh_t * | cm, | ||
| double * | rob_values | ||
| ) |
Compute the values of the Robin BCs.
| [in] | t_eval | time at which one performs the evaluation |
| [in] | def_id | id of the definition for setting the Neumann BC |
| [in] | f | local face number in the cs_cell_mesh_t |
| [in] | eqp | pointer to a cs_equation_param_t |
| [in] | cm | pointer to a cs_cell_mesh_t structure |
| [in,out] | rob_values | array storing Robin values to use |
| void cs_equation_fb_set_cell_bc | ( | const cs_cell_mesh_t * | cm, |
| const cs_equation_param_t * | eqp, | ||
| const cs_cdo_bc_face_t * | face_bc, | ||
| const cs_real_t | dir_values[], | ||
| cs_real_t | t_eval, | ||
| cs_cell_sys_t * | csys, | ||
| cs_cell_builder_t * | cb | ||
| ) |
Set the BC into a cellwise view of the current system. Case of Face-based schemes.
| [in] | cm | pointer to a cellwise view of the mesh |
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in] | face_bc | pointer to a cs_cdo_bc_face_t structure |
| [in] | dir_values | Dirichlet values associated to each vertex |
| [in] | t_eval | time at which one performs the evaluation |
| [in,out] | csys | pointer to a cellwise view of the system |
| [in,out] | cb | pointer to a cellwise builder |
| void cs_equation_init_boundary_flux_from_bc | ( | cs_real_t | t_eval, |
| const cs_cdo_quantities_t * | cdoq, | ||
| const cs_equation_param_t * | eqp, | ||
| cs_real_t * | values | ||
| ) |
Set the values for the normal boundary flux stemming from the Neumann boundary conditions (zero is left where a Dirichlet is set. This can be updated later on)
Set the values for the normal boundary flux stemming from the Neumann boundary conditions (zero is left where a Dirichlet is set. This can be updated later one)
| [in] | t_eval | time at which one performs the evaluation |
| [in] | cdoq | pointer to a cs_cdo_quantities_t structure |
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in,out] | values | pointer to the array of values to set |
| void cs_equation_set_vertex_bc_flag | ( | const cs_cdo_connect_t * | connect, |
| const cs_cdo_bc_face_t * | face_bc, | ||
| cs_flag_t * | vflag | ||
| ) |
Define an array of flags for each vertex collecting the flags of associated boundary faces.
| [in] | connect | pointer to a cs_cdo_connect_t struct. |
| [in] | face_bc | pointer to a structure collecting boundary conditions applied to faces |
| [in,out] | vflag | BC flag on vertices to define |
| void cs_equation_vb_set_cell_bc | ( | const cs_cell_mesh_t * | cm, |
| const cs_equation_param_t * | eqp, | ||
| const cs_cdo_bc_face_t * | face_bc, | ||
| const cs_flag_t | vtx_bc_flag[], | ||
| const cs_real_t | dir_values[], | ||
| cs_real_t | t_eval, | ||
| cs_cell_sys_t * | csys, | ||
| cs_cell_builder_t * | cb | ||
| ) |
Set the BC into a cellwise view of the current system. Case of vertex-based schemes.
| [in] | cm | pointer to a cellwise view of the mesh |
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in] | face_bc | pointer to a cs_cdo_bc_face_t structure |
| [in] | vtx_bc_flag | BC flags associated to vertices |
| [in] | dir_values | Dirichlet values associated to each vertex |
| [in] | t_eval | time at which one performs the evaluation |
| [in,out] | csys | pointer to a cellwise view of the system |
| [in,out] | cb | pointer to a cellwise builder |
1.8.13