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#
public : Couplage_U
Inherited by#
public : Pb_Couple_Optimisation_IBM
public : Pb_Couple_Rayonnement
public : Pb_Couple_rayo_semi_transp
public : Pbc_MED
List of Public Methods#
List of Public Static Methods#
List of Protected Methods#
Complete Member Function Documentation#
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)
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)
void Probleme_Couple::associer_sch_tps_base(Schema_Temps_base &)
Associe une copie du schema en temps a chaque probleme du Probleme couple.
References
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)
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:
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)
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)
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)
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)
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)
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)
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)
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()
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)
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_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)
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)
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)
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)
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()
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)
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)
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)
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)
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)
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)
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#
const Type_info Probleme_Couple::info_obj
ArrOfInt Probleme_Couple::groupes
TRUST_Vector<TRUST_Deriv<Schema_Temps_base>> Probleme_Couple::sch_clones