ICoCo::ProblemTrio#
#include <ProblemTrio.h>
class ProblemTrio
How to cite this class in this doc#
:ref:`ICoCo::ProblemTrio <class-icoco-problemtrio>`
[ICoCo::ProblemTrio](#class-icoco-problemtrio)
Detailed description#
This class defines the API a problem has to implement in order to be coupled. For precise specifications and possible use of this API, See NT SSTH/LMDL_2006_001 Implements IterativeUnsteadyProblem and FieldIO
Inherits from#
public :
Problem
List of Public Methods#
Complete Member Function Documentation#
void ProblemTrio::abortTimeStep() override
Aborts the resolution of the current time step.
References
How to cite in this doc:
:ref:`void ProblemTrio::abortTimeStep() override <public-void-problemtrio-aborttimestep-override>`
[void ProblemTrio::abortTimeStep() override](#public-void-problemtrio-aborttimestep-override)
double ProblemTrio::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.
References
How to cite in this doc:
:ref:`double ProblemTrio::computeTimeStep(bool &stop) const override <public-double-problemtrio-computetimestep-bool-ref-stop-const-override>`
[double ProblemTrio::computeTimeStep(bool &stop) const override](#public-double-problemtrio-computetimestep-bool-ref-stop-const-override)
ICoCo::MEDDoubleField ProblemTrio::getDirectAccessToUnknown(const std::string &unk_name, bool isFuture)
References
How to cite in this doc:
:ref:`ICoCo::MEDDoubleField ProblemTrio::getDirectAccessToUnknown(const std::string &unk_name, bool isFuture) <public-icoco-meddoublefield-problemtrio-getdirectaccesstounknown-const-std-string-ref-unk-name-bool-isfuture>`
[ICoCo::MEDDoubleField ProblemTrio::getDirectAccessToUnknown(const std::string &unk_name, bool isFuture)](#public-icoco-meddoublefield-problemtrio-getdirectaccesstounknown-const-std-string-ref-unk-name-bool-isfuture)
ICoCo::ValueType ProblemTrio::getFieldType(const std::string &name) const override
References
How to cite in this doc:
:ref:`ICoCo::ValueType ProblemTrio::getFieldType(const std::string &name) const override <public-icoco-valuetype-problemtrio-getfieldtype-const-std-string-ref-name-const-override>`
[ICoCo::ValueType ProblemTrio::getFieldType(const std::string &name) const override](#public-icoco-valuetype-problemtrio-getfieldtype-const-std-string-ref-name-const-override)
vector<string> ProblemTrio::getInputFieldsNames() const override
This method is used to find the names of input fields understood by the Problem.
References
Referenced By
How to cite in this doc:
:ref:`vector<string> ProblemTrio::getInputFieldsNames() const override <public-vector-string-problemtrio-getinputfieldsnames-const-override>`
[vector<string> ProblemTrio::getInputFieldsNames() const override](#public-vector-string-problemtrio-getinputfieldsnames-const-override)
void ProblemTrio::getInputFieldTemplate(const std::string &name, TrioField &afield) const override
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 ProblemTrio::getInputFieldTemplate(const std::string &name, TrioField &afield) const override <public-void-problemtrio-getinputfieldtemplate-const-std-string-ref-name-triofield-ref-afield-const-override>`
[void ProblemTrio::getInputFieldTemplate(const std::string &name, TrioField &afield) const override](#public-void-problemtrio-getinputfieldtemplate-const-std-string-ref-name-triofield-ref-afield-const-override)
void ProblemTrio::getInputMEDDoubleFieldTemplate(const std::string &name, MEDDoubleField &afield) const override
References
How to cite in this doc:
:ref:`void ProblemTrio::getInputMEDDoubleFieldTemplate(const std::string &name, MEDDoubleField &afield) const override <public-void-problemtrio-getinputmeddoublefieldtemplate-const-std-string-ref-name-meddoublefield-ref-afield-const-override>`
[void ProblemTrio::getInputMEDDoubleFieldTemplate(const std::string &name, MEDDoubleField &afield) const override](#public-void-problemtrio-getinputmeddoublefieldtemplate-const-std-string-ref-name-meddoublefield-ref-afield-const-override)
int ProblemTrio::getMEDCouplingMajorVersion() const override
How to cite in this doc:
:ref:`int ProblemTrio::getMEDCouplingMajorVersion() const override <public-int-problemtrio-getmedcouplingmajorversion-const-override>`
[int ProblemTrio::getMEDCouplingMajorVersion() const override](#public-int-problemtrio-getmedcouplingmajorversion-const-override)
double ProblemTrio::getOutputDoubleValue(const std::string &name) const override
References
How to cite in this doc:
:ref:`double ProblemTrio::getOutputDoubleValue(const std::string &name) const override <public-double-problemtrio-getoutputdoublevalue-const-std-string-ref-name-const-override>`
[double ProblemTrio::getOutputDoubleValue(const std::string &name) const override](#public-double-problemtrio-getoutputdoublevalue-const-std-string-ref-name-const-override)
void ProblemTrio::getOutputField(const std::string &name, TrioField &afield) const override
References
Referenced By
How to cite in this doc:
:ref:`void ProblemTrio::getOutputField(const std::string &name, TrioField &afield) const override <public-void-problemtrio-getoutputfield-const-std-string-ref-name-triofield-ref-afield-const-override>`
[void ProblemTrio::getOutputField(const std::string &name, TrioField &afield) const override](#public-void-problemtrio-getoutputfield-const-std-string-ref-name-triofield-ref-afield-const-override)
vector<string> ProblemTrio::getOutputFieldsNames() const override
References
Referenced By
How to cite in this doc:
:ref:`vector<string> ProblemTrio::getOutputFieldsNames() const override <public-vector-string-problemtrio-getoutputfieldsnames-const-override>`
[vector<string> ProblemTrio::getOutputFieldsNames() const override](#public-vector-string-problemtrio-getoutputfieldsnames-const-override)
int ProblemTrio::getOutputIntValue(const std::string &name) const override
References
How to cite in this doc:
:ref:`int ProblemTrio::getOutputIntValue(const std::string &name) const override <public-int-problemtrio-getoutputintvalue-const-std-string-ref-name-const-override>`
[int ProblemTrio::getOutputIntValue(const std::string &name) const override](#public-int-problemtrio-getoutputintvalue-const-std-string-ref-name-const-override)
void ProblemTrio::getOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override
References
How to cite in this doc:
:ref:`void ProblemTrio::getOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override <public-void-problemtrio-getoutputmeddoublefield-const-std-string-ref-name-meddoublefield-ref-afield-const-override>`
[void ProblemTrio::getOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override](#public-void-problemtrio-getoutputmeddoublefield-const-std-string-ref-name-meddoublefield-ref-afield-const-override)
std::string ProblemTrio::getOutputStringValue(const std::string &name) const override
References
How to cite in this doc:
:ref:`std::string ProblemTrio::getOutputStringValue(const std::string &name) const override <public-std-string-problemtrio-getoutputstringvalue-const-std-string-ref-name-const-override>`
[std::string ProblemTrio::getOutputStringValue(const std::string &name) const override](#public-std-string-problemtrio-getoutputstringvalue-const-std-string-ref-name-const-override)
bool ProblemTrio::getStationaryMode() const override
References
How to cite in this doc:
:ref:`bool ProblemTrio::getStationaryMode() const override <public-bool-problemtrio-getstationarymode-const-override>`
[bool ProblemTrio::getStationaryMode() const override](#public-bool-problemtrio-getstationarymode-const-override)
bool ProblemTrio::initialize() override
This method is called once at the beginning, before any other one of the interface Problem.
References
How to cite in this doc:
:ref:`bool ProblemTrio::initialize() override <public-bool-problemtrio-initialize-override>`
[bool ProblemTrio::initialize() override](#public-bool-problemtrio-initialize-override)
bool ProblemTrio::initialize_pb(Probleme_U &pb)
References
Referenced By
How to cite in this doc:
:ref:`bool ProblemTrio::initialize_pb(Probleme_U &pb) <public-bool-problemtrio-initialize-pb-probleme-u-ref-pb>`
[bool ProblemTrio::initialize_pb(Probleme_U &pb)](#public-bool-problemtrio-initialize-pb-probleme-u-ref-pb)
bool ProblemTrio::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.
References
How to cite in this doc:
:ref:`bool ProblemTrio::initTimeStep(double dt) override <public-bool-problemtrio-inittimestep-double-dt-override>`
[bool ProblemTrio::initTimeStep(double dt) override](#public-bool-problemtrio-inittimestep-double-dt-override)
bool ProblemTrio::isMEDCoupling64Bits() const override
How to cite in this doc:
:ref:`bool ProblemTrio::isMEDCoupling64Bits() const override <public-bool-problemtrio-ismedcoupling64bits-const-override>`
[bool ProblemTrio::isMEDCoupling64Bits() const override](#public-bool-problemtrio-ismedcoupling64bits-const-override)
bool ProblemTrio::isStationary() const override
Tells if the Problem unknowns have changed during the last time step.
References
How to cite in this doc:
:ref:`bool ProblemTrio::isStationary() const override <public-bool-problemtrio-isstationary-const-override>`
[bool ProblemTrio::isStationary() const override](#public-bool-problemtrio-isstationary-const-override)
bool ProblemTrio::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 ProblemTrio wishes to abort the time step resolution.
References
How to cite in this doc:
:ref:`bool ProblemTrio::iterateTimeStep(bool &converged) override <public-bool-problemtrio-iteratetimestep-bool-ref-converged-override>`
[bool ProblemTrio::iterateTimeStep(bool &converged) override](#public-bool-problemtrio-iteratetimestep-bool-ref-converged-override)
double ProblemTrio::presentTime() const override
Returns the present time.
This value may change only at the call of validateTimeStep. A surcharger
References
How to cite in this doc:
:ref:`double ProblemTrio::presentTime() const override <public-double-problemtrio-presenttime-const-override>`
[double ProblemTrio::presentTime() const override](#public-double-problemtrio-presenttime-const-override)
ProblemTrio::ProblemTrio()
As initialize doesn’t have any arguments, they can be passed to the Problem at the time of instantiation.
They can include data file name, MPI communicator,.. In this implementation (for use outside TRUST), only the name of an underlying Probleme_U needs to be provided.
References
How to cite in this doc:
:ref:`ProblemTrio::ProblemTrio() <public-problemtrio-problemtrio>`
[ProblemTrio::ProblemTrio()](#public-problemtrio-problemtrio)
void ProblemTrio::resetTime(double time) override
Reset the current time of the Problem to a given value.
New in version 2 of ICoCo . 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. Can be called outside the TIME_STEP_DEFINED context (see Problem documentation).
References
How to cite in this doc:
:ref:`void ProblemTrio::resetTime(double time) override <public-void-problemtrio-resettime-double-time-override>`
[void ProblemTrio::resetTime(double time) override](#public-void-problemtrio-resettime-double-time-override)
void ProblemTrio::setDataFile(const std::string &datafile) override
How to cite in this doc:
:ref:`void ProblemTrio::setDataFile(const std::string &datafile) override <public-void-problemtrio-setdatafile-const-std-string-ref-datafile-override>`
[void ProblemTrio::setDataFile(const std::string &datafile) override](#public-void-problemtrio-setdatafile-const-std-string-ref-datafile-override)
void ProblemTrio::setInputDoubleValue(const std::string &name, const double &val) override
References
How to cite in this doc:
:ref:`void ProblemTrio::setInputDoubleValue(const std::string &name, const double &val) override <public-void-problemtrio-setinputdoublevalue-const-std-string-ref-name-const-double-ref-val-override>`
[void ProblemTrio::setInputDoubleValue(const std::string &name, const double &val) override](#public-void-problemtrio-setinputdoublevalue-const-std-string-ref-name-const-double-ref-val-override)
void ProblemTrio::setInputField(const std::string &name, const TrioField &afield) override
This method is used to provide the Problem with an input field.
References
Referenced By
How to cite in this doc:
:ref:`void ProblemTrio::setInputField(const std::string &name, const TrioField &afield) override <public-void-problemtrio-setinputfield-const-std-string-ref-name-const-triofield-ref-afield-override>`
[void ProblemTrio::setInputField(const std::string &name, const TrioField &afield) override](#public-void-problemtrio-setinputfield-const-std-string-ref-name-const-triofield-ref-afield-override)
void ProblemTrio::setInputIntValue(const std::string &name, const int &val) override
References
How to cite in this doc:
:ref:`void ProblemTrio::setInputIntValue(const std::string &name, const int &val) override <public-void-problemtrio-setinputintvalue-const-std-string-ref-name-const-int-ref-val-override>`
[void ProblemTrio::setInputIntValue(const std::string &name, const int &val) override](#public-void-problemtrio-setinputintvalue-const-std-string-ref-name-const-int-ref-val-override)
void ProblemTrio::setInputMEDDoubleField(const std::string &name, const MEDDoubleField &afield) override
How to cite in this doc:
:ref:`void ProblemTrio::setInputMEDDoubleField(const std::string &name, const MEDDoubleField &afield) override <public-void-problemtrio-setinputmeddoublefield-const-std-string-ref-name-const-meddoublefield-ref-afield-override>`
[void ProblemTrio::setInputMEDDoubleField(const std::string &name, const MEDDoubleField &afield) override](#public-void-problemtrio-setinputmeddoublefield-const-std-string-ref-name-const-meddoublefield-ref-afield-override)
void ProblemTrio::setInputStringValue(const std::string &name, const std::string &val) override
References
How to cite in this doc:
:ref:`void ProblemTrio::setInputStringValue(const std::string &name, const std::string &val) override <public-void-problemtrio-setinputstringvalue-const-std-string-ref-name-const-std-string-ref-val-override>`
[void ProblemTrio::setInputStringValue(const std::string &name, const std::string &val) override](#public-void-problemtrio-setinputstringvalue-const-std-string-ref-name-const-std-string-ref-val-override)
void ProblemTrio::setMPIComm(void *) override
How to cite in this doc:
:ref:`void ProblemTrio::setMPIComm(void *) override <public-void-problemtrio-setmpicomm-void-ptr-override>`
[void ProblemTrio::setMPIComm(void *) override](#public-void-problemtrio-setmpicomm-void-ptr-override)
void ProblemTrio::setStationaryMode(bool stationary) override
References
How to cite in this doc:
:ref:`void ProblemTrio::setStationaryMode(bool stationary) override <public-void-problemtrio-setstationarymode-bool-stationary-override>`
[void ProblemTrio::setStationaryMode(bool stationary) override](#public-void-problemtrio-setstationarymode-bool-stationary-override)
bool ProblemTrio::solveTimeStep() override
Calculates the unknown fields for the next time step.
The default implementation uses iterations.
References
How to cite in this doc:
:ref:`bool ProblemTrio::solveTimeStep() override <public-bool-problemtrio-solvetimestep-override>`
[bool ProblemTrio::solveTimeStep() override](#public-bool-problemtrio-solvetimestep-override)
void ProblemTrio::terminate() override
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 ProblemTrio::terminate() override <public-void-problemtrio-terminate-override>`
[void ProblemTrio::terminate() override](#public-void-problemtrio-terminate-override)
void ProblemTrio::updateOutputField(const std::string &name, TrioField &afield) const override
References
How to cite in this doc:
:ref:`void ProblemTrio::updateOutputField(const std::string &name, TrioField &afield) const override <public-void-problemtrio-updateoutputfield-const-std-string-ref-name-triofield-ref-afield-const-override>`
[void ProblemTrio::updateOutputField(const std::string &name, TrioField &afield) const override](#public-void-problemtrio-updateoutputfield-const-std-string-ref-name-triofield-ref-afield-const-override)
void ProblemTrio::updateOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override
References
How to cite in this doc:
:ref:`void ProblemTrio::updateOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override <public-void-problemtrio-updateoutputmeddoublefield-const-std-string-ref-name-meddoublefield-ref-afield-const-override>`
[void ProblemTrio::updateOutputMEDDoubleField(const std::string &name, MEDDoubleField &afield) const override](#public-void-problemtrio-updateoutputmeddoublefield-const-std-string-ref-name-meddoublefield-ref-afield-const-override)
void ProblemTrio::validateTimeStep() override
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.
References
How to cite in this doc:
:ref:`void ProblemTrio::validateTimeStep() override <public-void-problemtrio-validatetimestep-override>`
[void ProblemTrio::validateTimeStep() override](#public-void-problemtrio-validatetimestep-override)
Attributes Documentation#
Init_Params* ICoCo::ProblemTrio::my_params
mon_main* ICoCo::ProblemTrio::p
Probleme_U* ICoCo::ProblemTrio::pb