TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
Probleme_base Class Referenceabstract

class Probleme_base It is a Probleme_U that is not a coupling. More...

#include <Probleme_base.h>

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

Public Member Functions

 ~Probleme_base ()
virtual void associer ()
 Associates the problem with all its equations.
virtual Entreelire_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_baseequation (int) const =0
virtual Equation_baseequation (int)=0
const Equation_baseequation (const Nom &) const
 Returns the equation whose name is specified (const version).
Equation_baseequation (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 Nomrestart_filename () const
const Nomcheckpoint_filename () const
const Nomcheckpoint_format () const
const Nomyaml_filename () const
virtual const Equation_baseget_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_basegetset_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_basemilieu () const
 Returns the physical medium associated with the problem (const version).
virtual Milieu_basemilieu ()
 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_baseschema_temps () const
 Returns the time scheme associated with the problem.
Schema_Temps_baseschema_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_basedomaine_dis () const
 Returns the discretized domain associated with the problem (const version).
Domaine_dis_basedomaine_dis ()
 Returns the discretized domain associated with the problem.
bool is_dilatable () const
const Discretisation_basediscretisation () const
 Returns the discretization associated with the problem.
Postraitementspostraitements ()
const Postraitementspostraitements () 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_baseget_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_baseget_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_Coupleget_pb_couple () const
Probleme_Coupleget_pb_couple ()
 LIST (OBS_PTR(SFichier)) &get_set_out_files() const
const Correlation_baseget_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 Nomle_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 SortieprintOn (Sortie &) const
 Writes the object to an output stream. Virtual method to override.
virtual EntreereadOn (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_infoget_info () const
 Returns type information for the Objet_U.
const Nomque_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 Interpreteinterprete () const
Interpreteinterprete ()
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)
Entreeread_optional_equations (Entree &is, Motcle &mot)
virtual Entreelire_correlations (Entree &is)
virtual Entreelire_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_Uoperator= (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 Nomnom_du_cas ()
 Returns a constant reference to the case name. This method is static.
static Nomget_set_nom_du_cas ()
 Returns a non-constant reference to the case name (to allow modification). This method is static.
static const Type_infoinfo ()
 Returns type information for the Objet_U (static version).
static const Objet_Uself_cast (const Objet_U &)
 Method added for casting in Python.
static Objet_Uself_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 SortieJournal (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

Detailed Description

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
See also
Probleme, Abstract class from which all problems must derive., Abstract methods:, int nombre_d_equations() const, const Equation_base& equation(int) const, Equation_base& equation(int)

Definition at line 54 of file Probleme_base.h.

Constructor & Destructor Documentation

◆ ~Probleme_base()

Probleme_base::~Probleme_base ( )
inline

Definition at line 58 of file Probleme_base.h.

Member Function Documentation

◆ a_pour_IntVect()

int Probleme_base::a_pour_IntVect ( const Motcle & ,
OBS_PTR(IntVect)&  ) const
virtual

Definition at line 936 of file Probleme_base.cpp.

◆ abortTimeStep()

void Probleme_base::abortTimeStep ( )
inlineoverridevirtual

Aborts the resolution of the current time step.

Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 172 of file Probleme_base.h.

◆ addInputField()

virtual void Probleme_base::addInputField ( Field_base & f)
inlinevirtual

Definition at line 140 of file Probleme_base.h.

◆ allocation()

void Probleme_base::allocation ( ) const
finalvirtual

Verifies that the necessary disk space exists.

Definition at line 1049 of file Probleme_base.cpp.

◆ associer()

void Probleme_base::associer ( )
virtual

Associates the problem with all its equations.

Definition at line 285 of file Probleme_base.cpp.

◆ associer_()

int Probleme_base::associer_ ( Objet_U & ob)
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)
Parameters
(Objet_U&ob) the object to associate
Returns
(int) 1 if association succeeded 0 otherwise 2 if the medium is already associated with another problem
Exceptions
UnknownObjet_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.

◆ associer_domaine()

void Probleme_base::associer_domaine ( const Domaine & un_domaine)
virtual

Associates a domain with the problem.

Takes un_domaine as support. calls Domaine_dis::associer_dom(const Domaine& )

Parameters
(Domaine&un_domaine) the domain

Definition at line 379 of file Probleme_base.cpp.

◆ associer_milieu_base()

void Probleme_base::associer_milieu_base ( const Milieu_base & mil)
virtual

Associates a physical medium with the problem equations.

Choice of the physical medium.

Parameters
(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.

◆ associer_pb_couple()

void Probleme_base::associer_pb_couple ( const Probleme_Couple & pbc)
inline

Definition at line 195 of file Probleme_base.h.

◆ associer_sch_tps_base()

void Probleme_base::associer_sch_tps_base ( const Schema_Temps_base & un_schema_en_temps)
virtual

Associates a time scheme with the problem.

Then associates the time scheme with all the equations of the problem.

Parameters
(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.

◆ calculer_pas_de_temps()

double Probleme_base::calculer_pas_de_temps ( ) const
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.

Returns
(double) the maximum allowed time step for this problem

Reimplemented in Pb_Multiphase, Pb_rayo_semi_transp, and Probleme_FT_Disc_gen.

Definition at line 1019 of file Probleme_base.cpp.

◆ checkpoint_filename()

const Nom & Probleme_base::checkpoint_filename ( ) const
inline

Definition at line 77 of file Probleme_base.h.

◆ checkpoint_format()

const Nom & Probleme_base::checkpoint_format ( ) const
inline

Definition at line 78 of file Probleme_base.h.

◆ completer()

void Probleme_base::completer ( )
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.

◆ comprend_champ_post()

int Probleme_base::comprend_champ_post ( const Motcle & nom) const
virtual

Definition at line 892 of file Probleme_base.cpp.

◆ computeTimeStep()

double Probleme_base::computeTimeStep ( bool & stop) const
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.

Parameters
(stop)Does the Problem want to stop ?
Returns
(double) The desired time step
Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 164 of file Probleme_base.h.

◆ creer_champ()

void Probleme_base::creer_champ ( const Motcle & motlu)
overridevirtual

Implements Champs_compris_interface.

Definition at line 767 of file Probleme_base.cpp.

◆ discretisation()

const Discretisation_base & Probleme_base::discretisation ( ) const
inline

Returns the discretization associated with the problem.

Returns
(Discretisation_base&) discretization associated with the problem
Exceptions
ifthe discretization has not been built

Definition at line 241 of file Probleme_base.h.

◆ discretiser()

void Probleme_base::discretiser ( Discretisation_base & une_discretisation)
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
Parameters
(Discretisation_base&discretisation) a discretization for the problem

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 402 of file Probleme_base.cpp.

◆ discretiser_equations()

void Probleme_base::discretiser_equations ( )
virtual

Definition at line 385 of file Probleme_base.cpp.

◆ domaine() [1/2]

Domaine & Probleme_base::domaine ( )

Returns the domain associated with the problem.

Returns
(Domaine&) a domain

Definition at line 621 of file Probleme_base.cpp.

◆ domaine() [2/2]

const Domaine & Probleme_base::domaine ( ) const

Returns the domain associated with the problem.

(const version)

Returns
(Domaine&) a domain

Definition at line 612 of file Probleme_base.cpp.

◆ domaine_dis() [1/2]

Domaine_dis_base & Probleme_base::domaine_dis ( )

Returns the discretized domain associated with the problem.

Returns
(Domaine_dis_base&) a discretized domain

Definition at line 639 of file Probleme_base.cpp.

◆ domaine_dis() [2/2]

const Domaine_dis_base & Probleme_base::domaine_dis ( ) const

Returns the discretized domain associated with the problem (const version).

Returns
(Domaine_dis_base&) a discretized domain

Definition at line 630 of file Probleme_base.cpp.

◆ equation() [1/4]

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.

Parameters
(Nom&type) the name of the equation to return
Returns
(Equation_base&) an equation
Exceptions
ifno equation with the specified name exists

Definition at line 743 of file Probleme_base.cpp.

◆ equation() [2/4]

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.

Parameters
(Nom&type) the name of the equation to return
Returns
(Equation_base&) an equation
Exceptions
ifno equation with the specified name exists

Definition at line 688 of file Probleme_base.cpp.

◆ equation() [3/4]

virtual const Equation_base & Probleme_base::equation ( int ) const
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 >.

◆ equation() [4/4]

◆ expression_predefini()

int Probleme_base::expression_predefini ( const Motcle & motlu,
Nom & expression )
virtual

◆ finir()

void Probleme_base::finir ( )
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.

◆ futureTime()

double Probleme_base::futureTime ( ) const
inlineoverridevirtual

Returns the future time (end of current computing interval) This value is valid between initTimeStep and either.

validateTimeStep or abortTimeStep. A surcharger

Returns
(double) future time
Exceptions
WrongContext

Reimplemented from Probleme_U.

Definition at line 190 of file Probleme_base.h.

◆ get_champ()

const Champ_base & Probleme_base::get_champ ( const Motcle & nom) const
overridevirtual

Implements Champs_compris_interface.

Definition at line 836 of file Probleme_base.cpp.

◆ get_champ_post()

const Champ_Generique_base & Probleme_base::get_champ_post ( const Motcle & nom) const
virtual

Definition at line 918 of file Probleme_base.cpp.

◆ get_correlation()

const Correlation_base & Probleme_base::get_correlation ( std::string nom_correlation) const
inline

Definition at line 200 of file Probleme_base.h.

◆ get_equation_by_name()

const Equation_base & Probleme_base::get_equation_by_name ( const Nom & un_nom) const
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.

◆ get_noms_champs_postraitables()

void Probleme_base::get_noms_champs_postraitables ( Noms & nom,
Option opt = NONE ) const
overridevirtual

Implements Champs_compris_interface.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 876 of file Probleme_base.cpp.

◆ get_pb_couple() [1/2]

Probleme_Couple & Probleme_base::get_pb_couple ( )
inline

Definition at line 197 of file Probleme_base.h.

◆ get_pb_couple() [2/2]

const Probleme_Couple & Probleme_base::get_pb_couple ( ) const
inline

Definition at line 196 of file Probleme_base.h.

◆ getInputFieldsNames()

void Probleme_base::getInputFieldsNames ( Noms & noms) const
inlineoverridevirtual

This method is used to find the names of input fields understood by the Problem.

Parameters
(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.

◆ getOutputFieldsNames()

void Probleme_base::getOutputFieldsNames ( Noms & noms) const
inlineoverridevirtual

Reimplemented from Probleme_U.

Definition at line 186 of file Probleme_base.h.

◆ getOutputPointValues()

void Probleme_base::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 )
overridevirtual

Reimplemented from Probleme_U.

Definition at line 1252 of file Probleme_base.cpp.

◆ getset_equation_by_name()

Equation_base & Probleme_base::getset_equation_by_name ( const Nom & un_nom)
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.

◆ has_champ() [1/2]

bool Probleme_base::has_champ ( const Motcle & nom) const
overridevirtual

Implements Champs_compris_interface.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 808 of file Probleme_base.cpp.

◆ has_champ() [2/2]

bool Probleme_base::has_champ ( const Motcle & nom,
OBS_PTR(Champ_base) & ref_champ ) const
override

Definition at line 780 of file Probleme_base.cpp.

◆ has_champ_post()

bool Probleme_base::has_champ_post ( const Motcle & nom) const
virtual

Definition at line 905 of file Probleme_base.cpp.

◆ has_correlation()

int Probleme_base::has_correlation ( std::string nom_correlation) const
inline

Definition at line 206 of file Probleme_base.h.

◆ has_domaine_dis()

bool Probleme_base::has_domaine_dis ( ) const
inline

Definition at line 106 of file Probleme_base.h.

◆ has_mod_rayo_transp()

virtual bool Probleme_base::has_mod_rayo_transp ( ) const
inlinevirtual

Reimplemented in Pb_Fluide_base.

Definition at line 143 of file Probleme_base.h.

◆ imprimer()

void Probleme_base::imprimer ( Sortie & os) const
virtual

Prints the equations associated with the problem if the associated time scheme indicates that it is necessary.

Parameters
(Sortie&os) output stream

Definition at line 543 of file Probleme_base.cpp.

◆ init_postraitements()

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.

◆ initialize()

void Probleme_base::initialize ( )
inlineoverridevirtual

This method is called once at the beginning, before any other one of the interface Problem.

Exceptions
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.

◆ initTimeStep()

bool Probleme_base::initTimeStep ( double dt)
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.

Parameters
(doubledt) the time interval to allocate
Returns
(bool) true=OK, false=error, not able to tackle this dt
Exceptions
WrongContext,WrongArgument

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 165 of file Probleme_base.h.

◆ is_coupled()

bool Probleme_base::is_coupled ( ) const
inline

Definition at line 142 of file Probleme_base.h.

◆ is_dilatable()

bool Probleme_base::is_dilatable ( ) const

Definition at line 1041 of file Probleme_base.cpp.

◆ is_probleme_base_initialized()

const bool & Probleme_base::is_probleme_base_initialized ( ) const
inline

Definition at line 159 of file Probleme_base.h.

◆ is_sauvegarde_simple()

int Probleme_base::is_sauvegarde_simple ( ) const
inline

Definition at line 75 of file Probleme_base.h.

◆ isStationary()

bool Probleme_base::isStationary ( ) const
inlineoverridevirtual

Tells if the Problem unknowns have changed during the last time step.

Returns
(bool) true=stationary, false=not stationary
Exceptions
WrongContext

Reimplemented from Probleme_U.

Definition at line 168 of file Probleme_base.h.

◆ iterateTimeStep()

bool Probleme_base::iterateTimeStep ( bool & converged)
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.

Parameters
(bool&converged) It is a return value : true if the process has converged, false otherwise.
Returns
(bool) true=OK, false=unable to converge
Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 182 of file Probleme_base.h.

◆ limpr()

int Probleme_base::limpr ( ) const
overridevirtual

Asks the time scheme if a print is needed.

Returns
(int) 1 a print is needed, 0 it's not.

Reimplemented from Probleme_U.

Definition at line 525 of file Probleme_base.cpp.

◆ lire_correlations()

Entree & Probleme_base::lire_correlations ( Entree & is)
protectedvirtual

Definition at line 1235 of file Probleme_base.cpp.

◆ lire_equations()

◆ lire_postraitement_interfaces()

void Probleme_base::lire_postraitement_interfaces ( Entree & is)
virtual

Definition at line 1028 of file Probleme_base.cpp.

◆ lire_radiation_models()

Entree & Probleme_base::lire_radiation_models ( Entree & is,
Motcle & mot )
protectedvirtual

Reimplemented in Pb_Fluide_base.

Definition at line 274 of file Probleme_base.cpp.

◆ lire_solved_equations()

virtual void Probleme_base::lire_solved_equations ( Entree & is)
inlineprotectedvirtual

Reimplemented in Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.

Definition at line 215 of file Probleme_base.h.

◆ LIST() [1/5]

Probleme_base::LIST ( OBS_PTR(Champ_Parametrique) )
protected

◆ LIST() [2/5]

Probleme_base::LIST ( OBS_PTR(Loi_Fermeture_base) )
protected

◆ LIST() [3/5]

Probleme_base::LIST ( OBS_PTR(SFichier) ) const &
inline

Definition at line 198 of file Probleme_base.h.

◆ LIST() [4/5]

Probleme_base::LIST ( OBS_PTR(SFichier) )
mutableprotected

◆ LIST() [5/5]

Probleme_base::LIST ( OWN_PTR(Equation_base) )
protected

◆ lsauv()

int Probleme_base::lsauv ( ) const
overridevirtual

Asks the time scheme if a backup is needed.

Returns
(int) 1 a backup is needed, 0 it's not.

Reimplemented from Probleme_U.

Definition at line 534 of file Probleme_base.cpp.

◆ mettre_a_jour()

void Probleme_base::mettre_a_jour ( double temps)
virtual

Performs a time update of the problem.

Performs the update on all equations of the problem.

Parameters
(doubletemps) 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.

◆ milieu() [1/2]

Milieu_base & Probleme_base::milieu ( )
virtual

Returns the physical medium associated with the problem.

Returns the medium associated with the first equation.

Returns
(Milieu_base&) a physical medium

Reimplemented in Probleme_Elasticite_Lineaire.

Definition at line 673 of file Probleme_base.cpp.

◆ milieu() [2/2]

const Milieu_base & Probleme_base::milieu ( ) const
virtual

Returns the physical medium associated with the problem (const version).

Returns the medium associated with the first equation.

Returns
(Milieu_base&) a physical medium

Reimplemented in Probleme_Elasticite_Lineaire.

Definition at line 662 of file Probleme_base.cpp.

◆ milieu_vect() [1/2]

std::vector< OWN_PTR(Milieu_base)> & Probleme_base::milieu_vect ( )
inline

Definition at line 99 of file Probleme_base.h.

◆ milieu_vect() [2/2]

const std::vector< OWN_PTR(Milieu_base)> & Probleme_base::milieu_vect ( ) const
inline

Definition at line 100 of file Probleme_base.h.

◆ newCompute()

std::string Probleme_base::newCompute ( )
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.

◆ nombre_d_equations()

virtual int Probleme_base::nombre_d_equations ( ) const
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 >.

◆ OBS_PTR() [1/7]

Probleme_base::OBS_PTR ( Champ_Generique_base ) const &
inlineoverridevirtual

Reimplemented from Probleme_U.

Definition at line 193 of file Probleme_base.h.

◆ OBS_PTR() [2/7]

Probleme_base::OBS_PTR ( Discretisation_base )
protected

◆ OBS_PTR() [3/7]

Probleme_base::OBS_PTR ( Domaine )
protected

◆ OBS_PTR() [4/7]

Probleme_base::OBS_PTR ( Domaine_dis_base )
protected

◆ OBS_PTR() [5/7]

Probleme_base::OBS_PTR ( Field_base ) const &
inlineoverridevirtual

Reimplemented from Probleme_U.

Definition at line 192 of file Probleme_base.h.

◆ OBS_PTR() [6/7]

Probleme_base::OBS_PTR ( Probleme_Couple )
protected

◆ OBS_PTR() [7/7]

Probleme_base::OBS_PTR ( Schema_Temps_base )
protected

◆ postraitements() [1/2]

Postraitements & Probleme_base::postraitements ( )
inline

Definition at line 112 of file Probleme_base.h.

◆ postraitements() [2/2]

const Postraitements & Probleme_base::postraitements ( ) const
inline

Definition at line 113 of file Probleme_base.h.

◆ postraiter()

int Probleme_base::postraiter ( int force = 1)
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.

◆ postraiter_interfaces()

void Probleme_base::postraiter_interfaces ( const Nom & nom_fich,
Sortie & s,
const Nom & format,
double temps )
virtual

Definition at line 1035 of file Probleme_base.cpp.

◆ preparer_calcul()

void Probleme_base::preparer_calcul ( )
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.

◆ presentTime()

double Probleme_base::presentTime ( ) const
inlineoverridevirtual

Returns the present time.

This value may change only at the call of validateTimeStep. A surcharger

Returns
(double) present time
Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 163 of file Probleme_base.h.

◆ read_optional_equations()

Entree & Probleme_base::read_optional_equations ( Entree & is,
Motcle & mot )
protected

Definition at line 1212 of file Probleme_base.cpp.

◆ reprendre()

int Probleme_base::reprendre ( Entree & is)
overridevirtual

Reading of an input stream (file) for restart after a backup with Probleme_base::sauvegarder(Sortie& os).

Parameters
(Entree&is) the input stream from which we read the restart
Returns
(int) always returns 1

Reimplemented from Objet_U.

Definition at line 506 of file Probleme_base.cpp.

◆ reprise_effectuee() [1/2]

bool & Probleme_base::reprise_effectuee ( )
inline

Definition at line 118 of file Probleme_base.h.

◆ reprise_effectuee() [2/2]

bool Probleme_base::reprise_effectuee ( ) const
inline

Definition at line 119 of file Probleme_base.h.

◆ reprise_format_temps()

const char * Probleme_base::reprise_format_temps ( ) const
inline

Definition at line 117 of file Probleme_base.h.

◆ resetTime()

void Probleme_base::resetTime ( double time)
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.

Parameters
[in]timethe new current time.
Exceptions
ICoCo::WrongContextexception if called before initialize() or after terminate().
ICoCo::WrongContextexception 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.

◆ restart_filename()

const Nom & Probleme_base::restart_filename ( ) const
inline

Definition at line 76 of file Probleme_base.h.

◆ sauvegarder()

int Probleme_base::sauvegarder ( Sortie & os) const
overridevirtual

Writing of the problem to file for restart.

Writes the name of the problem and saves the equations.

Parameters
(Sortie&os) output stream for backup
Returns
(int) always returns 1

Reimplemented from Objet_U.

Definition at line 484 of file Probleme_base.cpp.

◆ sauver()

void Probleme_base::sauver ( ) const
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() [1/2]

Schema_Temps_base & Probleme_base::schema_temps ( )

Returns the time scheme associated with the problem.

(if it is not null)

Returns
(Schema_Temps_base&) the time scheme associated with the problem
Exceptions
ifthe time scheme is not associated with the problem, the reference is null

Definition at line 595 of file Probleme_base.cpp.

◆ schema_temps() [2/2]

const Schema_Temps_base & Probleme_base::schema_temps ( ) const

Returns the time scheme associated with the problem.

(if it is not null) (const version)

Returns
(Schema_Temps_base&) the time scheme associated with the problem
Exceptions
thetime scheme is not associated with the problem, the reference is null

Definition at line 577 of file Probleme_base.cpp.

◆ setStationary()

void Probleme_base::setStationary ( bool )
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.

◆ solveTimeStep()

bool Probleme_base::solveTimeStep ( )
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.

◆ solveTimeStep_pbU()

bool Probleme_base::solveTimeStep_pbU ( )
inline

Definition at line 167 of file Probleme_base.h.

◆ terminate()

void Probleme_base::terminate ( )
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.

Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 160 of file Probleme_base.h.

◆ typer_lire_milieu()

◆ updateGivenFields()

bool Probleme_base::updateGivenFields ( )
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!

Returns
(true=OK, false=error)

Reimplemented from Probleme_U.

Reimplemented in Probleme_FT_Disc_gen, and Probleme_FTD_IJK_base.

Definition at line 189 of file Probleme_base.h.

◆ validateTimeStep()

void Probleme_base::validateTimeStep ( )
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.

Exceptions
WrongContext

Reimplemented from Probleme_U.

Reimplemented in Probleme_FTD_IJK_base.

Definition at line 170 of file Probleme_base.h.

◆ verifier()

◆ yaml_filename()

const Nom & Probleme_base::yaml_filename ( ) const
inline

Definition at line 79 of file Probleme_base.h.

Member Data Documentation

◆ correlations_

std::map<std::string, OWN_PTR(Correlation_base)> Probleme_base::correlations_
protected

Definition at line 229 of file Probleme_base.h.

◆ le_milieu_

std::vector<OWN_PTR(Milieu_base)> Probleme_base::le_milieu_
protected

Definition at line 221 of file Probleme_base.h.

◆ les_postraitements_

Postraitements Probleme_base::les_postraitements_
protected

Definition at line 223 of file Probleme_base.h.

◆ save_restart_

Save_Restart Probleme_base::save_restart_
protected

Definition at line 220 of file Probleme_base.h.


The documentation for this class was generated from the following files: