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
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
An input stream whose source is a character string.
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
Writing a mesh.
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
Writing a field to the post-processing file.
int initialize_by_default(const Nom &) override
Initializes the file with parameters appropriate to its format (e.g. ascii format,...
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
Starts writing a time step.
int ecrire_domaine_dis(const Domaine &, const OBS_PTR(Domaine_dis_base)&, const int) override
Base class for post-processing output formats for fields (lata, med, cgns, lml, single_lata).
OBS_PTR(Domaine_dis_base) domaine_dis_
Reference to the discretized domain - used for face fields.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
An array of character strings (VECT(Nom)).
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static bool LINKED_FILES_PER_COMM_GROUP
static bool PARALLEL_OVER_ZONE
static const Comm_Group & get_node_group()
Returns a reference to the node-level communicator group.
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)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.