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#

Inherited by#

List of Public Methods#

List of Public Static Methods#

List of Protected Methods#

Complete Member Function Documentation#

abortTimeStep
void Probleme_U::abortTimeStep()

Aborts the resolution of the current time step.

Referenced By
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)
computeTimeStep
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.

Referenced By
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)
findInputField
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)
findOutputField
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)
futureTime
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)
get_info
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)
getInputFieldsNames
void Probleme_U::getInputFieldsNames(Noms &noms) const

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

Referenced By
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)
getInputFieldTemplate
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.

References
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)
getOutputField
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)
getOutputFieldsNames
void Probleme_U::getOutputFieldsNames(Noms &noms) const

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

Referenced By
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)
getOutputIntValue
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)
getOutputStringValue
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)
initialize
void Probleme_U::initialize()

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

Referenced By
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)
initTimeStep
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)
isStationary
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)
iterateTimeStep
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)
le_nom
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)
limpr
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)
lsauv
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)
newCompute
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)
nommer
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)
post_initialize
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)
postraiter
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)
presentTime
double Probleme_U::presentTime() const

Returns the present time.

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

Referenced By
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::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)
resetTime
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)
run
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)
runUntil
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)
sauver
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)
setInputDoubleValue
void Probleme_U::setInputDoubleValue(const Nom &name, const double val)
References
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)
setInputField
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)
setInputIntValue
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)
setInputStringValue
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)
setStationary
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)
solveTimeStep
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)
terminate
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.

Referenced By
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)
updateGivenFields
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)
validateTimeStep
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.

Referenced By
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::~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)
info
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)
self_cast
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)
self_cast
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)
printOn
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)
readOn
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#

info_obj (public)
const Type_info Probleme_U::info_obj
nom_ (protected)
Nom Probleme_U::nom_
reg_ (protected)
ScalarRegister Probleme_U::reg_
str_params_ (protected)
std::map<std::string, std::string> Probleme_U::str_params_