|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
class Probleme_base It is a Probleme_U that is not a coupling. More...
#include <Probleme_base.h>
Public Member Functions | |
| ~Probleme_base () | |
| virtual void | associer () |
| Associates the problem with all its equations. | |
| virtual Entree & | lire_equations (Entree &is, Motcle &dernier_mot) |
| Reading of the equations of the problem. | |
| virtual void | completer () |
| Completes the equations associated with the problem. | |
| virtual int | verifier () |
| Verifies that the object is complete, coherent, . | |
| virtual int | nombre_d_equations () const =0 |
| virtual const Equation_base & | equation (int) const =0 |
| virtual Equation_base & | equation (int)=0 |
| const Equation_base & | equation (const Nom &) const |
| Returns the equation whose name is specified (const version). | |
| Equation_base & | equation (const Nom &) |
| Returns the equation whose name is specified. | |
| int | sauvegarder (Sortie &) const override |
| Writing of the problem to file for restart. | |
| int | reprendre (Entree &) override |
| Reading of an input stream (file) for restart after a backup with Probleme_base::sauvegarder(Sortie& os). | |
| int | is_sauvegarde_simple () const |
| const Nom & | restart_filename () const |
| const Nom & | checkpoint_filename () const |
| const Nom & | checkpoint_format () const |
| const Nom & | yaml_filename () const |
| virtual const Equation_base & | get_equation_by_name (const Nom &) const |
| (B. Math): Virtual method added for problems having several equations of the same type (Probleme_FT_Disc_gen). In that case, the name of the equation is not its type... | |
| virtual Equation_base & | getset_equation_by_name (const Nom &) |
| (B. Math): Virtual method added for problems having several equations of the same type (Probleme_FT_Disc_gen). In that case, the name of the equation is not its type... Non-const version. This method is notably called when reading the problem. | |
| virtual const Milieu_base & | milieu () const |
| Returns the physical medium associated with the problem (const version). | |
| virtual Milieu_base & | milieu () |
| Returns the physical medium associated with the problem. | |
| virtual double | calculer_pas_de_temps () const |
| Computes the value of the next time step for the problem. | |
| virtual void | mettre_a_jour (double temps) |
| Performs a time update of the problem. | |
| virtual void | preparer_calcul () |
| Prepares the computation: initializes the medium parameters and prepares the computation of each equation. | |
| virtual void | imprimer (Sortie &os) const |
| Prints the equations associated with the problem if the associated time scheme indicates that it is necessary. | |
| int | associer_ (Objet_U &) override |
| override Objet_U::associer_(Objet_U& ob) Associates different objects with the problem by checking | |
| virtual void | associer_sch_tps_base (const Schema_Temps_base &) |
| Associates a time scheme with the problem. | |
| virtual void | associer_domaine (const Domaine &) |
| Associates a domain with the problem. | |
| virtual void | associer_milieu_base (const Milieu_base &) |
| Associates a physical medium with the problem equations. | |
| virtual void | discretiser (Discretisation_base &) |
| Assigns a discretization to the problem Discretizes the Domain associated with the problem with the discretization. | |
| virtual void | discretiser_equations () |
| virtual void | finir () |
| Finalizes post-processing and saves the problem to a file. | |
| std::vector< OWN_PTR(Milieu_base)> & | milieu_vect () |
| const std::vector< OWN_PTR(Milieu_base)> & | milieu_vect () const |
| const Schema_Temps_base & | schema_temps () const |
| Returns the time scheme associated with the problem. | |
| Schema_Temps_base & | schema_temps () |
| Returns the time scheme associated with the problem. | |
| const Domaine & | domaine () const |
| Returns the domain associated with the problem. | |
| Domaine & | domaine () |
| Returns the domain associated with the problem. | |
| bool | has_domaine_dis () const |
| const Domaine_dis_base & | domaine_dis () const |
| Returns the discretized domain associated with the problem (const version). | |
| Domaine_dis_base & | domaine_dis () |
| Returns the discretized domain associated with the problem. | |
| bool | is_dilatable () const |
| const Discretisation_base & | discretisation () const |
| Returns the discretization associated with the problem. | |
| Postraitements & | postraitements () |
| const Postraitements & | postraitements () const |
| void | init_postraitements () |
| Flags the first and last post-processing for each file And initializes the post-processing. | |
| virtual int | expression_predefini (const Motcle &motlu, Nom &expression) |
| const char * | reprise_format_temps () const |
| bool & | reprise_effectuee () |
| bool | reprise_effectuee () 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 |
| virtual const Champ_Generique_base & | get_champ_post (const Motcle &nom) const |
| virtual bool | has_champ_post (const Motcle &nom) const |
| virtual int | comprend_champ_post (const Motcle &nom) const |
| virtual int | a_pour_IntVect (const Motcle &, OBS_PTR(IntVect)&) const |
| virtual void | lire_postraitement_interfaces (Entree &is) |
| virtual void | postraiter_interfaces (const Nom &nom_fich, Sortie &s, const Nom &format, double temps) |
| virtual void | addInputField (Field_base &f) |
| bool | is_coupled () const |
| virtual bool | has_mod_rayo_transp () const |
| int | postraiter (int force=1) override |
| If force=1, performs post-processing regardless of the post-processing frequencies. | |
| int | limpr () const override |
| Asks the time scheme if a print is needed. | |
| int | lsauv () const override |
| Asks the time scheme if a backup is needed. | |
| void | sauver () const override |
| Writes to file for restart (backup). | |
| virtual void | allocation () const final |
| Verifies that the necessary disk space exists. | |
| void | initialize () override |
| This method is called once at the beginning, before any other one of the interface Problem. | |
| const bool & | is_probleme_base_initialized () const |
| void | terminate () override |
| This method is called once at the end, after any other one. | |
| double | presentTime () const override |
| Returns the present time. | |
| double | computeTimeStep (bool &stop) const override |
| Compute the value the Problem would like for the next time step. | |
| bool | initTimeStep (double dt) override |
| This method allocates and initializes the unknown and given fields for the future time step. | |
| bool | solveTimeStep () override |
| For possible re-implementation and unified call from python. | |
| bool | solveTimeStep_pbU () |
| bool | isStationary () const override |
| Tells if the Problem unknowns have changed during the last time step. | |
| std::string | newCompute () override |
| Searches for parametric fields and for each, moves to the next parameter. | |
| void | validateTimeStep () override |
| Validates the calculated unknown by moving the present time at the end of the time step. | |
| void | setStationary (bool flag) override |
| Tells to the Problem that stationary is reached or not. | |
| void | abortTimeStep () override |
| Aborts the resolution of the current time step. | |
| void | resetTime (double time) override |
| Reset the current time of the Problem to a given value. | |
| void | getOutputPointValues (const Nom &name, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, std::vector< double > &vals, int compo) override |
| bool | iterateTimeStep (bool &converged) override |
| In the case solveTimeStep uses an iterative process, this method executes a single iteration. | |
| void | getInputFieldsNames (Noms &noms) const override |
| This method is used to find the names of input fields understood by the Problem. | |
| void | getOutputFieldsNames (Noms &noms) const override |
| bool | updateGivenFields () override |
| WARNING: | |
| double | futureTime () const override |
| Returns the future time (end of current computing interval) This value is valid between initTimeStep and either. | |
| OBS_PTR (Field_base) findInputField(const Nom &name) const override | |
| OBS_PTR (Champ_Generique_base) findOutputField(const Nom &name) const override | |
| void | associer_pb_couple (const Probleme_Couple &pbc) |
| const Probleme_Couple & | get_pb_couple () const |
| Probleme_Couple & | get_pb_couple () |
| LIST (OBS_PTR(SFichier)) &get_set_out_files() const | |
| const Correlation_base & | get_correlation (std::string nom_correlation) const |
| int | has_correlation (std::string nom_correlation) const |
| 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 Probleme_U | |
| virtual void | getInputFieldTemplate (const Nom &name, ICoCo::TrioField &afield) const |
| virtual void | setInputField (const Nom &name, const ICoCo::TrioField &afield) |
| virtual void | getOutputField (const Nom &nameField, ICoCo::TrioField &afield) const |
| virtual void | setInputIntValue (const Nom &name, const int &val) |
| virtual int | getOutputIntValue (const Nom &name) const |
| virtual bool | checkOutputIntEntry (const Nom &name) const |
| double | getOutputPointValues (const Nom &name, const double x, const double y, const double z, int compo) |
| virtual void | setInputDoubleValue (const Nom &name, const double val) |
| virtual void | setInputStringValue (const std::string &name, const std::string &val) |
| virtual std::string | getOutputStringValue (const std::string &name) |
| virtual void | post_initialize () |
| virtual bool | run () |
| This method is a sort of main() for the Problem. It can be used if the problem is not coupled with any other. | |
| virtual bool | runUntil (double time) |
| This method has the same role as the method run, but it stops when reaching the time given in parameter. | |
| void | nommer (const Nom &name) override |
| Assigns a name to the Objet_U. Virtual method to override. | |
| const Nom & | le_nom () const override |
| Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation. | |
| 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). | |
| 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 | lire_motcle_non_standard (const Motcle &motlu, Entree &is) |
| Reads non-simple-type parameters of an Objet_U from an input stream. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
| Public Member Functions inherited from Probleme_base_interface_proto | |
| bool | initTimeStep_impl (Probleme_base &pb, double dt) |
| bool | solveTimeStep_impl (Probleme_base &pb) |
| bool | isStationary_impl (const Probleme_base &pb) const |
| bool | iterateTimeStep_impl (Probleme_base &pb, bool &converged) |
| bool | updateGivenFields_impl (Probleme_base &pb) |
| const bool & | is_probleme_initialized_impl () const |
| void | initialize_impl (Probleme_base &pb) |
| void | terminate_impl (Probleme_base &pb) |
| void | validateTimeStep_impl (Probleme_base &pb) |
| void | abortTimeStep_impl (Probleme_base &pb) |
| void | getInputFieldsNames_impl (const Probleme_base &pb, Noms &noms) const |
| void | getOutputFieldsNames_impl (const Probleme_base &pb, Noms &noms) const |
| void | addInputField_impl (Probleme_base &pb, Field_base &f) |
| double | presentTime_impl (const Probleme_base &pb) const |
| double | computeTimeStep_impl (const Probleme_base &pb, bool &stop) const |
| double | futureTime_impl (const Probleme_base &pb) const |
| void | resetTimeWithDir_impl (Probleme_base &pb, double time, std::string direname) |
| OBS_PTR (Field_base) findInputField_impl(const Probleme_base &pb | |
| OBS_PTR (Champ_Generique_base) findOutputField_impl(const Probleme_base &pb | |
Protected Member Functions | |
| virtual void | typer_lire_milieu (Entree &is) |
| virtual void | lire_solved_equations (Entree &is) |
| Entree & | read_optional_equations (Entree &is, Motcle &mot) |
| virtual Entree & | lire_correlations (Entree &is) |
| virtual Entree & | lire_radiation_models (Entree &is, Motcle &mot) |
| OBS_PTR (Domaine_dis_base) le_domaine_dis_ | |
| OBS_PTR (Domaine) le_domaine_ | |
| OBS_PTR (Schema_Temps_base) le_schema_en_temps_ | |
| OBS_PTR (Discretisation_base) la_discretisation_ | |
| OBS_PTR (Probleme_Couple) pbc_ | |
| LIST (OBS_PTR(SFichier)) out_files_ | |
| LIST (OBS_PTR(Loi_Fermeture_base)) liste_loi_fermeture_ | |
| LIST (OBS_PTR(Champ_Parametrique)) Champs_Parametriques_ | |
| LIST (OWN_PTR(Equation_base)) eq_opt_ | |
| 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). | |
| virtual void | set_param (Param &) const |
| Protected Member Functions inherited from Probleme_base_interface_proto | |
| LIST (OBS_PTR(Field_base)) input_fields | |
Protected Attributes | |
| Save_Restart | save_restart_ |
| std::vector< OWN_PTR(Milieu_base)> | le_milieu_ |
| Postraitements | les_postraitements_ |
| std::map< std::string, OWN_PTR(Correlation_base)> | correlations_ |
| Protected Attributes inherited from Probleme_U | |
| Nom | nom_ |
| ScalarRegister | reg_ |
| std::map< std::string, std::string > | str_params_ |
| Protected Attributes inherited from Probleme_base_interface_proto | |
| bool | initialized = false |
| bool | terminated = false |
| bool | dt_defined = false |
| bool | dt_validated = false |
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) |
| Public Attributes inherited from Probleme_base_interface_proto | |
| const Nom &name | const |
| 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 Probleme_base It is a Probleme_U that is not a coupling.
The role of a Probleme_base is the resolution on a domain of the equations that compose it. Its members are the attributes and the common methods to all classes that represent problems. A certain number of objects are associated with the problem to constitute it: - 1 or more equations: Equation object - 1 discretized domain: Domaine_Dis object - a post-processing: Postraitement object - A discretization: Discretization object - a time scheme: Schema_temp object
Definition at line 54 of file Probleme_base.h.
|
inline |
Definition at line 58 of file Probleme_base.h.
Definition at line 936 of file Probleme_base.cpp.
|
inlineoverridevirtual |
Aborts the resolution of the current time step.
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 172 of file Probleme_base.h.
|
inlinevirtual |
Definition at line 140 of file Probleme_base.h.
|
finalvirtual |
Verifies that the necessary disk space exists.
Definition at line 1049 of file Probleme_base.cpp.
|
virtual |
Associates the problem with all its equations.
Definition at line 285 of file Probleme_base.cpp.
|
overridevirtual |
override Objet_U::associer_(Objet_U& ob) Associates different objects with the problem by checking
the type of the object to be associated at execution. We can thus associate: a time scheme, a calculation domain. Uses the routine of the Type_Info class (Utilities)
| (Objet_U& | ob) the object to associate |
| Unknown | Objet_U type (not provided) |
Reimplemented from Objet_U.
Reimplemented in Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 303 of file Probleme_base.cpp.
|
virtual |
Associates a domain with the problem.
Takes un_domaine as support. calls Domaine_dis::associer_dom(const Domaine& )
| (Domaine& | un_domaine) the domain |
Definition at line 379 of file Probleme_base.cpp.
|
virtual |
Associates a physical medium with the problem equations.
Choice of the physical medium.
| (Milieu_base& | mil) the medium to associate (Solide, Fluide Incompressible ...) |
Reimplemented in Pb_Dilatable_base, Pb_Euler, Pb_Hydraulique, Pb_Hydraulique_Aposteriori, Pb_Hydraulique_Concentration, Pb_Hydraulique_Concentration_Turbulent, Pb_Hydraulique_IBM, Pb_Hydraulique_IBM_Turbulent, Pb_Hydraulique_sensibility, Pb_Hydraulique_Turbulent, Pb_Multiphase, Pb_Multiphase_Enthalpie, Pb_Phase_field, Pb_QC_base, Pb_Thermohydraulique, Pb_Thermohydraulique_Concentration, Pb_Thermohydraulique_Concentration_Turbulent, Pb_Thermohydraulique_IBM, Pb_Thermohydraulique_IBM_Turbulent, Pb_Thermohydraulique_sensibility, Pb_Thermohydraulique_Turbulent, Pb_WC_base, Probleme_Elasticite_Lineaire, Probleme_FT_Disc_gen, TRUSTProblem_Cloned_Concentration_Gen< Pb_Hydraulique >, TRUSTProblem_Cloned_Concentration_Gen< Pb_Thermohydraulique >, TRUSTProblem_List_Concentration_Gen< Pb_Hydraulique >, TRUSTProblem_List_Concentration_Gen< Pb_Thermohydraulique >, TRUSTProblem_sup_eqns< Pb_Conduction >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_QC >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent_QC >, and TRUSTProblem_sup_eqns< Pb_Thermohydraulique_WC >.
Definition at line 650 of file Probleme_base.cpp.
|
inline |
Definition at line 195 of file Probleme_base.h.
|
virtual |
Associates a time scheme with the problem.
Then associates the time scheme with all the equations of the problem.
| (Schema_Temps_base& | un_schema_en_temps) the time scheme to associate |
Reimplemented in Pb_Dilatable_base, and Pb_rayo_semi_transp.
Definition at line 556 of file Probleme_base.cpp.
|
virtual |
Computes the value of the next time step for the problem.
Computes the minimum of the time steps of the equations associated with the problem.
Reimplemented in Pb_Multiphase, Pb_rayo_semi_transp, and Probleme_FT_Disc_gen.
Definition at line 1019 of file Probleme_base.cpp.
Definition at line 77 of file Probleme_base.h.
Definition at line 78 of file Probleme_base.h.
|
virtual |
Completes the equations associated with the problem.
Filling of references, delegated to the equations.
Reimplemented in Pb_Fluide_base, Pb_rayo_semi_transp, Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 346 of file Probleme_base.cpp.
Definition at line 892 of file Probleme_base.cpp.
|
inlineoverridevirtual |
Compute the value the Problem would like for the next time step.
This value will not necessarily be used at the call of initTimeStep, but it is a hint. This method may use all the internal state of the Problem.
| (stop) | Does the Problem want to stop ? |
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 164 of file Probleme_base.h.
Implements Champs_compris_interface.
Definition at line 767 of file Probleme_base.cpp.
|
inline |
Returns the discretization associated with the problem.
| if | the discretization has not been built |
Definition at line 241 of file Probleme_base.h.
|
virtual |
Assigns a discretization to the problem Discretizes the Domain associated with the problem with the discretization.
Associates the first Domain with the problem's equations Discretizes the equations associated with the problem
| (Discretisation_base& | discretisation) a discretization for the problem |
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 402 of file Probleme_base.cpp.
|
virtual |
Definition at line 385 of file Probleme_base.cpp.
| Domaine & Probleme_base::domaine | ( | ) |
Returns the domain associated with the problem.
Definition at line 621 of file Probleme_base.cpp.
| const Domaine & Probleme_base::domaine | ( | ) | const |
Returns the domain associated with the problem.
(const version)
Definition at line 612 of file Probleme_base.cpp.
| Domaine_dis_base & Probleme_base::domaine_dis | ( | ) |
Returns the discretized domain associated with the problem.
Definition at line 639 of file Probleme_base.cpp.
| const Domaine_dis_base & Probleme_base::domaine_dis | ( | ) | const |
Returns the discretized domain associated with the problem (const version).
Definition at line 630 of file Probleme_base.cpp.
| Equation_base & Probleme_base::equation | ( | const Nom & | type | ) |
Returns the equation whose name is specified.
Equations are indexed by their associated name. Searches through all equations of the problem for the one carrying the specified name.
| (Nom& | type) the name of the equation to return |
| if | no equation with the specified name exists |
Definition at line 743 of file Probleme_base.cpp.
| const Equation_base & Probleme_base::equation | ( | const Nom & | type | ) | const |
Returns the equation whose name is specified (const version).
Equations are indexed by their associated name. Searches through all equations of the problem for the one carrying the specified name.
| (Nom& | type) the name of the equation to return |
| if | no equation with the specified name exists |
Definition at line 688 of file Probleme_base.cpp.
|
pure virtual |
Implemented in Pb_Cahn_Hilliard, Pb_Cahn_Hilliard_Navier_Stokes, Pb_Conduction, Pb_Conduction_IBM, Pb_Euler, Pb_Hydraulique, Pb_Hydraulique_Aposteriori, Pb_Hydraulique_Concentration, Pb_Hydraulique_Concentration_Turbulent, Pb_Hydraulique_IBM, Pb_Hydraulique_IBM_Turbulent, Pb_Hydraulique_Melange_Binaire_QC, Pb_Hydraulique_Melange_Binaire_Turbulent_QC, Pb_Hydraulique_Melange_Binaire_WC, Pb_Hydraulique_sensibility, Pb_Hydraulique_Turbulent, Pb_MED, Pb_Multiphase, Pb_Multiphase_Enthalpie, Pb_Phase_field, Pb_rayo_semi_transp, Pb_Thermohydraulique, Pb_Thermohydraulique_Concentration, Pb_Thermohydraulique_Concentration_Turbulent, Pb_Thermohydraulique_IBM, Pb_Thermohydraulique_IBM_Turbulent, Pb_Thermohydraulique_QC, Pb_Thermohydraulique_sensibility, Pb_Thermohydraulique_Turbulent, Pb_Thermohydraulique_Turbulent_QC, Pb_Thermohydraulique_WC, Probleme_Elasticite_Lineaire, Probleme_FT_Disc_gen, TRUSTProblem_Concentration_Gen< Pb_Hydraulique, Convection_Diffusion_Concentration, Constituant >, TRUSTProblem_Concentration_Gen< Pb_Thermohydraulique, Convection_Diffusion_Concentration, Constituant >, TRUSTProblem_sup_eqns< Pb_Conduction >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_QC >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent_QC >, and TRUSTProblem_sup_eqns< Pb_Thermohydraulique_WC >.
|
pure virtual |
Implemented in Pb_Cahn_Hilliard, Pb_Cahn_Hilliard_Navier_Stokes, Pb_Conduction, Pb_Conduction_IBM, Pb_Euler, Pb_Hydraulique, Pb_Hydraulique_Aposteriori, Pb_Hydraulique_Concentration, Pb_Hydraulique_Concentration_Turbulent, Pb_Hydraulique_IBM, Pb_Hydraulique_IBM_Turbulent, Pb_Hydraulique_Melange_Binaire_QC, Pb_Hydraulique_Melange_Binaire_Turbulent_QC, Pb_Hydraulique_Melange_Binaire_WC, Pb_Hydraulique_sensibility, Pb_Hydraulique_Turbulent, Pb_MED, Pb_Multiphase, Pb_Multiphase_Enthalpie, Pb_Phase_field, Pb_rayo_semi_transp, Pb_Thermohydraulique, Pb_Thermohydraulique_Concentration, Pb_Thermohydraulique_Concentration_Turbulent, Pb_Thermohydraulique_IBM, Pb_Thermohydraulique_IBM_Turbulent, Pb_Thermohydraulique_QC, Pb_Thermohydraulique_sensibility, Pb_Thermohydraulique_Turbulent, Pb_Thermohydraulique_Turbulent_QC, Pb_Thermohydraulique_WC, Probleme_Elasticite_Lineaire, and Probleme_FT_Disc_gen.
Reimplemented in Pb_Fluide_base, Pb_Hydraulique_Melange_Binaire_Turbulent_QC, and Pb_Thermohydraulique_Turbulent_QC.
Definition at line 471 of file Probleme_base.cpp.
|
virtual |
Finalizes post-processing and saves the problem to a file.
Closes the file associated with post-processing. (Postraitement::finir())
Definition at line 1134 of file Probleme_base.cpp.
|
inlineoverridevirtual |
Returns the future time (end of current computing interval) This value is valid between initTimeStep and either.
validateTimeStep or abortTimeStep. A surcharger
| WrongContext |
Reimplemented from Probleme_U.
Definition at line 190 of file Probleme_base.h.
|
overridevirtual |
Implements Champs_compris_interface.
Definition at line 836 of file Probleme_base.cpp.
|
virtual |
Definition at line 918 of file Probleme_base.cpp.
|
inline |
Definition at line 200 of file Probleme_base.h.
|
virtual |
(B. Math): Virtual method added for problems having several equations of the same type (Probleme_FT_Disc_gen). In that case, the name of the equation is not its type...
Reimplemented in Pb_rayo_semi_transp, and Probleme_FT_Disc_gen.
Definition at line 717 of file Probleme_base.cpp.
|
overridevirtual |
Implements Champs_compris_interface.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 876 of file Probleme_base.cpp.
|
inline |
Definition at line 197 of file Probleme_base.h.
|
inline |
Definition at line 196 of file Probleme_base.h.
|
inlineoverridevirtual |
This method is used to find the names of input fields understood by the Problem.
| (Noms) | list of names where the Problem appends its input field names. |
Reimplemented from Probleme_U.
Definition at line 185 of file Probleme_base.h.
|
inlineoverridevirtual |
Reimplemented from Probleme_U.
Definition at line 186 of file Probleme_base.h.
|
overridevirtual |
Reimplemented from Probleme_U.
Definition at line 1252 of file Probleme_base.cpp.
|
virtual |
(B. Math): Virtual method added for problems having several equations of the same type (Probleme_FT_Disc_gen). In that case, the name of the equation is not its type... Non-const version. This method is notably called when reading the problem.
Reimplemented in Pb_rayo_semi_transp, and Probleme_FT_Disc_gen.
Definition at line 728 of file Probleme_base.cpp.
Implements Champs_compris_interface.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 808 of file Probleme_base.cpp.
|
override |
Definition at line 780 of file Probleme_base.cpp.
Definition at line 905 of file Probleme_base.cpp.
|
inline |
Definition at line 206 of file Probleme_base.h.
|
inline |
Definition at line 106 of file Probleme_base.h.
|
inlinevirtual |
Reimplemented in Pb_Fluide_base.
Definition at line 143 of file Probleme_base.h.
|
virtual |
Prints the equations associated with the problem if the associated time scheme indicates that it is necessary.
| (Sortie& | os) output stream |
Definition at line 543 of file Probleme_base.cpp.
| void Probleme_base::init_postraitements | ( | ) |
Flags the first and last post-processing for each file And initializes the post-processing.
Definition at line 426 of file Probleme_base.cpp.
|
inlineoverridevirtual |
This method is called once at the beginning, before any other one of the interface Problem.
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK, Probleme_FTD_IJK_base, and Probleme_FTD_IJK_cut_cell.
Definition at line 158 of file Probleme_base.h.
|
inlineoverridevirtual |
This method allocates and initializes the unknown and given fields for the future time step.
The value of the interval is imposed through the parameter dt. In case of error, returns false.
| (double | dt) the time interval to allocate |
| WrongContext,WrongArgument |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 165 of file Probleme_base.h.
|
inline |
Definition at line 142 of file Probleme_base.h.
| bool Probleme_base::is_dilatable | ( | ) | const |
Definition at line 1041 of file Probleme_base.cpp.
|
inline |
Definition at line 159 of file Probleme_base.h.
|
inline |
Definition at line 75 of file Probleme_base.h.
|
inlineoverridevirtual |
Tells if the Problem unknowns have changed during the last time step.
| WrongContext |
Reimplemented from Probleme_U.
Definition at line 168 of file Probleme_base.h.
|
inlineoverridevirtual |
In the case solveTimeStep uses an iterative process, this method executes a single iteration.
It is thus possible to modify the given fields between iterations. converged is set to true if the process has converged, ie if the unknown fields are solution to the problem on the next time step. Otherwise converged is set to false. The return value indicates if the convergence process behaves normally. If false, the Problem wishes to abort the time step resolution.
| (bool& | converged) It is a return value : true if the process has converged, false otherwise. |
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 182 of file Probleme_base.h.
|
overridevirtual |
Asks the time scheme if a print is needed.
Reimplemented from Probleme_U.
Definition at line 525 of file Probleme_base.cpp.
Definition at line 1235 of file Probleme_base.cpp.
Reading of the equations of the problem.
Reimplemented in Pb_Cahn_Hilliard_Navier_Stokes, Pb_Euler, Pb_Multiphase, Probleme_FT_Disc_gen, Probleme_FTD_IJK_base, TRUSTProblem_Cloned_Concentration_Gen< Pb_Hydraulique >, TRUSTProblem_Cloned_Concentration_Gen< Pb_Thermohydraulique >, TRUSTProblem_List_Concentration_Gen< Pb_Hydraulique >, and TRUSTProblem_List_Concentration_Gen< Pb_Thermohydraulique >.
Definition at line 235 of file Probleme_base.cpp.
|
virtual |
Definition at line 1028 of file Probleme_base.cpp.
Reimplemented in Pb_Fluide_base.
Definition at line 274 of file Probleme_base.cpp.
|
inlineprotectedvirtual |
Reimplemented in Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 215 of file Probleme_base.h.
|
protected |
|
protected |
Definition at line 198 of file Probleme_base.h.
|
protected |
|
overridevirtual |
Asks the time scheme if a backup is needed.
Reimplemented from Probleme_U.
Definition at line 534 of file Probleme_base.cpp.
|
virtual |
Performs a time update of the problem.
Performs the update on all equations of the problem.
| (double | temps) the time step for the update |
Reimplemented in Pb_Dilatable_base, Pb_Euler, Pb_rayo_semi_transp, Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 947 of file Probleme_base.cpp.
|
virtual |
Returns the physical medium associated with the problem.
Returns the medium associated with the first equation.
Reimplemented in Probleme_Elasticite_Lineaire.
Definition at line 673 of file Probleme_base.cpp.
|
virtual |
Returns the physical medium associated with the problem (const version).
Returns the medium associated with the first equation.
Reimplemented in Probleme_Elasticite_Lineaire.
Definition at line 662 of file Probleme_base.cpp.
|
inline |
Definition at line 99 of file Probleme_base.h.
|
inline |
Definition at line 100 of file Probleme_base.h.
|
overridevirtual |
Searches for parametric fields and for each, moves to the next parameter.
Reimplemented from Probleme_U.
Definition at line 1162 of file Probleme_base.cpp.
|
pure virtual |
Implemented in Pb_Cahn_Hilliard, Pb_Cahn_Hilliard_Navier_Stokes, Pb_Conduction, Pb_Euler, Pb_Hydraulique, Pb_Hydraulique_Aposteriori, Pb_Hydraulique_Concentration, Pb_Hydraulique_Concentration_Turbulent, Pb_Hydraulique_IBM, Pb_Hydraulique_IBM_Turbulent, Pb_Hydraulique_Melange_Binaire_QC, Pb_Hydraulique_Melange_Binaire_Turbulent_QC, Pb_Hydraulique_Melange_Binaire_WC, Pb_Hydraulique_sensibility, Pb_Hydraulique_Turbulent, Pb_MED, Pb_Multiphase, Pb_Phase_field, Pb_rayo_semi_transp, Pb_Thermohydraulique, Pb_Thermohydraulique_Concentration, Pb_Thermohydraulique_Concentration_Turbulent, Pb_Thermohydraulique_IBM, Pb_Thermohydraulique_IBM_Turbulent, Pb_Thermohydraulique_QC, Pb_Thermohydraulique_sensibility, Pb_Thermohydraulique_Turbulent, Pb_Thermohydraulique_Turbulent_QC, Pb_Thermohydraulique_WC, Probleme_Elasticite_Lineaire, Probleme_FT_Disc_gen, TRUSTProblem_Concentration_Gen< Pb_Hydraulique, Convection_Diffusion_Concentration, Constituant >, TRUSTProblem_Concentration_Gen< Pb_Thermohydraulique, Convection_Diffusion_Concentration, Constituant >, TRUSTProblem_sup_eqns< Pb_Conduction >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Hydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Concentration_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_QC >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent >, TRUSTProblem_sup_eqns< Pb_Thermohydraulique_Turbulent_QC >, and TRUSTProblem_sup_eqns< Pb_Thermohydraulique_WC >.
|
inlineoverridevirtual |
Reimplemented from Probleme_U.
Definition at line 193 of file Probleme_base.h.
|
protected |
|
protected |
|
protected |
|
inlineoverridevirtual |
Reimplemented from Probleme_U.
Definition at line 192 of file Probleme_base.h.
|
protected |
|
protected |
|
inline |
Definition at line 112 of file Probleme_base.h.
|
inline |
Definition at line 113 of file Probleme_base.h.
|
overridevirtual |
If force=1, performs post-processing regardless of the post-processing frequencies.
The post-processing is updated and any treatments on probes, fields and statistics are performed. If force=0, respects the requested output frequencies.
Reimplemented from Probleme_U.
Definition at line 1061 of file Probleme_base.cpp.
|
virtual |
Definition at line 1035 of file Probleme_base.cpp.
|
virtual |
Prepares the computation: initializes the medium parameters and prepares the computation of each equation.
Reimplemented in Pb_Dilatable_base, Pb_Euler, Pb_Multiphase, Pb_rayo_semi_transp, Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 984 of file Probleme_base.cpp.
|
inlineoverridevirtual |
Returns the present time.
This value may change only at the call of validateTimeStep. A surcharger
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 163 of file Probleme_base.h.
Definition at line 1212 of file Probleme_base.cpp.
|
overridevirtual |
Reading of an input stream (file) for restart after a backup with Probleme_base::sauvegarder(Sortie& os).
| (Entree& | is) the input stream from which we read the restart |
Reimplemented from Objet_U.
Definition at line 506 of file Probleme_base.cpp.
|
inline |
Definition at line 118 of file Probleme_base.h.
|
inline |
Definition at line 119 of file Probleme_base.h.
|
inline |
Definition at line 117 of file Probleme_base.h.
|
overridevirtual |
Reset the current time of the Problem to a given value.
Particularly useful for the initialization of complex transients: the starting point of the transient of interest is computed first, the time is reset to 0, and then the actual transient of interest starts with proper initial conditions, and global time 0.
| [in] | time | the new current time. |
| ICoCo::WrongContext | exception if called before initialize() or after terminate(). |
| ICoCo::WrongContext | exception if called inside the TIME_STEP_DEFINED context (see Problem documentation) |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 1151 of file Probleme_base.cpp.
Definition at line 76 of file Probleme_base.h.
|
overridevirtual |
Writing of the problem to file for restart.
Writes the name of the problem and saves the equations.
| (Sortie& | os) output stream for backup |
Reimplemented from Objet_U.
Definition at line 484 of file Probleme_base.cpp.
|
overridevirtual |
Writes to file for restart (backup).
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 1120 of file Probleme_base.cpp.
| Schema_Temps_base & Probleme_base::schema_temps | ( | ) |
Returns the time scheme associated with the problem.
(if it is not null)
| if | the time scheme is not associated with the problem, the reference is null |
Definition at line 595 of file Probleme_base.cpp.
| const Schema_Temps_base & Probleme_base::schema_temps | ( | ) | const |
Returns the time scheme associated with the problem.
(if it is not null) (const version)
| the | time scheme is not associated with the problem, the reference is null |
Definition at line 577 of file Probleme_base.cpp.
|
inlineoverridevirtual |
Tells to the Problem that stationary is reached or not.
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 171 of file Probleme_base.h.
|
inlineoverridevirtual |
For possible re-implementation and unified call from python.
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 166 of file Probleme_base.h.
|
inline |
Definition at line 167 of file Probleme_base.h.
|
inlineoverridevirtual |
This method is called once at the end, after any other one.
It frees the memory and saves anything that needs to be saved.
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 160 of file Probleme_base.h.
|
protectedvirtual |
Reimplemented in Pb_Euler, Pb_MED, Pb_Multiphase, Pb_Phase_field, Pb_rayo_semi_transp, Probleme_FT_Disc_gen, Probleme_FTD_IJK_base, TRUSTProblem_Cloned_Concentration_Gen< Pb_Hydraulique >, TRUSTProblem_Cloned_Concentration_Gen< Pb_Thermohydraulique >, TRUSTProblem_List_Concentration_Gen< Pb_Hydraulique >, and TRUSTProblem_List_Concentration_Gen< Pb_Thermohydraulique >.
Definition at line 174 of file Probleme_base.cpp.
|
inlineoverridevirtual |
WARNING:
Everything that does not fit the normal Problem API goes here.
Currently it updates boundary conditions and source terms, knowing that some of them fetch information from neighboring problems themselves...
Work plan: everything in this method must be made independent of external state, and can then be merged into initTimeStep. The rest moves into the field exchange interface. This work will be done when updateGivenFields is empty and removed!
Reimplemented from Probleme_U.
Reimplemented in Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.
Definition at line 189 of file Probleme_base.h.
|
inlineoverridevirtual |
Validates the calculated unknown by moving the present time at the end of the time step.
This method is allowed to free past values of the unknown and given fields.
| WrongContext |
Reimplemented from Probleme_U.
Reimplemented in Probleme_FTD_IJK_base.
Definition at line 170 of file Probleme_base.h.
|
virtual |
Verifies that the object is complete, coherent, .
.. NOT DEVELOPED ALWAYS RETURNS 1
Reimplemented in Pb_Euler, Pb_Hydraulique_Concentration, Pb_Hydraulique_Concentration_Turbulent, Pb_Hydraulique_IBM_Turbulent, Pb_Hydraulique_Melange_Binaire_QC, Pb_Hydraulique_Melange_Binaire_Turbulent_QC, Pb_Hydraulique_Melange_Binaire_WC, Pb_Hydraulique_Turbulent, Pb_Multiphase, Pb_Multiphase_Enthalpie, Pb_Phase_field, Pb_Thermohydraulique, Pb_Thermohydraulique_Concentration, Pb_Thermohydraulique_Concentration_Turbulent, Pb_Thermohydraulique_IBM, Pb_Thermohydraulique_IBM_Turbulent, Pb_Thermohydraulique_QC, Pb_Thermohydraulique_sensibility, Pb_Thermohydraulique_Turbulent, Pb_Thermohydraulique_Turbulent_QC, Pb_Thermohydraulique_WC, TRUSTProblem_Cloned_Concentration_Gen< Pb_Hydraulique >, TRUSTProblem_Cloned_Concentration_Gen< Pb_Thermohydraulique >, TRUSTProblem_List_Concentration_Gen< Pb_Hydraulique >, and TRUSTProblem_List_Concentration_Gen< Pb_Thermohydraulique >.
Definition at line 367 of file Probleme_base.cpp.
Definition at line 79 of file Probleme_base.h.
|
protected |
Definition at line 229 of file Probleme_base.h.
|
protected |
Definition at line 221 of file Probleme_base.h.
|
protected |
Definition at line 223 of file Probleme_base.h.
|
protected |
Definition at line 220 of file Probleme_base.h.