TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Schema_Temps_Inutile Class Reference

classe Schema_Temps_Inutile More...

#include <Schema_Temps_Inutile.h>

Inheritance diagram for Schema_Temps_Inutile:
[legend]
Collaboration diagram for Schema_Temps_Inutile:
[legend]

Public Member Functions

int nb_valeurs_temporelles () const override
int nb_valeurs_futures () const override
int faire_un_pas_de_temps_eqn_base (Equation_base &eqn) override
double temps_futur (int i) const override
double temps_defaut () const override
void completer () override
Public Member Functions inherited from Schema_Temps_base
virtual void initialize ()
virtual void terminate ()
virtual double computeTimeStep (bool &stop) const
virtual bool initTimeStep (double dt)
virtual void validateTimeStep ()
virtual bool isStationary () const
 Retourne 1 si lors du dernier pas de temps, le probleme n'a pas evolue.
virtual void abortTimeStep ()
virtual void resetTime (double time)
virtual bool iterateTimeStep (bool &converged)
 Calculate the U(n+1) unknown for each equation (if solved) of the problem with the selected time scheme.
int limpr () const
 Renvoie 1 s'il y a lieu d'effectuer une impression (cf dt_impr) Renvoie 0 sinon.
void nommer (const Nom &) override
 surcharge Objet_U::nommer(const Nom&) Donne un nom au shema en temps
const Nomle_nom () const override
 surcharge Objet_U::le_nom() Renvoie le nom du shema en temps
virtual void set_param (Param &titi) const override
int sauvegarder (Sortie &) const override
 Sauvegarde le temps courant et le nombre de pas de temps sur un flot de sortie.
int reprendre (Entree &) override
 Reprise (lecture) du temps courant et du nombre de pas de temps effectues a partir d'un flot d'entree.
virtual int mettre_a_jour ()
 Mise a jour du temps courant (t+=dt) et du nombre de pas de temps effectue (nb_pas_dt_++).
virtual void mettre_a_jour_dt (double toto)
virtual void mettre_a_jour_dt_stab ()
double pas_de_temps () const
 Renvoie le pas de temps (delta_t) courant.
const DoubleTab & pas_de_temps_locaux () const
virtual bool corriger_dt_calcule (double &dt) const
 Corrige le pas de temps calcule que l'on passe en parametre et verifie qu'il n'est pas "trop" petit (< dt-min_).
virtual void imprimer (Sortie &os) const
 Imprime le pas de temps sur un flot de sortie s'il y a lieu.
virtual int impr (Sortie &os) const
 Impression du numero du pas de temps, la valeur du pas de temps.
void imprimer (Sortie &os, Probleme_base &pb) const
 Imprime le pas de temps sur un flot de sortie s'il y a lieu.
void imprimer (Sortie &os, const Probleme_base &pb) const
virtual int impr (Sortie &os, Probleme_base &pb) const
 Impression du numero du pas de temps, la valeur du pas de temps.
virtual int impr (Sortie &os, const Probleme_base &pb) const
void imprimer_temps_courant (SFichier &) const
double pas_temps_min () const
 Renvoie le pas de temps minimum.
double & pas_temps_min ()
 Renvoie une reference sur le pas de temps minimum.
double pas_temps_max () const
 Renvoie le pas de temps maximum.
double & pas_temps_max ()
 Renvoie une reference sur le pas de temps maximum.
int nb_impr () const
 Renvoie le nombre d'impressions effectuees.
double temps_courant () const
 Renvoie le temps courant.
double temps_precedent () const
 Renvoie le temps courant.
double temps_calcul () const
 Renvoie le temps de calcul ecoule i.
virtual void changer_temps_courant (const double)
 Change le temps courant.
void update_critere_statio (const DoubleTab &tab_critere, Equation_base &equation)
 //Actualisation de stationnaire_atteint_ et residu_ (critere residu_<seuil_statio_)
double facteur_securite_pas () const
 Renvoie le facteur de securite ou multiplicateur de delta_t.
double & facteur_securite_pas ()
 Renvoie une reference sur le facteur de securite ou multiplicateur de delta_t.
