|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
#include <ScatterMED.h>
Public Member Functions | |
| void | lire_domaine (Nom &) override |
| Reads the domain from the file named "nomentree", of type LecFicDistribueBin or LecFicDistribue. | |
| Public Member Functions inherited from Scatter | |
| Entree & | interpreter (Entree &) override |
| Reads and completes a parallel domain according to the keywords read in the data set. | |
| Domaine & | domaine () |
| Returns the associated domain. | |
| Public Member Functions inherited from Objet_U | |
| ~Objet_U () override | |
| Destructor. Removes the object from the list of objects registered in "memory". | |
| int | numero () const |
| Returns the index of the object in Memoire::data. | |
| virtual int | duplique () const =0 |
| virtual Sortie & | printOn (Sortie &) const |
| Writes the object to an output stream. Virtual method to override. | |
| virtual Entree & | readOn (Entree &) |
| Reads an Objet_U from an input stream. Virtual method to override. | |
| virtual unsigned | taille_memoire () const =0 |
| virtual int | est_egal_a (const Objet_U &) const |
| Returns 1 if x and *this are the same instance (same memory address). | |
| virtual const Nom & | le_nom () const |
| Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation. | |
| virtual void | nommer (const Nom &) |
| Assigns a name to the Objet_U. Virtual method to override. | |
| virtual int | reprendre (Entree &) |
| Restores an Objet_U from an input stream. Virtual method to override. | |
| virtual int | sauvegarder (Sortie &) const |
| Saves an Objet_U to an output stream. Virtual method to override. | |
| int | get_object_id () const |
| Returns the unique identifier of the object (object_id_). | |
| virtual const Type_info * | get_info () const |
| Returns type information for the Objet_U. | |
| const Nom & | que_suis_je () const |
| Returns the string identifying the class. | |
| const char * | le_type () const |
| Returns the type name of the Objet_U. | |
| virtual int | change_num (const int *const) |
| Changes the internal number of the Objet_U. | |
| virtual int | lire_motcle_non_standard (const Motcle &motlu, Entree &is) |
| Reads non-simple-type parameters of an Objet_U from an input stream. | |
| virtual int | associer_ (Objet_U &) |
| Associates the Objet_U with another Objet_U. Virtual method to override. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Additional Inherited Members | |
| Static Public Member Functions inherited from Scatter | |
| static int | Chercher_Correspondance (const DoubleTab &sommets1, const DoubleTab &sommets2, ArrOfInt &correspondance, const double epsilon) |
| Builds the "correspondance" array such that for 0 <= i < sommets2. | |
| static void | construire_correspondance_sommets_par_coordonnees (Domaine &dom, bool allow_resize=false) |
| Builds the joint_item(JOINT_ITEM::SOMMET).items_communs arrays for all joints of the domain dom. | |
| static void | construire_correspondance_aretes_par_coordonnees (Domaine_VF &zvf) |
| Builds the joint_item(JOINT_ITEM::ARETE).items_communs arrays for all joints of the domain. | |
| static void | construire_correspondance_items_par_coordonnees (Joints &joints, const JOINT_ITEM type_item, const DoubleTab &coord_items, bool allow_resize=false) |
| Generic method to build geometrical item correspondance between the local and the remote processor around a joint. | |
| static void | construire_structures_paralleles (Domaine &dom) |
| Builds the parallel structures of the domain (determination of distant elements as a function of joint thickness,. | |
| static void | calculer_espace_distant (Domaine &domaine, const int nb_items_reels, const ArrsOfInt &items_to_send, const JOINT_ITEM type_item) |
| Determines the distant items from a list of items to send and lists of common items. | |
| static void | calculer_nb_items_virtuels (Joints &joints, const JOINT_ITEM type_item) |
| For a geometric item "type_item", fills the nb_items_virtuels_ field of joints based on the number of remote items: | |
| static void | calculer_renum_items_communs (Joints &joints, const JOINT_ITEM type_item) |
| Assumes that each joint[i].joint_item(type_item).items_communs() contains the local indices of common joint items in the same order on both processors (local and neighbor). Fills renum_items_communs: column 0 = content of the items_communs array on the neighboring PE column 1 = content of the items_communs array on the local PE. | |
| static void | calculer_espace_distant_faces (Domaine &domaine, const int nb_faces_reelles, const IntTab &elem_faces) |
| Same as Scatter::calculer_espace_distant_sommets for faces. | |
| static void | calculer_espace_distant_aretes (Domaine &domaine, const int nb_aretes_reelles, const IntTab &elem_aretes) |
| Same as Scatter::calculer_espace_distant_sommets for edges. | |
| static void | calculer_espace_distant_elements (Domaine &dom) |
| Fills the "espace_distant()" array of elements in the joints. | |
| static void | corriger_espace_distant_elements_perio (Domaine &dom) |
| Current periodic algorithms (P1B assembler, OpDivElem P1B) require that for each virtual periodic face, the opposite face is. | |
| static void | calculer_espace_distant_sommets (Domaine &dom) |
| Based on the remote space of elements, computes the remote space of vertices. | |
| static void | construire_espace_virtuel_traduction (const MD_Vector &md_indice, const MD_Vector &md_valeur, IntTab &tableau, const int error_is_fatal=1) |
| Builds the items_communs + virtual space structure of an array containing indices of geometric items, indexed by another geometric item type. | |
| static void | reordonner_faces_de_joint (Domaine &dom) |
| Reorders joint faces so that they appear in the same order on each pair of neighboring processors. | |
| static void | ajouter_joints (Domaine &domaine, ArrOfInt &pe_voisins) |
| Adds joints with all PEs in pe_voisins. | |
| static void | trier_les_joints (Joints &joints) |
| Sort joints by increasing neighbor proc number. | |
| static void | construire_md_vector (const Domaine &, int nb_items_reels, const JOINT_ITEM, MD_Vector &) |
| Builds an MD_Vector_std from the joint information of the domain for the requested item type. | |
| static void | check_consistancy_remote_items (Domaine &dom, const ArrOfInt &mergedDomaines) |
| Merged domains receive joint information from their neighbours to ensure that their common items (vertices) appear in the same order. | |
| template<typename _SIZE_> | |
| static void | init_sequential_domain (Domaine_32_64< _SIZE_ > &dom) |
| Create parallel descriptors for the vertex and element arrays of the domain (necessary because Scatter is never invoked in sequential). | |
| template<typename _SIZE_> | |
| static void | uninit_sequential_domain (Domaine_32_64< _SIZE_ > &dom) |
| Method used by interpreters that modify the domain (sequential), destroys the descriptors of vertices and elements to allow modification of these arrays. | |
| Static Public Member Functions inherited from Interprete | |
| static Objet_U & | objet (const Nom &) |
| See Interprete_bloc::objet_global(). BM: the Interprete class is not the best place for this. | |
| static int | objet_existant (const Nom &) |
| Returns 1 if the object exists, 0 otherwise. See Interprete_bloc::objet_global_existant(). | |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Returns a constant reference to the case name. This method is static. | |
| static Nom & | get_set_nom_du_cas () |
| Returns a non-constant reference to the case name (to allow modification). This method is static. | |
| static const Type_info * | info () |
| Returns type information for the Objet_U (static version). | |
| static const Objet_U & | self_cast (const Objet_U &) |
| Method added for casting in Python. | |
| static Objet_U & | self_cast (Objet_U &) |
| Static Public Member Functions inherited from Process | |
| static int | me () |
| Returns the rank of the local processor in the current communication group. See Comm_Group::rank() and PE_Groups::current_group(). | |
| static int | nproc () |
| Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current_group(). | |
| static bool | is_parallel () |
| static void | exit (int exit_code=-1) |
| Exit routine for TRUST within a Kokkos region. | |
| static double | mp_sum (double) |
| Computes the sum of x over all processors in the current group. | |
| static float | mp_sum (float) |
| static trustIdType | mp_sum (trustIdType) |
| Computes the sum of x over all processors in the current group. | |
| static double | mp_max (double) |
| static double | mp_min (double) |
| static int | mp_max (int) |
| Returns the maximum value of x across all processors in the current group. | |
| static int | mp_min (int) |
| Returns the minimum value of x across all processors in the current group. | |
| static double | mp_sum_as_double (int v) |
| static trustIdType | mppartial_sum (trustIdType i) |
| Computes the partial sum of x over processors 0 to me()-1 (returns 0 on processor 0). | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters. | |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation. | |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2) |
| C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation. | |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4) |
| template<typename T> | |
| static void | mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5) |
| template<typename _TYPE_> | |
| static void | mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| template<typename _TYPE_> | |
| static void | mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1) |
| static bool | mp_and (bool) |
| Computes the logical AND of b across all processors in the current group. | |
| static bool | mp_or (bool) |
| static int | check_int_overflow (trustIdType) |
| static int | je_suis_maitre () |
| Returns 1 if on the master processor of the current group (i.e. me() == 0), 0 otherwise. | |
| static KOKKOS_INLINE_FUNCTION void | Kokkos_exit (const char *) |
| Exit routine for TRUST within a Kokkos region. | |
| static int | node_master () |
| Returns 1 if on the NUMA node master processor, 0 otherwise. | |
| static void | exit (const Nom &message, int exit_code=-1) |
| static bool | is_sequential () |
| static void | barrier () |
| Synchronizes all processors in the current group (waits until all processors have reached the barrier). | |
| static void | abort () |
| Abort routine for TRUST on a fatal error. | |
| static Sortie & | Journal (int message_level=0) |
| Returns a static Sortie object used as an event journal. | |
| static double | ram_processeur () |
| static void | imprimer_ram_totale (int all_process=0) |
| static bool | force_single_file (const int ranks, const Nom &filename) |
| Static Public Attributes inherited from Objet_U | |
| static double | precision_geom = 1e-10 |
| static constexpr bool | HAS_POINTER = false |
| static int | dimension =0 |
| static int | format_precision_geom =11 |
| static int | axi =0 |
| static int | bidim_axi =0 |
| static int | DEACTIVATE_SIGINT_CATCH =0 |
| static Type_info | info_obj |
| static bool | disable_TU =false |
| Flag to disable or not the writing of the .TU files. | |
| static bool | stat_per_proc_perf_log =false |
| Flag to enable the writing of the statistics detailed per processor in _csv.TU file. | |
| Static Public Attributes inherited from Process | |
| static int | exception_sur_exit =0 |
| static int | multiple_files =5120 |
| Protected Member Functions inherited from Scatter | |
| OBS_PTR (Domaine) le_domaine | |
| void | read_domain_no_comm (Entree &fic, bool &read_perio) |
| Does the exact same thing as the readOn of the class Domaine but without collective communication. | |
| Protected Member Functions inherited from Objet_U | |
| Objet_U () | |
| Default constructor: assigns a unique identifier to the object (object_id_) and registers the object in "memory" by giving it a num_obj number. | |
| Objet_U (const Objet_U &) | |
| Copy constructor. | |
| const Objet_U & | operator= (const Objet_U &) |
| Assignment operator: does nothing (the number and identifier are preserved). | |
| virtual void | set_param (Param &) const |
Definition at line 22 of file ScatterMED.h.
|
overridevirtual |
Reads the domain from the file named "nomentree", of type LecFicDistribueBin or LecFicDistribue.
(depending on fichier_domaine_format_binaire_) The legacy format is no longer supported. Expected format: Domaine::ReadOn The domain is renamed after the domain (for lance_test_seq_par).
Reimplemented from Scatter.
Definition at line 50 of file ScatterMED.cpp.