My Project
programmer's documentation
|
Go to the source code of this file.
Functions | |
void | CS_PROCF (matrix, MATRIX)(const int *iconvp |
void | CS_PROCF (matrdt, MATRDT)(const cs_int_t *const iconvp |
void | cs_matrix_wrapper_scalar (int iconvp, int idiffp, int ndircp, int isym, double thetap, int imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t da[], cs_real_t xa[]) |
void | cs_matrix_wrapper_scalar_conv_diff (int iconvp, int idiffp, int ndircp, double thetap, int imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t da[], cs_real_t xa[], cs_real_t da_conv[], cs_real_t xa_conv[], cs_real_t da_diff[], cs_real_t xa_diff[]) |
void | cs_matrix_wrapper_vector (int iconvp, int idiffp, int tensorial_diffusion, int ndircp, int isym, int eb_size[4], double thetap, const cs_real_33_t coefbu[], const cs_real_33_t cofbfu[], const cs_real_33_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_33_t da[], cs_real_t xa[]) |
void | cs_matrix_wrapper_tensor (int iconvp, int idiffp, int tensorial_diffusion, int ndircp, int isym, double thetap, const cs_real_66_t coefbts[], const cs_real_66_t cofbfts[], const cs_real_66_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_66_t da[], cs_real_t xa[]) |
void | cs_sym_matrix_scalar (const cs_mesh_t *m, int idiffp, double thetap, const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t *restrict da, cs_real_t *restrict xa) |
Build the diffusion matrix for a scalar field. (symmetric matrix). More... | |
void | cs_sym_matrix_tensor (const cs_mesh_t *m, int idiffp, double thetap, const cs_real_66_t cofbfts[], const cs_real_66_t fimp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_66_t *restrict da, cs_real_t *restrict xa) |
Build the diffusion matrix for a tensor field (symmetric matrix). More... | |
void | cs_matrix_tensor (const cs_mesh_t *m, int iconvp, int idiffp, double thetap, const cs_real_66_t coefbts[], const cs_real_66_t cofbfts[], const cs_real_66_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_66_t *restrict da, cs_real_2_t *restrict xa) |
Build the advection/diffusion matrix for a tensor field (non-symmetric matrix). More... | |
void | cs_matrix_scalar (const cs_mesh_t *m, int iconvp, int idiffp, double thetap, int imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t *restrict da, cs_real_2_t *restrict xa) |
Build the advection/diffusion matrix for a scalar field. More... | |
void | cs_sym_matrix_vector (const cs_mesh_t *m, int idiffp, double thetap, const cs_real_33_t cofbfu[], const cs_real_33_t fimp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_33_t *restrict da, cs_real_t *restrict xa) |
Build the diffusion matrix for a vector field (symmetric matrix). More... | |
void | cs_matrix_vector (const cs_mesh_t *m, const cs_mesh_quantities_t *mq, int iconvp, int idiffp, int eb_size[4], double thetap, const cs_real_33_t coefbu[], const cs_real_33_t cofbfu[], const cs_real_33_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_33_t *restrict da, cs_real_2_t *restrict xa) |
Build the advection/diffusion matrix for a vector field (non-symmetric matrix). More... | |
void | cs_matrix_time_step (const cs_mesh_t *m, int iconvp, int idiffp, int isym, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t *restrict da) |
Build the diagonal of the advection/diffusion matrix for determining the variable time step, flow, Fourier. More... | |
void | cs_matrix_anisotropic_diffusion (const cs_mesh_t *m, const cs_mesh_quantities_t *mq, int iconvp, int idiffp, double thetap, const cs_real_33_t coefbu[], const cs_real_33_t cofbfu[], const cs_real_33_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_33_t i_visc[], const cs_real_t b_visc[], cs_real_33_t *restrict da, cs_real_332_t *restrict xa) |
Build the advection/diffusion matrix for a vector field with a tensorial diffusivity. More... | |
void | cs_matrix_anisotropic_diffusion_tensor (const cs_mesh_t *m, int iconvp, int idiffp, double thetap, const cs_real_66_t coefbu[], const cs_real_66_t cofbfu[], const cs_real_66_t fimp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_66_t i_visc[], const cs_real_t b_visc[], cs_real_66_t *restrict da, cs_real_662_t *restrict xa) |
Build the advection/diffusion matrix for a tensor field with a tensorial diffusivity. More... | |
void | cs_sym_matrix_anisotropic_diffusion (const cs_mesh_t *m, int idiffp, double thetap, const cs_real_33_t cofbfu[], const cs_real_33_t fimp[], const cs_real_33_t i_visc[], const cs_real_t b_visc[], cs_real_33_t *restrict da, cs_real_33_t *restrict xa) |
Build the diffusion matrix for a vector field with a tensorial diffusivity (symmetric matrix). More... | |
void | cs_sym_matrix_anisotropic_diffusion_tensor (const cs_mesh_t *m, int idiffp, double thetap, const cs_real_66_t cofbfu[], const cs_real_66_t fimp[], const cs_real_66_t i_visc[], const cs_real_t b_visc[], cs_real_66_t *restrict da, cs_real_66_t *restrict xa) |
Build the diffusion matrix for a vector field with a tensorial diffusivity (symmetric matrix). More... | |
Variables | |
void const int * | idiffp |
void const int const int * | ndircp |
void const int const int const int * | isym |
void const int const int const int const cs_real_t * | thetap |
void const int const int const int const cs_real_t const int * | imucpp |
void const int const int const int const cs_real_t const int const cs_real_t | coefbp [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t | cofbfp [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t | rovsdt [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t | i_massflux [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t | b_massflux [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t | i_visc [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t | b_visc [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t | xcpp [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t | da [] |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t cs_real_t | xa [] |
void cs_matrix_anisotropic_diffusion | ( | const cs_mesh_t * | m, |
const cs_mesh_quantities_t * | mq, | ||
int | iconvp, | ||
int | idiffp, | ||
double | thetap, | ||
const cs_real_33_t | coefbp[], | ||
const cs_real_33_t | cofbfp[], | ||
const cs_real_33_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_33_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_33_t *restrict | da, | ||
cs_real_332_t *restrict | xa | ||
) |
Build the advection/diffusion matrix for a vector field with a tensorial diffusivity.
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 times 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | mq | pointer to mesh quantities structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbu | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 times 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | mq | pointer to mesh quantities structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbp | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_matrix_anisotropic_diffusion_tensor | ( | const cs_mesh_t * | m, |
int | iconvp, | ||
int | idiffp, | ||
double | thetap, | ||
const cs_real_66_t | coefbp[], | ||
const cs_real_66_t | cofbfp[], | ||
const cs_real_66_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_66_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_66_t *restrict | da, | ||
cs_real_662_t *restrict | xa | ||
) |
Build the advection/diffusion matrix for a tensor field with a tensorial diffusivity.
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 times 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbu | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 times 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbp | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_matrix_scalar | ( | const cs_mesh_t * | m, |
int | iconvp, | ||
int | idiffp, | ||
double | thetap, | ||
int | imucpp, | ||
const cs_real_t | coefbp[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | rovsdt[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
const cs_real_t | xcpp[], | ||
cs_real_t *restrict | da, | ||
cs_real_2_t *restrict | xa | ||
) |
Build the advection/diffusion matrix for a scalar field.
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | imucpp | indicator
|
[in] | coefbp | boundary condition array for the variable (implicit part) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part) |
[in] | rovsdt | working array |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[in] | xcpp | array of specific heat (Cp) |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
Build the advection/diffusion matrix for a scalar field.
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | imucpp | indicator
|
[in] | coefbp | boundary condition array for the variable (implicit part) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part) |
[in] | rovsdt | working array |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[in] | xcpp | array of specific heat (Cp) |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_matrix_tensor | ( | const cs_mesh_t * | m, |
int | iconvp, | ||
int | idiffp, | ||
double | thetap, | ||
const cs_real_66_t | coefbts[], | ||
const cs_real_66_t | cofbfts[], | ||
const cs_real_66_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_66_t *restrict | da, | ||
cs_real_2_t *restrict | xa | ||
) |
Build the advection/diffusion matrix for a tensor field (non-symmetric matrix).
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (6x6 times number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbts | boundary condition array for the variable (Implicit part - 6x6 tensor array) |
[in] | cofbfts | boundary condition array for the variable flux (Implicit part - 6x6 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_matrix_time_step | ( | const cs_mesh_t * | m, |
int | iconvp, | ||
int | idiffp, | ||
int | isym, | ||
const cs_real_t | coefbp[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_t *restrict | da | ||
) |
Build the diagonal of the advection/diffusion matrix for determining the variable time step, flow, Fourier.
[in] | m | pointer to mesh structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | isym | indicator
|
[in] | coefbp | boundary condition array for the variable (implicit part) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part) |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
void cs_matrix_vector | ( | const cs_mesh_t * | m, |
const cs_mesh_quantities_t * | mq, | ||
int | iconvp, | ||
int | idiffp, | ||
int | eb_size[4], | ||
double | thetap, | ||
const cs_real_33_t | coefbp[], | ||
const cs_real_33_t | cofbfp[], | ||
const cs_real_33_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_33_t *restrict | da, | ||
cs_real_2_t *restrict | xa | ||
) |
Build the advection/diffusion matrix for a vector field (non-symmetric matrix).
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | mq | pointer to mesh quantities structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbu | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
The advection is upwind, the diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | mq | pointer to mesh quantities structure |
[in] | iconvp | indicator
|
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | coefbp | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at border faces |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_matrix_wrapper_scalar | ( | int | iconvp, |
int | idiffp, | ||
int | ndircp, | ||
int | isym, | ||
double | thetap, | ||
int | imucpp, | ||
const cs_real_t | coefbp[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | rovsdt[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
const cs_real_t | xcpp[], | ||
cs_real_t | da[], | ||
cs_real_t | xa[] | ||
) |
void cs_matrix_wrapper_scalar_conv_diff | ( | int | iconvp, |
int | idiffp, | ||
int | ndircp, | ||
double | thetap, | ||
int | imucpp, | ||
const cs_real_t | coefbp[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | rovsdt[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
const cs_real_t | xcpp[], | ||
cs_real_t | da[], | ||
cs_real_t | xa[], | ||
cs_real_t | da_conv[], | ||
cs_real_t | xa_conv[], | ||
cs_real_t | da_diff[], | ||
cs_real_t | xa_diff[] | ||
) |
void cs_matrix_wrapper_tensor | ( | int | iconvp, |
int | idiffp, | ||
int | tensorial_diffusion, | ||
int | ndircp, | ||
int | isym, | ||
double | thetap, | ||
const cs_real_66_t | coefbts[], | ||
const cs_real_66_t | cofbfts[], | ||
const cs_real_66_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_66_t | da[], | ||
cs_real_t | xa[] | ||
) |
void cs_matrix_wrapper_vector | ( | int | iconvp, |
int | idiffp, | ||
int | tensorial_diffusion, | ||
int | ndircp, | ||
int | isym, | ||
int | eb_size[4], | ||
double | thetap, | ||
const cs_real_33_t | coefbu[], | ||
const cs_real_33_t | cofbfu[], | ||
const cs_real_33_t | fimp[], | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_33_t | da[], | ||
cs_real_t | xa[] | ||
) |
void CS_PROCF | ( | matrdt | , |
MATRDT | |||
) | const |
void CS_PROCF | ( | matrix | , |
MATRIX | |||
) | const |
void cs_sym_matrix_anisotropic_diffusion | ( | const cs_mesh_t * | m, |
int | idiffp, | ||
double | thetap, | ||
const cs_real_33_t | cofbfp[], | ||
const cs_real_33_t | fimp[], | ||
const cs_real_33_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_33_t *restrict | da, | ||
cs_real_33_t *restrict | xa | ||
) |
Build the diffusion matrix for a vector field with a tensorial diffusivity (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 3x3 the number of internal faces).
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_sym_matrix_anisotropic_diffusion_tensor | ( | const cs_mesh_t * | m, |
int | idiffp, | ||
double | thetap, | ||
const cs_real_66_t | cofbfp[], | ||
const cs_real_66_t | fimp[], | ||
const cs_real_66_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_66_t *restrict | da, | ||
cs_real_66_t *restrict | xa | ||
) |
Build the diffusion matrix for a vector field with a tensorial diffusivity (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
Build the diffusion matrix for a vector field with a tensorial diffusivity (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 3x3 the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_sym_matrix_scalar | ( | const cs_mesh_t * | m, |
int | idiffp, | ||
double | thetap, | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | rovsdt[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_t *restrict | da, | ||
cs_real_t *restrict | xa | ||
) |
Build the diffusion matrix for a scalar field. (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (number of cells) and an extra diagonal part (of dimension the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfp | boundary condition array for the variable flux (implicit part) |
[in] | rovsdt | working array |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra diagonal part of the matrix |
void cs_sym_matrix_tensor | ( | const cs_mesh_t * | m, |
int | idiffp, | ||
double | thetap, | ||
const cs_real_66_t | cofbfts[], | ||
const cs_real_66_t | fimp[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_66_t *restrict | da, | ||
cs_real_t *restrict | xa | ||
) |
Build the diffusion matrix for a tensor field (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (6x6 times number of cells) and an extra diagonal part (of dimension the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfts | boundary condition array for the variable flux (Implicit part - 6x6 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void cs_sym_matrix_vector | ( | const cs_mesh_t * | m, |
int | idiffp, | ||
double | thetap, | ||
const cs_real_33_t | cofbfp[], | ||
const cs_real_33_t | fimp[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_33_t *restrict | da, | ||
cs_real_t *restrict | xa | ||
) |
Build the diffusion matrix for a vector field (symmetric matrix).
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfu | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | part of the diagonal |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
The diffusion is not reconstructed. The matrix is split into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension the number of internal faces).
[in] | m | pointer to mesh structure |
[in] | idiffp | indicator
|
[in] | thetap | weighting coefficient for the theta-scheme,
|
[in] | cofbfp | boundary condition array for the variable flux (implicit part - 3x3 tensor array) |
[in] | fimp | |
[in] | i_visc | at interior faces for the matrix |
[in] | b_visc | at border faces for the matrix |
[out] | da | diagonal part of the matrix |
[out] | xa | extra interleaved diagonal part of the matrix |
void const cs_int_t* const const cs_int_t* const const cs_real_t const cs_real_t const cs_real_t const cs_real_t b_massflux[] |
void const cs_int_t* const const cs_int_t* const const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t b_visc[] |
void const cs_int_t *const const cs_int_t *const const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t da |
void const cs_int_t* const const cs_int_t* const const cs_real_t const cs_real_t const cs_real_t i_massflux[] |
void const cs_int_t* const const cs_int_t* const const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t i_visc[] |
void const cs_int_t *const idiffp |
void const int const int const int const cs_real_t const int* imucpp |
void const int const int* ndircp |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t rovsdt[] |
void const int const int const int const cs_real_t* thetap |
void const int const int const int const cs_real_t const int const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t const cs_real_t cs_real_t cs_real_t xa[] |