17#ifndef Champ_base_included
18#define Champ_base_included
20#include <TRUSTTabs_forward.h>
21#include <Champ_Proto.h>
22#include <Field_base.h>
25#include <Domaine_forward.h>
54 Cerr<<
"We do not have to pass here "<<__FILE__<<(int)__LINE__<<finl;
83 virtual DoubleVect&
valeur_a(
const DoubleVect& position, DoubleVect&
valeurs)
const;
84 virtual DoubleVect&
valeur_a_elem(
const DoubleVect& position, DoubleVect&
valeurs,
int le_poly)
const;
85 virtual double valeur_a_compo(
const DoubleVect& position,
int ncomp)
const;
86 virtual double valeur_a_elem_compo(
const DoubleVect& position,
int le_poly,
int ncomp)
const;
89 virtual DoubleTab&
valeur_aux(
const DoubleTab& positions, DoubleTab&
valeurs)
const;
91 virtual DoubleTab&
valeur_aux_elems(
const DoubleTab& positions,
const IntVect& les_polys, DoubleTab&
valeurs)
const;
96 virtual DoubleVect&
valeur_a_sommet(
int,
const Domaine&, DoubleVect&)
const;
class Champ_Proto Class representing a Field prototype.
virtual DoubleTab & valeurs()=0
virtual DoubleVect & valeur_aux_elems_compo_smooth(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &valeurs, int ncomp)
void calculer_valeurs_som_compo_post(DoubleTab &valeurs, int ncomp, int nbsom, Nom &nom_post, const Domaine &dom, int appliquer_cl=0) const
virtual double valeur_a_sommet_compo(int, int, int) const
Returns the compo-th coordinate of the values at the element le_poly at the vertex sommet.
virtual int imprime(Sortie &, int) const =0
virtual DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const
Computes the "values" of the field at the point with coordinates "pos".
virtual DoubleTab & valeur_aux_elems_smooth(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs)
virtual int a_un_domaine_dis_base() const
virtual DoubleVect & valeur_a_sommet(int, const Domaine &, DoubleVect &) const
Time update.
void calculer_valeurs_elem_post(DoubleTab &valeurs, int nbelem, Nom &nom_post, const Domaine &dom) const
virtual void resetTime(double time)=0
virtual int completer_post_champ(const Domaine &dom, const int axi, const Nom &loc_post, const Nom &le_nom_champ_post, Format_Post_base &format) const
virtual int fixer_nb_valeurs_nodales(int n)
virtual void completer(const Domaine_Cl_dis_base &zcl)
Champ_base()
Default constructor of a Champ_base.
Champ_base & affecter(const Champ_base &)
Assign a field to another.
virtual const Domaine_dis_base & domaine_dis_base() const
virtual DoubleTab & eval_elem(DoubleTab &valeurs) const
virtual DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &valeurs, int ncomp) const
Causes an error! Must be overridden by derived classes.
virtual DoubleTab & valeur_aux_elems_passe(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &tab_valeurs) const
virtual double changer_temps(const double t)
Sets the time at which the field is defined.
virtual DoubleTab valeur_aux_bords() const
Returns the field value at the boundary faces.
virtual DoubleTab & valeur_aux_faces_post(DoubleTab &result) const
void calculer_valeurs_elem_compo_post(DoubleTab &valeurs, int ncomp, int nbelem, Nom &nom_post, const Domaine &dom) const
virtual Champ_base & affecter_(const Champ_base &)=0
double temps() const
Returns the time of the field.
virtual void associer_domaine_dis_base(const Domaine_dis_base &)
virtual int nb_valeurs_nodales() const
virtual DoubleVect & valeur_aux_sommets_compo(const Domaine &, DoubleVect &, int) const
Returns the compo-th value at the vertices of dom.
virtual DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const
Causes an error! Must be overridden by derived classes.
virtual DoubleTab & valeur_aux_faces(DoubleTab &result) const
Returns the field value at the faces.
virtual DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs) const
Causes an error! Must be overridden by derived classes.
void calculer_valeurs_som_post(DoubleTab &valeurs, int nbsom, Nom &nom_post, const Domaine &dom) const
virtual DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &valeurs, int le_poly) const
Causes an error! Must be overridden by derived classes.
virtual double valeur_a_compo(const DoubleVect &position, int ncomp) const
Computes the point value of the component "compo" of the field at the point with coordinates pos.
virtual double valeur_a_elem_compo(const DoubleVect &position, int le_poly, int ncomp) const
Causes an error! Must be overridden by derived classes.
virtual void abortTimeStep()
void corriger_unite_nom_compo()
This method will set the units and the name of components, it is not actually const!...
virtual DoubleTab & valeur_aux_sommets(const Domaine &, DoubleTab &) const
Returns the values at the vertices of the Domain dom.
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...
virtual void mettre_a_jour(double)
Update of the base class Champ_base: does nothing!
virtual Champ_base & affecter_compo(const Champ_base &, int compo)=0
virtual DoubleTab & valeur_aux_centres_de_gravite(const Domaine &, DoubleTab &valeurs) const
This method, generic but slow (calculation of gravity centers, filling les_poly, use of shape functio...
virtual DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const
Computes the trace of a field on a boundary at time tps.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Base class for post-processing output formats for fields (lata, med, cgns, lml, single_lata).
class Frontiere_dis_base Class representing a discretized boundary.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.