16#include <Source_Meca_Grad_Pression_Thermique_EF.h>
17#include <Milieu_Elasticite.h>
18#include <Domaine_EF.h>
19#include <Equation_base.h>
20#include <Champ_Uniforme.h>
36 param.lire_avec_accolades_depuis(is);
42 T_ref_->initialiser(temps);
44 T_->initialiser(temps);
50 T_ref_->mettre_a_jour(temps);
51 T_->mettre_a_jour(temps);
58 const DoubleTab& Bij_thilde = domaine_ef.
Bij_thilde();
59 const DoubleTab& IPhi_thilde = domaine_ef.
IPhi_thilde();
68 const DoubleTab& val_T = T_->valeurs();
69 const DoubleTab& val_Tref = T_ref_->valeurs();
72 const int cTref = sub_type(
Champ_Uniforme, T_ref_.valeur()) ? 1 : 0;
76 for (
int e = 0; e < nb_elem_tot; e++)
78 const double alpha_e = val_alpha(0);
79 const double K_e = val_K(0);
80 const double dT_e = val_T(e * !cT) - val_Tref(e * !cTref);
81 const double s_e = 3.0 * K_e * alpha_e * dT_e;
83 if (s_e == 0.)
continue;
85 for (
int i = 0; i < nb_som_elem; i++)
87 const int s = elems(e, i);
89 for (
int d = 0; d < D; d++)
90 resu(s, d) += s_e * Bij_thilde(e, i, d);
94 resu(s, 0) += s_e * IPhi_thilde(e, i) / domaine_ef.
xp(e, 0);
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
int nb_som_elem() const
Returns the number of vertices of the geometric elements that make up the domain.
const DoubleTab & IPhi_thilde() const
const DoubleTab & Bij_thilde() const
double xp(int num_elem, int k) const
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
const Discretisation_base & discretisation() const
Returns the discretization associated with the equation.
Isotropic small-strain linear elastic medium.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
Base class for output streams.
Source term coupling the pressure gradient and thermal expansion for the thermomechanical formulation...
int initialiser(double temps) override
Unlike the mettre_a_jour methods, the initializer methods of sources cannot depend on the outside.
void mettre_a_jour(double temps) override
DOES NOTHING - to override in derived classes.
DoubleTab & ajouter(DoubleTab &) const override
Source_base A Source_base object is a term appearing on the right-hand side of an.
virtual int initialiser(double temps)
Unlike the mettre_a_jour methods, the initializer methods of sources cannot depend on the outside.