|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
Base class for scalar turbulence models coupled to a Navier-Stokes convection-diffusion equation. More...
#include <Modele_turbulence_scal_base.h>
Public Member Functions | |
| virtual int | preparer_calcul () |
| Does nothing. | |
| virtual bool | initTimeStep (double dt) |
| To be overridden in derived classes that own one or more equations. Calls preparer_pas_de_temps on those equations. | |
| virtual void | mettre_a_jour (double)=0 |
| const Champ_Fonc_base & | conductivite_turbulente () const |
| const Champ_Fonc_base & | diffusivite_turbulente () const |
| const Turbulence_paroi_scal_base & | loi_paroi () const |
| Returns the scalar wall-law turbulence model (const version). | |
| int | loi_paroi_non_nulle () const |
| Returns whether a wall law is set (const version). | |
| Turbulence_paroi_scal_base & | loi_paroi () |
| Returns the scalar wall-law turbulence model. | |
| virtual void | discretiser () |
| Discretizes the turbulence model. | |
| void | associer_eqn (const Equation_base &) |
| Associates the equation passed as parameter to the turbulence model. | |
| virtual void | completer () |
| Completes the turbulence model: updates object references. | |
| virtual void | associer (const Domaine_dis_base &, const Domaine_Cl_dis_base &) |
| Does nothing. | |
| void | a_faire (Sortie &) const |
| Writes an identity string to the output stream if necessary. | |
| virtual std::vector< YAML_data > | data_a_sauvegarder () const |
| for PDI IO: retrieve name, type and dimensions of the fields to save/restore | |
| int | sauvegarder (Sortie &) const override |
| Does nothing. | |
| int | reprendre (Entree &) override |
| Does nothing. | |
| Convection_Diffusion_std & | equation () |
| const Convection_Diffusion_std & | equation () const |
| void | creer_champ (const Motcle &motlu) override |
| const Champ_base & | get_champ (const Motcle &nom) const override |
| void | get_noms_champs_postraitables (Noms &nom, Option opt=NONE) const override |
| bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override |
| bool | has_champ (const Motcle &nom) const override |
| int | limpr_nusselt (double, double, double, double) const |
| Indicates whether local Nusselt values should be printed. | |
| virtual void | imprimer (Sortie &) const |
| Performs printing if necessary. | |
| virtual void | set_param (Param &) const override |
| int | lire_motcle_non_standard (const Motcle &, Entree &) override |
| Reads non-simple-type parameters of an Objet_U from an input stream. | |
| Public Member Functions inherited from Champs_compris_interface | |
| virtual | ~Champs_compris_interface () |
| virtual bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const =0 |
| Public Member Functions inherited from Objet_U | |
| ~Objet_U () override | |
| Destructor. Removes the object from the list of objects registered in "memory". | |
| int | numero () const |
| Returns the index of the object in Memoire::data. | |
| virtual int | duplique () const =0 |
| virtual Sortie & | printOn (Sortie &) const |
| Writes the object to an output stream. Virtual method to override. | |
| virtual Entree & | readOn (Entree &) |
| Reads an Objet_U from an input stream. Virtual method to override. | |
| virtual unsigned | taille_memoire () const =0 |
| virtual int | est_egal_a (const Objet_U &) const |
| Returns 1 if x and *this are the same instance (same memory address). | |
| virtual const Nom & | le_nom () const |
| Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation. | |
| virtual void | nommer (const Nom &) |
| Assigns a name to the Objet_U. Virtual method to override. | |
| int | get_object_id () const |
| Returns the unique identifier of the object (object_id_). | |
| virtual const Type_info * | get_info () const |
| Returns type information for the Objet_U. | |
| const Nom & | que_suis_je () const |
| Returns the string identifying the class. | |
| const char * | le_type () const |
| Returns the type name of the Objet_U. | |
| virtual int | change_num (const int *const) |
| Changes the internal number of the Objet_U. | |
| virtual int | associer_ (Objet_U &) |
| Associates the Objet_U with another Objet_U. Virtual method to override. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Protected Member Functions | |
| OWN_PTR (Champ_Fonc_base) conductivite_turbulente_ | |
| OBS_PTR (Convection_Diffusion_std) mon_equation_ | |
| OWN_PTR (Turbulence_paroi_scal_base) loipar_ | |
| LIST (Nom) boundaries_list_ | |
| Protected Member Functions inherited from Objet_U | |
| Objet_U () | |
| Default constructor: assigns a unique identifier to the object (object_id_) and registers the object in "memory" by giving it a num_obj number. | |
| Objet_U (const Objet_U &) | |
| Copy constructor. | |
| const Objet_U & | operator= (const Objet_U &) |
| Assignment operator: does nothing (the number and identifier are preserved). | |
Protected Attributes | |
| diffusivite_turbulente_ | |
| double | dt_impr_nusselt_ = DMAXFLOAT |
| double | dt_impr_nusselt_mean_only_ = DMAXFLOAT |
| int | boundaries_ = 0 |
| Nom | nom_fichier_ = "" |
| Champs_compris | champs_compris_ |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Returns a constant reference to the case name. This method is static. | |
| static Nom & | get_set_nom_du_cas () |
| Returns a non-constant reference to the case name (to allow modification). This method is static. | |
| static const Type_info * | info () |
| Returns type information for the Objet_U (static version). | |
| static const Objet_U & | self_cast (const Objet_U &) |
| Method added for casting in Python. | |
| static Objet_U & | self_cast (Objet_U &) |
| Static Public Member Functions inherited from Process | |
| static int | me () |
| Returns the rank of the local processor in the current communication group. See Comm_Group::rank() and PE_Groups::current_group(). | |
| static int | nproc () |
| Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current_group(). | |
| static bool | is_parallel () |
| static void | exit (int exit_code=-1) |
| Exit routine for TRUST within a Kokkos region. | |
| static double | mp_sum (double) |
| Computes the sum of x over all processors in the current group. | |
| static float | mp_sum (float) |
| static trustIdType | mp_sum (trustIdType) |
| Computes the sum of x over all processors in the current group. | |
| static double | mp_max (double) |
| static double | mp_min (double) |
| static int | mp_max (int) |
| Returns the maximum value of x across all processors in the current group. | |
| static int | mp_min (int) |
| Returns the minimum value of x across all processors in the current group. | |
| static double | mp_sum_as_double (int v) |
| static trustIdType | mppartial_sum (trustIdType i) |
| Computes the partial sum of x over processors 0 to me()-1 (returns 0 on processor 0). | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters. | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation. | |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation. | |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename _TYPE_> | |
| static void | mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| static bool | mp_and (bool) |
| Computes the logical AND of b across all processors in the current group. | |
| static bool | mp_or (bool) |
| static int | check_int_overflow (trustIdType) |
| static int | je_suis_maitre () |
| Returns 1 if on the master processor of the current group (i.e. me() == 0), 0 otherwise. | |
| static KOKKOS_INLINE_FUNCTION void | Kokkos_exit (const char *) |
| Exit routine for TRUST within a Kokkos region. | |
| static int | node_master () |
| Returns 1 if on the NUMA node master processor, 0 otherwise. | |
| static void | exit (const Nom &message, int exit_code=-1) |
| static bool | is_sequential () |
| static void | barrier () |
| Synchronizes all processors in the current group (waits until all processors have reached the barrier). | |
| static void | abort () |
| Abort routine for TRUST on a fatal error. | |
| static Sortie & | Journal (int message_level=0) |
| Returns a static Sortie object used as an event journal. | |
| static double | ram_processeur () |
| static void | imprimer_ram_totale (int all_process=0) |
| static bool | force_single_file (const int ranks, const Nom &filename) |
| Static Public Attributes inherited from Objet_U | |
| static double | precision_geom = 1e-10 |
| static constexpr bool | HAS_POINTER = false |
| static int | dimension =0 |
| static int | format_precision_geom =11 |
| static int | axi =0 |
| static int | bidim_axi =0 |
| static int | DEACTIVATE_SIGINT_CATCH =0 |
| static Type_info | info_obj |
| static bool | disable_TU =false |
| Flag to disable or not the writing of the .TU files. | |
| static bool | stat_per_proc_perf_log =false |
| Flag to enable the writing of the statistics detailed per processor in _csv.TU file. | |
| Static Public Attributes inherited from Process | |
| static int | exception_sur_exit =0 |
| static int | multiple_files =5120 |
Base class for scalar turbulence models coupled to a Navier-Stokes convection-diffusion equation.
Two main derived categories exist: k-epsilon models and sub-grid scale models. Both share the computation of a turbulent diffusivity.
Definition at line 37 of file Modele_turbulence_scal_base.h.
| void Modele_turbulence_scal_base::a_faire | ( | Sortie & | os | ) | const |
Writes an identity string to the output stream if necessary.
| os | Output stream. |
Definition at line 258 of file Modele_turbulence_scal_base.cpp.
|
virtual |
Does nothing.
| Discretized | domain (unused). |
| Discretized | boundary conditions domain (unused). |
Reimplemented in Modele_turbulence_scal_LES_dyn_VDF.
Definition at line 180 of file Modele_turbulence_scal_base.cpp.
| void Modele_turbulence_scal_base::associer_eqn | ( | const Equation_base & | eqn | ) |
Associates the equation passed as parameter to the turbulence model.
The equation is cast to Convection_Diffusion_std.
| eqn | The equation to associate with this object. |
Definition at line 170 of file Modele_turbulence_scal_base.cpp.
|
virtual |
Completes the turbulence model: updates object references.
Reimplemented in Modele_turbulence_scal_diffturb_base, Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, and Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re.
Definition at line 202 of file Modele_turbulence_scal_base.cpp.
|
inline |
Definition at line 44 of file Modele_turbulence_scal_base.h.
|
overridevirtual |
Implements Champs_compris_interface.
Definition at line 288 of file Modele_turbulence_scal_base.cpp.
|
virtual |
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
Definition at line 233 of file Modele_turbulence_scal_base.cpp.
|
inline |
Definition at line 45 of file Modele_turbulence_scal_base.h.
|
virtual |
Discretizes the turbulence model.
Definition at line 188 of file Modele_turbulence_scal_base.cpp.
|
inline |
Definition at line 111 of file Modele_turbulence_scal_base.h.
|
inline |
Definition at line 121 of file Modele_turbulence_scal_base.h.
|
overridevirtual |
Implements Champs_compris_interface.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, and Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re.
Definition at line 318 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Implements Champs_compris_interface.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, and Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re.
Definition at line 332 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Implements Champs_compris_interface.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, and Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re.
Definition at line 306 of file Modele_turbulence_scal_base.cpp.
|
override |
|
virtual |
Performs printing if necessary.
| os | Output stream. |
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, and Modele_turbulence_scal_Fluctuation_Temperature_W.
Definition at line 374 of file Modele_turbulence_scal_base.cpp.
|
virtual |
To be overridden in derived classes that own one or more equations. Calls preparer_pas_de_temps on those equations.
| dt | Time step. |
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, and Modele_turbulence_scal_Fluctuation_Temperature_W.
Definition at line 211 of file Modele_turbulence_scal_base.cpp.
| int Modele_turbulence_scal_base::limpr_nusselt | ( | double | temps_courant, |
| double | temps_prec, | ||
| double | dt, | ||
| double | dt_nusselt ) const |
Indicates whether local Nusselt values should be printed.
| temps_courant | Current time. |
| temps_prec | Previous time. |
| dt | Current time step. |
| dt_nusselt | Nusselt printing period. |
Definition at line 351 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Reads non-simple-type parameters of an Objet_U from an input stream.
| motlu | The name of the keyword to read. |
| is | An input stream. |
< list storing all boundary names of the domain
Reimplemented from Objet_U.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re, and Modele_turbulence_scal_LES_dyn_VDF.
Definition at line 73 of file Modele_turbulence_scal_base.cpp.
|
protected |
|
inline |
Returns the scalar wall-law turbulence model.
Definition at line 106 of file Modele_turbulence_scal_base.h.
|
inline |
Returns the scalar wall-law turbulence model (const version).
Definition at line 88 of file Modele_turbulence_scal_base.h.
|
inline |
Returns whether a wall law is set (const version).
Definition at line 97 of file Modele_turbulence_scal_base.h.
|
pure virtual |
Implemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re, Modele_turbulence_scal_LES_dyn_VDF, Modele_turbulence_scal_null, Modele_turbulence_scal_Prandtl, and Modele_turbulence_scal_Schmidt.
|
protected |
|
protected |
|
protected |
|
virtual |
Does nothing.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, and Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re.
Definition at line 220 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Does nothing.
| is | Input stream. |
Reimplemented from Objet_U.
Reimplemented in Modele_turbulence_scal_diffturb_base, Modele_turbulence_scal_Fluctuation_Temperature, and Modele_turbulence_scal_Fluctuation_Temperature_W.
Definition at line 280 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Does nothing.
| os | Output stream. |
Reimplemented from Objet_U.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, and Modele_turbulence_scal_Fluctuation_Temperature_W.
Definition at line 246 of file Modele_turbulence_scal_base.cpp.
|
overridevirtual |
Reimplemented from Objet_U.
Reimplemented in Modele_turbulence_scal_Fluctuation_Temperature, Modele_turbulence_scal_Fluctuation_Temperature_W, Modele_turbulence_scal_Fluctuation_Temperature_W_Bas_Re, Modele_turbulence_scal_LES_dyn_VDF, Modele_turbulence_scal_Prandtl, and Modele_turbulence_scal_Schmidt.
Definition at line 59 of file Modele_turbulence_scal_base.cpp.
|
protected |
Definition at line 78 of file Modele_turbulence_scal_base.h.
|
protected |
Definition at line 81 of file Modele_turbulence_scal_base.h.
|
protected |
Definition at line 74 of file Modele_turbulence_scal_base.h.
|
protected |
Definition at line 77 of file Modele_turbulence_scal_base.h.
|
protected |
Definition at line 77 of file Modele_turbulence_scal_base.h.
|
protected |
Definition at line 80 of file Modele_turbulence_scal_base.h.