16#include <Format_Post_CGNS.h>
17#include <My_Comm_Group.h>
18#include <Option_CGNS.h>
25static void init_my_com_group()
35 Nom ech =
"{ Group_nb ";
54 cgns_basename_ =
"??";
59 Process::exit(
"Format_Post_CGNS::printOn - Should not be called ! ");
65 Process::exit(
"Format_Post_CGNS::readOn - Should not be called ! ");
66 verify_if_cgns(__func__);
73 Process::exit(
"Format_Post_CGNS::readOn - Should not be called ! ");
74 verify_if_cgns(__func__);
81 Process::exit(
"\nError in Format_Post_CGNS::resetTime. The name of the directory is empty. This is forbidden !!! \n");
84 cgns_writer_.cgns_resetTime(t, dirname, cgns_basename_);
90 verify_if_cgns(__func__);
92 cgns_basename_ = file_basename;
94 cgns_writer_.cgns_set_base_name(cgns_basename_);
101 verify_if_cgns(__func__);
103 cgns_basename_ = file_basename;
105 cgns_writer_.cgns_set_base_name(cgns_basename_);
112 verify_if_cgns(__func__);
114 if (est_le_premier_post)
117 cgns_writer_.cgns_open_file();
126 cgns_writer_.cgns_set_discr_type(type);
133 cgns_writer_.cgns_set_postraiter_domain();
140 cgns_writer_.cgns_set_is_deformable_domain();
147 cgns_writer_.cgns_set_lagrangian_domain();
154 cgns_writer_.cgns_set_loc_vector(vec);
161 cgns_writer_.cgns_add_time(t);
169 cgns_writer_.finir_ecriture(temps_courant);
176 if (est_le_dernier_post)
179 cgns_writer_.cgns_finir();
188 cgns_writer_.cgns_write_domaine_dual(domaine.le_nom(), est_le_premier_post);
195 cgns_writer_.cgns_write_domaine(dom, nom_dom, som, elem, type_e);
202 if (domaine_dis_base)
204 domaine_dis_ = domaine_dis_base;
206 cgns_writer_.cgns_associer_domaine_dis(domaine_dis_base.valeur());
218 const LIST(
OBS_PTR(Domaine)) &bords = domaine.domaines_frontieres();
219 for (
auto &itr : bords)
ecrire_domaine(itr.valeur(), est_le_premier_post);
224 const Nom& id_du_champ,
const Nom& id_du_domaine,
const Nom& localisation,
225 const Nom& nature,
const DoubleTab& valeurs)
228 cgns_writer_.cgns_write_field(domaine, noms_compo, temps, id_du_champ, id_du_domaine, localisation, valeurs );
int get_number_of_nodes() const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Une entree dont la source est une chaine de caracteres.
Class defining operators and methods for all reading operation in an input flow (file,...
void set_lagrangian_domain() override
void ecrire_domaine_dual(const Domaine &, const int) override
int ecrire_domaine(const Domaine &, const int) override
Ecriture d'un maillage.
void set_loc_vector(const std::vector< std::string > &) override
void set_discr_type(const Nom &) override
int ecrire_champ(const Domaine &, const Noms &, const Noms &, int, double, const Nom &, const Nom &, const Nom &, const Nom &, const DoubleTab &) override
Ecriture d'un champ dans le fichier de postraitement.
int initialize_by_default(const Nom &) override
Initialise le fichier avec des parametres appropries pour son format (exemple: format ascii,...
int initialize(const Nom &, const int, const Nom &) override
void set_param(Param ¶m) const override
int ecrire_domaine_low_level(const Domaine *, const Nom &, const DoubleTab &, const IntTab &, const Motcle &)
int finir(const int) override
void set_deformable_domain() override
int ecrire_entete(const double, const int, const int) override
void set_postraiter_domain() override
void resetTime(double t, const std::string dirname) override
int finir_ecriture(double) override
int ecrire_temps(const double) override
Commence l'ecriture d'un pas de temps.
int ecrire_domaine_dis(const Domaine &, const OBS_PTR(Domaine_dis_base)&, const int) override
Classe de base des formats de postraitements pour les champs (lata, med, cgns, lml,...
OBS_PTR(Domaine_dis_base) domaine_dis_
Reference to the discretized domain - used for face fields.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static bool LINKED_FILES_PER_COMM_GROUP
static bool PARALLEL_OVER_ZONE
static const Comm_Group & get_node_group()
Renvoie une reference au groupe sur les noeuds.
static bool has_user_defined_group()
Helper class to factorize the readOn method of Objet_U classes.
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.