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;
classe Champ_Proto Classe representant un prototype de Champ.
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
renvoi la compo eme corrdonne des valeurs a l'element le_poly au sommet sommet
virtual int imprime(Sortie &, int) const =0
virtual DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const
Calcule les "valeurs" du champ au point de coordonnees "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
Mise a jour en temps.
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()
Constructeur par defaut d'un Champ_base.
Champ_base & affecter(const Champ_base &)
Affecter un champ dans un autre.
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
provoque une erreur ! doit etre surchargee par les classes derivees
virtual DoubleTab & valeur_aux_elems_passe(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &tab_valeurs) const
virtual double changer_temps(const double t)
Fixe le temps auquel se situe le champ.
virtual DoubleTab valeur_aux_bords() const
renvoie la valeur du champ aux faces de bord
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
Renvoie le temps du champ.
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
renvoie la compo eme valeur aux sommets de dom.
virtual DoubleTab & valeur_aux(const DoubleTab &positions, DoubleTab &valeurs) const
Provoque une erreur ! Doit etre surchargee par les classes derivees.
virtual DoubleTab & valeur_aux_faces(DoubleTab &result) const
renvoie la valeur du champ aux faces
virtual DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs) const
provoque une erreur ! doit etre surchargee par les classes derivees
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
provoque une erreur ! doit etre surchargee par les classes derivees
virtual double valeur_a_compo(const DoubleVect &position, int ncomp) const
Calcule la valeur ponctuelle de la composante "compo" du champ au point de coordonnees pos.
virtual double valeur_a_elem_compo(const DoubleVect &position, int le_poly, int ncomp) const
provoque une erreur ! doit etre surchargee par les classes derivees
virtual void abortTimeStep()
void corriger_unite_nom_compo()
cette methode va fixer les unites et le nom des compos elle n'est pas const en realite !...
virtual DoubleTab & valeur_aux_sommets(const Domaine &, DoubleTab &) const
renvoie les valeurs aux sommets du Domaine dom
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...
virtual void mettre_a_jour(double)
mettre_a_jour de la classe de base Champ_base :ne fait rien !
virtual Champ_base & affecter_compo(const Champ_base &, int compo)=0
virtual DoubleTab & valeur_aux_centres_de_gravite(const Domaine &, DoubleTab &valeurs) const
Cette methode, generique mais lente (calcul des centres de gravite, remplissage les_poly,...
virtual DoubleTab & trace(const Frontiere_dis_base &, DoubleTab &, double, int distant) const
Calcule la trace d'un champ sur une frontiere au temps tps.
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Classe de base des formats de postraitements pour les champs (lata, med, cgns, lml,...
classe Frontiere_dis_base Classe representant une frontiere discretisee.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.