|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
class Domaine_32_64 A Domain is a mesh composed of a set of geometric elements of the same type. More...
#include <Domaine.h>
Public Types | |
| using | int_t = _SIZE_ |
| using | ArrOfInt_t = ArrOfInt_T<_SIZE_> |
| using | IntVect_t = IntVect_T<_SIZE_> |
| using | IntTab_t = IntTab_T<_SIZE_> |
| using | SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
| using | ArrOfDouble_t = ArrOfDouble_T<_SIZE_> |
| using | DoubleVect_t = DoubleVect_T<_SIZE_> |
| using | DoubleTab_t = DoubleTab_T<_SIZE_> |
| using | ArrsOfInt_t = ArrsOfInt_T<_SIZE_> |
| using | DoubleTabs_t = DoubleTabs_T<_SIZE_> |
| using | OctreeRoot_t = OctreeRoot_32_64<_SIZE_> |
| using | Sous_Domaine_t = Sous_Domaine_32_64<_SIZE_> |
| using | Bord_t = Bord_32_64<_SIZE_> |
| using | Bords_t = Bords_32_64<_SIZE_> |
| using | Bord_Interne_t = Bord_Interne_32_64<_SIZE_> |
| using | Bords_Internes_t = Bords_Internes_32_64<_SIZE_> |
| using | Groupe_Faces_t = Groupe_Faces_32_64<_SIZE_> |
| using | Groupes_Faces_t = Groupes_Faces_32_64<_SIZE_> |
| using | Frontiere_t = Frontiere_32_64<_SIZE_> |
| using | Raccord_t = OWN_PTR(Raccord_base_32_64<_SIZE_>) |
| using | Raccords_t = Raccords_32_64<_SIZE_> |
| using | Joint_t = Joint_32_64<_SIZE_> |
| using | Joints_t = Joints_32_64<_SIZE_> |
Public Member Functions | |
| Domaine_32_64 () | |
| Entree & | readOn_has_perio (Entree &s, bool &has_perio) |
| Reads the objects constituting a Domain from an input stream. | |
| void | typer (const Nom &) |
| Sets the element type of the domain using the name passed as parameter. | |
| const | OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) &type_elem() const |
| OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) &type_elem() | |
| void | reordonner () |
| double | coord (int_t i, int j) const |
| double & | coord (int_t i, int j) |
| const DoubleTab_t & | coord_sommets () const |
| DoubleTab_t & | les_sommets () |
| const DoubleTab_t & | les_sommets () const |
| void | saveSommetsCoordinates () |
| void | resetSommetsCoordinates () |
| DoubleTab | getBoundingBox () const |
| void | ajouter (const DoubleTab_t &soms) |
| Adds nodes (or vertices) to the domain (without checking for duplicates). | |
| void | ajouter (const DoubleTab_t &soms, IntVect_t &nums) |
| Adds nodes to the domain with elimination of duplicate nodes. On return, nums contains the new indices of the nodes from soms. | |
| int_t | nb_som () const |
| Returns the number of vertices of the domain. | |
| int_t | nb_som_tot () const |
| Returns the total number of vertices of the domain i.e. the number of real and virtual vertices on the current processor. | |
| void | read_vertices (Entree &s) |
| only read vertices from the stream s | |
| IntTab_t & | les_elems () |
| const IntTab_t & | les_elems () const |
| int_t | nb_elem () const |
| int_t | nb_elem_tot () const |
| int | nb_som_elem () const |
| Returns the number of vertices of the geometric elements that make up the domain. | |
| int | nb_faces_elem (int=0) const |
| Returns the number of faces of type i of the geometric elements that make up the domain. | |
| int_t | sommet_elem (int_t i, int j) const |
| Returns the (global) number of the j-th vertex of the i-th element. | |
| int_t | nb_aretes () const |
| Returns the number of real edges. | |
| int_t | nb_aretes_tot () const |
| returns the total number of edges (real+virtual). | |
| int_t | arete_sommets (int_t i, int j) const |
| returns the number of the j-th vertex of the i-th edge. | |
| int_t | elem_aretes (int_t i, int j) const |
| returns the number of the j-th edge of the i-th element. | |
| const IntTab_t & | aretes_som () const |
| returns the connectivity array edges/vertices. | |
| const IntTab_t & | elem_aretes () const |
| returns the connectivity array elements/edges. | |
| IntTab_t & | set_aretes_som () |
| IntTab_t & | set_elem_aretes () |
| int_t | nb_faces_bord () const |
| int_t | nb_faces_bord (int num_bord) const |
| int_t | nb_faces_bord (Type_Face type) const |
| int_t | nb_faces_joint () const |
| int_t | nb_faces_joint (int num_joint) const |
| int_t | nb_faces_joint (Type_Face type) const |
| int_t | nb_faces_raccord () const |
| int_t | nb_faces_raccord (int num_rac) const |
| int_t | nb_faces_raccord (Type_Face type) const |
| int_t | nb_faces_bords_int () const |
| int_t | nb_faces_bords_int (int num_bord) const |
| int_t | nb_faces_bords_int (Type_Face type) const |
| int_t | nb_faces_groupes_faces () const |
| int_t | nb_faces_groupes_faces (int num_g) const |
| int_t | nb_faces_groupes_faces (Type_Face type) const |
| int_t | nb_faces_frontiere () const |
| Returns the number of boundary faces of the domain (sum of boundaries, connections, and internal boundaries). | |
| int_t | nb_faces_frontiere (Type_Face type) const |
| Returns the number of boundary faces of the domain of the specified type. | |
| int_t | nb_faces_specifiques () const |
| Returns the number of special faces of the domain. | |
| int_t | nb_faces_specifiques (Type_Face type) const |
| Returns the number of specific faces of the domain of the specified type. | |
| int_t | face_bords_interne_conjuguee (int_t face) const |
| Returns -1 if face is not an internal boundary face, or the index of the duplicated face otherwise. | |
| int | nb_bords () const |
| Bord_t & | bord (int i) |
| const Bord_t & | bord (int i) const |
| Bord_t & | bord (const Nom &nom) |
| const Bord_t & | bord (const Nom &nom) const |
| Bords_t & | faces_bord () |
| const Bords_t & | faces_bord () const |
| void | fixer_premieres_faces_frontiere () |
| void | correct_type_of_borders_after_merge () |
| Correcting type of borders if they were empty before merge (ie equal to vide_0D). | |
| void | ecrire_noms_bords (Sortie &) const |
| Writes the boundary names to an output stream. | |
| Bord_Interne_t & | bords_interne (int i) |
| const Bord_Interne_t & | bords_interne (int i) const |
| Bord_Interne_t & | bords_interne (const Nom &nom) |
| const Bord_Interne_t & | bords_interne (const Nom &nom) const |
| Bords_Internes_t & | bords_int () |
| const Bords_Internes_t & | bords_int () const |
| int | nb_groupes_faces () const |
| Groupe_Faces_t & | groupe_faces (int i) |
| const Groupe_Faces_t & | groupe_faces (int i) const |
| const Groupe_Faces_t & | groupe_faces (const Nom &nom) const |
| Groupes_Faces_t & | groupes_faces () |
| const Groupes_Faces_t & | groupes_faces () const |
| const Frontiere_t & | frontiere (int i) const |
| Frontiere_t & | frontiere (int i) |
| int | rang_frontiere (const Nom &) const |
| const Frontiere_t & | frontiere (const Nom &) const |
| Frontiere_t & | frontiere (const Nom &) |
| int | nb_frontieres_internes () const |
| int | nb_front_Cl () const |
| const | LIST (OBS_PTR(Domaine_32_64)) &domaines_frontieres() const |
| Domaine_32_64 & | domaine_frontiere (int i) |
| int | nb_raccords () const |
| Raccord_t & | raccord (int i) |
| const Raccord_t & | raccord (int i) const |
| Raccord_t & | raccord (const Nom &nom) |
| const Raccord_t & | raccord (const Nom &nom) const |
| Raccords_t & | faces_raccord () |
| const Raccords_t & | faces_raccord () const |
| int | nb_joints () const |
| Joint_t & | joint (int i) |
| const Joint_t & | joint (int i) const |
| Joint_t & | joint (const Nom &nom) |
| const Joint_t & | joint (const Nom &nom) const |
| Joints_t & | faces_joint () |
| const Joints_t & | faces_joint () const |
| Joint_t & | joint_of_pe (int) |
| const Joint_t & | joint_of_pe (int) const |
| int | comprimer_joints () |
| Merges joints with the same name. | |
| void | renum_joint_common_items (const IntVect_t &nums, const int_t elem_offset) |
| Renumbers the nodes and elements present in the common items of joints. | |
| const Noms & | bords_perio () const |
| Noms & | bords_perio () |
| void | init_renum_perio () |
| Initialize the renumerotation array for periodicity. | |
| int_t | get_renum_som_perio (int_t i) const |
| void | construire_renum_som_perio (const Conds_lim &, const Domaine_dis_base &) |
| void | set_renum_som_perio (IntTab_t &renum) |
| const ArrOfInt_t & | get_renum_som_perio () const |
| int | nb_ss_domaines () const |
| const Sous_Domaine_t & | ss_domaine (int i) const |
| Sous_Domaine_t & | ss_domaine (int i) |
| const Sous_Domaine_t & | ss_domaine (const Nom &nom) const |
| Sous_Domaine_t & | ss_domaine (const Nom &nom) |
| void | add (const Sous_Domaine_t &sd) |
| int | associer_ (Objet_U &) override |
| Associates a Sous_Domaine to the Domain. | |
| const | LIST (OBS_PTR(Sous_Domaine_t)) &ss_domaines() const |
| void | calculer_centres_gravite (DoubleTab_t &xp) const |
| Calculates the centers of gravity of the domain elements. | |
| void | calculer_centres_gravite_aretes (DoubleTab_t &xa) const |
| Computes the centers of gravity of the domain edges. | |
| virtual void | calculer_volumes (DoubleVect_t &volumes, DoubleVect_t &inv_volumes) const |
| Computes the volumes of the domain elements. | |
| void | calculer_mon_centre_de_gravite (ArrOfDouble &c) |
| Computes the center of gravity of the domain. | |
| double | volume_total () const |
| const ArrOfDouble & | cg_moments () const |
| ArrOfDouble & | cg_moments () |
| void | exporter_mon_centre_de_gravite (ArrOfDouble c) |
| SmallArrOfTID_t & | chercher_elements (const DoubleTab &pos, SmallArrOfTID_t &elem, int reel=0) const |
| Searches for the elements containing the points whose coordinates are specified. | |
| SmallArrOfTID_t & | chercher_elements (const DoubleVect &pos, SmallArrOfTID_t &elem, int reel=0) const |
| Searches for the elements containing the points whose coordinates are specified. | |
| int_t | chercher_elements (double x, double y=0, double z=0, int reel=0) const |
| Returns the index of the element containing the point whose coordinates are specified. | |
| SmallArrOfTID_t & | indice_elements (const IntTab &som, SmallArrOfTID_t &elem, int reel=0) const |
| Searches the indices of elements containing the vertices specified by the "sommets" parameter. | |
| SmallArrOfTID_t & | chercher_sommets (const DoubleTab &pos, SmallArrOfTID_t &som, int reel=0) const |
| int_t | chercher_sommets (double x, double y=0, double z=0, int reel=0) const |
| SmallArrOfTID_t & | chercher_aretes (const DoubleTab &pos, SmallArrOfTID_t &arr, int reel=0) const |
| void | rang_elems_sommet (SmallArrOfTID_t &elems, double x, double y=0, double z=0) const |
| const OctreeRoot_t & | construit_octree () const |
| const OctreeRoot_t & | construit_octree (int &) const |
| Build the octree if not already done. | |
| void | invalide_octree () |
| virtual void | clear () |
| Reset the Domaine completely except for its name. | |
| void | renum (const IntVect_t &nums) |
| Renumbering of nodes: node number k becomes node number Les_Nums[k]. | |
| void | check_domaine () |
| associate the read objects to the domaine and check that the reading objects are coherent | |
| void | imprimer () const |
| int | comprimer () |
| Merges boundaries with the same name for: boundaries, periodic boundaries, internal boundaries and face groups. | |
| void | read_former_domaine (Entree &s, bool &read_perio) |
| read what was (before TRUST 1.9.2) the "domaine" part from the input stream i.e. (roughly) the element description. | |
| void | merge_wo_vertices_with (Domaine_32_64 &z) |
| Merge another Domaine into this, without considering vertices which are handled separately. | |
| void | fill_from_list (std::list< Domaine_32_64 * > &lst) |
| Fills the Domaine from a list of Domaine objects by aggregating them. | |
| void | build_mc_mesh (bool virt=false) const |
| Build the MEDCoupling mesh corresponding to the TRUST mesh. | |
| bool | is_mc_mesh_ready () const |
| void | set_mc_mesh_ready (bool flag) const |
| const ArrOfInt_t & | ind_faces_virt_bord () const |
| void | construire_elem_virt_pe_num () |
| void | construire_elem_virt_pe_num (IntTab_t &elem_virt_pe_num_cpy) const |
| const IntTab_t & | elem_virt_pe_num () const |
| virtual void | creer_tableau_elements (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const |
| Creates a parallel array of values at elements. | |
| virtual const MD_Vector & | md_vector_elements () const |
| Returns the parallel descriptor of element arrays of the domain. | |
| virtual void | creer_tableau_sommets (Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const |
| Creates an array with one "row" per mesh vertex. | |
| virtual const MD_Vector & | md_vector_sommets () const |
| void | init_faces_virt_bord (const MD_Vector &md_vect_faces, MD_Vector &md_vect_faces_bord) |
| void | creer_aretes () |
| void | creer_mes_domaines_frontieres (const Domaine_VF &domaine_vf) |
| void | correct_type_of_borders_after_merge () |
| int | identifie_item_unique (IntList &item_possible, DoubleTab &coord_possible, const DoubleVect &coord_ref) |
| void | init_faces_virt_bord (const MD_Vector &md_vect_faces, MD_Vector &md_vect_faces_front) |
| Method called by Domaine_VF::discretiser(). | |
| void | creer_aretes () |
| void | creer_mes_domaines_frontieres (const Domaine_VF &domaine_vf) |
| void | construire_renum_som_perio (const Conds_lim &les_cl, const Domaine_dis_base &domaine_dis) |
| Public Member Functions inherited from Domaine_base | |
| const Nom & | le_nom () const override |
| Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation. | |
| void | nommer (const Nom &nom) override |
| Assigns a name to the Objet_U. Virtual method to override. | |
| double | epsilon () const |
| void | creer_champ (const Motcle &motlu) override |
| virtual void | creer_champ (const Motcle &, const Probleme_base &) |
| void | get_noms_champs_postraitables (Noms &nom, Option opt=NONE) const override |
| const Champ_base & | get_champ (const Motcle &) const override |
| bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override |
| bool | has_champ (const Motcle &nom) const override |
| virtual void | initialiser (double temps, Domaine_dis_base &, Probleme_base &) |
| virtual void | set_dt (double &dt_) |
| virtual void | mettre_a_jour (double temps, Domaine_dis_base &, Probleme_base &) |
| virtual void | update_after_post (double temps) |
| virtual bool | getUpdateTheGrid () |
| virtual void | setUpdateTheGrid (bool) |
| virtual bool | getCouplingMethod () const |
| int | mesh_update_required () const |
| virtual void | validateTimeStep () |
| void | associer_bords_a_imprimer (LIST(Nom) liste) |
| void | associer_bords_a_imprimer_sum (LIST(Nom) liste) |
| Entree & | lire_bords_a_imprimer (Entree &s) |
| Entree & | lire_bords_a_imprimer_sum (Entree &s) |
| const | LIST (Nom) &bords_a_imprimer() const |
| const | LIST (Nom) &bords_a_imprimer_sum() const |
| int | moments_a_imprimer () const |
| int & | moments_a_imprimer () |
| bool | axi1d () const |
| void | fixer_epsilon (double eps) |
| bool | deformable () const |
| bool & | deformable () |
| void | set_fichier_lu (Nom &nom) |
| const Nom & | get_fichier_lu () const |
| virtual const DoubleVect & | old_volumes_entrelaces () const |
| virtual const DoubleVect & | old_volumes () const |
| virtual void | apply_old_to_new_volume_scaling (DoubleTab &tab, const Domaine_dis_base &dvf) const |
| virtual void | ajouter_correctif_volumique (const DoubleTab &, const DoubleTab &, double, DoubleTab &) const |
| virtual int | save_additional_state (Sortie &, const Probleme_base &) const |
| virtual int | restore_additional_state (Entree &, Probleme_base &) |
| virtual std::vector< YAML_data > | data_a_sauvegarder (const Probleme_base &pb) const |
| Public Member Functions inherited from Champs_compris_interface | |
| virtual | ~Champs_compris_interface () |
| virtual bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const =0 |
| 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 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. | |
| const Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Static Public Member Functions | |
| static int | identifie_item_unique (IntList &item_possible, DoubleTab &coord_possible, const DoubleVect &coord_ref) |
| 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) |
Protected Member Functions | |
| OWN_PTR (Elem_geom_base_32_64< _SIZE_ >) elem_ | |
| OWN_PTR (OctreeRoot_t) deriv_octree_ | |
| LIST (OBS_PTR(Sous_Domaine_t)) les_ss_domaines_ | |
| LIST (OBS_PTR(Domaine_32_64)) domaines_frontieres_ | |
| Protected Member Functions inherited from Domaine_base | |
| LIST (Nom) bords_a_imprimer_ | |
| LIST (Nom) bords_a_imprimer_sum_ | |
| void | duplique_bords_internes () |
| 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 |
Protected Attributes | |
| DoubleTab_t | sommets_ |
| DoubleTab_t | sommets_n |
| ArrOfInt_t | renum_som_perio_ |
| IntTab_t | mes_elems_ |
| IntTab_t | aretes_som_ |
| IntTab_t | elem_aretes_ |
| ArrOfInt_t | ind_faces_virt_bord_ |
| IntTab_t | elem_virt_pe_num_ |
| ArrOfDouble | cg_moments_ |
| Bords_t | mes_faces_bord_ |
| Raccords_t | mes_faces_raccord_ |
| Bords_Internes_t | mes_bords_int_ |
| Groupes_Faces_t | mes_groupes_faces_ |
| Joints_t | mes_faces_joint_ |
| Noms | bords_perio_ |
| List of periodic boundaries - this is filled by Interprete 'Declarer_bord_perio'. | |
| Protected Attributes inherited from Domaine_base | |
| Nom | nom_ |
| Domaine name. | |
| int | moments_a_imprimer_ |
| double | epsilon_ |
| bool | deformable_ = false |
| Nom | fichier_lu_ |
| double | volume_total_ |
| Total volume of the domain (sum over all processors). | |
| Champs_compris | champs_compris_ |
| bool | mesh_update_required_ = false |
Additional Inherited Members | |
| 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 |
class Domaine_32_64 A Domain is a mesh composed of a set of geometric elements of the same type.
This include file should be used in place of the former.
The different types of elements are objects of classes derived from Elem_geom_base. A domain is made up of nodes, elements, boundaries, periodic boundaries, joints, connections and internal boundaries.
This class is templatized on the 32/64 bit configuration. All the methods/members not sensitive to this are in Domaine_base.
class Domaine;
forward declaration.
| using Domaine_32_64< _SIZE_ >::ArrOfDouble_t = ArrOfDouble_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::ArrOfInt_t = ArrOfInt_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::ArrsOfInt_t = ArrsOfInt_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Bord_Interne_t = Bord_Interne_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Bord_t = Bord_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Bords_Internes_t = Bords_Internes_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Bords_t = Bords_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::DoubleTab_t = DoubleTab_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::DoubleTabs_t = DoubleTabs_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::DoubleVect_t = DoubleVect_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Frontiere_t = Frontiere_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Groupe_Faces_t = Groupe_Faces_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Groupes_Faces_t = Groupes_Faces_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::int_t = _SIZE_ |
| using Domaine_32_64< _SIZE_ >::IntTab_t = IntTab_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::IntVect_t = IntVect_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Joint_t = Joint_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Joints_t = Joints_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::OctreeRoot_t = OctreeRoot_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Raccord_t = OWN_PTR(Raccord_base_32_64<_SIZE_>) |
| using Domaine_32_64< _SIZE_ >::Raccords_t = Raccords_32_64<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::SmallArrOfTID_t = SmallArrOfTID_T<_SIZE_> |
| using Domaine_32_64< _SIZE_ >::Sous_Domaine_t = Sous_Domaine_32_64<_SIZE_> |
|
inline |
|
inline |
| void Domaine_32_64< _SZ_ >::ajouter | ( | const DoubleTab_t & | soms | ) |
Adds nodes (or vertices) to the domain (without checking for duplicates).
| (DoubleTab& | soms) the array containing the coordinates of the nodes to add to the domain |
Definition at line 908 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::ajouter | ( | const DoubleTab_t & | soms, |
| IntVect_t & | nums ) |
Adds nodes to the domain with elimination of duplicate nodes. On return, nums contains the new indices of the nodes from soms.
after elimination of duplicates.
| (DoubleTab& | soms) the array containing the coordinates of the nodes to add to the domain |
| (IntVect& | nums) the array of new indices after adding new nodes and eliminating duplicates. |
| duplicate | nodes were found |
Definition at line 928 of file Domaine.cpp.
|
inline |
|
inline |
|
overridevirtual |
Associates a Sous_Domaine to the Domain.
The interface accepts any Objet_U but only handles (dynamically) the association of an object derived from Sous_Domaine.
| (Objet_U& | ob) the object to associate |
Reimplemented from Objet_U.
Definition at line 1298 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Domaine_32_64< _SZ_ >::build_mc_mesh | ( | bool | virt = false | ) | const |
Build the MEDCoupling mesh corresponding to the TRUST mesh.
MEDCoupling:
Definition at line 1325 of file Domaine.cpp.
|
inline |
| void Domaine_32_64< _SZ_ >::calculer_centres_gravite_aretes | ( | DoubleTab_t & | xa | ) | const |
Computes the centers of gravity of the domain edges.
| (DoubleTab& | xa) the array containing the centers of gravity of the domain edges |
Definition at line 791 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::calculer_mon_centre_de_gravite | ( | ArrOfDouble & | c | ) |
Computes the center of gravity of the domain.
Definition at line 735 of file Domaine.cpp.
|
virtual |
Computes the volumes of the domain elements.
| (DoubleVect& | volumes) the array containing the volumes of the domain elements |
Reimplemented in DomaineAxi1d_32_64< _SIZE_ >, DomaineAxi1d_32_64< int >, and DomaineAxi1d_32_64< trustIdType >.
Definition at line 763 of file Domaine.cpp.
|
inline |
|
inline |
| void Domaine_32_64< _SZ_ >::check_domaine | ( | ) |
associate the read objects to the domaine and check that the reading objects are coherent
Definition at line 340 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::SmallArrOfTID_t & Domaine_32_64< _SZ_ >::chercher_aretes | ( | const DoubleTab & | pos, |
| SmallArrOfTID_t & | aretes, | ||
| int | reel = 0 ) const |
| (DoubleTab& | pos) |
| (IntTab& | aretes_som) the definition of edges by their vertices |
Definition at line 676 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::SmallArrOfTID_t & Domaine_32_64< _SZ_ >::chercher_elements | ( | const DoubleTab & | positions, |
| SmallArrOfTID_t & | elements, | ||
| int | reel = 0 ) const |
Searches for the elements containing the points whose coordinates are specified.
Lookup methods and mapping arrays
| (DoubleTab& | positions) the coordinates of the points whose containing element is sought |
| (ArrOfInt_t& | elements) the array of indices of the elements containing the specified points |
Definition at line 404 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::SmallArrOfTID_t & Domaine_32_64< _SZ_ >::chercher_elements | ( | const DoubleVect & | positions, |
| SmallArrOfTID_t & | elements, | ||
| int | reel = 0 ) const |
Searches for the elements containing the points whose coordinates are specified.
| (DoubleVect_t<_SZ_>& | positions) the coordinates of the point whose containing element is sought |
| (ArrOfInt_t& | elements) the array of indices of the elements containing the specified points |
Definition at line 491 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::int_t Domaine_32_64< _SZ_ >::chercher_elements | ( | double | x, |
| double | y = 0, | ||
| double | z = 0, | ||
| int | reel = 0 ) const |
Returns the index of the element containing the point whose coordinates are specified.
| (double | x) X coordinate |
| (double | y) Y coordinate |
| (double | z) Z coordinate |
Definition at line 648 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::SmallArrOfTID_t & Domaine_32_64< _SZ_ >::chercher_sommets | ( | const DoubleTab & | pos, |
| SmallArrOfTID_t & | som, | ||
| int | reel = 0 ) const |
| (DoubleTab& | pos) |
| (ArrOfInt_t& | som) |
Definition at line 662 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::int_t Domaine_32_64< _SZ_ >::chercher_sommets | ( | double | x, |
| double | y = 0, | ||
| double | z = 0, | ||
| int | reel = 0 ) const |
| (double | x) X coordinate |
| (double | y) Y coordinate |
| (double | z) Z coordinate |
Definition at line 690 of file Domaine.cpp.
|
virtual |
Reset the Domaine completely except for its name.
Various
Reimplemented in Domaine_ALE.
Definition at line 108 of file Domaine.cpp.
| int Domaine_32_64< _SZ_ >::comprimer | ( | ) |
Merges boundaries with the same name for: boundaries, periodic boundaries, internal boundaries and face groups.
Definition at line 546 of file Domaine.cpp.
| int Domaine_32_64< _SIZE_ >::comprimer_joints | ( | ) |
Merges joints with the same name.
Definition at line 1565 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::construire_elem_virt_pe_num | ( | ) |
Builds the elem_virt_pe_num_ array from the mes_elems array (using the distant and virtual spaces of mes_elems). Non-optimal memory algorithm: mes_elems is duplicated whereas only a two-column array is needed. See Domaine.h: elem_virt_pe_num_
Definition at line 703 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::construire_elem_virt_pe_num | ( | IntTab_t & | elem_virt_pe_num_cpy | ) | const |
Definition at line 709 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::construire_renum_som_perio | ( | const Conds_lim & | les_cl, |
| const Domaine_dis_base & | domaine_dis ) |
Definition at line 2233 of file Domaine.cpp.
| void Domaine_32_64< int >::construire_renum_som_perio | ( | const Conds_lim & | les_cl, |
| const Domaine_dis_base & | domaine_dis ) |
Definition at line 2206 of file Domaine.cpp.
| const Domaine_32_64< _SZ_ >::OctreeRoot_t & Domaine_32_64< _SZ_ >::construit_octree | ( | ) | const |
Definition at line 816 of file Domaine.cpp.
| const Domaine_32_64< _SZ_ >::OctreeRoot_t & Domaine_32_64< _SZ_ >::construit_octree | ( | int & | reel | ) | const |
Build the octree if not already done.
Definition at line 832 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
| void Domaine_32_64< int >::correct_type_of_borders_after_merge | ( | ) |
Definition at line 1171 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::correct_type_of_borders_after_merge | ( | ) |
Correcting type of borders if they were empty before merge (ie equal to vide_0D).
Difference with corriger_type is that we don't want to delete faces inside borders afterwards. Int version handles joints, not the 64b one.
Definition at line 1161 of file Domaine.cpp.
| void Domaine_32_64< int >::creer_aretes | ( | ) |
Version of creer_aretes compatible with polyhedra
Definition at line 1913 of file Domaine.cpp.
| void Domaine_32_64< _SIZE_ >::creer_aretes | ( | ) |
Definition at line 2118 of file Domaine.cpp.
| void Domaine_32_64< int >::creer_mes_domaines_frontieres | ( | const Domaine_VF & | domaine_vf | ) |
Creation of boundary domains (called during discretisation). Currently a static list of Domains where we need to know the first element for each domain.
Definition at line 2129 of file Domaine.cpp.
| void Domaine_32_64< _SIZE_ >::creer_mes_domaines_frontieres | ( | const Domaine_VF & | domaine_vf | ) |
Definition at line 2172 of file Domaine.cpp.
|
virtual |
Creates a parallel array of values at elements.
See MD_Vector_tools::creer_tableau_distribue()
Definition at line 850 of file Domaine.cpp.
|
virtual |
Creates an array with one "row" per mesh vertex.
See MD_Vector_tools::creer_tableau_distribue()
Definition at line 999 of file Domaine.cpp.
|
inline |
| void Domaine_32_64< _SZ_ >::ecrire_noms_bords | ( | Sortie & | os | ) | const |
Writes the boundary names to an output stream.
Writes the names of: boundaries, periodic boundaries, connections and face groups.
| (Sortie& | os) an output stream |
Definition at line 1031 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
| Domaine_32_64< _SZ_ >::int_t Domaine_32_64< _SZ_ >::face_bords_interne_conjuguee | ( | int_t | face | ) | const |
Returns -1 if face is not an internal boundary face, or the index of the duplicated face otherwise.
| (int | face) the index of the internal boundary face to search for |
| TRUST | error (face not found) |
Definition at line 515 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Domaine_32_64< _SIZE_ >::fill_from_list | ( | std::list< Domaine_32_64< _SIZE_ > * > & | lst | ) |
Fills the Domaine from a list of Domaine objects by aggregating them.
See Mailler for example
Definition at line 1507 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::fixer_premieres_faces_frontiere | ( | ) |
Definition at line 1101 of file Domaine.cpp.
| Domaine_32_64< _SZ_ >::Frontiere_t & Domaine_32_64< _SZ_ >::frontiere | ( | const Nom & | un_nom | ) |
Definition at line 1094 of file Domaine.cpp.
| const Domaine_32_64< _SZ_ >::Frontiere_t & Domaine_32_64< _SZ_ >::frontiere | ( | const Nom & | un_nom | ) | const |
Definition at line 1087 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
| DoubleTab Domaine_32_64< _SZ_ >::getBoundingBox | ( | ) | const |
Definition at line 883 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| int Domaine_32_64< int >::identifie_item_unique | ( | IntList & | item_possible, |
| DoubleTab & | coord_possible, | ||
| const DoubleVect & | coord_ref ) |
Selects a unique item (vertex, face ...) from a list (item_possible) in order to ensure the parallelism of certain algorithms. The selection is made by testing the distance between the coordinates (coord_possible) locating these items with respect to the coordinates (coord_ref) of a reference point. The retained item is the one with the minimum distance to the reference point. If several items remain at the same distance from the reference point, the test is repeated by translating the reference point.
Definition at line 1689 of file Domaine.cpp.
|
static |
Methods only used in 32 bits (i.e. after Scatter)
Definition at line 1756 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::imprimer | ( | ) | const |
Definition at line 1183 of file Domaine.cpp.
|
inline |
| Domaine_32_64< _SZ_ >::SmallArrOfTID_t & Domaine_32_64< _SZ_ >::indice_elements | ( | const IntTab & | sommets, |
| SmallArrOfTID_t & | elem, | ||
| int | reel = 0 ) const |
Searches the indices of elements containing the vertices specified by the "sommets" parameter.
Uses: ArrOfInt_t& Domaine_32_64<SZ>::chercher_elements(const DoubleTab&,ArrOfInt_t&) const
| (IntTab& | sommets) the array of vertex indices whose containing elements are searched |
| (ArrOfInt_t& | elem_) the array containing the indices of elements containing the specified vertices |
Definition at line 382 of file Domaine.cpp.
| void Domaine_32_64< _SIZE_ >::init_faces_virt_bord | ( | const MD_Vector & | md_vect_faces, |
| MD_Vector & | md_vect_faces_bord ) |
Definition at line 1904 of file Domaine.cpp.
| void Domaine_32_64< int >::init_faces_virt_bord | ( | const MD_Vector & | md_vect_faces, |
| MD_Vector & | md_vect_faces_front ) |
Method called by Domaine_VF::discretiser().
Builds the descriptor for boundary faces. Fills ind_faces_virt_bord and the get_faces_virt() arrays of the boundaries from the parallel descriptor of faces. Note B.M.: having placed faces in Domaine_VF, edges in Domaine, some face boundary properties in Domaine_VF and others in Domaine makes the initialization follow somewhat convoluted paths... this should be cleaned up.
Definition at line 1773 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::init_renum_perio | ( | ) |
Initialize the renumerotation array for periodicity.
Definition at line 1312 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::invalide_octree | ( | ) |
Definition at line 809 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
inline |
|
protected |
|
virtual |
Returns the parallel descriptor of element arrays of the domain.
Definition at line 859 of file Domaine.cpp.
|
inlinevirtual |
| void Domaine_32_64< _SZ_ >::merge_wo_vertices_with | ( | Domaine_32_64< _SIZE_ > & | z | ) |
Merge another Domaine into this, without considering vertices which are handled separately.
Definition at line 1236 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the number of faces of type i of the geometric elements that make up the domain.
Ex: objects of the Prism class have 2 types of faces: triangle or quadrangle.
| (int | i) the type of face |
|
inline |
|
inline |
Returns the number of boundary faces of the domain of the specified type.
It is the sum of the numbers of boundaries, connections and internal boundaries of the specified type.
| (Type_Face | type) a type of face (some geometric elements have multiple types of faces) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the number of specific faces of the domain of the specified type.
It is the sum of the numbers of boundaries, connections of internal boundaries and groups of faces of the specified type.
| (Type_Face | type) a face type (some geometric elements have several types of faces) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the number of vertices of the geometric elements that make up the domain.
Since all elements of the domain are of the same type they all have the same number of vertices which is the number of vertices of the type of the geometric elements of the domain.
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
mutableprotected |
|
inline |
|
inline |
|
inline |
|
inline |
| void Domaine_32_64< _SZ_ >::rang_elems_sommet | ( | SmallArrOfTID_t & | elems, |
| double | x, | ||
| double | y = 0, | ||
| double | z = 0 ) const |
Definition at line 802 of file Domaine.cpp.
| int Domaine_32_64< _SZ_ >::rang_frontiere | ( | const Nom & | un_nom | ) | const |
Definition at line 1051 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::read_former_domaine | ( | Entree & | s, |
| bool & | read_perio ) |
read what was (before TRUST 1.9.2) the "domaine" part from the input stream i.e. (roughly) the element description.
| read_perio | set to True if periodic boundaries were read in the domain (from TRUST 1.9.8) |
Definition at line 258 of file Domaine.cpp.
| void Domaine_32_64< _SZ_ >::read_vertices | ( | Entree & | s | ) |
only read vertices from the stream s
Definition at line 1009 of file Domaine.cpp.
| Entree & Domaine_32_64< _SZ_ >::readOn_has_perio | ( | Entree & | s, |
| bool & | has_perio ) |
Reads the objects constituting a Domain from an input stream.
Once the objects are read they are associated to the domain.
| (Entree& | s) an input stream |
| (bool& | has_perio) set to True if periodic boundaries were read, false otherwise. |
Definition at line 208 of file Domaine.cpp.
| void Domaine_32_64< _SIZE_ >::renum | ( | const IntVect_t & | Les_Nums | ) |
Renumbering of nodes: node number k becomes node number Les_Nums[k].
| (IntVect& | Les_Nums) vector containing the new numbering: New_node_number_i = Les_Nums[Old_node_number_i] |
Definition at line 2184 of file Domaine.cpp.
| void Domaine_32_64< _SIZE_ >::renum_joint_common_items | ( | const IntVect_t & | Les_Nums, |
| const int_t | elem_offset ) |
Renumbers the nodes and elements present in the common items of joints.
Node number k becomes node number Les_Nums[k], and element number e becomes element number e+elem_offset.
| (IntVect& | Les_Nums) the vector containing the new numbering: New_node_number_i = Les_Nums[Old_node_number_i] |
Definition at line 1548 of file Domaine.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| double Domaine_32_64< _SZ_ >::volume_total | ( | ) | const |
Definition at line 876 of file Domaine.cpp.
|
protected |
|
protected |
List of periodic boundaries - this is filled by Interprete 'Declarer_bord_perio'.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |