146 if ((this->cell_flag &
226 dump(
const char msg[])
const;
324 for (
short int v = 0; v < this->
n_vc; v++)
325 if (this->v_ids[v] == v_id)
344 for (
short int e = 0; e < this->
n_ec; e++)
345 if (this->e_ids[e] == e_id)
364 for (
short int f = 0; f < this->
n_fc; f++)
365 if (this->f_ids[f] == f_id)
381 get_f2v(
short int f,
short int *n_vf,
short int *vids)
const;
396 if (this->f_ids[f] - this->bface_shift > -1)
523 const short int *e2v_ids,
528 const short int e0 = f2e_ids[0];
529 const short int e1 = f2e_ids[1];
530 const short int tmp = e2v_ids[2 * e1];
532 *v0 = e2v_ids[2 * e0];
533 *v1 = e2v_ids[2 * e0 + 1];
534 *v2 = ((tmp != *v0) && (tmp != *v1)) ? tmp : e2v_ids[2 * e1 + 1];
759 short int n_max_vbyc);
void cs_cell_mesh_build(cs_lnum_t c_id, cs_eflag_t build_flag, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_cell_mesh_t *cm)
Define a cs_cell_mesh_t structure for a given cell id. According to the requested level,...
Definition: cs_cdo_local.cpp:962
cs_face_mesh_light_t ** cs_cdo_local_face_meshes_light
Definition: cs_cdo_local.cpp:80
cs_face_mesh_light_t * cs_face_mesh_light_create(short int n_max_vbyf, short int n_max_vbyc)
Allocate a cs_face_mesh_light_t structure.
Definition: cs_cdo_local.cpp:1861
cs_cell_mesh_t * cs_cell_mesh_create(const cs_cdo_connect_t *connect)
Allocate and initialize a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:568
cs_cell_sys_t * cs_cell_sys_create(int n_max_dofbyc, int n_max_fbyc, int n_blocks, int *block_sizes)
Allocate a cs_cell_sys_t structure.
Definition: cs_cdo_local.cpp:217
void cs_cdo_local_finalize(void)
Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures.
Definition: cs_cdo_local.cpp:168
void cs_cell_mesh_free(cs_cell_mesh_t **p_cm)
Free a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:906
void cs_cdo_local_initialize(const cs_cdo_connect_t *connect)
Allocate global structures used for build system with a cellwise or facewise process.
Definition: cs_cdo_local.cpp:117
cs_cell_mesh_t ** cs_cdo_local_cell_meshes
Definition: cs_cdo_local.cpp:78
void cs_face_mesh_build_from_cell_mesh(const cs_cell_mesh_t *cm, short int f, cs_face_mesh_t *fm)
Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure....
Definition: cs_cdo_local.cpp:1733
cs_cell_builder_t * cs_cell_builder_create(void)
Allocate cs_cell_builder_t structure.
Definition: cs_cdo_local.cpp:496
cs_face_mesh_t * cs_face_mesh_create(short int n_max_vbyf)
Allocate a cs_face_mesh_t structure.
Definition: cs_cdo_local.cpp:1484
cs_face_mesh_t * cs_cdo_local_get_face_mesh(int mesh_id)
Get a pointer to a cs_face_mesh_t structure corresponding to mesh id.
Definition: cs_cdo_local.cpp:1531
void cs_face_mesh_build(cs_lnum_t c_id, cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_face_mesh_t *fm)
Define a cs_face_mesh_t structure for a given face/cell id.
Definition: cs_cdo_local.cpp:1581
cs_face_mesh_light_t * cs_cdo_local_get_face_mesh_light(int mesh_id)
Get a pointer to a cs_face_mesh_light_t structure corresponding to mesh id.
Definition: cs_cdo_local.cpp:1899
void cs_cell_builder_free(cs_cell_builder_t **p_cb)
Free a cs_cell_builder_t structure.
Definition: cs_cdo_local.cpp:538
cs_face_mesh_t ** cs_cdo_local_face_meshes
Definition: cs_cdo_local.cpp:79
void cs_face_mesh_light_build(const cs_cell_mesh_t *cm, short int f, cs_face_mesh_light_t *fm)
Define a cs_face_mesh_light_t structure starting from a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:1944
cs_cell_mesh_t * cs_cdo_local_get_cell_mesh(int mesh_id)
Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id.
Definition: cs_cdo_local.cpp:646
void cs_face_mesh_free(cs_face_mesh_t **p_fm)
Free a cs_face_mesh_t structure.
Definition: cs_cdo_local.cpp:1548
void cs_face_mesh_light_free(cs_face_mesh_light_t **p_fm)
Free a cs_face_mesh_light_t structure.
Definition: cs_cdo_local.cpp:1916
static void cs_cell_mesh_get_next_3_vertices(const short int *f2e_ids, const short int *e2v_ids, short int *v0, short int *v1, short int *v2)
Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivi...
Definition: cs_cdo_local.h:522
void cs_cell_sys_free(cs_cell_sys_t **p_csys)
Free a cs_cell_sys_t structure.
Definition: cs_cdo_local.cpp:389
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:349
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
unsigned short int cs_flag_t
Definition: cs_defs.h:334
@ fm
Definition: cs_field_pointer.h:126
#define CS_FLAG_BOUNDARY_CELL_BY_VERTEX
(= 2) boundary cell with at least one border vertex
Definition: cs_flag.h:60
#define CS_FLAG_BOUNDARY_CELL_BY_FACE
(= 1) boundary cell with at least one border face
Definition: cs_flag.h:59
#define CS_FLAG_BOUNDARY_CELL_BY_EDGE
(= 4) boundary cell with at least one border edge
Definition: cs_flag.h:61
unsigned int cs_eflag_t
Definition: cs_flag.h:190
#define CS_CDO_N_MAX_REACTIONS
Definition: cs_param_cdo.h:67
fvm_element_t
Definition: fvm_defs.h:44
Definition: cs_cdo_connect.h:57
Definition: cs_cdo_quantities.h:142
Set of local and temporary buffers.
Definition: cs_cdo_local.h:56
double * values
Definition: cs_cdo_local.h:125
cs_real_t t_bc_eval
Definition: cs_cdo_local.h:75
double tpty_val
Definition: cs_cdo_local.h:104
cs_real_3_t * vectors
Definition: cs_cdo_local.h:126
cs_real_t t_pty_eval
Definition: cs_cdo_local.h:74
double rpty_vals[CS_CDO_N_MAX_REACTIONS]
Definition: cs_cdo_local.h:105
cs_sdm_t * aux
Definition: cs_cdo_local.h:129
double * adv_fluxes
Definition: cs_cdo_local.h:108
int * ids
Definition: cs_cdo_local.h:124
double rpty_val
Definition: cs_cdo_local.h:106
double gpty_val
Definition: cs_cdo_local.h:103
cs_real_t t_st_eval
Definition: cs_cdo_local.h:76
bool has_boundary_elements() const
Check if at least one entity of the cell belongs to the boundary.
Definition: cs_cdo_local.h:144
cs_sdm_t * loc
Definition: cs_cdo_local.h:128
cs_flag_t cell_flag
Definition: cs_cdo_local.h:78
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:242
cs_lnum_t * f_ids
Definition: cs_cdo_local.h:279
fvm_element_t type
Definition: cs_cdo_local.h:245
cs_real_3_t xc
Definition: cs_cdo_local.h:256
short int * e2v_ids
Definition: cs_cdo_local.h:290
double * f_diam
Definition: cs_cdo_local.h:281
bool is_boundary_face(const short int f) const
Is the face a boundary one ?
Definition: cs_cdo_local.h:394
short int * f2v_idx
Definition: cs_cdo_local.h:295
cs_nvec3_t * dface
Definition: cs_cdo_local.h:272
short int * e2v_sgn
Definition: cs_cdo_local.h:291
cs_real_t * pvol_f
Definition: cs_cdo_local.h:286
double diam_c
Definition: cs_cdo_local.h:258
short int n_vc
Definition: cs_cdo_local.h:262
cs_lnum_t c_id
Definition: cs_cdo_local.h:255
cs_nvec3_t * sefc
Definition: cs_cdo_local.h:307
double * hfc
Definition: cs_cdo_local.h:283
double * xv
Definition: cs_cdo_local.h:264
short int n_max_ebyc
Definition: cs_cdo_local.h:250
double * wvc
Definition: cs_cdo_local.h:265
short int * f2e_sgn
Definition: cs_cdo_local.h:301
short int n_ec
Definition: cs_cdo_local.h:269
short int get_vertex(const cs_lnum_t v_id) const
Retrieve the vertex id in the cellwise numbering associated to the given vertex id in the mesh number...
Definition: cs_cdo_local.h:322
short int * f2e_idx
Definition: cs_cdo_local.h:299
cs_quant_t * edge
Definition: cs_cdo_local.h:271
short int get_edge(const cs_lnum_t e_id) const
Retrieve the edge id in the cellwise numbering associated to the given edge id in the mesh numbering.
Definition: cs_cdo_local.h:342
cs_eflag_t flag
Definition: cs_cdo_local.h:244
cs_lnum_t bface_shift
Definition: cs_cdo_local.h:278
short int * f2e_ids
Definition: cs_cdo_local.h:300
void get_f2v(short int f, short int *n_vf, short int *vids) const
Retrieve the list of vertices attached to a face.
Definition: cs_cdo_local.cpp:2017
short int get_face(const cs_lnum_t f_id) const
Retrieve the face id in the cellwise numbering associated to the given face id in the mesh numbering.
Definition: cs_cdo_local.h:362
short int n_max_vbyc
Definition: cs_cdo_local.h:249
cs_nvec3_t * dedge
Definition: cs_cdo_local.h:285
double * tef
Definition: cs_cdo_local.h:302
short int n_fc
Definition: cs_cdo_local.h:277
short int * f_sgn
Definition: cs_cdo_local.h:280
short int * e2f_ids
Definition: cs_cdo_local.h:306
void reset()
Initialize to invalid values a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:669
short int n_max_fbyc
Definition: cs_cdo_local.h:251
double vol_c
Definition: cs_cdo_local.h:257
short int * f2v_ids
Definition: cs_cdo_local.h:296
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:263
void dump() const
Dump a cs_cell_mesh_t structure.
Definition: cs_cdo_local.cpp:744
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:270
cs_real_t * pvol_e
Definition: cs_cdo_local.h:273
cs_quant_t * face
Definition: cs_cdo_local.h:284
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:163
bool has_robin
Definition: cs_cdo_local.h:193
double * val_n
Definition: cs_cdo_local.h:174
cs_sdm_t * mat
Definition: cs_cdo_local.h:171
bool * dof_is_forced
Definition: cs_cdo_local.h:199
double * neu_values
Definition: cs_cdo_local.h:191
cs_lnum_t * bf_ids
Definition: cs_cdo_local.h:184
double * rob_values
Definition: cs_cdo_local.h:194
bool has_internal_enforcement
Definition: cs_cdo_local.h:198
bool has_dirichlet
Definition: cs_cdo_local.h:187
void dump(const char msg[]) const
Dump a local system for debugging purpose.
Definition: cs_cdo_local.cpp:428
double * val_nm1
Definition: cs_cdo_local.h:175
double * source
Definition: cs_cdo_local.h:173
bool has_nhmg_neumann
Definition: cs_cdo_local.h:190
cs_lnum_t c_id
Definition: cs_cdo_local.h:165
bool has_sliding
Definition: cs_cdo_local.h:196
cs_lnum_t * dof_ids
Definition: cs_cdo_local.h:168
short int n_bc_faces
Definition: cs_cdo_local.h:182
double * dir_values
Definition: cs_cdo_local.h:188
cs_flag_t * bf_flag
Definition: cs_cdo_local.h:185
cs_flag_t * dof_flag
Definition: cs_cdo_local.h:169
double * rhs
Definition: cs_cdo_local.h:172
short int * _f_ids
Definition: cs_cdo_local.h:183
int n_dofs
Definition: cs_cdo_local.h:167
void reset(int n_fbyc)
Reset all members related to BC and some other ones in a cs_cell_sys_t structure.
Definition: cs_cdo_local.cpp:348
Definition: cs_cdo_local.h:473
short int * e_ids
Definition: cs_cdo_local.h:489
cs_lnum_t c_id
Definition: cs_cdo_local.h:477
double * wvf
Definition: cs_cdo_local.h:484
double * tef
Definition: cs_cdo_local.h:490
short int n_vf
Definition: cs_cdo_local.h:482
short int * v_ids
Definition: cs_cdo_local.h:483
short int f
Definition: cs_cdo_local.h:478
short int n_ef
Definition: cs_cdo_local.h:488
short int n_max_vbyf
Definition: cs_cdo_local.h:474
Set of local quantities and connectivities related to a mesh face Structure used to get a better memo...
Definition: cs_cdo_local.h:432
cs_real_3_t xc
Definition: cs_cdo_local.h:436
short int * e2v_ids
Definition: cs_cdo_local.h:463
double hfc
Definition: cs_cdo_local.h:445
double pvol
Definition: cs_cdo_local.h:444
cs_nvec3_t dedge
Definition: cs_cdo_local.h:443
cs_lnum_t c_id
Definition: cs_cdo_local.h:435
double * wvf
Definition: cs_cdo_local.h:452
cs_lnum_t f_id
Definition: cs_cdo_local.h:440
double * xv
Definition: cs_cdo_local.h:451
cs_quant_t * edge
Definition: cs_cdo_local.h:458
cs_quant_t face
Definition: cs_cdo_local.h:442
double * tef
Definition: cs_cdo_local.h:459
short int n_vf
Definition: cs_cdo_local.h:449
short int n_ef
Definition: cs_cdo_local.h:456
short int f_sgn
Definition: cs_cdo_local.h:441
cs_lnum_t * v_ids
Definition: cs_cdo_local.h:450
cs_lnum_t * e_ids
Definition: cs_cdo_local.h:457
short int n_max_vbyf
Definition: cs_cdo_local.h:433
Definition: cs_defs.h:390
Definition: cs_cdo_quantities.h:134