Probleme_Couple#

#include <Probleme_Couple.h>

classe Probleme_Couple C’est la classe historique de couplage de TRUST.

How to cite this class in this doc#

:ref:`Probleme\_Couple <class-probleme-couple>`
[Probleme\_Couple](#class-probleme-couple)

Detailed description#

Il s’agit d’un Couplage_U particulier. Le Probleme_Couple ne couple que des Probleme_base, tous associes au meme schema en temps. Il possede son propre mecanisme d’echange de champs par “raccords”. Les problemes sont groupes. Chaque groupe fait un iteration, puis les nouveaux champs sont disponibles pour les groupes suivants. A l’interieur d’un groupe, ce sont les anciens champs qui sont echanges.

Inherits from#

Inherited by#

List of Public Methods#

List of Public Static Methods#

List of Protected Methods#

Complete Member Function Documentation#

ajouter
void Probleme_Couple::ajouter(Probleme_base &)

Ajoute un probleme a la liste des problemes couples.

Met en place la reference du probleme vers this. Verifie que l’ordre conduction, thHyd est respecte.

References
Referenced By
How to cite in this doc:
:ref:`void Probleme_Couple::ajouter(Probleme_base &) <public-void-probleme-couple-ajouter-probleme-base-ref>`
[void Probleme_Couple::ajouter(Probleme_base &)](#public-void-probleme-couple-ajouter-probleme-base-ref)
associer_
int Probleme_Couple::associer_(Objet_U &) override

Surcharge Objet_U::associer_(Objet_U&) Associe un objet au probleme couple, en verifiant le type.

dynamiquement. L’objet peut - etre:

Reimplements:

References
Referenced By
How to cite in this doc:
:ref:`int Probleme_Couple::associer_(Objet_U &) override <public-int-probleme-couple-associer-underscore-objet-u-ref-override>`
[int Probleme_Couple::associer_(Objet_U &) override](#public-int-probleme-couple-associer-underscore-objet-u-ref-override)
associer_sch_tps_base
void Probleme_Couple::associer_sch_tps_base(Schema_Temps_base &)

Associe une copie du schema en temps a chaque probleme du Probleme couple.

References
Referenced By
How to cite in this doc:
:ref:`void Probleme_Couple::associer_sch_tps_base(Schema_Temps_base &) <public-void-probleme-couple-associer-sch-tps-base-schema-temps-base-ref>`
[void Probleme_Couple::associer_sch_tps_base(Schema_Temps_base &)](#public-void-probleme-couple-associer-sch-tps-base-schema-temps-base-ref)
computeTimeStep
double Probleme_Couple::computeTimeStep(bool &stop) const override

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.

Reimplements:

References
How to cite in this doc:
:ref:`double Probleme_Couple::computeTimeStep(bool &stop) const override <public-double-probleme-couple-computetimestep-bool-ref-stop-const-override>`
[double Probleme_Couple::computeTimeStep(bool &stop) const override](#public-double-probleme-couple-computetimestep-bool-ref-stop-const-override)
discretiser
void Probleme_Couple::discretiser(Discretisation_base &)

Associe une discretisation a tous les problemes du probleme couple.

Appelle Probleme_Base::discretiser(const Discretisation_base&) sur chacun des problemes du probleme couple. voir Probleme_Base::discretiser(const Discretisation_base&)

References
Referenced By
How to cite in this doc:
:ref:`void Probleme_Couple::discretiser(Discretisation_base &) <public-void-probleme-couple-discretiser-discretisation-base-ref>`
[void Probleme_Couple::discretiser(Discretisation_base &)](#public-void-probleme-couple-discretiser-discretisation-base-ref)
duplique
int Probleme_Couple::duplique() const override

Reimplements:

How to cite in this doc:
:ref:`int Probleme_Couple::duplique() const override <public-int-probleme-couple-duplique-const-override>`
[int Probleme_Couple::duplique() const override](#public-int-probleme-couple-duplique-const-override)
get_info
const Type_info * Probleme_Couple::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_Couple::get_info() const override <public-const-type-info-ptr-probleme-couple-get-info-const-override>`
[const Type_info * Probleme_Couple::get_info() const override](#public-const-type-info-ptr-probleme-couple-get-info-const-override)
initialize
void Probleme_Couple::initialize() override

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

Reimplements:

References
Referenced By
How to cite in this doc:
:ref:`void Probleme_Couple::initialize() override <public-void-probleme-couple-initialize-override>`
[void Probleme_Couple::initialize() override](#public-void-probleme-couple-initialize-override)
initTimeStep
bool Probleme_Couple::initTimeStep(double dt) override

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.

Reimplements:

References
How to cite in this doc:
:ref:`bool Probleme_Couple::initTimeStep(double dt) override <public-bool-probleme-couple-inittimestep-double-dt-override>`
[bool Probleme_Couple::initTimeStep(double dt) override](#public-bool-probleme-couple-inittimestep-double-dt-override)
iterateTimeStep
bool Probleme_Couple::iterateTimeStep(bool &converged) override

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.

Reimplements:

References
How to cite in this doc:
:ref:`bool Probleme_Couple::iterateTimeStep(bool &converged) override <public-bool-probleme-couple-iteratetimestep-bool-ref-converged-override>`
[bool Probleme_Couple::iterateTimeStep(bool &converged) override](#public-bool-probleme-couple-iteratetimestep-bool-ref-converged-override)
mettre_a_jour_modele_rayo
void Probleme_Couple::mettre_a_jour_modele_rayo(double temps)
References
How to cite in this doc:
:ref:`void Probleme_Couple::mettre_a_jour_modele_rayo(double temps) <public-void-probleme-couple-mettre-a-jour-modele-rayo-double-temps>`
[void Probleme_Couple::mettre_a_jour_modele_rayo(double temps)](#public-void-probleme-couple-mettre-a-jour-modele-rayo-double-temps)
Probleme_Couple
Probleme_Couple::Probleme_Couple()
How to cite in this doc:
:ref:`Probleme_Couple::Probleme_Couple() <public-probleme-couple-probleme-couple>`
[Probleme_Couple::Probleme_Couple()](#public-probleme-couple-probleme-couple)
sauver
void Probleme_Couple::sauver() const override

Sauvegarder l’etat du probleme sur disque.

Reimplements:

References
Referenced By
How to cite in this doc:
:ref:`void Probleme_Couple::sauver() const override <public-void-probleme-couple-sauver-const-override>`
[void Probleme_Couple::sauver() const override](#public-void-probleme-couple-sauver-const-override)
schema_temps
Schema_Temps_base & Probleme_Couple::schema_temps()

Renvoie le schema en temps associe aux problemes couples.

References
How to cite in this doc:
:ref:`Schema_Temps_base & Probleme_Couple::schema_temps() <public-schema-temps-base-ref-probleme-couple-schema-temps>`
[Schema_Temps_base & Probleme_Couple::schema_temps()](#public-schema-temps-base-ref-probleme-couple-schema-temps)
schema_temps
const Schema_Temps_base & Probleme_Couple::schema_temps() const

Renvoie le schema en temps associe aux problemes couples.

(version const)

References
Referenced By
How to cite in this doc:
:ref:`const Schema_Temps_base & Probleme_Couple::schema_temps() const <public-const-schema-temps-base-ref-probleme-couple-schema-temps-const>`
[const Schema_Temps_base & Probleme_Couple::schema_temps() const](#public-const-schema-temps-base-ref-probleme-couple-schema-temps-const)
solveTimeStep
bool Probleme_Couple::solveTimeStep() override

pour recodage eventuel et appel unifie en python

Reimplements:

References
How to cite in this doc:
:ref:`bool Probleme_Couple::solveTimeStep() override <public-bool-probleme-couple-solvetimestep-override>`
[bool Probleme_Couple::solveTimeStep() override](#public-bool-probleme-couple-solvetimestep-override)
taille_memoire
unsigned Probleme_Couple::taille_memoire() const override

Reimplements:

How to cite in this doc:
:ref:`unsigned Probleme_Couple::taille_memoire() const override <public-unsigned-probleme-couple-taille-memoire-const-override>`
[unsigned Probleme_Couple::taille_memoire() const override](#public-unsigned-probleme-couple-taille-memoire-const-override)
updateGivenFields
bool Probleme_Couple::updateGivenFields() override

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 !

Reimplements:

How to cite in this doc:
:ref:`bool Probleme_Couple::updateGivenFields() override <public-bool-probleme-couple-updategivenfields-override>`
[bool Probleme_Couple::updateGivenFields() override](#public-bool-probleme-couple-updategivenfields-override)
~Probleme_Couple
Probleme_Couple::~Probleme_Couple()
How to cite in this doc:
:ref:`Probleme_Couple::~Probleme_Couple() <public-probleme-couple-dtor-probleme-couple>`
[Probleme_Couple::~Probleme_Couple()](#public-probleme-couple-dtor-probleme-couple)
cree_instance
Objet_U * Probleme_Couple::cree_instance()
How to cite in this doc:
:ref:`Objet_U * Probleme_Couple::cree_instance() <public-static-objet-u-ptr-probleme-couple-cree-instance>`
[Objet_U * Probleme_Couple::cree_instance()](#public-static-objet-u-ptr-probleme-couple-cree-instance)
info
const Type_info * Probleme_Couple::info()
How to cite in this doc:
:ref:`const Type_info * Probleme_Couple::info() <public-static-const-type-info-ptr-probleme-couple-info>`
[const Type_info * Probleme_Couple::info()](#public-static-const-type-info-ptr-probleme-couple-info)
self_cast
const Probleme_Couple & Probleme_Couple::self_cast(const Objet_U &)
How to cite in this doc:
:ref:`const Probleme_Couple & Probleme_Couple::self_cast(const Objet_U &) <public-static-const-probleme-couple-ref-probleme-couple-self-cast-const-objet-u-ref>`
[const Probleme_Couple & Probleme_Couple::self_cast(const Objet_U &)](#public-static-const-probleme-couple-ref-probleme-couple-self-cast-const-objet-u-ref)
self_cast
Probleme_Couple & Probleme_Couple::self_cast(Objet_U &)
How to cite in this doc:
:ref:`Probleme_Couple & Probleme_Couple::self_cast(Objet_U &) <public-static-probleme-couple-ref-probleme-couple-self-cast-objet-u-ref>`
[Probleme_Couple & Probleme_Couple::self_cast(Objet_U &)](#public-static-probleme-couple-ref-probleme-couple-self-cast-objet-u-ref)
printOn
Sortie & Probleme_Couple::printOn(Sortie &x) const override

Surcharge Objet_U::printOn(Sortie&) Imprime les problemes couples sur un flot de sortie.

Reimplements:

References
Referenced By
How to cite in this doc:
:ref:`Sortie & Probleme_Couple::printOn(Sortie &x) const override <protected-sortie-ref-probleme-couple-printon-sortie-ref-x-const-override>`
[Sortie & Probleme_Couple::printOn(Sortie &x) const override](#protected-sortie-ref-probleme-couple-printon-sortie-ref-x-const-override)
readOn
Entree & Probleme_Couple::readOn(Entree &) override

Lecture d’un Objet_U sur un flot d’entree Methode a surcharger.

Reimplements:

References
How to cite in this doc:
:ref:`Entree & Probleme_Couple::readOn(Entree &) override <protected-entree-ref-probleme-couple-readon-entree-ref-override>`
[Entree & Probleme_Couple::readOn(Entree &) override](#protected-entree-ref-probleme-couple-readon-entree-ref-override)

Attributes Documentation#

info_obj (public)
const Type_info Probleme_Couple::info_obj
groupes (protected)
ArrOfInt Probleme_Couple::groupes
sch_clones (protected)
TRUST_Vector<TRUST_Deriv<Schema_Temps_base>> Probleme_Couple::sch_clones