1 #ifndef __CS_CDO_DIFFUSION_H__ 2 #define __CS_CDO_DIFFUSION_H__ 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_cell_builder_t *cb)
Compute the diffusive flux across a face (based on a subdivision into tetrahedra of the volume p_{f...
Definition: cs_cdo_diffusion.c:1011
void cs_cdo_diffusion_vcost_get_dfbyc_flux(const cs_cell_mesh_t *cm, const double *pot, cs_cell_builder_t *cb, double *flx)
Compute the diffusive flux across dual faces for a given cell Use the COST algo. for computing the di...
Definition: cs_cdo_diffusion.c:792
#define BEGIN_C_DECLS
Definition: cs_defs.h:461
void cs_cdovb_diffusion_weak_dirichlet(const cs_param_hodge_t h_info, const cs_cell_mesh_t *cm, cs_cdo_diffusion_flux_trace_t *flux_op, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account Dirichlet BCs by a weak enforcement using Nitsche technique.
Definition: cs_cdo_diffusion.c:547
Definition: cs_cdo_local.h:133
void cs_cdo_diffusion_wbs_get_pc_flux(const cs_cell_mesh_t *cm, const cs_real_t *pot, cs_cell_builder_t *cb, cs_real_t *flx)
Compute the diffusive flux inside a given primal cell Use the WBS algo. for approximating the gradien...
Definition: cs_cdo_diffusion.c:975
double precision, dimension(ncharm), save beta
Definition: cpincl.f90:99
void cs_cdo_diffusion_wbs_get_dfbyc_flux(const cs_cell_mesh_t *cm, const cs_real_t *pot, cs_cell_builder_t *cb, cs_real_t *flx)
Compute the diffusive flux across dual faces for a given cell Use the WBS algo. for approximating the...
Definition: cs_cdo_diffusion.c:873
double cs_real_t
Floating-point value.
Definition: cs_defs.h:297
void cs_cdo_diffusion_pena_dirichlet(const cs_param_hodge_t h_info, const cs_cell_mesh_t *cm, cs_cdo_diffusion_flux_trace_t *flux_op, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account Dirichlet BCs by a weak enforcement using Nitsche technique (symmetrized or not) or...
Definition: cs_cdo_diffusion.c:674
Definition: cs_cdo_local.h:94
void cs_cdovb_diffusion_wbs_flux_op(const cs_face_mesh_t *fm, const cs_cell_mesh_t *cm, const cs_real_3_t pty_nuf, double beta, cs_cell_builder_t *cb, cs_sdm_t *ntrgrd)
Compute the normal trace operator for a given border face when a WBS algo. is used for reconstructing...
Definition: cs_cdo_diffusion.c:332
Definition: cs_field_pointer.h:123
void cs_cdo_diffusion_vcost_get_pc_flux(const cs_cell_mesh_t *cm, const double *pot, cs_cell_builder_t *cb, double *flx)
Compute the diffusive flux inside a (primal) cell Use the COST algo. for computing the discrete Hodge...
Definition: cs_cdo_diffusion.c:830
void() cs_cdo_cellwise_diffusion_flux_t(const cs_cell_mesh_t *cm, const cs_real_t *pot, cs_cell_builder_t *cb, cs_real_t *flx)
Cellwise computation of the diffusive flux.
Definition: cs_cdo_diffusion.h:88
void cs_cdovcb_diffusion_flux_op(const cs_face_mesh_t *fm, const cs_cell_mesh_t *cm, const cs_real_3_t pty_nuf, double beta, cs_cell_builder_t *cb, cs_sdm_t *ntrgrd)
Compute the normal trace operator for a given border face when a WBS algo. is used for reconstructing...
Definition: cs_cdo_diffusion.c:223
void cs_cdovb_diffusion_wsym_dirichlet(const cs_param_hodge_t h_info, const cs_cell_mesh_t *cm, cs_cdo_diffusion_flux_trace_t *flux_op, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account Dirichlet BCs by a weak enforcement using Nitsche technique plus a symmetric treatm...
Definition: cs_cdo_diffusion.c:606
Definition: cs_cdo_local.h:71
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:309
void cs_cdo_diffusion_pena_block_dirichlet(const cs_param_hodge_t h_info, const cs_cell_mesh_t *cm, cs_cdo_diffusion_flux_trace_t *flux_op, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account Dirichlet BCs by a weak enforcement by a penalization technique with a huge value...
Definition: cs_cdo_diffusion.c:726
void cs_cdovb_diffusion_cost_flux_op(const cs_face_mesh_t *fm, const cs_cell_mesh_t *cm, const cs_real_3_t mnu, double beta, cs_cell_builder_t *cb, cs_sdm_t *ntrgrd)
Compute the normal trace operator for a given border face when a COST algo. is used for reconstructin...
Definition: cs_cdo_diffusion.c:456
void() cs_cdo_diffusion_enforce_dir_t(const cs_param_hodge_t h_info, const cs_cell_mesh_t *cm, cs_cdo_diffusion_flux_trace_t *flux_op, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Take into account Dirichlet BCs by a weak enforcement using Nitsche technique (symmetrized or not) or...
Definition: cs_cdo_diffusion.h:108
#define END_C_DECLS
Definition: cs_defs.h:462
void() cs_cdo_diffusion_flux_trace_t(const cs_face_mesh_t *fm, const cs_cell_mesh_t *cm, const cs_real_3_t mnu, double beta, cs_cell_builder_t *cb, cs_sdm_t *ntrgrd)
Compute the diffusion flux operator which corresponds to the normal trace operator for a given border...
Definition: cs_cdo_diffusion.h:69
Definition: cs_cdo_local.h:191
Definition: cs_param_cdo.h:97