16#include <Discretisation_base.h>
17#include <Schema_Temps_base.h>
18#include <Champ_Uniforme.h>
19#include <Champ_Fonc_MED.h>
20#include <Probleme_base.h>
21#include <Equation_base.h>
37 if (mon_champ_) champs_don_.add(mon_champ_.valeur());
44 param.
ajouter_condition(
"is_read_rho",
"Density (rho) has not been read for a Solide type medium.");
45 param.
ajouter_condition(
"is_read_Cp",
"Heat capacity (Cp) has not been read for a Solide type medium.");
46 param.
ajouter_condition(
"is_read_lambda",
"Conductivity (lambda) has not been read for a Solide type medium.");
64 msg +=
"The conductivity lambda is not striclty positive. \n";
74 if (mot ==
"user_field")
87 Cerr <<
"WHAT ?? It makes no sense to define diametre_hyd_champ in a Solid medium !!!" << finl;
94 is_user_defined_ =
true;
99 Cerr<<
"Convert Champ_fonc_MED " << nom_champ_ <<
" to a OWN_PTR(Champ_Don_base) ..."<<finl;
102 tmp_fld->affecter(mon_champ_.valeur());
104 dis.
discretiser_champ(
"champ_elem",domaine_dis,nom_champ_,
"neant",1,temps,mon_champ_);
105 mon_champ_->valeurs() = tmp_fld->valeurs();
109 const double val = mon_champ_->valeurs()(0,0);
111 dis.
discretiser_champ(
"champ_elem",domaine_dis,nom_champ_,
"neant",1,temps,mon_champ_);
112 mon_champ_->valeurs() = val;
classe Champ_Don_base classe de base des Champs donnes (non calcules)
classe Champ_Fonc_MED Load a field from a MED file for a given time.
classe Discretisation_base Cette classe represente un schema de discretisation en espace,...
void nommer_completer_champ_physique(const Domaine_dis_base &domaine_vdf, const Nom &nom_champ, const Nom &unite, Champ_base &champ, const Probleme_base &pbi) const
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
classe Milieu_base Cette classe est la base de la hierarchie des milieux (physiques)
virtual void discretiser(const Probleme_base &pb, const Discretisation_base &dis)
virtual void verifier_coherence_champs(int &err, Nom &message)
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
Champs_compris champs_compris_
virtual void set_param(Param ¶m) const override
const bool & has_hydr_diam()
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter_condition(const char *condition, const char *message, const char *name=0)
Declare a post-read logical condition that must hold on the parameter values.
void ajouter_non_std(const char *keyword, const Objet_U *value, Param::Nature nat=Param::OPTIONAL)
Register a keyword handled by Objet_U::lire_motcle_non_standard.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
const Schema_Temps_base & schema_temps() const
Renvoie le schema en temps associe au probleme.
virtual const Equation_base & equation(int) const =0
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
double temps_courant() const
Renvoie le temps courant.
Classe Solide Cette classe represente un milieu solide et ses proprietes.
void verifier_coherence_champs(int &err, Nom &message) override
Verifie que les champs caracterisant le milieu solide qui on ete lu par readOn(Entree&) sont coherent...
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
void set_param(Param ¶m) const override
Classe de base des flux de sortie.