1#ifndef __CS_TURBULENCE_BC_H__
2#define __CS_TURBULENCE_BC_H__
404 for (
int ii = 0; ii < 3; ii++) {
405 for (
int jj = 0; jj < 3; jj++)
406 p_lg2[ii][jj] =
cs::pow2(p_lg[ii][jj]);
410 for (
int ii = 0; ii < 3; ii++) {
411 for (
int jj = 0; jj < 3; jj++) {
412 alpha[jj][ii] = p_lg2[0][ii] * p_lg2[0][jj]
413 + p_lg2[1][ii] * p_lg2[1][jj]
414 + p_lg2[2][ii] * p_lg2[2][jj]
415 + 2. * is_sym * p_lg[0][ii] * p_lg[2][ii]
416 * p_lg[0][jj] * p_lg[2][jj];
423 const int _jj_to_kk[3] = {0, 1, 0};
425 const int _jj_to_pp[3] = {1, 2, 2};
427 for (
int ii = 0; ii < 3; ii++) {
428 for (
int jj = 0; jj < 3; jj++) {
430 int kk = _jj_to_kk[jj];
431 int pp = _jj_to_pp[jj];
434 2. * ( p_lg2[0][ii] * p_lg[0][kk] * p_lg[0][pp]
435 + p_lg2[1][ii] * p_lg[1][kk] * p_lg[1][pp]
436 + p_lg2[2][ii] * p_lg[2][kk] * p_lg[2][pp]
437 + is_sym * p_lg[2][ii] * p_lg[0][ii]
438 * ( p_lg[0][kk]*p_lg[2][pp]
439 + p_lg[2][kk]*p_lg[0][pp]));
445 for (
int ii = 0; ii < 3; ii++) {
446 for (
int jj = 0; jj < 3; jj++) {
448 int kk = _jj_to_kk[ii];
449 int pp = _jj_to_pp[ii];
453 p_lg[0][kk] * p_lg[0][pp] * p_lg2[0][jj]
454 + p_lg[1][kk] * p_lg[1][pp] * p_lg2[1][jj]
455 + p_lg[2][kk] * p_lg[2][pp] * p_lg2[2][jj]
456 + is_sym * p_lg[2][jj] * p_lg[0][jj]
457 * ( p_lg[0][kk]*p_lg[2][pp]
458 + p_lg[2][kk]*p_lg[0][pp]);
463 for (
int ii = 0; ii < 3; ii++) {
464 for (
int jj = 0; jj < 3; jj++) {
466 int kk = _jj_to_kk[ii];
467 int pp = _jj_to_pp[ii];
469 int jj1 = _jj_to_kk[jj];
470 int jj2 = _jj_to_pp[jj];
472 alpha[jj + 3][ii + 3] =
473 2. * ( p_lg[0][kk] * p_lg[0][pp] * p_lg[0][jj1] * p_lg[0][jj2]
474 + p_lg[1][kk] * p_lg[1][pp] * p_lg[1][jj1] * p_lg[1][jj2]
475 + p_lg[2][kk] * p_lg[2][pp] * p_lg[2][jj1] * p_lg[2][jj2])
476 + is_sym * ( p_lg[0][kk]*p_lg[2][pp]
477 + p_lg[2][kk]*p_lg[0][pp])
478 * ( p_lg[2][jj1]*p_lg[0][jj2]
479 + p_lg[0][jj1]*p_lg[2][jj2]);
#define BEGIN_C_DECLS
Definition: cs_defs.h:554
#define CS_F_HOST_DEVICE
Definition: cs_defs.h:585
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
#define END_C_DECLS
Definition: cs_defs.h:555
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:350
@ k
Definition: cs_field_pointer.h:72
@ mu
Definition: cs_field_pointer.h:106
@ eps
Definition: cs_field_pointer.h:73
@ rho
Definition: cs_field_pointer.h:100
@ rij
Definition: cs_field_pointer.h:75
void cs_turbulence_bc_ke_turb_intensity(double uref2, double t_intensity, double dh, double *k, double *eps)
Calculation of and from a diameter , a turbulent intensity and the reference velocity for a circu...
Definition: cs_turbulence_bc.cpp:729
void cs_turbulence_bc_inlet_hyd_diam(cs_lnum_t face_id, double uref2, double dh, double rho, double mu)
Set inlet boundary condition values for turbulence variables based on a diameter and the reference v...
Definition: cs_turbulence_bc.cpp:773
void cs_turbulence_bc_set_uninit_inlet_turb_intensity(cs_lnum_t face_id, double uref2, double t_intensity, double dh)
Set inlet boundary condition values for turbulence variables based on a diameter ,...
Definition: cs_turbulence_bc.cpp:986
void cs_turbulence_bc_inlet_k_eps(cs_lnum_t face_id, double k, double eps)
Set inlet boundary condition values for turbulence variables based on given k and epsilon values.
Definition: cs_turbulence_bc.cpp:825
void cs_turbulence_bc_free_pointers(void)
Free memory allocations for turbulence boundary condition pointers.
Definition: cs_turbulence_bc.cpp:643
void cs_turbulence_bc_set_uninit_inlet(cs_lnum_t face_num, double k, double rij[], double eps)
void cs_turbulence_bc_set_uninit_inlet_k_eps(cs_lnum_t face_id, double k, double eps, double vel_dir[], double shear_dir[])
Set inlet boundary condition values for turbulence variables based on given k and epsilon values only...
Definition: cs_turbulence_bc.cpp:1013
void cs_turbulence_bc_ke_hyd_diam(double uref2, double dh, double rho, double mu, double *ustar2, double *k, double *eps)
Calculation of , and from a diameter and the reference velocity for a circular duct flow with smo...
Definition: cs_turbulence_bc.cpp:697
void cs_turbulence_bc_init_pointers(void)
Initialize turbulence model boundary condition pointers.
Definition: cs_turbulence_bc.cpp:552
void cs_turbulence_bc_inlet_turb_intensity(cs_lnum_t face_id, double uref2, double t_intensity, double dh)
Set inlet boundary condition values for turbulence variables based on a diameter ,...
Definition: cs_turbulence_bc.cpp:801
CS_F_HOST_DEVICE void cs_turbulence_bc_rij_transform(int is_sym, cs_real_t p_lg[3][3], cs_real_t alpha[6][6])
Definition: cs_turbulence_bc.h:399
void cs_turbulence_bc_set_hmg_neumann(cs_lnum_t face_id)
Assign homogeneous Neumann turbulent boundary conditions to a given face.
Definition: cs_turbulence_bc.cpp:842
void cs_turbulence_bc_set_uninit_inlet_hyd_diam(cs_lnum_t face_id, double vel_dir[], double shear_dir[], double uref2, double dh, double rho, double mu)
Set inlet boundary condition values for turbulence variables based on a diameter and the reference v...
Definition: cs_turbulence_bc.cpp:953
CS_F_HOST_DEVICE float pow2(float x)
Compute the square of a real value.
Definition: cs_math.h:629