16#include <Champ_val_tot_sur_vol_base.h>
17#include <Terme_Derivee_Forme_base.h>
18#include <Discretisation_base.h>
19#include <Champ_Fonc_Tabule.h>
20#include <Champ_Uniforme.h>
21#include <Probleme_base.h>
22#include <Equation_base.h>
23#include <Milieu_base.h>
31 Cerr <<
"Derived shape reading" << finl;
34 source_derivee_forme->nommer(
"derivee_forme");
35 source_derivee_forme->valeurs() = 0.;
47 if (source_derivee_forme->le_nom()!=
"derivee_forme")
50 fichier+=source_derivee_forme->le_nom();
56 DoubleTab& chpval = ref_cast_non_const(DoubleTab, source_derivee_forme->valeurs());
63 chpval(i,j) = chp(i,j);
70 source_derivee_forme->mettre_a_jour(temps);
83 if (motlu==
"source_from_shape_deriv" && !champ_derivee_forme_)
86 noms[0]=
"source_from_shape_deriv";
97 noms_compris.add(
"source_from_shape_deriv");
99 Cerr<<
" Terme_Derivee_Forme_base : "<< noms_compris <<finl;
101 nom.add(noms_compris);
106 if (nom ==
"source_from_shape_deriv" && champ_derivee_forme_)
119 if (nom ==
"source_from_shape_deriv" && champ_derivee_forme_)
127 if (nom==
"source_from_shape_deriv")
129 if (!champ_derivee_forme_)
130 throw std::runtime_error(std::string(
"Field ") + nom.
getString() + std::string(
" not found !"));
133 DoubleTab& valeurs = champ_derivee_forme_->valeurs();
135 const DoubleTab& derivee_forme_Array = source_derivee_forme->valeurs();
138 int nb_d0 = derivee_forme_Array.
dimension(0);
139 int nb_d1 = derivee_forme_Array.
dimension(1);
140 for (
int num0=0; num0<nb_d0; num0++)
141 for (
int num1=0; num1<nb_d1; num1++)
142 valeurs(num0,num1)=derivee_forme_Array(num0,num1);
145 champ_derivee_forme_ ->mettre_a_jour(
equation().probleme().schema_temps().temps_courant());
class Champ_base This class is the base of the fields hierarchy.
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
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
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.
Probleme_base & probleme()
Returns the problem associated with the equation.
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
OBS_PTR(Equation_base) mon_equation
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
const std::string & getString() const
An array of character strings (VECT(Nom)).
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.
class Probleme_base It is a Probleme_U that is not a coupling.
const Discretisation_base & discretisation() const
Returns the discretization associated with the problem.
Base class for output streams.
Source_base A Source_base object is a term appearing on the right-hand side of an.
Champs_compris champs_compris_
const Nom fichier() const
virtual DoubleTab & ajouter(DoubleTab &) const
_SIZE_ size_array() const
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")