16#ifndef Champ_Fonc_MED_included
17#define Champ_Fonc_MED_included
19#include <Domaine_VF_inst.h>
20#include <TRUSTArray.h>
24#include <medcoupling++.h>
26#include <MEDCouplingFieldDouble.hxx>
27using MEDCoupling::MEDCouplingField;
44 int creer(
const Nom&,
const Domaine& dom,
const Motcle& localisation,ArrOfDouble& temps_sauv);
46 const Domaine&
domaine()
const override {
return mon_dom; }
47 virtual void lire(
double tps,
int given_iteration=-1);
50 inline DoubleTab&
valeurs()
override;
51 inline const DoubleTab&
valeurs()
const override;
53 inline DoubleTab&
valeur_aux_elems(
const DoubleTab& positions,
const IntVect& les_polys, DoubleTab&
valeurs)
const override;
54 inline DoubleVect&
valeur_aux_elems_compo(
const DoubleTab& positions,
const IntVect& les_polys, DoubleVect&
valeurs,
int ncomp)
const override;
57 inline DoubleVect&
valeur_a(
const DoubleVect& position, DoubleVect&
valeurs)
const override;
59 inline DoubleVect&
valeur_a_elem(
const DoubleVect& position, DoubleVect&
valeurs,
int le_poly)
const override ;
67 ArrOfDouble lire_temps_champ(
const std::string& fileName,
const std::string& fieldName);
68 virtual void lire_donnees_champ(
const std::string& fileName,
const std::string& meshName,
const std::string& fieldName,
69 ArrOfDouble& temps_sauv,
int& size,
int& nbcomp,
Nom& type_champ);
70 MCAuto<MEDCoupling::MEDCouplingField> lire_champ(
const std::string& fileName,
const std::string& meshName,
const std::string& fieldName,
const int iteration,
const int order);
89 med_entity_type type_ent;
90 med_geometry_type type_geo;
92 INTERP_KERNEL::NormalizedCellType cell_type;
93 MEDCoupling::TypeOfField field_type = MEDCoupling::ON_CELLS;
94 std::vector< std::pair<int,int> > time_steps_;
109 Cerr<<
"Champ_Fonc_MED::associer_domaine_dis_base does nothing"<<finl;
113 return vrai_champ_.valeur();
118 return vrai_champ_.valeur();
137 domaine.chercher_elements(position, le_poly);
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
classe Champ_Fonc_MED Load a field from a MED file for a given time.
const Domaine & domaine() const override
const ArrOfDouble & get_saved_times() const
std::vector< trustIdType > filter
const Domaine_VF & domaine_vf() const override
virtual void lire(double tps, int given_iteration=-1)
DoubleTab & valeur_aux_sommets(const Domaine &, DoubleTab &) const override
renvoie les valeurs aux sommets du Domaine dom
MCAuto< MEDCouplingField > ffield_
void associer_domaine_dis_base(const Domaine_dis_base &) override
void readOn_old_syntax(Entree &is, Nom &chaine_lue, bool &nom_decoup_lu)
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
int creer(const Nom &, const Domaine &dom, const Motcle &localisation, ArrOfDouble &temps_sauv)
void mettre_a_jour(double) override
Mise a jour en temps du champ.
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs) const override
provoque une erreur ! doit etre surchargee par les classes derivees
DoubleVect & valeur_aux_sommets_compo(const Domaine &, DoubleVect &, int) const override
renvoie la compo eme valeur aux sommets de dom.
Domaine_VF_inst domainebidon_inst
const Domaine_dis_base & domaine_dis_base() const override
OWN_PTR(Champ_Fonc_base) vrai_champ_
DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &valeurs, int le_poly) const override
provoque une erreur ! doit etre surchargee par les classes derivees
virtual const Champ_Fonc_base & le_champ() const
DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const override
Calcule les "valeurs" du champ au point de coordonnees "pos".
virtual void set_param(Param ¶m) const override
Nom nom_champ_dans_fichier_med_
bool use_existing_domain_
int remplir_coord_noeuds_et_polys(DoubleTab &, IntVect &) const override
NE FAIT RIEN A surcharger dans les classes derivees.
DoubleTab & remplir_coord_noeuds(DoubleTab &) const override
NE FAIT RIEN A surcharger dans les classes derivees.
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &valeurs, int ncomp) const override
provoque une erreur ! doit etre surchargee par les classes derivees
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
virtual int remplir_coord_noeuds_et_polys(DoubleTab &, IntVect &) const
NE FAIT RIEN A surcharger dans les classes derivees.
virtual DoubleTab & remplir_coord_noeuds(DoubleTab &) const
NE FAIT RIEN A surcharger dans les classes derivees.
virtual DoubleVect & valeur_a(const DoubleVect &position, DoubleVect &valeurs) const
Calcule les "valeurs" du champ au point de coordonnees "pos".
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 DoubleVect & valeur_aux_sommets_compo(const Domaine &, DoubleVect &, int) const
renvoie la compo eme valeur aux sommets de dom.
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
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 DoubleTab & valeur_aux_sommets(const Domaine &, DoubleTab &) const
renvoie les valeurs aux sommets du Domaine dom
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Helper class to factorize the readOn method of Objet_U classes.