1 #ifndef __CS_INTERNAL_COUPLING_H__ 2 #define __CS_INTERNAL_COUPLING_H__ 34 #include <ple_locator.h> 127 const char criteria_cells[],
128 const char criteria_faces[]);
141 const char criteria_cells[]);
cs_real_3_t * offset_vect
Definition: cs_internal_coupling.h:88
void cs_internal_coupling_iterative_tensor_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], cs_real_63_t *restrict grad, const cs_real_6_t pvar[], cs_real_63_t rhs[])
Add internal coupling rhs contribution for iterative tensor gradient calculation. ...
Definition: cs_internal_coupling.c:1390
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:281
ple_locator_t * locator
Definition: cs_internal_coupling.h:65
#define restrict
Definition: cs_defs.h:122
void cs_internal_coupling_exchange_by_face_id(const cs_internal_coupling_t *cpl, int stride, const cs_real_t tab[], cs_real_t local[])
Definition: cs_internal_coupling.c:2083
int cs_internal_coupling_n_couplings(void)
Return number of defined internal couplings.
Definition: cs_internal_coupling.c:818
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:311
Field descriptor.
Definition: cs_field.h:124
struct _cs_matrix_assembler_values_t cs_matrix_assembler_values_t
Definition: cs_matrix_assembler.h:66
Definition: cs_internal_coupling.h:62
void cs_internal_coupling_lsq_cocg_weighted(const cs_internal_coupling_t *cpl, const cs_real_t *c_weight, cs_real_33_t cocg[])
Definition: cs_internal_coupling.c:1971
#define BEGIN_C_DECLS
Definition: cs_defs.h:461
void cs_internal_coupling_coupled_faces(const cs_internal_coupling_t *cpl, cs_lnum_t *n_local, cs_lnum_t *faces_local[], cs_lnum_t *n_distant, cs_lnum_t *faces_distant[])
Definition: cs_internal_coupling.c:2196
void cs_internal_coupling_it_cocg_contribution(const cs_internal_coupling_t *cpl, cs_real_33_t cocg[])
Definition: cs_internal_coupling.c:2028
cs_real_33_t * cocg_it
Definition: cs_internal_coupling.h:92
void cs_internal_coupling_add(cs_mesh_t *mesh, const char criteria_cells[], const char criteria_faces[])
Definition: cs_internal_coupling.c:835
void cs_internal_coupling_matrix_add_values(const cs_field_t *f, cs_lnum_t db_size, cs_lnum_t eb_size, const cs_gnum_t r_g_id[], cs_matrix_assembler_values_t *mav)
Definition: cs_internal_coupling.c:2413
void cs_internal_coupling_preprocess(cs_mesh_t *mesh)
Definition: cs_internal_coupling.c:2761
cs_real_3_t * ci_cj_vect
Definition: cs_internal_coupling.h:85
void cs_internal_coupling_setup(void)
Setup internal coupling related parameters.
Definition: cs_internal_coupling.c:2540
void cs_internal_coupling_iterative_scalar_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], cs_real_3_t *restrict grad, const cs_real_t pvar[], cs_real_3_t rhs[])
Add internal coupling rhs contribution for iterative gradient calculation.
Definition: cs_internal_coupling.c:1176
void cs_internal_coupling_finalize(void)
Definition: cs_internal_coupling.c:2061
void cs_internal_coupling_bcs(int bc_type[])
Impose wall BCs to internal coupled faces if not yet defined.
Definition: cs_internal_coupling.c:895
void cs_internal_coupling_initialize_tensor_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const cs_real_6_t pvar[], cs_real_63_t *restrict grad)
Add contribution from coupled faces (internal coupling) to initialisation for iterative symmetric ten...
Definition: cs_internal_coupling.c:1090
void cs_internal_coupling_reconstruct_vector_gradient(const cs_internal_coupling_t *cpl, cs_real_33_t *restrict r_grad, cs_real_33_t grad[])
Add internal coupling contribution for reconstruction of the gradient of a vector.
Definition: cs_internal_coupling.c:1556
cs_real_t cs_real_4_t[4]
vector of 4 floating-point values
Definition: cs_defs.h:310
double cs_real_t
Floating-point value.
Definition: cs_defs.h:297
void cs_internal_coupling_add_entity(int f_id)
Definition: cs_internal_coupling.c:2799
cs_lnum_t n_local
Definition: cs_internal_coupling.h:72
void cs_internal_coupling_log(const cs_internal_coupling_t *cpl)
Definition: cs_internal_coupling.c:2707
void cs_internal_coupling_initialize_vector_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const cs_real_3_t pvar[], cs_real_33_t *restrict grad)
Add contribution from coupled faces (internal coupling) to initialisation for iterative vector gradie...
Definition: cs_internal_coupling.c:1006
void cs_internal_coupling_exchange_by_cell_id(const cs_internal_coupling_t *cpl, int stride, const cs_real_t tab[], cs_real_t local[])
Definition: cs_internal_coupling.c:2122
bool * coupled_faces
Definition: cs_internal_coupling.h:79
void cs_internal_coupling_lsq_tensor_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const int w_stride, const cs_real_6_t pvar[], cs_real_63_t rhs[])
Add internal coupling rhs contribution for LSQ gradient calculation.
cs_lnum_t * faces_local
Definition: cs_internal_coupling.h:73
cs_lnum_t * faces_distant
Definition: cs_internal_coupling.h:76
cs_real_t * g_weight
Definition: cs_internal_coupling.h:82
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:309
void cs_internal_coupling_lsq_vector_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const int w_stride, const cs_real_3_t pvar[], cs_real_33_t rhs[])
Add internal coupling rhs contribution for LSQ gradient calculation.
Definition: cs_internal_coupling.c:1802
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:293
void cs_internal_coupling_initialize_scalar_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const cs_real_t pvar[], cs_real_3_t *restrict grad)
Add contribution from coupled faces (internal coupling) to initialisation for iterative scalar gradie...
Definition: cs_internal_coupling.c:925
char * cells_criteria
Definition: cs_internal_coupling.h:69
#define END_C_DECLS
Definition: cs_defs.h:462
void cs_internal_coupling_map(cs_mesh_t *mesh)
Definition: cs_internal_coupling.c:2781
void cs_internal_coupling_dump(void)
Definition: cs_internal_coupling.c:2734
void cs_internal_coupling_lsq_scalar_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], const int w_stride, cs_real_4_t rhsv[])
Add internal coupling rhs contribution for LSQ gradient calculation.
Definition: cs_internal_coupling.c:1680
struct _cs_matrix_assembler_t cs_matrix_assembler_t
Definition: cs_matrix_assembler.h:62
void cs_internal_coupling_initialize(void)
Initialize internal coupling related structures.
Definition: cs_internal_coupling.c:2618
void cs_internal_coupling_exchange_var(const cs_internal_coupling_t *cpl, int stride, cs_real_t distant[], cs_real_t local[])
Definition: cs_internal_coupling.c:2170
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:315
void cs_internal_coupling_reconstruct_tensor_gradient(const cs_internal_coupling_t *cpl, cs_real_63_t *restrict r_grad, cs_real_63_t grad[])
Add internal coupling contribution for reconstruction of the gradient of a symmetric tensor...
Definition: cs_internal_coupling.c:1618
void cs_ic_set_exchcoeff(const int field_id, const cs_real_t *hbord)
Definition: cs_internal_coupling.c:2828
cs_real_t cs_real_63_t[6][3]
Definition: cs_defs.h:321
cs_real_33_t * cocgb_s_lsq
Definition: cs_internal_coupling.h:91
void cs_internal_coupling_spmv_contribution(bool exclude_diag, const cs_field_t *f, const cs_real_t *restrict x, cs_real_t *restrict y)
Definition: cs_internal_coupling.c:2241
int * c_tag
Definition: cs_internal_coupling.h:66
void cs_internal_coupling_lsq_cocg_contribution(const cs_internal_coupling_t *cpl, cs_real_33_t cocg[])
Definition: cs_internal_coupling.c:1930
void cs_internal_coupling_iterative_vector_gradient(const cs_internal_coupling_t *cpl, const cs_real_t c_weight[], cs_real_33_t *restrict grad, const cs_real_3_t pvar[], cs_real_33_t rhs[])
Add internal coupling rhs contribution for iterative vector gradient calculation. ...
Definition: cs_internal_coupling.c:1282
void cs_internal_coupling_add_volume(cs_mesh_t *mesh, const char criteria_cells[])
Definition: cs_internal_coupling.c:864
void cs_internal_coupling_matrix_add_ids(int coupling_id, const cs_gnum_t *r_g_id, cs_matrix_assembler_t *ma)
Definition: cs_internal_coupling.c:2342
char * faces_criteria
Definition: cs_internal_coupling.h:70
cs_internal_coupling_t * cs_internal_coupling_by_id(int coupling_id)
Definition: cs_internal_coupling.c:2220
cs_lnum_t n_distant
Definition: cs_internal_coupling.h:75
char * namesca
Definition: cs_internal_coupling.h:95
void cs_internal_coupling_reconstruct_scalar_gradient(const cs_internal_coupling_t *cpl, cs_real_3_t *restrict r_grad, cs_real_3_t grad[])
Add internal coupling contribution for reconstruction of the gradient of a scalar.