16#include <Champ_Uniforme_Morceaux.h>
17#include <Champ_Fonc_Face_VDF.h>
18#include <Champ_Uniforme.h>
19#include <Champ_Don_lu.h>
57 const DoubleTab& v = ch.
valeurs();
60 int nb_faces = domaine_VDF.
nb_faces();
61 const IntVect& orientation = domaine_VDF.
orientation();
66 for (
int num_face = 0; num_face < nb_faces; num_face++)
67 val(num_face) = v(0, orientation(num_face));
75 for (num_face = 0; num_face < ndeb_int; num_face++)
77 ori = orientation(num_face);
78 n0 = face_voisins(num_face, 0);
80 val(num_face) = v(n0, ori);
82 val(num_face) = v(face_voisins(num_face, 1), ori);
85 for (num_face = ndeb_int; num_face < nb_faces; num_face++)
87 ori = orientation(num_face);
88 n0 = face_voisins(num_face, 0);
89 n1 = face_voisins(num_face, 1);
90 val(num_face) = 0.5 * (v(n0, ori) + v(n1, ori));
103 const DoubleTab& xv = domaine_VDF.
xv();
109 for (num_face = 0; num_face < nb_faces; num_face++)
111 ori = orientation(num_face);
116 positionX(nbx, k) = xv(num_face, k);
121 positionY(nby, k) = xv(num_face, k);
126 positionZ(nbz, k) = xv(num_face, k);
137 for (num_face = 0; num_face < nb_faces; num_face++)
139 ori = orientation(num_face);
143 val(num_face) = U(nbx++);
146 val(num_face) = V(nby++);
149 val(num_face) = W(nbz++);
160 IntVect les_polys(positions.
dimension(0));
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
: class Champ_Don_lu Cette classe represente un champ de donnees que l'on lit dans un fichier avec le...
int imprime_Face(Sortie &, int) const
DoubleTab & trace(const Frontiere_dis_base &fr, const DoubleTab &y, DoubleTab &x, int distant) const
classe Champ_Fonc_Face_VDF
int imprime(Sortie &os, int ncomp) const override
NE FAIT RIEN.
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &tab_valeurs, int ncomp) const override
provoque une erreur ! doit etre surchargee par les classes derivees
void mettre_a_jour(double) override
Mise a jour en temps du champ.
const Domaine_VDF & domaine_vdf() const override
int fixer_nb_valeurs_nodales(int) override
Fixe le nombre de degres de liberte par composante.
DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &tab_valeurs, int ncomp) const override
Idem que valeur_aux(const DoubleTab &, DoubleTab &), mais calcule uniquement la composante compo du c...
DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const override
Calcule la trace d'un champ sur une frontiere au temps tps.
Champ_base & affecter_(const Champ_base &) override
Affecte un Champ_base dans un Champ_Fonc_base.
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
void mettre_a_jour(double temps) override
Mise a jour en temps du champ.
virtual void creer_tableau_distribue(const MD_Vector &, RESIZE_OPTIONS=RESIZE_OPTIONS::COPY_INIT)
const Domaine_dis_base & domaine_dis_base() const override
virtual DoubleTab & valeurs()=0
Champ_base()
Constructeur par defaut d'un Champ_base.
virtual DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &valeurs, int ncomp) const
Idem que valeur_aux(const DoubleTab &, DoubleTab &), mais calcule uniquement la composante compo du c...
SmallArrOfTID_t & chercher_elements(const DoubleTab &pos, SmallArrOfTID_t &elem, int reel=0) const
Recherche des elements contenant les points dont les coordonnees sont specifiees.
int orientation(int) const override
inline DoubleVect& Domaine_VDF::porosite_face() {
int nb_faces() const
renvoie le nombre global de faces.
const MD_Vector & md_vector_faces() const
double xv(int num_face, int k) const
int premiere_face_int() const
une face est interne ssi elle separe deux elements.
int face_voisins(int num_face, int i) const
renvoie l'element voisin de numface dans la direction i.
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
const Nom & le_nom() const override
Renvoie le nom du champ.
classe Frontiere_dis_base Classe representant une frontiere discretisee.
: Cette classe est un OWN_PTR mais l'objet pointe est partage entre plusieurs
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 de base des flux de sortie.
_SIZE_ dimension(int d) const