1 #ifndef __CS_CDO_DIFFUSION_H__ 2 #define __CS_CDO_DIFFUSION_H__ Definition: cs_cdo_bc.h:58
void cs_cdo_diffusion_build_c2bcbf(const cs_cdo_connect_t *connect, const cs_cdo_bc_list_t *dir_face, cs_lnum_t *p_c2bcbf_idx[], cs_lnum_t *p_c2bcbf_ids[])
Define a cell –> Dirichlet boundary faces connectivity.
Definition: cs_cdo_diffusion.c:869
cs_cdo_diff_t * cs_cdo_diffusion_builder_free(cs_cdo_diff_t *diff)
Free a cs_cdo_diff_t structure.
Definition: cs_cdo_diffusion.c:786
double cs_cdo_diffusion_face_flux(const cs_face_mesh_t *fm, const cs_real_t pty_tens[3][3], const double *p_v, const double p_f, const double p_c, cs_cdo_diff_t *diff)
Compute the diffusive flux across a face (based on a subdivision into tetrahedra of the volume p_{f...
Definition: cs_cdo_diffusion.c:1342
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
void cs_cdo_diffusion_weak_bc(cs_lnum_t f_id, const cs_cell_mesh_t *cm, const cs_real_t matpty[3][3], cs_cdo_diff_t *diff, cs_cdo_locsys_t *csys)
Define the local (cellwise) "normal trace gradient" matrix taking into account Dirichlet BCs by a wea...
Definition: cs_cdo_diffusion.c:1015
Definition: cs_cdo_local.h:73
void cs_cdo_diffusion_cellwise_flux(const cs_cell_mesh_t *cm, const cs_dface_t *dfaces, const cs_real_t pty_tens[3][3], const double *p_v, const double p_c, cs_cdo_diff_t *diff, double *c_flux)
Compute the diffusive flux across dual faces for a given cell The computation takes into account a su...
Definition: cs_cdo_diffusion.c:1241
Definition: cs_cdo_connect.h:67
cs_locmat_t * cs_cdo_diffusion_build_local(const cs_cdo_quantities_t *quant, const cs_cell_mesh_t *lm, const cs_real_3_t *tensor, cs_cdo_diff_t *diff)
Define the local (cellwise) stiffness matrix.
Definition: cs_cdo_diffusion.c:942
struct _cs_cdo_diff_t cs_cdo_diff_t
Definition: cs_cdo_diffusion.h:53
double cs_real_t
Floating-point value.
Definition: cs_defs.h:296
Definition: cs_cdo_quantities.h:100
struct _hodge_builder_t cs_hodge_builder_t
Definition: cs_hodge.h:53
cs_space_scheme_t
Definition: cs_cdo.h:99
Definition: cs_field_pointer.h:118
Definition: cs_cdo_local.h:59
cs_cdo_diff_t * cs_cdo_diffusion_builder_init(const cs_cdo_connect_t *connect, cs_space_scheme_t space_scheme, bool is_uniform, const cs_param_hodge_t h_info, const cs_param_bc_enforce_t bc_enforce)
Initialize a builder structure used to build the stiffness matrix.
Definition: cs_cdo_diffusion.c:723
cs_hodge_builder_t * cs_cdo_diffusion_get_hodge_builder(cs_cdo_diff_t *diff)
Get the related Hodge builder structure.
Definition: cs_cdo_diffusion.c:824
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:308
Definition: cs_cdo_quantities.h:90
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
#define END_C_DECLS
Definition: cs_defs.h:449
void cs_cdo_diffusion_get_tmp_buffers(const cs_cdo_diff_t *diff, cs_real_3_t **tmp_vec, cs_real_t **tmp_sca)
Get temporary buffers attached to a cs_cdo_diff_t structure.
Definition: cs_cdo_diffusion.c:843
Definition: cs_cdo_local.h:125
Definition: cs_param.h:143
cs_param_bc_enforce_t
Definition: cs_param.h:271
Definition: cs_cdo_toolbox.h:71