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
Overrides Champ_base::valeurs() Returns the array of values.
: class Champ_Don_lu This class represents a data field read from a file with the following conventio...
int imprime_Face(Sortie &, int) const
DoubleTab & trace(const Frontiere_dis_base &fr, const DoubleTab &y, DoubleTab &x, int distant) const
class Champ_Fonc_Face_VDF
int imprime(Sortie &os, int ncomp) const override
DOES NOTHING.
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &tab_valeurs, int ncomp) const override
Causes an error! Must be overridden by derived classes.
void mettre_a_jour(double) override
Time update of the field.
const Domaine_VDF & domaine_vdf() const override
int fixer_nb_valeurs_nodales(int) override
Sets the number of degrees of freedom per component.
DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &tab_valeurs, int ncomp) const override
Same as valeur_aux(const DoubleTab &, DoubleTab &), but computes only the component compo of the fiel...
DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const override
Computes the trace of a field on a boundary at time tps.
Champ_base & affecter_(const Champ_base &) override
Assigns a Champ_base to a Champ_Fonc_base.
class Champ_Fonc_base Base class of fields that are functions of a calculated quantity
void mettre_a_jour(double temps) override
Time update of the field.
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()
Default constructor of a Champ_base.
virtual DoubleVect & valeur_aux_compo(const DoubleTab &positions, DoubleVect &valeurs, int ncomp) const
Same as valeur_aux(const DoubleTab &, DoubleTab &), but computes only the component compo of the fiel...
SmallArrOfTID_t & chercher_elements(const DoubleTab &pos, SmallArrOfTID_t &elem, int reel=0) const
Searches for the elements containing the points whose coordinates are specified.
int orientation(int) const override
inline DoubleVect& Domaine_VDF::porosite_face() {
int nb_faces() const
Returns the total number of faces.
const MD_Vector & md_vector_faces() const
double xv(int num_face, int k) const
int premiere_face_int() const
A face is internal if and only if it separates two elements.
int face_voisins(int num_face, int i) const
Returns the neighbouring element of num_face in 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
Returns the name of the field.
class Frontiere_dis_base Class representing a discretized boundary.
: This class is an OWN_PTR but the pointed object is shared among multiple
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.
_SIZE_ dimension(int d) const