void notify_failed_timestep ()
virtual int stop () const
 Renvoie 1 si il y lieu de stopper le calcul pour differente raisons: - le temps final est atteint.
int lsauv () const
int temps_final_atteint () const
 Renvoie 1 si le temps final est atteint (ou depasse).
int nb_pas_dt_max_atteint () const
 Renvoie 1 si (le nombre de pas de temps >= nombre de pas de temps maximum).
int temps_cpu_max_atteint () const
int stationnaire_atteint () const
int stationnaire_atteint_safe () const
int stop_lu () const
 Renvoie 1 si le fichier (d'extension) .
int diffusion_implicite () const
 Renvoie 1 si le schema en temps a ete lu diffusion_implicite.
double seuil_diffusion_implicite () const
int impr_diffusion_implicite () const
int impr_extremums () const
int niter_max_diffusion_implicite () const
int no_conv_subiteration_diffusion_implicite () const
int no_error_if_not_converged_diffusion_implicite () const
int lire_motcle_non_standard (const Motcle &, Entree &) override
 Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
virtual Entreelire_nb_pas_dt_max (Entree &)
 Lecture du nombre de pas de temps maximal.
virtual Entreelire_periode_sauvegarde_securite_en_heures (Entree &)
virtual Entreelire_temps_cpu_max (Entree &)
virtual Entreelire_residuals (Entree &)
double temps_init () const
 Renvoie le temps initial.
double temps_max () const
 Renvoie une reference sur le temps maximum.
double temps_sauv () const
 Renvoie une reference sur le temps de sauvegarde.
int nb_sauv_max () const
 Renvoie le nb maximum de sauvegarde (estimation).
double temps_impr () const
 Renvoie une reference sur le temps d'impression.
int precision_impr () const
int wcol () const
int gnuplot_header () const
double seuil_statio () const
 Renvoie une reference sur le seuil stationnaire.
int nb_pas_dt_max () const
 Renvoie une reference sur le nombre de pas maxi.
int nb_pas_dt () const
 Renvoie le nombre de pas de temps effectues.
double mode_dt_start () const
int indice_tps_final_atteint () const
int indice_nb_pas_dt_max_atteint () const
int lu () const
int file_allocation () const
double & set_temps_init ()
double & set_temps_max ()
double & set_temps_courant ()
double & set_temps_precedent ()
int & set_nb_pas_dt ()
int & set_nb_pas_dt_max ()
double & set_dt_min ()
double & set_dt_max ()
double & set_dt_sauv ()
double & set_dt_impr ()
int & set_precision_impr ()
double & set_dt ()
double & set_facsec ()
double & set_seuil_statio ()
int & set_stationnaire_atteint ()
void set_stationnaires_atteints (bool flag)
int & set_diffusion_implicite ()
double & set_seuil_diffusion_implicite ()
int & set_niter_max_diffusion_implicite ()
double & set_mode_dt_start ()
bool & set_indice_tps_final_atteint ()
bool & set_indice_nb_pas_dt_max_atteint ()
bool & set_lu ()
const double & residu () const
double & residu ()
const Nomnorm_residu () const
int & schema_impr ()
const int & schema_impr () const
virtual void associer_pb (const Probleme_base &)
Probleme_basepb_base ()
const Probleme_basepb_base () const
virtual void modifier_second_membre (const Equation_base &eqn, DoubleTab &secmem)
virtual void ajouter_inertie (Matrice_Base &mat_morse, DoubleTab &secmem, const Equation_base &eqn) const
virtual void ajouter_blocs (matrices_t matrices, DoubleTab &secmem, const Equation_base &eqn, const tabs_t &semi_impl={}) const
bool disable_progress () const
void write_dt_ev (bool init)
void write_progress (bool init)
 Ecriture du fichier .progress (temps CPU estime restant).
bool disable_dt_ev () const
void finir () const
 Fermeture du fichier .dt_ev.
Public Member Functions inherited from Objet_U
 ~Objet_U () override
 Destructeur, supprime l'objet de la liste d'objets enregistres dans "memoire".
int numero () const
 Renvoie l'indice de l'objet dans Memoire::data.
virtual int duplique () const =0
virtual SortieprintOn (Sortie &) const
 Ecriture de l'objet sur un flot de sortie Methode a surcharger.
virtual EntreereadOn (Entree &)
 Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual unsigned taille_memoire () const =0
virtual int est_egal_a (const Objet_U &) const
 Renvoie 1 si l'objet x et *this sont une seule et meme instance (meme adresse en memoire).
int get_object_id () const
 Renvoie l'identifiant unique de l'objet object_id_.
virtual const Type_infoget_info () const
 Donne des informations sur le type de l'Objet_U.
const Nomque_suis_je () const
 renvoie la chaine identifiant la classe.
const char * le_type () const
 Donne le nom du type de l'Objet_U.
virtual int change_num (const int *const)
 Change le numero interne de l'Objet_U.
virtual int associer_ (Objet_U &)
 Associe l'Objet_U a un autre Objet_U Methode virtuelle a surcharger.
const Interpreteinterprete () const
Interpreteinterprete ()
Public Member Functions inherited from Process
virtual ~Process ()

Additional Inherited Members

Static Public Member Functions inherited from Objet_U
static const Nomnom_du_cas ()
 Renvoie une reference constante vers le nom du cas.
static Nomget_set_nom_du_cas ()
 Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier).
