|
TrioCFD 1.9.8
TrioCFD documentation
|
class Schema_Temps_base More...
#include <Schema_Temps_base.h>
Public Member Functions | |
| 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. | |
| virtual int | nb_valeurs_temporelles () const =0 |
| virtual int | nb_valeurs_futures () const =0 |
| virtual double | temps_futur (int i) const =0 |
| virtual double | temps_defaut () const =0 |
| void | nommer (const Nom &) override |
| surcharge Objet_U::nommer(const Nom&) Donne un nom au shema en temps | |
| const Nom & | le_nom () const override |
| surcharge Objet_U::le_nom() Renvoie le nom du shema en temps | |
| virtual int | faire_un_pas_de_temps_eqn_base (Equation_base &)=0 |
| 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 Entree & | lire_nb_pas_dt_max (Entree &) |
| Lecture du nombre de pas de temps maximal. | |
| virtual Entree & | lire_periode_sauvegarde_securite_en_heures (Entree &) |
| virtual Entree & | lire_temps_cpu_max (Entree &) |
| virtual Entree & | lire_residuals (Entree &) |
| virtual void | completer ()=0 |
| 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 Nom & | norm_residu () const |
| int & | schema_impr () |
| const int & | schema_impr () const |
| virtual void | associer_pb (const Probleme_base &) |
| Probleme_base & | pb_base () |
| const Probleme_base & | pb_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 Sortie & | printOn (Sortie &) const |
| Ecriture de l'objet sur un flot de sortie Methode a surcharger. | |
| virtual Entree & | readOn (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_info * | get_info () const |
| Donne des informations sur le type de l'Objet_U. | |
| const Nom & | que_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 Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Protected Member Functions | |
| 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_U & | operator= (const Objet_U &) |
| Operateur= : ne fait rien (on conserve le numero et l'identifiant). | |
Protected Attributes | |
| 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 |
Additional Inherited Members | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Renvoie une reference constante vers le nom du cas. | |
| static Nom & | get_set_nom_du_cas () |
| Renvoie une reference non constante vers le nom du cas (pour pouvoir le modifier). | |
| static const Type_info * | info () |
| Donne des informations sur le type de l'Objet_U. | |
| static const Objet_U & | self_cast (const Objet_U &) |
| methode ajoutee pour caster en python | |
| static Objet_U & | self_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 Sortie & | Journal (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 |
class Schema_Temps_base
Cette classe represente un schema en temps, c'est-a-dire un algorithme de resolution particulier qui sera associe a un Probleme_base (un probleme simple et non un couplage). Schema_Temps_base est la classe abstraite qui est a la base de la hierarchie des schemas en temps.
On note n le temps present, et n+1 le temps a l'issue du pas de temps. Un schema en temps permet de calculer u(n+1) connaissant u jusqu'a u(n). Il utilise u(n), mais peut aussi avoir besoin de valeurs passees de u, telles que u(n-1), ... Il peut aussi en cours de calcul utiliser des valeurs de u a des temps intermediaires entre n et n+1, par exemple n+1/2. nb_valeurs_temporelles compte toutes les valeurs allouees : n, n+1, les valeurs passees retenues etles valeurs intermediaires entre n et n+1. nb_valeurs_futures compte n+1 et les valeurs intermediaires entre n et n+1. C'est donc le nombre de crans dont tournent les roues en avancant d'un pas de temps. temps_futur(i) renvoie la i-eme valeur future du temps. Enfin temps_defaut est le temps que doivent rendre les champs a l'appel de valeurs() - donc notamment dans les operateurs. Pour le moment n'est respecte que par les Champ_Front des CLs.
Classe abstraite dont tous les schemas en temps doivent deriver.
Methodes abstraites: int faire_un_pas_de_temps_eqn_base(Equation_base&)
Definition at line 66 of file Schema_Temps_base.h.
|
virtual |
Definition at line 255 of file Schema_Temps_base.cpp.
|
virtual |
Definition at line 967 of file Schema_Temps_base.cpp.
|
virtual |
Reimplemented in Schema_Euler_Implicite_Stationnaire, and Schema_Implicite_Multi_TimeStep_base.
Definition at line 955 of file Schema_Temps_base.cpp.
|
virtual |
Reimplemented in Schema_Adams_Bashforth_base, Schema_Adams_Moulton_base, Schema_Cahn_Hilliard_Navier_Stokes, and Schema_Phase_field.
Definition at line 272 of file Schema_Temps_base.cpp.
|
inlinevirtual |
Change le temps courant.
| (double& | t) le nouveau temps courant |
Reimplemented in Multi_Sch_ThHyd, Schema_Cahn_Hilliard_Navier_Stokes, and Schema_Phase_field.
Definition at line 501 of file Schema_Temps_base.h.
|
pure virtual |
|
virtual |
Reimplemented in Schema_Temps_IJK_base.
Definition at line 91 of file Schema_Temps_base.cpp.
|
virtual |
Corrige le pas de temps calcule que l'on passe en parametre et verifie qu'il n'est pas "trop" petit (< dt-min_).
La correction est la suivante: delta_t = min((facteur de securite * dt_calc), dt_max) Et on verifie que delta_t est "suffisamment" plus grand que dt_min_.
| (double& | dt_calc) le pas de temps calcule a verifier |
| le | pas de temps calcule est inferieur a dt_min |
Reimplemented in Multi_Sch_ThHyd, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite_Stationnaire, and Schema_Phase_field.
Definition at line 837 of file Schema_Temps_base.cpp.
|
inline |
Renvoie 1 si le schema en temps a ete lu diffusion_implicite.
Definition at line 565 of file Schema_Temps_base.h.
|
inline |
Definition at line 244 of file Schema_Temps_base.h.
|
inline |
Definition at line 237 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le facteur de securite ou multiplicateur de delta_t.
Ce facteur est utilise lors de la correction/verification du pas de temps. Voir Schema_Temps_base::corriger_dt_calcule(double&)
Definition at line 526 of file Schema_Temps_base.h.
|
inline |
Renvoie le facteur de securite ou multiplicateur de delta_t.
Ce facteur est utilise lors de la correction/verification du pas de temps. Voir Schema_Temps_base::corriger_dt_calcule(double&) (version const)
Definition at line 514 of file Schema_Temps_base.h.
|
pure virtual |
Implemented in Leap_frog, Multi_Sch_ThHyd, Pred_Cor, RK3_FT, RRK2, Sch_CN_iteratif, Schema_Cahn_Hilliard, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_explicite, Schema_Euler_explicite_IJK, Schema_Euler_Implicite, Schema_Euler_Semi_Implicite, Schema_Explicite_Multi_TimeStep_base, Schema_Implicite_Multi_TimeStep_base, Schema_Phase_field, Schema_RK3_IJK, and Schema_Temps_Inutile.
|
inline |
Definition at line 182 of file Schema_Temps_base.h.
| void Schema_Temps_base::finir | ( | ) | const |
Fermeture du fichier .dt_ev.
Definition at line 1196 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 174 of file Schema_Temps_base.h.
|
virtual |
Impression du numero du pas de temps, la valeur du pas de temps.
et du temps courant.
| (Sortie& | os) le flot de sortie |
Definition at line 581 of file Schema_Temps_base.cpp.
|
virtual |
Definition at line 608 of file Schema_Temps_base.cpp.
|
virtual |
Impression du numero du pas de temps, la valeur du pas de temps.
et du temps courant.
| (Sortie& | os) le flot de sortie |
Definition at line 598 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 149 of file Schema_Temps_base.h.
|
inline |
Definition at line 150 of file Schema_Temps_base.h.
|
virtual |
Imprime le pas de temps sur un flot de sortie s'il y a lieu.
| (Sortie& | os) le flot de sortie |
Reimplemented in Multi_Sch_ThHyd, Schema_Cahn_Hilliard_Navier_Stokes, and Schema_Phase_field.
Definition at line 726 of file Schema_Temps_base.cpp.
| void Schema_Temps_base::imprimer | ( | Sortie & | os, |
| const Probleme_base & | pb ) const |
Definition at line 747 of file Schema_Temps_base.cpp.
| void Schema_Temps_base::imprimer | ( | Sortie & | os, |
| Probleme_base & | pb ) const |
Imprime le pas de temps sur un flot de sortie s'il y a lieu.
| (Sortie& | os) le flot de sortie |
Definition at line 742 of file Schema_Temps_base.cpp.
| void Schema_Temps_base::imprimer_temps_courant | ( | SFichier & | os | ) | const |
Definition at line 1054 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 180 of file Schema_Temps_base.h.
|
inline |
Definition at line 179 of file Schema_Temps_base.h.
|
virtual |
Reimplemented in Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite_Stationnaire, and Schema_Phase_field.
Definition at line 57 of file Schema_Temps_base.cpp.
|
virtual |
Reimplemented in Sch_CN_iteratif, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite, Schema_Implicite_Multi_TimeStep_base, and Schema_Phase_field.
Definition at line 141 of file Schema_Temps_base.cpp.
|
virtual |
Retourne 1 si lors du dernier pas de temps, le probleme n'a pas evolue.
| (temps) | le temps a atteindre |
Reimplemented in Schema_Euler_Implicite_Stationnaire.
Definition at line 241 of file Schema_Temps_base.cpp.
|
virtual |
Calculate the U(n+1) unknown for each equation (if solved) of the problem with the selected time scheme.
Reimplemented in Multi_Sch_ThHyd, RK3_FT, Sch_CN_iteratif, Schema_Cahn_Hilliard, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite, Schema_Euler_Implicite_Stationnaire, Schema_Implicite_Multi_TimeStep_base, and Schema_Phase_field.
Definition at line 154 of file Schema_Temps_base.cpp.
|
inlineoverridevirtual |
surcharge Objet_U::le_nom() Renvoie le nom du shema en temps
Reimplemented from Objet_U.
Definition at line 325 of file Schema_Temps_base.h.
| int Schema_Temps_base::limpr | ( | ) | const |
Renvoie 1 s'il y a lieu d'effectuer une impression (cf dt_impr) Renvoie 0 sinon.
Definition at line 185 of file Schema_Temps_base.cpp.
|
overridevirtual |
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
| (Motcle& | motlu) le nom du terme a lire |
| (Entree& | is) un flot d'entree |
Reimplemented from Objet_U.
Definition at line 459 of file Schema_Temps_base.cpp.
Lecture du nombre de pas de temps maximal.
Definition at line 516 of file Schema_Temps_base.cpp.
Definition at line 523 of file Schema_Temps_base.cpp.
Definition at line 541 of file Schema_Temps_base.cpp.
Definition at line 532 of file Schema_Temps_base.cpp.
| int Schema_Temps_base::lsauv | ( | ) | const |
Definition at line 687 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 181 of file Schema_Temps_base.h.
|
virtual |
Mise a jour du temps courant (t+=dt) et du nombre de pas de temps effectue (nb_pas_dt_++).
Reimplemented in Multi_Sch_ThHyd, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite, Schema_Euler_Implicite_Stationnaire, Schema_Implicite_Multi_TimeStep_base, and Schema_Phase_field.
Definition at line 626 of file Schema_Temps_base.cpp.
|
inlinevirtual |
Definition at line 108 of file Schema_Temps_base.h.
|
virtual |
Reimplemented in Sch_CN_EX_iteratif, and Schema_Euler_Implicite_Stationnaire.
Definition at line 716 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 178 of file Schema_Temps_base.h.
|
inlinevirtual |
Reimplemented in Schema_Adams_Bashforth_base, Schema_Explicite_Multi_TimeStep_base, and Schema_Implicite_Multi_TimeStep_base.
Definition at line 228 of file Schema_Temps_base.h.
|
inline |
Renvoie le nombre d'impressions effectuees.
Definition at line 492 of file Schema_Temps_base.h.
|
inline |
Renvoie le nombre de pas de temps effectues.
Definition at line 483 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le nombre de pas maxi.
Definition at line 339 of file Schema_Temps_base.h.
|
inline |
Renvoie 1 si (le nombre de pas de temps >= nombre de pas de temps maximum).
Renvoie 0 sinon
| nombre | de pas de temps maximum atteint |
Definition at line 551 of file Schema_Temps_base.h.
|
inline |
Renvoie le nb maximum de sauvegarde (estimation).
Definition at line 375 of file Schema_Temps_base.h.
|
pure virtual |
|
pure virtual |
Implemented in Leap_frog, Multi_Sch_ThHyd, Pred_Cor, Sch_CN_iteratif, Schema_Adams_Bashforth_order_2, Schema_Adams_Bashforth_order_3, Schema_Adams_Moulton_order_2, Schema_Adams_Moulton_order_3, Schema_Backward_Differentiation_order_2, Schema_Backward_Differentiation_order_3, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite, Schema_Phase_field, Schema_Temps_IJK_base, and Schema_Temps_Inutile.
|
inline |
Definition at line 151 of file Schema_Temps_base.h.
|
inline |
Definition at line 152 of file Schema_Temps_base.h.
|
inline |
Definition at line 153 of file Schema_Temps_base.h.
|
inlineoverridevirtual |
surcharge Objet_U::nommer(const Nom&) Donne un nom au shema en temps
| (Nom& | name) le nom a donner au shema en temps |
Reimplemented from Objet_U.
Definition at line 316 of file Schema_Temps_base.h.
|
inline |
Definition at line 218 of file Schema_Temps_base.h.
|
inline |
Definition at line 330 of file Schema_Temps_base.h.
|
protected |
|
inline |
Renvoie le pas de temps (delta_t) courant.
Definition at line 393 of file Schema_Temps_base.h.
|
inline |
Definition at line 397 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le pas de temps maximum.
Definition at line 436 of file Schema_Temps_base.h.
|
inline |
Renvoie le pas de temps maximum.
(version const)
Definition at line 427 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le pas de temps minimum.
Definition at line 416 of file Schema_Temps_base.h.
|
inline |
Renvoie le pas de temps minimum.
(version const)
Definition at line 407 of file Schema_Temps_base.h.
| Probleme_base & Schema_Temps_base::pb_base | ( | ) |
Definition at line 945 of file Schema_Temps_base.cpp.
| const Probleme_base & Schema_Temps_base::pb_base | ( | ) | const |
Definition at line 950 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 167 of file Schema_Temps_base.h.
|
overridevirtual |
Reprise (lecture) du temps courant et du nombre de pas de temps effectues a partir d'un flot d'entree.
| (Entree& | is) le flot d'entree |
Reimplemented from Objet_U.
Definition at line 793 of file Schema_Temps_base.cpp.
|
virtual |
Definition at line 264 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 217 of file Schema_Temps_base.h.
|
inline |
Definition at line 216 of file Schema_Temps_base.h.
|
overridevirtual |
Sauvegarde le temps courant et le nombre de pas de temps sur un flot de sortie.
| (Sortie& | os) le flot de sortie pour la sauvegarde |
Reimplemented from Objet_U.
Definition at line 757 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 220 of file Schema_Temps_base.h.
|
inline |
Definition at line 221 of file Schema_Temps_base.h.
|
inline |
Definition at line 209 of file Schema_Temps_base.h.
|
inline |
Definition at line 199 of file Schema_Temps_base.h.
|
inline |
Definition at line 197 of file Schema_Temps_base.h.
|
inline |
Definition at line 191 of file Schema_Temps_base.h.
|
inline |
Definition at line 190 of file Schema_Temps_base.h.
|
inline |
Definition at line 196 of file Schema_Temps_base.h.
|
inline |
Definition at line 200 of file Schema_Temps_base.h.
|
inline |
Definition at line 214 of file Schema_Temps_base.h.
|
inline |
Definition at line 213 of file Schema_Temps_base.h.
|
inline |
Definition at line 215 of file Schema_Temps_base.h.
|
inline |
Definition at line 212 of file Schema_Temps_base.h.
|
inline |
Definition at line 188 of file Schema_Temps_base.h.
|
inline |
Definition at line 189 of file Schema_Temps_base.h.
|
inline |
Definition at line 211 of file Schema_Temps_base.h.
|
overridevirtual |
Reimplemented from Objet_U.
Reimplemented in Multi_Sch_ThHyd, Sch_CN_EX_iteratif, Sch_CN_iteratif, Schema_Cahn_Hilliard_Navier_Stokes, Schema_Euler_Implicite, Schema_Euler_Implicite_Stationnaire, Schema_Euler_Semi_Implicite, Schema_Implicite_base, Schema_Implicite_Multi_TimeStep_base, Schema_Phase_field, and Schema_Temps_IJK_base.
Definition at line 279 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 198 of file Schema_Temps_base.h.
|
inline |
Definition at line 210 of file Schema_Temps_base.h.
|
inline |
Definition at line 201 of file Schema_Temps_base.h.
|
inline |
Definition at line 202 of file Schema_Temps_base.h.
|
inline |
Definition at line 208 of file Schema_Temps_base.h.
|
inline |
Definition at line 186 of file Schema_Temps_base.h.
|
inline |
Definition at line 184 of file Schema_Temps_base.h.
|
inline |
Definition at line 185 of file Schema_Temps_base.h.
|
inline |
Definition at line 187 of file Schema_Temps_base.h.
|
inline |
Definition at line 148 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le seuil stationnaire.
Definition at line 348 of file Schema_Temps_base.h.
|
inline |
Definition at line 140 of file Schema_Temps_base.h.
|
inline |
Definition at line 145 of file Schema_Temps_base.h.
|
virtual |
Renvoie 1 si il y lieu de stopper le calcul pour differente raisons: - le temps final est atteint.
- le nombre de pas de temps maximum est depasse - l'etat stationnaire est atteint - indicateur d'arret fichier (voir int Schema_Temps_base::stop_lu())
Renvoie 0 sinon
Reimplemented in Multi_Sch_ThHyd, Schema_Cahn_Hilliard_Navier_Stokes, and Schema_Phase_field.
Definition at line 897 of file Schema_Temps_base.cpp.
| int Schema_Temps_base::stop_lu | ( | ) | const |
Renvoie 1 si le fichier (d'extension) .
stop contient un 1 Renvoie 0 sinon
Definition at line 804 of file Schema_Temps_base.cpp.
|
inline |
Renvoie le temps de calcul ecoule i.
e. (temps courant - temps initial).
Definition at line 465 of file Schema_Temps_base.h.
|
inline |
Renvoie le temps courant.
Definition at line 445 of file Schema_Temps_base.h.
|
inline |
Definition at line 556 of file Schema_Temps_base.h.
|
pure virtual |
|
inline |
Renvoie 1 si le temps final est atteint (ou depasse).
Renvoie 1 si temps_courant_ >= tmax Renvoie 0 sinon
| temps | final atteint |
Definition at line 539 of file Schema_Temps_base.h.
|
pure virtual |
|
inline |
Renvoie une reference sur le temps d'impression.
Definition at line 357 of file Schema_Temps_base.h.
|
inline |
Renvoie le temps initial.
Definition at line 474 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le temps maximum.
Definition at line 384 of file Schema_Temps_base.h.
|
inline |
Renvoie le temps courant.
Definition at line 454 of file Schema_Temps_base.h.
|
inline |
Renvoie une reference sur le temps de sauvegarde.
Definition at line 366 of file Schema_Temps_base.h.
|
virtual |
Definition at line 230 of file Schema_Temps_base.cpp.
| void Schema_Temps_base::update_critere_statio | ( | const DoubleTab & | tab_critere, |
| Equation_base & | equation ) |
//Actualisation de stationnaire_atteint_ et residu_ (critere residu_<seuil_statio_)
| (double& | t) le nouveau temps courant |
Definition at line 976 of file Schema_Temps_base.cpp.
|
virtual |
Definition at line 213 of file Schema_Temps_base.cpp.
|
inline |
Definition at line 168 of file Schema_Temps_base.h.
| void Schema_Temps_base::write_dt_ev | ( | bool | init | ) |
Definition at line 1152 of file Schema_Temps_base.cpp.
| void Schema_Temps_base::write_progress | ( | bool | init | ) |
Ecriture du fichier .progress (temps CPU estime restant).
Definition at line 1070 of file Schema_Temps_base.cpp.
|
protected |
Definition at line 289 of file Schema_Temps_base.h.
|
protected |
Definition at line 286 of file Schema_Temps_base.h.
|
protected |
Pas de temps de calcul.
Definition at line 253 of file Schema_Temps_base.h.
|
protected |
Si on a rate un pas de temps, sa valeur.
Definition at line 258 of file Schema_Temps_base.h.
|
protected |
Definition at line 259 of file Schema_Temps_base.h.
|
protected |
Pas de temps d'impression.
Definition at line 281 of file Schema_Temps_base.h.
|
protected |
Local time steps: Vector of size nb faces of the mesh.
Definition at line 254 of file Schema_Temps_base.h.
|
mutableprotected |
Pas de temps max fixe par l'utilisateur.
Definition at line 267 of file Schema_Temps_base.h.
|
mutableprotected |
Parser_U associe.
Definition at line 269 of file Schema_Temps_base.h.
|
protected |
reglage de dt_max comme une fonction du temps
Definition at line 268 of file Schema_Temps_base.h.
|
protected |
Pas de temps min fixe par l'utilisateur.
Definition at line 266 of file Schema_Temps_base.h.
|
protected |
Definition at line 275 of file Schema_Temps_base.h.
|
protected |
Pas de temps de stabilite.
Definition at line 270 of file Schema_Temps_base.h.
|
mutableprotected |
Definition at line 271 of file Schema_Temps_base.h.
|
protected |
Definition at line 302 of file Schema_Temps_base.h.
|
protected |
Definition at line 287 of file Schema_Temps_base.h.
|
protected |
Definition at line 296 of file Schema_Temps_base.h.
|
protected |
Definition at line 297 of file Schema_Temps_base.h.
|
protected |
Definition at line 294 of file Schema_Temps_base.h.
|
protected |
Definition at line 291 of file Schema_Temps_base.h.
|
protected |
Definition at line 292 of file Schema_Temps_base.h.
|
protected |
Definition at line 290 of file Schema_Temps_base.h.
|
protected |
Par defaut 23 heures;.
Definition at line 278 of file Schema_Temps_base.h.
|
protected |
Definition at line 293 of file Schema_Temps_base.h.
|
protected |
Definition at line 303 of file Schema_Temps_base.h.
|
protected |
Mode calcul du pas de temps de depart - contient un double si option dt_init.
Definition at line 283 of file Schema_Temps_base.h.
|
mutableprotected |
Definition at line 265 of file Schema_Temps_base.h.
|
protected |
Definition at line 263 of file Schema_Temps_base.h.
|
protected |
Definition at line 264 of file Schema_Temps_base.h.
|
mutableprotected |
how many checkpoints have we performed so far?
Definition at line 276 of file Schema_Temps_base.h.
|
protected |
Max number of checkpoints that will be performed (useful for PDI backup file).
Definition at line 277 of file Schema_Temps_base.h.
|
protected |
Iterations maximale pour GC implicitation - Above 1000 iterations, diffusion implicit algorithm may be diverging.
Definition at line 298 of file Schema_Temps_base.h.
|
protected |
Definition at line 299 of file Schema_Temps_base.h.
|
protected |
Definition at line 300 of file Schema_Temps_base.h.
|
protected |
Definition at line 252 of file Schema_Temps_base.h.
|
protected |
Definition at line 274 of file Schema_Temps_base.h.
|
protected |
Par defaut 23 heures;.
Definition at line 279 of file Schema_Temps_base.h.
|
protected |
Nombre de chiffres significatifs impression.
Definition at line 282 of file Schema_Temps_base.h.
|
protected |
Definition at line 284 of file Schema_Temps_base.h.
|
protected |
Definition at line 285 of file Schema_Temps_base.h.
|
protected |
Definition at line 301 of file Schema_Temps_base.h.
|
protected |
Seuil pour implicitation de la diffusion par GC.
Definition at line 295 of file Schema_Temps_base.h.
|
protected |
Definition at line 272 of file Schema_Temps_base.h.
|
protected |
Drapeau pour specifier si seuil_statio_ est une valeur absolue (defaut) ou relative.
Definition at line 273 of file Schema_Temps_base.h.
|
protected |
Definition at line 262 of file Schema_Temps_base.h.
|
protected |
Definition at line 256 of file Schema_Temps_base.h.
|
protected |
Definition at line 280 of file Schema_Temps_base.h.
|
protected |
Definition at line 257 of file Schema_Temps_base.h.
|
protected |
Definition at line 260 of file Schema_Temps_base.h.
|
protected |
Definition at line 261 of file Schema_Temps_base.h.