My Project
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 |