static const Type_infoinfo ()
 Donne des informations sur le type de l'Objet_U.
static const Objet_Uself_cast (const Objet_U &)
 methode ajoutee pour caster en python
static Objet_Uself_cast (Objet_U &)
Static Public Member Functions inherited from Process
static int me ()
 renvoie mon rang dans le groupe de communication courant.
static int nproc ()
 renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::current_group()
static bool is_parallel ()
static void exit (int exit_code=-1)
 Routine de sortie de TRUST dans une region Kokkos.
static double mp_sum (double)
 Calcule la somme de x sur tous les processeurs du groupe courant.
static float mp_sum (float)
static trustIdType mp_sum (trustIdType)
 Calcule la somme de x sur tous les processeurs du groupe courant.
static double mp_max (double)
static double mp_min (double)
static int mp_max (int)
 renvoie le plus grand int i sur l'ensemble des processeurs du groupe courant.
static int mp_min (int)
 renvoie le plus petit int i sur l'ensemble des processeurs du groupe courant.
static double mp_sum_as_double (int v)
static trustIdType mppartial_sum (trustIdType i)
 Calul de la somme partielle de i sur les processeurs 0 a me()-1 (renvoie 0 sur le processeur 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)
 Calcule le 'et' logique de b sur tous les processeurs du groupe courant.
static bool mp_or (bool)
static int check_int_overflow (trustIdType)
static int je_suis_maitre ()
 renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0), 0 sinon.
static KOKKOS_INLINE_FUNCTION void Kokkos_exit (const char *)
 Routine de sortie de TRUST dans une region Kokkos.
static int node_master ()
 renvoie 1 si on est sur le processeur maitre du noeud numa, 0 sinon.
static void exit (const Nom &message, int exit_code=-1)
static bool is_sequential ()
static void barrier ()
 Synchronise tous les processeurs du groupe courant (attend que tous les processeurs soient arrives a la barriere).
static void abort ()
 Routine de sortie de Trio-U sur une erreur abort().
static SortieJournal (int message_level=0)
 Renvoie un objet statique de type Sortie qui sert de journal d'evenements.
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
Protected Member Functions inherited from Schema_Temps_base
 OBS_PTR (Probleme_base) mon_probleme
Protected Member Functions inherited from Objet_U
 Objet_U ()
 Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_), et enregistre l'objet en "memoire".
 Objet_U (const Objet_U &)
 Constructeur par copie.
