From a05683f9588610f86ad52ff8332290d25c4945b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rard=20Rio?= Date: Tue, 26 Mar 2024 15:43:38 +0100 Subject: [PATCH] =?UTF-8?q?suppression=20des=20m=C3=A9thodes=20qui=20ne=20?= =?UTF-8?q?servent=20pas=20actuellement=20dans=20elcontact=5F3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contact/ElContact.h | 39 +++++++------ contact/ElContact_3.cc | 130 ++++++++++++++++++++--------------------- 2 files changed, 84 insertions(+), 85 deletions(-) diff --git a/contact/ElContact.h b/contact/ElContact.h index 24b772c..1e0cbd6 100644 --- a/contact/ElContact.h +++ b/contact/ElContact.h @@ -407,25 +407,26 @@ class ElContact void Ecri_base_info_ElContact(ofstream& sort); #ifdef UTILISATION_MPI // spécifique au calcul parallèle - // stockage dans un unique vecteur, des infos à partir de l'indice rang inclus - // correspond à une sérialisation des infos - // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v - // dans ce cas ramène 0 - // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément - int Pack_vecteur(int niveau, Vecteur& v,int rang) const; - // taille du conteneur actuel de la condition linéaire - // dépend du niveau de sauvegarde - int Taille_Pack(int niveau) const; - // modification des infos à partir de l'indice rang inclus en fonction du vecteur passé en paramètre - // correspond à une désérialisation - // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v - // dans ce cas ramène 0 - // on passe un pointeur de fonctions qui ramène un noeud en fonction d'un numéro de maillage et d'un - // numéro de noeud, ceci pour éviter de passer toute l'instance de la classe Les_maillages - // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément - - template int UnPack_vecteur(T& instance,int niveau,const Vecteur& v,int rang, - Noeud & (T::*Ptfonc) (int num_mail,int num_noeud) const ); +// ----- pour l'instant ne sert pas !!! on commente ------ +// // stockage dans un unique vecteur, des infos à partir de l'indice rang inclus +// // correspond à une sérialisation des infos +// // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v +// // dans ce cas ramène 0 +// // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément +// int Pack_vecteur(int niveau, Vecteur& v,int rang) const; +// // taille du conteneur actuel de la condition linéaire +// // dépend du niveau de sauvegarde +// int Taille_Pack(int niveau) const; +// // modification des infos à partir de l'indice rang inclus en fonction du vecteur passé en paramètre +// // correspond à une désérialisation +// // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v +// // dans ce cas ramène 0 +// // on passe un pointeur de fonctions qui ramène un noeud en fonction d'un numéro de maillage et d'un +// // numéro de noeud, ceci pour éviter de passer toute l'instance de la classe Les_maillages +// // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément +// +// template int UnPack_vecteur(T& instance,int niveau,const Vecteur& v,int rang, +// Noeud & (T::*Ptfonc) (int num_mail,int num_noeud) const ); #endif protected : diff --git a/contact/ElContact_3.cc b/contact/ElContact_3.cc index 9ab1d86..208dcef 100755 --- a/contact/ElContact_3.cc +++ b/contact/ElContact_3.cc @@ -48,73 +48,71 @@ #ifdef UTILISATION_MPI // spécifique au calcul parallèle - // stockage dans un unique vecteur, des infos à partir de l'indice rang inclus - // correspond à une sérialisation des infos - // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v - // dans ce cas ramène 0 - // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément - int ElContact::Pack_vecteur(int niveau, Vecteur& v,int rang) const - { switch (niveau) - {case 1: - {v(rang) = actif; rang++; - int tail_tabNoeud = tabNoeud.Taille(); - v(rang)= tail_tabNoeud;rang++; - for (int i=1;i<=tail_tabNoeud;i++) - {v(rang)= tabNoeud(i)->Num_Mail();rang++; - v(rang)= tabNoeud(i)->Num_noeud();rang++; - }; - v(rang) = num_zone_contact; rang++; - - - +// ----- pour l'instant ne sert pas !!! on commente ------ - } - break; - default: - cout << "\n *** erreur ElContact::Pack_vecteur(int niveau, ..." - << " le niveau demande "<< niveau << " n'est pas implante " - << " on ne peut pas continuer "; - Sortie(1); - } - - }; - // taille du conteneur actuel de la condition linéaire - // dépend du niveau de sauvegarde - int ElContact::Taille_Pack(int niveau) const - { switch (niveau) - {case 1: - break; - default: - cout << "\n *** erreur ElContact::Taille_Pack(int niveau, ..." - << " le niveau demande "<< niveau << " n'est pas implante " - << " on ne peut pas continuer "; - Sortie(1); - } - - }; - - // modification des infos à partir de l'indice rang inclus en fonction du vecteur passé en paramètre - // correspond à une désérialisation - // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v - // dans ce cas ramène 0 - // on passe un pointeur de fonctions qui ramène un noeud en fonction d'un numéro de maillage et d'un - // numéro de noeud, ceci pour éviter de passer toute l'instance de la classe Les_maillages - // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément - - template int ElContact::UnPack_vecteur(T& instance,int niveau,const Vecteur& v,int rang, - Noeud & (T::*Ptfonc) (int num_mail,int num_noeud) const ) - { switch (niveau) - {case 1: - break; - default: - cout << "\n *** erreur ElContact::UnPack_vecteur(..,int niveau, ..." - << " le niveau demande "<< niveau << " n'est pas implante " - << " on ne peut pas continuer "; - Sortie(1); - } - - }; - +// // stockage dans un unique vecteur, des infos à partir de l'indice rang inclus +// // correspond à une sérialisation des infos +// // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v +// // dans ce cas ramène 0 +// // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément +// int ElContact::Pack_vecteur(int niveau, Vecteur& v,int rang) const +// { switch (niveau) +// {case 1: +// {v(rang) = actif; rang++; +// int tail_tabNoeud = tabNoeud.Taille(); +// v(rang)= tail_tabNoeud;rang++; +// for (int i=1;i<=tail_tabNoeud;i++) +// {v(rang)= tabNoeud(i)->Num_Mail();rang++; +// v(rang)= tabNoeud(i)->Num_noeud();rang++; +// }; +// v(rang) = num_zone_contact; rang++; +// } +// break; +// default: +// cout << "\n *** erreur ElContact::Pack_vecteur(int niveau, ..." +// << " le niveau demande "<< niveau << " n'est pas implante " +// << " on ne peut pas continuer "; +// Sortie(1); +// } +// return rang; +// }; +// // taille du conteneur actuel de la condition linéaire +// // dépend du niveau de sauvegarde +// int ElContact::Taille_Pack(int niveau) const +// { switch (niveau) +// {case 1: +// break; +// default: +// cout << "\n *** erreur ElContact::Taille_Pack(int niveau, ..." +// << " le niveau demande "<< niveau << " n'est pas implante " +// << " on ne peut pas continuer "; +// Sortie(1); +// } +// +// }; +// +// // modification des infos à partir de l'indice rang inclus en fonction du vecteur passé en paramètre +// // correspond à une désérialisation +// // ramène le positionnement dans v pour un prochain enreg, sauf si > à la taille de v +// // dans ce cas ramène 0 +// // on passe un pointeur de fonctions qui ramène un noeud en fonction d'un numéro de maillage et d'un +// // numéro de noeud, ceci pour éviter de passer toute l'instance de la classe Les_maillages +// // niveau: == 1 -> niveau minimum de sauvegarde, concerne uniquement la structure de l'élément +// +// template int ElContact::UnPack_vecteur(T& instance,int niveau,const Vecteur& v,int rang, +// Noeud & (T::*Ptfonc) (int num_mail,int num_noeud) const ) +// { switch (niveau) +// {case 1: +// break; +// default: +// cout << "\n *** erreur ElContact::UnPack_vecteur(..,int niveau, ..." +// << " le niveau demande "<< niveau << " n'est pas implante " +// << " on ne peut pas continuer "; +// Sortie(1); +// } +// +// }; +// #endif #endif