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());
classe Champ_base Cette classe est la base de la hierarchie des champs.
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,...
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
OBS_PTR(Equation_base) mon_equation
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
const std::string & getString() const
Un tableau de chaine de caracteres (VECT(Nom)).
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
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.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
const Discretisation_base & discretisation() const
Renvoie la discretisation associee au probleme.
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
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")