16#ifndef Champ_Fonc_P0_base_included
17#define Champ_Fonc_P0_base_included
19#include <Champ_implementation_P0.h>
20#include <Champ_Fonc_base.h>
29 double moyenne(
const DoubleVect& porosite_elem,
int)
const;
30 DoubleVect
moyenne(
const DoubleVect& porosite_elem)
const;
36 inline DoubleVect&
valeur_a_elem(
const DoubleVect& position, DoubleVect& result,
int poly)
const override
51 inline DoubleTab&
valeur_aux_elems(
const DoubleTab& positions,
const IntVect& polys, DoubleTab& result)
const override
56 inline DoubleVect&
valeur_aux_elems_compo(
const DoubleTab& positions,
const IntVect& polys, DoubleVect& result,
int ncomp)
const override
DoubleTab & valeur_aux_centres_de_gravite(const Domaine &dom, DoubleTab &tab_valeurs) const override
This method, generic but slow (calculation of gravity centers, filling les_poly, use of shape functio...
double valeur_au_bord(int face) const
Champ_base & affecter_(const Champ_base &) override
Assigns a Champ_base to a Champ_Fonc_base.
DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const override
Trace of the P0 field on the boundary.
DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &result, int poly) const override
Causes an error! Must be overridden by derived classes.
int remplir_coord_noeuds_et_polys(DoubleTab &positions, IntVect &polys) const override
DOES NOTHING TO override in derived classes.
double moyenne(const DoubleVect &porosite_elem, int) const
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &polys, DoubleVect &result, int ncomp) const override
Causes an error! Must be overridden by derived classes.
DoubleTab & remplir_coord_noeuds(DoubleTab &positions) const override
DOES NOTHING TO override in derived classes.
void mettre_a_jour(double) override
Time update of the field.
Champ_base & le_champ() override
DoubleTab & valeur_aux_sommets(const Domaine &domain, DoubleTab &result) const override
Returns the values at the vertices of the Domain dom.
int imprime(Sortie &, int) const override
DOES NOTHING.
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &polys, DoubleTab &result) const override
Causes an error! Must be overridden by derived classes.
DoubleVect & valeur_aux_sommets_compo(const Domaine &domain, DoubleVect &result, int ncomp) const override
Returns the compo-th value at the vertices of dom.
int fixer_nb_valeurs_nodales(int n) override
Sets the number of degrees of freedom per component.
double valeur_a_elem_compo(const DoubleVect &position, int poly, int ncomp) const override
Causes an error! Must be overridden by derived classes.
const Champ_base & le_champ() const override
class Champ_Fonc_base Base class of fields that are functions of a calculated quantity
Champ_base()
Default constructor of a Champ_base.
DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &result, int poly) const override
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &polys, DoubleTab &result) const override
double valeur_a_elem_compo(const DoubleVect &position, int poly, int ncomp) const override
int remplir_coord_noeuds_et_polys(DoubleTab &positions, IntVect &polys) const override
DoubleTab & valeur_aux_centres_de_gravite(const Domaine &, DoubleTab &valeurs) const
Computes field values at centers of gravity.
DoubleTab & remplir_coord_noeuds(DoubleTab &positions) const override
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &polys, DoubleVect &result, int ncomp) const override
virtual DoubleVect & valeur_aux_sommets_compo(const Domaine &domain, DoubleVect &result, int ncomp) const
virtual DoubleTab & valeur_aux_sommets(const Domaine &domain, DoubleTab &result) const
class Frontiere_dis_base Class representing a discretized boundary.
Base class for output streams.