TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Calcul_Production_K_VEF Class Reference

#include <Calcul_Production_K_VEF.h>

Inheritance diagram for Calcul_Production_K_VEF:
[legend]

Protected Member Functions

 Calcul_Production_K_VEF ()
DoubleTab & calculer_terme_production_K (const Domaine_VEF &, const Domaine_Cl_VEF &, DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const int &interpol_visco, const double &limiteur, const bool &deactivate_production_limiter=false, const double &cst_production_limiter=0.) const
 Compute the production term for the turbulent kinetic energy.
void loop_for_internal_or_periodic_faces (DoubleTab &prodK, const DoubleTab &gradient_elem, const DoubleTab &visco_turb, const DoubleVect &volumes, const IntTab &face_voisins, const int nfaceinit, const int nfaceend, const int interpol_visco, const double limiteur, const DoubleTab &K_Omega, const bool &activate_production_limiter=false, const double &cst_production_limiter=0.) const
 Compute production term on internal and periodic boundary faces.
void loop_for_non_periodic_boundaries (DoubleTab &prodK, const DoubleTab &gradient_elem, const DoubleTab &visco_turb, const DoubleVect &volumes, const IntTab &face_voisins, const int nfaceinit, const int nfaceend, const int interpol_visco, const double limiteur, const DoubleTab &K_Omega, const bool &activate_production_limiter=false, const double &cst_production_limiter=0.) const
 Compute production term on non periodic boundary faces.
DoubleTab & calculer_terme_production_K_BiK (const Domaine_VEF &, const Domaine_Cl_VEF &, DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const int &interpol_visco, const double &limiteur) const
DoubleTab & calculer_terme_production_K_EASM (const Domaine_VEF &, const Domaine_Cl_VEF &, DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const int &interpol_visco, const double &limiteur) const
void compute_production_term_EASM (const int face, const double visco_face, const DoubleTab &Re_face, const DoubleTab &gradient_face, DoubleTab &P) const
DoubleTab & calcul_tenseur_face (DoubleTab &, const DoubleTab &, const Domaine_VEF &, const Domaine_Cl_VEF &) const
KOKKOS_INLINE_FUNCTION double get_turbulent_viscosity (CDoubleArrView visco_turb, CDoubleArrView volumes, const int type_interpo, const int poly1, const int poly2, const double limiteur) const
 Get the turbulent viscosity depending on the interpolation choice.
double get_turbulent_viscosity (const DoubleTab &visco_turb, const DoubleVect &volumes, const int type_interpo, const int poly1, const int poly2, const double limiteur) const
DoubleTab & calculer_terme_destruction_K_gen (const Domaine_VEF &, const Domaine_Cl_VEF &, DoubleTab &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &, const DoubleVect &, int) const
void compute_utheta_nbConsti_le_1_nbCompo_eq_0 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, DoubleTrav &u_theta) const
void compute_utheta_nbConsti_le_1_nbCompo_eq_1 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, DoubleTrav &u_theta) const
void compute_utheta_nbConsti_le_1_nbCompo_gt_1 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, DoubleTrav &u_theta) const
void compute_utheta_nbConsti_gt_1_nbCompo_eq_0 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, const int nb_consti, DoubleTrav &u_theta) const
void compute_utheta_nbConsti_gt_1_nbCompo_eq_1 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, const int nb_consti, DoubleTrav &u_theta) const
void compute_utheta_nbConsti_gt_1_nbCompo_gt_1 (const Domaine_VEF &domaine_VEF, const Domaine_Cl_VEF &zcl_VEF, const IntTab &face_voisins, const DoubleVect &volumes, const DoubleTab &tab_beta, const DoubleTab &alpha_turb, const DoubleTrav &gradient_elem, const int nb_consti, DoubleTrav &u_theta) const
void mettre_a_jour (double temps)

Detailed Description

Definition at line 29 of file Calcul_Production_K_VEF.h.

Constructor & Destructor Documentation

◆ Calcul_Production_K_VEF()

Calcul_Production_K_VEF::Calcul_Production_K_VEF ( )
inlineprotected

Definition at line 32 of file Calcul_Production_K_VEF.h.

Member Function Documentation

◆ calcul_tenseur_face()

DoubleTab & Calcul_Production_K_VEF::calcul_tenseur_face ( DoubleTab & Tenseur_face,
const DoubleTab & Tenseur_elem,
const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & domaine_Cl_VEF ) const
protected

