TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Eval_Diff_VDF_Elem_Gen< DERIVED_T > Class Template Reference

class Eval_Diff_VDF_Elem_Gen Evaluateur VDF pour la diffusion : Le champ diffuse est un Champ_P0_VDF More...

#include <Eval_Diff_VDF_Elem_Gen.h>

Inheritance diagram for Eval_Diff_VDF_Elem_Gen< DERIVED_T >:
[legend]
Collaboration diagram for Eval_Diff_VDF_Elem_Gen< DERIVED_T >:
[legend]

Public Member Functions

template<typename BC, typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const BC &, int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Dirichlet_entree_fluide &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Scalaire_impose_paroi &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Dirichlet_loi_paroi &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Neumann_paroi &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Periodique &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Echange_global_impose &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const DoubleTab &, const int, const Dirichlet_paroi_fixe &, const int, Type_Double &) const
template<typename Type_Double>
void flux_face (const DoubleTab &, const int, const int, const int, const Echange_externe_impose &, const int, Type_Double &) const
template<typename Type_Double>
void flux_faces_interne (const DoubleTab &, const int, Type_Double &) const
template<typename BC, typename Type_Double>
void coeffs_face (const int, const int, const BC &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Dirichlet_entree_fluide &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Scalaire_impose_paroi &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Dirichlet_loi_paroi &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Periodique &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Echange_global_impose &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const int, const int, const Dirichlet_paroi_fixe &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_face (const DoubleTab &, const int, const int, const int, const int, const Echange_externe_impose &, Type_Double &, Type_Double &) const
template<typename Type_Double>
void coeffs_faces_interne (const int, Type_Double &, Type_Double &) const
template<typename BC, typename Type_Double>
void secmem_face (const int, const BC &, const int, Type_Double &) const
template<typename Type_Double>
void secmem_face (const int, const Dirichlet_entree_fluide &, const int, Type_Double &) const
template<typename Type_Double>
void secmem_face (const int, const Neumann_paroi &, const int, Type_Double &) const
template<typename Type_Double>
void secmem_face (const int, const Echange_global_impose &, const int, Type_Double &) const
template<typename Type_Double>
void secmem_face (const int, const int, const int, const Echange_externe_impose &, const int, Type_Double &) const
template<typename Type_Double>
void secmem_faces_interne (const int, Type_Double &) const
Public Member Functions inherited from Eval_VDF_Elem
template<typename BC_TYPE, typename Type_Double>
void coeffs_face_bloc_vitesse (const DoubleTab &, const DoubleTab &, int, const BC_TYPE &, int, Type_Double &) const
template<typename Type_Double>
void coeffs_face_bloc_vitesse (const DoubleTab &, const DoubleTab &, int, int, int, const Echange_externe_impose &, int, Type_Double &) const
template<typename Type_Double>
void coeffs_faces_interne_bloc_vitesse (const DoubleTab &, int, Type_Double &) const
void associer_inconnue (const Champ_base &)
Public Member Functions inherited from Evaluateur_VDF
 Evaluateur_VDF ()
virtual ~Evaluateur_VDF ()
 Evaluateur_VDF (const Evaluateur_VDF &)
virtual void associer_domaines (const Domaine_VDF &, const Domaine_Cl_VDF &)
virtual void associer_porosite (const DoubleVect &)
double dist_face_period (int fac1, int fac2, int k) const
double dist_face (int fac1, int fac2, int k) const

Static Public Attributes

static constexpr bool IS_MULTD = true
static constexpr bool IS_AXI = false
static constexpr bool IS_DEQUIV = false
static constexpr bool IS_MODIF_DEQ = false
static constexpr bool IS_QUASI = false
static constexpr bool IS_ANISO = false
static constexpr bool IS_RANS = false
static constexpr bool IS_MULTI_SCALAR_DIFF = false
Static Public Attributes inherited from Eval_VDF_Elem
static constexpr bool CALC_FLUX_FACES_ECH_EXT_IMP = true
static constexpr bool CALC_FLUX_FACES_ECH_GLOB_IMP = true
static constexpr bool CALC_FLUX_FACES_ENTREE_FL = true
static constexpr bool CALC_FLUX_FACES_PAR = true
static constexpr bool CALC_FLUX_FACES_PAR_ADIAB = false
static constexpr bool CALC_FLUX_FACES_PAR_DEFIL = false
static constexpr bool CALC_FLUX_FACES_PAR_FIXE = true
static constexpr bool CALC_FLUX_FACES_SORTIE_LIB = false
static constexpr bool CALC_FLUX_FACES_SYMM = false
static constexpr bool CALC_FLUX_FACES_PERIO = true
static constexpr bool CALC_FLUX_FACES_SCAL_IMPOSEE = true

Additional Inherited Members

Protected Member Functions inherited from Eval_VDF_Elem
 OBS_PTR (Champ_base) inconnue
Protected Member Functions inherited from Evaluateur_VDF
 OBS_PTR (Domaine_VDF) le_dom
 OBS_PTR (Domaine_Cl_VDF) la_zcl
double dist_norm_bord (int) const
Protected Attributes inherited from Evaluateur_VDF
int dimension = -100
int premiere_face_bord = -100
IntTab elem_
DoubleVect surface
IntVect orientation
DoubleVect porosite
DoubleVect volume_entrelaces
DoubleTab xv

Detailed Description

template<typename DERIVED_T>
class Eval_Diff_VDF_Elem_Gen< DERIVED_T >

class Eval_Diff_VDF_Elem_Gen Evaluateur VDF pour la diffusion : Le champ diffuse est un Champ_P0_VDF

See also
Eval_VDF_Elem, Evaluateur_VDF

Definition at line 30 of file Eval_Diff_VDF_Elem_Gen.h.

Member Function Documentation

◆ coeffs_face() [1/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const DoubleTab & inco,
const int boundary_index,
const int face,
const int local_face,
const int num1,
const Echange_externe_impose & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 539 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [2/8]

template<typename DERIVED_T>
template<typename BC, typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int ,
const int ,
const BC & ,
Type_Double & ,
Type_Double &  ) const
inline

Definition at line 85 of file Eval_Diff_VDF_Elem_Gen.h.

◆ coeffs_face() [3/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int ,
const Dirichlet_entree_fluide & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 396 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [4/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int ,
const Dirichlet_loi_paroi & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 450 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [5/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int num1,
const Dirichlet_paroi_fixe & ,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 503 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [6/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int num1,
const Echange_global_impose & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 525 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [7/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int ,
const Periodique & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 464 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_face() [8/8]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_face ( const int face,
const int ,
const Scalaire_impose_paroi & la_cl,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 423 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ coeffs_faces_interne()

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::coeffs_faces_interne ( const int face,
Type_Double & aii,
Type_Double & ajj ) const
inline

Definition at line 600 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [1/9]

template<typename DERIVED_T>
template<typename BC, typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & ,
const DoubleTab & ,
const int ,
const BC & ,
int ,
Type_Double &  ) const
inline

Definition at line 67 of file Eval_Diff_VDF_Elem_Gen.h.

◆ flux_face() [2/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & val_b,
const int face,
const Dirichlet_entree_fluide & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 22 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [3/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & val_b,
const int face,
const Dirichlet_loi_paroi & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 91 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [4/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & val_b,
const int face,
const Dirichlet_paroi_fixe & ,
const int num1,
Type_Double & flux ) const
inline

Definition at line 161 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [5/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & ,
const int face,
const Echange_global_impose & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 175 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [6/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & ,
const DoubleTab & val_b,
const int face,
const Neumann_paroi & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 107 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [7/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & ,
const int face,
const Periodique & la_cl,
const int ,
Type_Double & flux ) const
inline

Definition at line 117 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [8/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const DoubleTab & val_b,
const int face,
const Scalaire_impose_paroi & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 62 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_face() [9/9]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_face ( const DoubleTab & inco,
const int boundary_index,
const int face,
const int local_face,
const Echange_externe_impose & la_cl,
const int num1,
Type_Double & flux ) const
inline

Approach to computing the equivalent heat transfer coefficient and heat flux.

The problem consists of a solid exchanging heat with an external medium. Heat transfer occurs via conduction within the solid and convection at the surface. Our objective is to express the total heat flux in terms of an equivalent heat transfer coefficient h_eq.

Step-by-step Demonstration:

  1. Expression for convective flux at the surface:

    \[ \phi = h_{imp} (T_b - T_{ext}) \]

    where:
    • h_{imp} is the convective heat transfer coefficient (W/m2.K),
    • T_b is the temperature at the solid's surface,
    • T_{ext} is the external temperature.
  2. Expression for conductive flux inside the solid:

    \[ \phi = \frac{\lambda}{e} (T_{elem} - T_b) \]

    where:
    • \lambda is the thermal conductivity of the solid (W/m.K),
    • e is the distance between the reference point inside the solid and the surface,
    • T_{elem} is the internal temperature of the solid element.
  3. Equating the two flux expressions (continuity of heat transfer):

    \[ h_{imp} (T_b - T_{ext}) = \frac{\lambda}{e} (T_{elem} - T_b) \]

  4. Solving for ( T_b ):

    \[ T_b - T_{ext} = \frac{1}{h_{imp}} \phi \]

    \[ T_{elem} - T_b = \frac{e}{\lambda} \phi \]

    By adding these two equations:

    \[ (T_{elem} - T_{ext}) = \frac{1}{h_{imp}} \phi + \frac{e}{\lambda} \phi \]

  5. **Extracting ( \phi )**:

    \[ \phi \left( \frac{1}{h_{imp}} + \frac{e}{\lambda} \right) = T_{elem} - T_{ext} \]

    \[ \phi = \frac{T_{elem} - T_{ext}}{\frac{1}{h_{imp}} + \frac{e}{\lambda}} \]

  6. Defining the equivalent heat transfer coefficient ( h_{eq} ):

    \[ h_{eq} = \frac{1}{\frac{1}{h_{imp}} + \frac{e}{\lambda}} \]

  7. Final flux expression:

    \[ \phi = h_{eq} (T_{elem} - T_{ext}) \]

This demonstrates that the system can be treated as a single equivalent convection problem with h_eq, which accounts for both conduction inside the solid and convection at the surface, involving the VDF unknown T_{elem}

Case of Convection + Radiative Transfer:

When radiative heat transfer is also present, the substitution method used above is no longer valid because the radiative flux depends non-linearly on the surface temperature ( T_b ). The total flux at the surface then becomes:

\[ \phi = h_{imp} (T_b - T_{ext}) + \sigma \varepsilon (T_b^4 - T_{ext}^4) \]

where:

  • ( \sigma ) is the Stefan-Boltzmann constant,
  • ( \varepsilon ) is the emissivity of the surface,
  • ( T_{ext} ) is the effective radiative temperature of the surroundings.

Since this equation is non-linear in ( T_b ), we cannot directly substitute it as in the purely convective case. Instead, we solve for ( T_b ) using an iterative method such as Newton-Raphson. Once ( T_b ) is found, we use it to determine the heat flux.

Definition at line 191 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ flux_faces_interne()

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::flux_faces_interne ( const DoubleTab & inco,
const int face,
Type_Double & flux ) const
inline

Definition at line 350 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ secmem_face() [1/5]

template<typename DERIVED_T>
template<typename BC, typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_face ( const int ,
const BC & ,
const int ,
Type_Double &  ) const
inline

Definition at line 99 of file Eval_Diff_VDF_Elem_Gen.h.

◆ secmem_face() [2/5]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_face ( const int face,
const Dirichlet_entree_fluide & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 644 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ secmem_face() [3/5]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_face ( const int face,
const Echange_global_impose & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 664 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ secmem_face() [4/5]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_face ( const int boundary_index,
const int face,
const int local_face,
const Echange_externe_impose & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 676 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ secmem_face() [5/5]

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_face ( const int face,
const Neumann_paroi & la_cl,
const int num1,
Type_Double & flux ) const
inline

Definition at line 657 of file Eval_Diff_VDF_Elem_Gen.tpp.

◆ secmem_faces_interne()

template<typename DERIVED_T>
template<typename Type_Double>
void Eval_Diff_VDF_Elem_Gen< DERIVED_T >::secmem_faces_interne ( const int ,
Type_Double &  ) const
inline

Definition at line 105 of file Eval_Diff_VDF_Elem_Gen.h.

Member Data Documentation

◆ IS_ANISO

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_ANISO = false
static

Definition at line 51 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_AXI

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_AXI = false
static

Definition at line 50 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_DEQUIV

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_DEQUIV = false
static

Definition at line 50 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_MODIF_DEQ

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_MODIF_DEQ = false
static

Definition at line 50 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_MULTD

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_MULTD = true
staticconstexpr

Definition at line 50 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_MULTI_SCALAR_DIFF

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_MULTI_SCALAR_DIFF = false
static

Definition at line 51 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_QUASI

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_QUASI = false
static

Definition at line 51 of file Eval_Diff_VDF_Elem_Gen.h.

◆ IS_RANS

template<typename DERIVED_T>
bool Eval_Diff_VDF_Elem_Gen< DERIVED_T >::IS_RANS = false
static

Definition at line 51 of file Eval_Diff_VDF_Elem_Gen.h.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/master/src/VDF/Operateurs/Eval_Diff_Dift/Eval_Diff_VDF_Elem_Gen.h
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/master/src/VDF/Operateurs/Eval_Diff_Dift/Eval_Diff_VDF_Elem_Gen.tpp