![]() |
programmer's documentation
|
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include "bft_mem.h"
#include "bft_printf.h"
#include "bft_error.h"
#include "fvm_defs.h"
#include "fvm_selector.h"
#include "cs_defs.h"
#include "cs_math.h"
#include "cs_sort.h"
#include "cs_search.h"
#include "cs_mesh_connect.h"
#include "cs_coupling.h"
#include "cs_halo.h"
#include "cs_mesh.h"
#include "cs_mesh_boundary.h"
#include "cs_mesh_quantities.h"
#include "cs_convection_diffusion.h"
#include "cs_field.h"
#include "cs_field_operator.h"
#include "cs_selector.h"
#include "cs_parall.h"
#include "cs_prototypes.h"
#include "cs_stokes_model.h"
#include "cs_internal_coupling.h"
Functions | |
void | cs_internal_coupling_bcs (int bc_type[]) |
Impose wall BCs to internal coupled faces if not yet defined. More... | |
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 gradient calculation. More... | |
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 gradient calculation. More... | |
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 tensor gradient calculation. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | cs_internal_coupling_lsq_cocg_contribution (const cs_internal_coupling_t *cpl, cs_real_33_t cocg[]) |
void | cs_internal_coupling_lsq_cocg_weighted (const cs_internal_coupling_t *cpl, const cs_real_t *c_weight, cs_real_33_t cocg[]) |
void | cs_internal_coupling_it_cocg_contribution (const cs_internal_coupling_t *cpl, cs_real_33_t cocg[]) |
void | cs_internal_coupling_finalize (void) |
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[]) |
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[]) |
void | cs_internal_coupling_exchange_var (const cs_internal_coupling_t *cpl, int stride, cs_real_t distant[], cs_real_t local[]) |
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[]) |
cs_internal_coupling_t * | cs_internal_coupling_by_id (int coupling_id) |
void | cs_internal_coupling_spmv_contribution (bool exclude_diag, void *input, const cs_real_t *restrict x, cs_real_t *restrict y) |
void | cs_internal_coupling_initialize (void) |
void | cs_internal_coupling_log (const cs_internal_coupling_t *cpl) |
void | cs_internal_coupling_dump (void) |
void | cs_internal_coupling_add_volume (cs_mesh_t *mesh, const char criteria_cells[]) |
void | cs_internal_coupling_add_volumes_finalize (cs_mesh_t *mesh) |
void | cs_internal_coupling_add (cs_mesh_t *mesh, const char criteria_cells[], const char criteria_faces[]) |
void | cs_internal_coupling_add_entity (int f_id) |
void | cs_ic_set_exchcoeff (const int field_id, const cs_real_t *hbord) |
void | cs_matrix_preconditionning_add_coupling_contribution (void *input, cs_real_t *ad) |
void cs_ic_set_exchcoeff | ( | const int | field_id, |
const cs_real_t * | hbord | ||
) |
void cs_internal_coupling_add | ( | cs_mesh_t * | mesh, |
const char | criteria_cells[], | ||
const char | criteria_faces[] | ||
) |
void cs_internal_coupling_add_entity | ( | int | f_id | ) |
void cs_internal_coupling_add_volume | ( | cs_mesh_t * | mesh, |
const char | criteria_cells[] | ||
) |
void cs_internal_coupling_add_volumes_finalize | ( | cs_mesh_t * | mesh | ) |
void cs_internal_coupling_bcs | ( | int | bc_type[] | ) |
Impose wall BCs to internal coupled faces if not yet defined.
[in,out] | bc_type | face boundary condition type |
cs_internal_coupling_t* cs_internal_coupling_by_id | ( | int | coupling_id | ) |
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[] | ||
) |
void cs_internal_coupling_dump | ( | void | ) |
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[] | ||
) |
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[] | ||
) |
void cs_internal_coupling_exchange_var | ( | const cs_internal_coupling_t * | cpl, |
int | stride, | ||
cs_real_t | distant[], | ||
cs_real_t | local[] | ||
) |
void cs_internal_coupling_finalize | ( | void | ) |
void cs_internal_coupling_initialize | ( | void | ) |
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 gradient calculation.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in,out] | pvar | variable |
[in,out] | grad | gradient |
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 tensor gradient calculation.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in,out] | pvar | variable |
[in,out] | grad | gradient |
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 gradient calculation.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in,out] | pvar | variable |
[in,out] | grad | gradient |
void cs_internal_coupling_it_cocg_contribution | ( | const cs_internal_coupling_t * | cpl, |
cs_real_33_t | cocg[] | ||
) |
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.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in] | grad | pointer to gradient |
[in] | pvar | pointer to variable |
[in,out] | rhs | pointer to rhs contribution |
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.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in] | grad | pointer to gradient |
[in] | pvar | pointer to variable |
[in,out] | rhs | pointer to rhs contribution |
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.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in] | grad | pointer to gradient |
[in] | pvar | pointer to variable |
[in,out] | rhs | pointer to rhs contribution |
void cs_internal_coupling_log | ( | const cs_internal_coupling_t * | cpl | ) |
void cs_internal_coupling_lsq_cocg_contribution | ( | const cs_internal_coupling_t * | cpl, |
cs_real_33_t | cocg[] | ||
) |
void cs_internal_coupling_lsq_cocg_weighted | ( | const cs_internal_coupling_t * | cpl, |
const cs_real_t * | c_weight, | ||
cs_real_33_t | cocg[] | ||
) |
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.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in] | w_stride | stride of weighting coefficient |
[in,out] | rhs | pointer to rhs contribution |
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.
[in] | cpl | pointer to coupling entity |
[in] | c_weight | weighted gradient coefficient variable, or NULL |
[in] | w_stride | stride of weighting coefficient |
[in] | pvar | pointer to variable |
[in,out] | rhs | pointer to rhs contribution |
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.
[in] | cpl | pointer to coupling entity |
[in] | r_grad | pointer to reconstruction gradient |
[in,out] | grad | pointer to gradient to be reconstructed var |
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.
[in] | cpl | pointer to coupling entity |
[in] | r_grad | pointer to reconstruction gradient |
[in,out] | grad | pointer to gradient to be reconstructed var |
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.
[in] | cpl | pointer to coupling entity |
[in] | r_grad | pointer to reconstruction gradient |
[in,out] | grad | pointer to gradient to be reconstructed var |
void cs_internal_coupling_spmv_contribution | ( | bool | exclude_diag, |
void * | input, | ||
const cs_real_t *restrict | x, | ||
cs_real_t *restrict | y | ||
) |
void cs_matrix_preconditionning_add_coupling_contribution | ( | void * | input, |
cs_real_t * | ad | ||
) |