const Objet_Uoperator= (const Objet_U &)
 Operateur= : ne fait rien (on conserve le numero et l'identifiant).
Protected Attributes inherited from Schema_Temps_base
Nom nom_
double dt_ = 0.0
 Pas de temps de calcul.
DoubleTab dt_locaux_
 Local time steps: Vector of size nb faces of the mesh.
double temps_courant_ = -100.
double temps_precedent_ = -100.
double dt_failed_ = -100.
 Si on a rate un pas de temps, sa valeur.
double dt_gf_ = DMAXFLOAT
double tinit_ = -DMAXFLOAT
double tmax_ = 1.e30
double tcpumax_ = 1.e30
int nb_pas_dt_ = 0
int nb_pas_dt_max_ = std::numeric_limits<int>::max()
int nb_impr_ = 0
double dt_min_ = 1.e-16
 Pas de temps min fixe par l'utilisateur.
double dt_max_ = 1.e30
 Pas de temps max fixe par l'utilisateur.
Nom dt_max_str_
 reglage de dt_max comme une fonction du temps
Parser_U dt_max_fn_
 Parser_U associe.
double dt_stab_ =-100.
 Pas de temps de stabilite.
double facsec_ = 1.
double seuil_statio_ = 1.e-12
int seuil_statio_relatif_deconseille_ = 0
 Drapeau pour specifier si seuil_statio_ est une valeur absolue (defaut) ou relative.
Nom norm_residu_
double dt_sauv_ = 1.e30
int nb_sauv_ = 0
 how many checkpoints have we performed so far?
int nb_sauv_max_ = 10
 Max number of checkpoints that will be performed (useful for PDI backup file).
double limite_cpu_sans_sauvegarde_ = 23 * 3600
 Par defaut 23 heures;.
double periode_cpu_sans_sauvegarde_ = 23 * 3600
 Par defaut 23 heures;.
double temps_cpu_ecoule_ = 0
double dt_impr_ = 1.e30
 Pas de temps d'impression.
int precision_impr_ = 8
 Nombre de chiffres significatifs impression.
double mode_dt_start_ = -2
 Mode calcul du pas de temps de depart - contient un double si option dt_init.
double residu_ = 0
double residu_old_slope_ = -1000
double cumul_slope_ = 1e-20
int gnuplot_header_ = 0
bool adapt_dt_tmax_ = false
bool ind_tps_final_atteint = false
bool ind_nb_pas_dt_max_atteint = false
bool ind_temps_cpu_max_atteint = false
bool lu_ = false
int ind_diff_impl_ = 0
double seuil_diff_impl_ = 1.e-6
 Seuil pour implicitation de la diffusion par GC.
int impr_diff_impl_ = 0
int impr_extremums_ = 0
int niter_max_diff_impl_ = 1000
 Iterations maximale pour GC implicitation - Above 1000 iterations, diffusion implicit algorithm may be diverging.
int no_conv_subiteration_diff_impl_ = 0
int no_error_if_not_converged_diff_impl_ = 0
int schema_impr_ = -1
int file_allocation_ = 0
int max_length_cl_ = -10

Detailed Description

classe Schema_Temps_Inutile

Cette classe represente un schema de temps vide pour utiliser l'heritage TRUST sur probleme base et postraitement avec Pb_STT

Definition at line 26 of file Schema_Temps_Inutile.h.

Member Function Documentation

◆ completer()

void Schema_Temps_Inutile::completer ( )
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 35 of file Schema_Temps_Inutile.h.

◆ faire_un_pas_de_temps_eqn_base()

int Schema_Temps_Inutile::faire_un_pas_de_temps_eqn_base ( Equation_base & eqn)
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 32 of file Schema_Temps_Inutile.h.

◆ nb_valeurs_futures()

int Schema_Temps_Inutile::nb_valeurs_futures ( ) const
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 31 of file Schema_Temps_Inutile.h.

◆ nb_valeurs_temporelles()

int Schema_Temps_Inutile::nb_valeurs_temporelles ( ) const
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 30 of file Schema_Temps_Inutile.h.

◆ temps_defaut()

double Schema_Temps_Inutile::temps_defaut ( ) const
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 34 of file Schema_Temps_Inutile.h.

◆ temps_futur()

double Schema_Temps_Inutile::temps_futur ( int i) const
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 33 of file Schema_Temps_Inutile.h.


The documentation for this class was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Schemas_Temps/Schema_Temps_Inutile.h