Probleme_U#
#include <Probleme_U.h>
classe Probleme_U
How to cite this class in this doc#
:ref:`Probleme\_U <class-probleme-u>`
[Probleme\_U](#class-probleme-u)
Detailed description#
Cette classe ajoute des specificites TRUST a l’interface generale definie dans la classe Problem. De Probleme_U derivent : * Probleme_base pour tous les problemes individuels * Couplage_U pour les couplages de plusieurs Probleme_U Toutes ces classes doivent satisfaire l’API de Problem completee par celle de Probleme_U.
Inherits from#
public : Objet_U
Inherited by#
public : Couplage_U
public : Probleme_base
List of Public Methods#
List of Public Static Methods#
List of Protected Methods#
Complete Member Function Documentation#
void Probleme_U::abortTimeStep()
Aborts the resolution of the current time step.
How to cite in this doc:
:ref:`void Probleme_U::abortTimeStep() <public-void-probleme-u-aborttimestep>`
[void Probleme_U::abortTimeStep()](#public-void-probleme-u-aborttimestep)
double Probleme_U::computeTimeStep(bool &stop) const
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.
How to cite in this doc:
:ref:`double Probleme_U::computeTimeStep(bool &stop) const <public-double-probleme-u-computetimestep-bool-ref-stop-const>`
[double Probleme_U::computeTimeStep(bool &stop) const](#public-double-probleme-u-computetimestep-bool-ref-stop-const)
TRUST_Ref<Field_base *> Probleme_U::findInputField(const Nom &name) const
This method is used to find in a hierarchy of problems the Champ_Input_Proto of a given name.
Implementation is not optimal in 2 ways :
Referenced By
How to cite in this doc:
:ref:`TRUST_Ref<Field_base *> Probleme_U::findInputField(const Nom &name) const <public-trust-ref-field-base-ptr-probleme-u-findinputfield-const-nom-ref-name-const>`
[TRUST_Ref<Field_base *> Probleme_U::findInputField(const Nom &name) const](#public-trust-ref-field-base-ptr-probleme-u-findinputfield-const-nom-ref-name-const)
TRUST_Ref<Champ_Generique_base *> Probleme_U::findOutputField(const Nom &name) const
Referenced By
How to cite in this doc:
:ref:`TRUST_Ref<Champ_Generique_base *> Probleme_U::findOutputField(const Nom &name) const <public-trust-ref-champ-generique-base-ptr-probleme-u-findoutputfield-const-nom-ref-name-const>`
[TRUST_Ref<Champ_Generique_base *> Probleme_U::findOutputField(const Nom &name) const](#public-trust-ref-champ-generique-base-ptr-probleme-u-findoutputfield-const-nom-ref-name-const)
double Probleme_U::futureTime() const
Returns the future time (end of current computing interval) This value is valid between initTimeStep and either.
validateTimeStep or abortTimeStep. A surcharger
Referenced By
How to cite in this doc:
:ref:`double Probleme_U::futureTime() const <public-double-probleme-u-futuretime-const>`
[double Probleme_U::futureTime() const](#public-double-probleme-u-futuretime-const)
const Type_info * Probleme_U::get_info() const override
Donne des informations sur le type de l’ Objet_U .
Reimplements:
How to cite in this doc:
:ref:`const Type_info * Probleme_U::get_info() const override <public-const-type-info-ptr-probleme-u-get-info-const-override>`
[const Type_info * Probleme_U::get_info() const override](#public-const-type-info-ptr-probleme-u-get-info-const-override)
void Probleme_U::getInputFieldsNames(Noms &noms) const
This method is used to find the names of input fields understood by the Problem.
How to cite in this doc:
:ref:`void Probleme_U::getInputFieldsNames(Noms &noms) const <public-void-probleme-u-getinputfieldsnames-noms-ref-noms-const>`
[void Probleme_U::getInputFieldsNames(Noms &noms) const](#public-void-probleme-u-getinputfieldsnames-noms-ref-noms-const)
void Probleme_U::getInputFieldTemplate(const Nom &name, ICoCo::TrioField &afield) const
This method is used to get a template of a field expected for the given name.
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::getInputFieldTemplate(const Nom &name, ICoCo::TrioField &afield) const <public-void-probleme-u-getinputfieldtemplate-const-nom-ref-name-icoco-triofield-ref-afield-const>`
[void Probleme_U::getInputFieldTemplate(const Nom &name, ICoCo::TrioField &afield) const](#public-void-probleme-u-getinputfieldtemplate-const-nom-ref-name-icoco-triofield-ref-afield-const)
void Probleme_U::getOutputField(const Nom &nameField, ICoCo::TrioField &afield) const
References
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::getOutputField(const Nom &nameField, ICoCo::TrioField &afield) const <public-void-probleme-u-getoutputfield-const-nom-ref-namefield-icoco-triofield-ref-afield-const>`
[void Probleme_U::getOutputField(const Nom &nameField, ICoCo::TrioField &afield) const](#public-void-probleme-u-getoutputfield-const-nom-ref-namefield-icoco-triofield-ref-afield-const)
void Probleme_U::getOutputFieldsNames(Noms &noms) const
This method is used to find the names of output fields understood by the Problem.
How to cite in this doc:
:ref:`void Probleme_U::getOutputFieldsNames(Noms &noms) const <public-void-probleme-u-getoutputfieldsnames-noms-ref-noms-const>`
[void Probleme_U::getOutputFieldsNames(Noms &noms) const](#public-void-probleme-u-getoutputfieldsnames-noms-ref-noms-const)
int Probleme_U::getOutputIntValue(const Nom &name) const
References
Referenced By
How to cite in this doc:
:ref:`int Probleme_U::getOutputIntValue(const Nom &name) const <public-int-probleme-u-getoutputintvalue-const-nom-ref-name-const>`
[int Probleme_U::getOutputIntValue(const Nom &name) const](#public-int-probleme-u-getoutputintvalue-const-nom-ref-name-const)
std::string Probleme_U::getOutputStringValue(const std::string &name)
References
Referenced By
How to cite in this doc:
:ref:`std::string Probleme_U::getOutputStringValue(const std::string &name) <public-std-string-probleme-u-getoutputstringvalue-const-std-string-ref-name>`
[std::string Probleme_U::getOutputStringValue(const std::string &name)](#public-std-string-probleme-u-getoutputstringvalue-const-std-string-ref-name)
void Probleme_U::initialize()
This method is called once at the beginning, before any other one of the interface Problem.
How to cite in this doc:
:ref:`void Probleme_U::initialize() <public-void-probleme-u-initialize>`
[void Probleme_U::initialize()](#public-void-probleme-u-initialize)
bool Probleme_U::initTimeStep(double dt)
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.
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::initTimeStep(double dt) <public-bool-probleme-u-inittimestep-double-dt>`
[bool Probleme_U::initTimeStep(double dt)](#public-bool-probleme-u-inittimestep-double-dt)
bool Probleme_U::isStationary() const
Tells if the Problem unknowns have changed during the last time step.
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::isStationary() const <public-bool-probleme-u-isstationary-const>`
[bool Probleme_U::isStationary() const](#public-bool-probleme-u-isstationary-const)
bool Probleme_U::iterateTimeStep(bool &converged)
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.
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::iterateTimeStep(bool &converged) <public-bool-probleme-u-iteratetimestep-bool-ref-converged>`
[bool Probleme_U::iterateTimeStep(bool &converged)](#public-bool-probleme-u-iteratetimestep-bool-ref-converged)
const Nom & Probleme_U::le_nom() const override
Donne le nom de l’ Objet_U Methode a surcharger : renvoie “neant” dans cette implementation.
Reimplements:
References
Referenced By
How to cite in this doc:
:ref:`const Nom & Probleme_U::le_nom() const override <public-const-nom-ref-probleme-u-le-nom-const-override>`
[const Nom & Probleme_U::le_nom() const override](#public-const-nom-ref-probleme-u-le-nom-const-override)
int Probleme_U::limpr() const
Doit - on imprimer les statistiques d’execution maintenant ?
Referenced By
How to cite in this doc:
:ref:`int Probleme_U::limpr() const <public-int-probleme-u-limpr-const>`
[int Probleme_U::limpr() const](#public-int-probleme-u-limpr-const)
int Probleme_U::lsauv() const
Doit - on sauvegarder l’etat du probleme sur disque maintenant ?
Referenced By
How to cite in this doc:
:ref:`int Probleme_U::lsauv() const <public-int-probleme-u-lsauv-const>`
[int Probleme_U::lsauv() const](#public-int-probleme-u-lsauv-const)
virtual std::string Probleme_U::newCompute()
Referenced By
How to cite in this doc:
:ref:`virtual std::string Probleme_U::newCompute() <public-virtual-std-string-probleme-u-newcompute>`
[virtual std::string Probleme_U::newCompute()](#public-virtual-std-string-probleme-u-newcompute)
void Probleme_U::nommer(const Nom &name) override
Donne un nom a l’ Objet_U Methode virtuelle a surcharger.
Reimplements:
References
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::nommer(const Nom &name) override <public-void-probleme-u-nommer-const-nom-ref-name-override>`
[void Probleme_U::nommer(const Nom &name) override](#public-void-probleme-u-nommer-const-nom-ref-name-override)
virtual void Probleme_U::post_initialize()
Referenced By
How to cite in this doc:
:ref:`virtual void Probleme_U::post_initialize() <public-virtual-void-probleme-u-post-initialize>`
[virtual void Probleme_U::post_initialize()](#public-virtual-void-probleme-u-post-initialize)
int Probleme_U::postraiter(int force=1)
Demande au probleme de postraiter ses champs, sondes,.
Referenced By
How to cite in this doc:
:ref:`int Probleme_U::postraiter(int force=1) <public-int-probleme-u-postraiter-int-force-equal-1>`
[int Probleme_U::postraiter(int force=1)](#public-int-probleme-u-postraiter-int-force-equal-1)
double Probleme_U::presentTime() const
Returns the present time.
This value may change only at the call of validateTimeStep. A surcharger
How to cite in this doc:
:ref:`double Probleme_U::presentTime() const <public-double-probleme-u-presenttime-const>`
[double Probleme_U::presentTime() const](#public-double-probleme-u-presenttime-const)
Probleme_U::Probleme_U()
How to cite in this doc:
:ref:`Probleme_U::Probleme_U() <public-probleme-u-probleme-u>`
[Probleme_U::Probleme_U()](#public-probleme-u-probleme-u)
void Probleme_U::resetTime(double time)
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.
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::resetTime(double time) <public-void-probleme-u-resettime-double-time>`
[void Probleme_U::resetTime(double time)](#public-void-probleme-u-resettime-double-time)
bool Probleme_U::run()
Cette methode est une sorte de main() du Problem Elle peut etre utilisee si le probleme n’est couple a aucun autre.
(s’il n’a besoin d’aucun champ d’entree).
References
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::run() <public-bool-probleme-u-run>`
[bool Probleme_U::run()](#public-bool-probleme-u-run)
bool Probleme_U::runUntil(double time)
This method has the same role as the method run, but it stops when reaching the time given in parameter.
If this time cannot be reached, the method returns false.
References
How to cite in this doc:
:ref:`bool Probleme_U::runUntil(double time) <public-bool-probleme-u-rununtil-double-time>`
[bool Probleme_U::runUntil(double time)](#public-bool-probleme-u-rununtil-double-time)
void Probleme_U::sauver() const
Sauvegarder l’etat du probleme sur disque.
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::sauver() const <public-void-probleme-u-sauver-const>`
[void Probleme_U::sauver() const](#public-void-probleme-u-sauver-const)
void Probleme_U::setInputDoubleValue(const Nom &name, const double val)
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::setInputDoubleValue(const Nom &name, const double val) <public-void-probleme-u-setinputdoublevalue-const-nom-ref-name-const-double-val>`
[void Probleme_U::setInputDoubleValue(const Nom &name, const double val)](#public-void-probleme-u-setinputdoublevalue-const-nom-ref-name-const-double-val)
void Probleme_U::setInputField(const Nom &name, const ICoCo::TrioField &afield)
This method is used to provide the Problem with an input field.
References
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::setInputField(const Nom &name, const ICoCo::TrioField &afield) <public-void-probleme-u-setinputfield-const-nom-ref-name-const-icoco-triofield-ref-afield>`
[void Probleme_U::setInputField(const Nom &name, const ICoCo::TrioField &afield)](#public-void-probleme-u-setinputfield-const-nom-ref-name-const-icoco-triofield-ref-afield)
void Probleme_U::setInputIntValue(const Nom &name, const int &val)
References
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::setInputIntValue(const Nom &name, const int &val) <public-void-probleme-u-setinputintvalue-const-nom-ref-name-const-int-ref-val>`
[void Probleme_U::setInputIntValue(const Nom &name, const int &val)](#public-void-probleme-u-setinputintvalue-const-nom-ref-name-const-int-ref-val)
virtual void Probleme_U::setInputStringValue(const std::string &name, const std::string &val)
References
Referenced By
How to cite in this doc:
:ref:`virtual void Probleme_U::setInputStringValue(const std::string &name, const std::string &val) <public-virtual-void-probleme-u-setinputstringvalue-const-std-string-ref-name-const-std-string-ref-val>`
[virtual void Probleme_U::setInputStringValue(const std::string &name, const std::string &val)](#public-virtual-void-probleme-u-setinputstringvalue-const-std-string-ref-name-const-std-string-ref-val)
void Probleme_U::setStationary(bool)
Tells to the Problem that stationary is reached or not.
Referenced By
How to cite in this doc:
:ref:`void Probleme_U::setStationary(bool) <public-void-probleme-u-setstationary-bool>`
[void Probleme_U::setStationary(bool)](#public-void-probleme-u-setstationary-bool)
bool Probleme_U::solveTimeStep()
pour recodage eventuel et appel unifie en python
References
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::solveTimeStep() <public-bool-probleme-u-solvetimestep>`
[bool Probleme_U::solveTimeStep()](#public-bool-probleme-u-solvetimestep)
void Probleme_U::terminate()
This method is called once at the end, after any other one.
It frees the memory and saves anything that needs to be saved.
How to cite in this doc:
:ref:`void Probleme_U::terminate() <public-void-probleme-u-terminate>`
[void Probleme_U::terminate()](#public-void-probleme-u-terminate)
bool Probleme_U::updateGivenFields()
ATTENTION :
Rentre ici tout ce qui ne correspond pas a l’API normale de Problem. Actuellement on y met a jour les CLs et les termes sources, sachant que certains vont chercher eux - memes des informations dans les problemes voisins… Programme de travail : tout ce qui est dans cette methode doit etre rendu independant de l’exterieur, et peut du coup rejoindre initTimeStep. Le reste passe dans l’interface d’echange de champs. Ce travail sera fini quand updateGivenFields sera vide et supprime !
Referenced By
How to cite in this doc:
:ref:`bool Probleme_U::updateGivenFields() <public-bool-probleme-u-updategivenfields>`
[bool Probleme_U::updateGivenFields()](#public-bool-probleme-u-updategivenfields)
void Probleme_U::validateTimeStep()
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.
How to cite in this doc:
:ref:`void Probleme_U::validateTimeStep() <public-void-probleme-u-validatetimestep>`
[void Probleme_U::validateTimeStep()](#public-void-probleme-u-validatetimestep)
Probleme_U::~Probleme_U() override
How to cite in this doc:
:ref:`Probleme_U::~Probleme_U() override <public-probleme-u-dtor-probleme-u-override>`
[Probleme_U::~Probleme_U() override](#public-probleme-u-dtor-probleme-u-override)
const Type_info * Probleme_U::info()
How to cite in this doc:
:ref:`const Type_info * Probleme_U::info() <public-static-const-type-info-ptr-probleme-u-info>`
[const Type_info * Probleme_U::info()](#public-static-const-type-info-ptr-probleme-u-info)
const Probleme_U & Probleme_U::self_cast(const Objet_U &)
How to cite in this doc:
:ref:`const Probleme_U & Probleme_U::self_cast(const Objet_U &) <public-static-const-probleme-u-ref-probleme-u-self-cast-const-objet-u-ref>`
[const Probleme_U & Probleme_U::self_cast(const Objet_U &)](#public-static-const-probleme-u-ref-probleme-u-self-cast-const-objet-u-ref)
Probleme_U & Probleme_U::self_cast(Objet_U &)
How to cite in this doc:
:ref:`Probleme_U & Probleme_U::self_cast(Objet_U &) <public-static-probleme-u-ref-probleme-u-self-cast-objet-u-ref>`
[Probleme_U & Probleme_U::self_cast(Objet_U &)](#public-static-probleme-u-ref-probleme-u-self-cast-objet-u-ref)
Sortie & Probleme_U::printOn(Sortie &x) const override
Ecriture de l’objet sur un flot de sortie Methode a surcharger.
Reimplements:
How to cite in this doc:
:ref:`Sortie & Probleme_U::printOn(Sortie &x) const override <protected-sortie-ref-probleme-u-printon-sortie-ref-x-const-override>`
[Sortie & Probleme_U::printOn(Sortie &x) const override](#protected-sortie-ref-probleme-u-printon-sortie-ref-x-const-override)
Entree & Probleme_U::readOn(Entree &) override
Lecture d’un Objet_U sur un flot d’entree Methode a surcharger.
Reimplements:
How to cite in this doc:
:ref:`Entree & Probleme_U::readOn(Entree &) override <protected-entree-ref-probleme-u-readon-entree-ref-override>`
[Entree & Probleme_U::readOn(Entree &) override](#protected-entree-ref-probleme-u-readon-entree-ref-override)
Attributes Documentation#
const Type_info Probleme_U::info_obj
Nom Probleme_U::nom_
ScalarRegister Probleme_U::reg_
std::map<std::string, std::string> Probleme_U::str_params_