Definition at line 1087 of file Calcul_Production_K_VEF.cpp.

◆ calculer_terme_destruction_K_gen()

DoubleTab & Calcul_Production_K_VEF::calculer_terme_destruction_K_gen ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
DoubleTab & G,
const DoubleTab & inconnue,
const DoubleTab & alpha_turb,
const Champ_Don_base & ch_beta,
const DoubleVect & gravite,
int nb_consti ) const
protected

Definition at line 584 of file Calcul_Production_K_VEF.cpp.

◆ calculer_terme_production_K()

DoubleTab & Calcul_Production_K_VEF::calculer_terme_production_K ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
DoubleTab & prodK,
const DoubleTab & K_eps,
const DoubleTab & vit,
const DoubleTab & visco_turb,
const int & interpol_visco,
const double & limiteur,
const bool & deactivate_production_limiter = false,
const double & cst_production_limiter = 0. ) const
protected

Compute the production term for the turbulent kinetic energy.

The total production term writes \( P = -\frac{2}{3}k\text{div}(U) + 2\nu_t S_{ij}S_{ij}\) Being in a incompressible flow, the first part is not computed.

Like the TKE and epsilon, P is discretised on face centers.

Parameters
[in]constDomaine_VEF& domaine_VEF,
[in]constDomaine_Cl_VEF& zcl_VEF,
[in]DoubleTab&prodK,
[in]constDoubleTab& K_eps,
[in]constDoubleTab& vit,
[in]constDoubleTab& visco_turb,
[in]constint& interpol_visco,
[in]constdouble& limiteur
[out]

return DoubleTab& prodK

Definition at line 48 of file Calcul_Production_K_VEF.cpp.

◆ calculer_terme_production_K_BiK()

DoubleTab & Calcul_Production_K_VEF::calculer_terme_production_K_BiK ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
DoubleTab & P,
const DoubleTab & K,
const DoubleTab & eps,
const DoubleTab & vit,
const DoubleTab & visco_turb,
const int & interpol_visco,
const double & limiteur ) const
protected

Definition at line 247 of file Calcul_Production_K_VEF.cpp.

◆ calculer_terme_production_K_EASM()

DoubleTab & Calcul_Production_K_VEF::calculer_terme_production_K_EASM ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
DoubleTab & P,
const DoubleTab & K_eps,
const DoubleTab & gradient_elem,
const DoubleTab & visco_turb,
const DoubleTab & Re,
const int & interpol_visco,
const double & limiteur ) const
protected

Definition at line 406 of file Calcul_Production_K_VEF.cpp.

◆ compute_production_term_EASM()

void Calcul_Production_K_VEF::compute_production_term_EASM ( const int face,
const double visco_face,
const DoubleTab & Re_face,
const DoubleTab & gradient_face,
DoubleTab & P ) const
protected

Definition at line 485 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_gt_1_nbCompo_eq_0()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_gt_1_nbCompo_eq_0 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
const int nb_consti,
DoubleTrav & u_theta ) const
protected

Definition at line 881 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_gt_1_nbCompo_eq_1()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_gt_1_nbCompo_eq_1 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
const int nb_consti,
DoubleTrav & u_theta ) const
protected

Definition at line 951 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_gt_1_nbCompo_gt_1()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_gt_1_nbCompo_gt_1 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
const int nb_consti,
DoubleTrav & u_theta ) const
protected

Definition at line 1019 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_le_1_nbCompo_eq_0()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_le_1_nbCompo_eq_0 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
DoubleTrav & u_theta ) const
protected

Definition at line 692 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_le_1_nbCompo_eq_1()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_le_1_nbCompo_eq_1 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
DoubleTrav & u_theta ) const
protected

Definition at line 755 of file Calcul_Production_K_VEF.cpp.

◆ compute_utheta_nbConsti_le_1_nbCompo_gt_1()

void Calcul_Production_K_VEF::compute_utheta_nbConsti_le_1_nbCompo_gt_1 ( const Domaine_VEF & domaine_VEF,
const Domaine_Cl_VEF & zcl_VEF,
const IntTab & face_voisins,
const DoubleVect & volumes,
const DoubleTab & tab_beta,
const DoubleTab & alpha_turb,
const DoubleTrav & gradient_elem,
DoubleTrav & u_theta ) const
protected

Definition at line 817 of file Calcul_Production_K_VEF.cpp.

◆ get_turbulent_viscosity() [1/2]

KOKKOS_INLINE_FUNCTION double Calcul_Production_K_VEF::get_turbulent_viscosity ( CDoubleArrView visco_turb,
CDoubleArrView volumes,
const int type_interpo,
const int poly1,
const int poly2,
const double limiteur ) const
protected

Get the turbulent viscosity depending on the interpolation choice.

if type_interpo == 0: arithmetic interpolation (instable) if type_interpo == 1: harmonic mean (used for the realisable k-epsilon) if type_interpo == 2: weighted harmonic mean (used for the realisable k-epsilon)

Parameters
[in]constDoubleTab& visco_turb
[in]constDoubleVect& volumes
[in]constint type_interpo
[in]constint poly1
[in]constint poly2
[in]constdouble limiteur
[out]

return double

Definition at line 513 of file Calcul_Production_K_VEF.cpp.

◆ get_turbulent_viscosity() [2/2]

double Calcul_Production_K_VEF::get_turbulent_viscosity ( const DoubleTab & visco_turb,
const DoubleVect & volumes,
const int type_interpo,
const int poly1,
const int poly2,
const double limiteur ) const
protected

Definition at line 548 of file Calcul_Production_K_VEF.cpp.

◆ loop_for_internal_or_periodic_faces()

void Calcul_Production_K_VEF::loop_for_internal_or_periodic_faces ( DoubleTab & tab_prodK,
const DoubleTab & tab_gradient_elem,
const DoubleTab & tab_visco_turb,
const DoubleVect & tab_volumes,
const IntTab & tab_face_voisins,
const int nfaceinit,
const int nfaceend,
const int interpol_visco,
const double limiteur,
const DoubleTab & tab_K_Omega,
const bool & deactivate_production_limiter = false,
const double & cst_production_limiter = 0. ) const
protected

Compute production term on internal and periodic boundary faces.

Using the velocity gradient, the loop computes the production term written \(P = 2 \nu_t S_{ij}S_{ij}\) with \(S_{ij} = \frac{1}{2}\left(\frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i})\).

Parameters
[in]DoubleTab&prodK
[in]constDoubleTab& gradient_elem,
[in]constDoubleTab& visco_turb,
[in]constDoubleVect& volumes,
[in]constIntTab& face_voisins,
[in]constint nfaceinit,
[in]constint nfaceend,
[in]constint interpol_visco,
[in]constdouble limiteur
Returns

Definition at line 185 of file Calcul_Production_K_VEF.cpp.

◆ loop_for_non_periodic_boundaries()

void Calcul_Production_K_VEF::loop_for_non_periodic_boundaries ( DoubleTab & tab_prodK,
const DoubleTab & tab_gradient_elem,
const DoubleTab & tab_visco_turb,
const DoubleVect & volumes,
const IntTab & tab_face_voisins,
const int nfaceinit,
const int nfaceend,
const int interpol_visco,
const double limiteur,
const DoubleTab & tab_K_Omega,
const bool & deactivate_production_limiter = false,
const double & cst_production_limiter = 0. ) const
protected

Compute production term on non periodic boundary faces.

Using the velocity gradient, the loop computes the production term written \(P = 2 \nu_t S_{ij}S_{ij}\) with \(S_{ij} = \frac{1}{2}\left(\frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i})\).

Parameters
[in]DoubleTab&prodK
[in]constDoubleTab& gradient_elem,
[in]constDoubleTab& visco_turb,
[in]constDoubleVect& volumes,
[in]constIntTab& face_voisins,
[in]constint nfaceinit,
[in]constint nfaceend,
[in]constint interpol_visco,
[in]constdouble limiteur
Returns

Definition at line 114 of file Calcul_Production_K_VEF.cpp.

◆ mettre_a_jour()

void Calcul_Production_K_VEF::mettre_a_jour ( double temps)
inlineprotected

Definition at line 64 of file Calcul_Production_K_VEF.h.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/triocfd-documentation/checkouts/next/src/Turbulence/Specializations/VEF/Sources/RANS/Calcul_Production_K_VEF.h
  • /home/docs/checkouts/readthedocs.org/user_builds/triocfd-documentation/checkouts/next/src/Turbulence/Specializations/VEF/Sources/RANS/Calcul_Production_K_VEF.cpp