* 12/01/2007 - Yvan Fournier - Sortie de la version de développement 1.3.c * 10/01/2007 - Yvan Fournier - Correction d'un bug faisant que les noms de groupes n'étaient plus envoyés au Noyau. * 08/01/2007 - Yvan Fournier - Suppression de l'utilitaire slc2ideas ; les fichiers SolCom n'étant plus utilisés depuis plusieurs années, tous ceux qui étaient susceptibles d'être utilisés devraient déjà avoir été convertis. * 05/01/2007 - Yvan Fournier - Traduction des messages utilisateur en Anglais et branchement du mécanisme gettext() pour pouvoir continuer à disposer de la version Française. * 21/12/2006 - Yvan Fournier - Renommage Enveloppe en Préprocesseur dans la documentation utilisateur et les cartouches. - On ne sort l'indicateur de problème de périodicité sur les cellules voisines des faces avec erreur de périodicité que lorsqu'on a effectivement des erreurs. * 20/12/2006 - Yvan Fournier - On n'écrit le champ de marquages des cellules avec erreur de périodicité que lorsque l'on a effectivement des erreurs lors du recollement périodique. * 20/12/2006 - Yvan Fournier - Ajout des entêtes pour licence GPL. * 08/12/2006 - Yvan Fournier - Sortie de la version finale 1.2.3 * 29/08/2006 - Yvan Fournier - Sortie de la version de développement 1.3.b - Les principaux maillages sortis au format EnSight sont subdivisés en parts correspondant aux différents attributs (sauf si la sous option "-simple" est utilisée). * 22/08/2006 - Yvan Fournier - Les sous-options "-vol", "-bord", "-info", et "-simple" des options de post traitement sont maintenant actives. - L'option (éventuellement multiple) "-select" est remplacée par l'option (unique) "-fac-int". * 16/08/2006 - Yvan Fournier - En cas de sortie CGNS, les maillages sont à nouveau affectés à des fichiers différents (car EnSight ne prend en compte que la première base d'un fichier CGNS, et VisIt considère que chaque base correspond à un instant). * 17/07/2006 - Yvan Fournier - Suppression du calcul des critères de qualité, maintenant à la charge du Noyau. Les seuls champs de type "post traitement" écrits sont maintenant les familles et le numéro de domaine en parallèle ; ils sont écrits sous forme de champs entiers pour les formats MED et CGNS. * 17/07/2006 - Yvan Fournier - Sortie de la version de développement 1.3.a * 19/05/2006 - Yvan Fournier - Les fichiers de communication vers le Noyau sont ouverts un par un. Ainsi, on ne devrait plus subir la limitation sur le nombre de fichiers ouvers simultanément due au système d'exploitation lors d'un découpage sur un grand nombre de processeurs. - En cas de sortie MED ou CGNS, tous les maillages sont affectés à un même fichier (au même titre que les "parts" EnSight étaient déjà affectés à un même cas). - Suppression des champs indiquant le type des éléments après passage en connectivité descendante ; dans le modèle de données, le typage des éléments devient donc spécifique à la connectivité nodale. * 09/05/2006 - Yvan Fournier - Simplifications de la structure interne (avec mise à jour du manuel informatique). - Optimisations mémoire et CPU diverses. - Pour le recollement automatique (activé lorsqu'un fichier de maillage contient des informations sur les faces non conformes en vis-à-vis), l'information sur la correspondance des faces est utilisée (en plus du critère de co-planéité) pour filtrer la reconstruction des faces fusionnées, ce qui devrait améliorer la robustesse de l'algorithme. * 20/04/2006 - Yvan Fournier - Suppression des traitements en mode post-traitement du noyau, désormais pris en compte directement via FVM. - Suppression des supports de communication via MPI et sockets (la communication étant maintenant unidirectionnelle). * 12/04/2006 - Carole Vit - Passage au système GNU Autoconf/Automake/Libtool pour la configuration et la compilation. * 10/04/2006 - Yvan Fournier - Correction d'un problème de critère de sélection lorsqu'on combinait l'option "-bord" (ou "-int") avec l'option "-invsel" ; la sélection n'était pas inversée pour les faces de numéro inférieur à celui de la première face de bord (ou intérieure), conduisant à la sélection de faces qui n'auraient pas du l'être. * 30/03/2006 - Yvan Fournier - Correction d'un problème dans le filtre de lecture GAMBIT neutral ; la conversion de numéros d'éléments en indices était erronnée dans certains cas, et les conditions aux limites ou groupes pouvaient être mal définis. * 24/03/2006 - Yvan Fournier - Correction d'un problème dans le filtre de lecture CGNS : lorsqu'une condition aux limites est définie via une liste d'éléments mais ne contient pas d'attribut de type GridLocation, on cherchait à construire la C.L. à partir des sommets, provoquant une erreur. - Amélioration du filtre de lecture CGNS : lorsqu'une condition aux limites porte un nom de famille, on utilise ce nom pour définir le groupe asocié à la C.L. * 15/03/2006 - Yvan Fournier - Ajout d'un filtre de lecture au format GAMBIT neutral. * 13/02/2006 - Yvan Fournier - Correction d'un problème de lecture de certains fichiers MED contenant des polygones (du à un mauvais dimensionnement). - Correction d'un problème de lecture de fichiers MED contenant plusieurs maillages. * 11/02/2006 - Yvan Fournier - Correction d'un problème de lecture de certains fichiers CGNS (provoquant une erreur lorsque le nombre de conditions aux limites associé à une zone est inférieur au nombre de C.L. associé à la dernière zone, et la non lecture des dernières C.L. d'une zone si son nombre de C.L. est supérieur à celui de la dernière zone). * 08/02/2006 - David Monfort - Correction d'un problème de lecture des fichiers Comet Design induit indirectement par le passage à la librairie BFT pour les opérations de bas niveau sur les fichiers (apparu à la version 1.2.b) * 07/12/2005 - Yvan Fournier - On n'envoie plus les centres de gravité des faces et cellules, ni les normales des faces au noyau (qui les calcule maintenant lui-même). * 06/12/2005 - Yvan Fournier - Sortie de la version finale 1.2.1 * 06/12/2005 - Yvan Fournier - Correction d'un problème de définition des couleurs à partir de familles MED dont le descripteur d'attribut contient des caractères nuls et non des blancs. - Passage de la limite supérieure autorisée du paramère de recollement "-plan" de 0.99 à 0.9999. * 06/09/2005 - Yvan Fournier - Remplacement des fonctions de bas niveau de chronométrie et de gestion des erreurs de virgule flottante par celles de BFT 1.0 * 31/08/2005 - Yvan Fournier - Sortie de la version finale 1.2.0 (identique à la version 1.2.d, avec passage à BFT 1.0.0) * 18/08/2005 - Yvan Fournier - Sortie de la version de développement 1.2.d. * 11/08/2005 - Yvan Fournier - Suppression de l'option "-noeuds / -n". Avec le branchement de la librairie FVM sur le Noyau pour la génération directe de fichiers de post traitement, les connectivités faces -> sommets deviennent nécessaires dans tous les cas, donc leur envoi est maintenant systématique. * 20/04/2005 - Yvan Fournier - Sortie de la version de développement 1.2.c. * 20/04/2005 - Yvan Fournier - Les attributs de famille MED contenant un descripteur ne sont plus convertis en couleur, mais restent bien des attributs. * 12/04/2005 - Yvan Fournier - Correction de la longueur des chaînes de caractères pour les noms et unités de coordonnées (16 au lieu de 8) pour les champs en format MED 2.2 (la correction équivalente sur le maillage avait été réalisée le 27/09/2004). * 23/03/2005 - Yvan Fournier - Ajout du traitement de la plupart des types d'éléments finis I-deas ; on ne gérait auparavant que les éléments volumiques, les éléments surfaciques de type "thin shell", et deux types de poutres. - Correction d'un problème de lecture de fichiers MED utilisant une numérotation discontinue de familles. * 10/02/2004 - Yvan Fournier - Sortie de la version de développement 1.2.b. * 10/02/2005 - Yvan Fournier - Mises à jour mineures dans la documentation - Correction d'un problème dans le filtre de lecture EnSight rencontré lorsqu'une "part" contient explicitement un nombre nul de mailles d'un type donné (arrêt de la lecture sur un maillage externe généré per Harpoon). - Mise à vide de la chaîne de description de maillage au format MED, préalablement non initialisée. - Correction de l'interprétation du modèle MED : les numéros des sommets sont optionnels, et seuls leurs indices sont utiles aux connectivités. Ces numéros ne sont plus pris en compte. * 10/12/2004 - Yvan Fournier - Branchement sur la librairie BFT (remplacement des fonctionnalités équivalentes). - Amélioration de la vérification/correction de l'orientation des éléments de type prisme. - Ajout d'un filtre de lecture au format Gmsh. * 23/11/2004 - Yvan Fournier - Sortie de la version de développement 1.2.a. * 18/11/2004 - Eric Quemerai, Yvan Fournier - Ajout d'un filtre de lecture Ensight 6 et Ensight Gold. - Ajout d'un filtre de lecture Comet. * 04/11/2004 - Yvan Fournier - Sortie de la version 1.1.2 finale. - Portage sur machine Tantale du CCRT (Cluster Opteron/Infiniband avec MPI Voltaire sur base mpich et compilateur pgcc 5.2). * 15/10/2004 - Yvan Fournier - Assouplissement des paramètres autorisés pour le recollement conforme : les valeurs du paramètre "-fraction" supérieures ou égales à 0.5 sont autorisées, mais un message d'avertissement précise qu'elles sont réservées aux experts. L'algorithme n'a pas changé, donc seules des valeurs légèrement supérieures ont une chance rélle d'être utilisables, et restent fortement déconseillées. - Reprise de la correction d'un problème de concaténation de champ vide du 25/03/2004, qui introduisait un nouveau problème de mauvaise concaténation de champs définis sur un maillage et non sur un autre (comme peuvent l'être des couleurs ou groupes). La nouvelle correction traite le problème initial plus en amont (on ne cherche plus à concaténer les champs d'une entité de taille nulle, comme celle définissant les nouvelles arêtes issues du découpage en triangles d'un maillage surfacique déjà triangulaire). * 29/09/2004 - Yvan Fournier - Correction d'un problème de sortie d'un champ MED lorsque l'on a plusieurs types d'éléments (du à un mauvais décalage dans le tableau des valeurs transmises). - Suppression des parenthèses autour des descripteurs "decoupe" et "aretes" pour les maillages surfaciques extraits dont les polygones sont découpés en triangles (peu agréable à manipuler dans les noms de fichiers MED). * 27/09/2004 - Yvan Fournier - Correction de la longueur des chaînes de caractères pour les noms et unités de coordonnées (16 au lieu de 8) pour la sortie en format MED 2.2. * 24/09/2004 - Yvan Fournier - Ajout d'une fonctionnalité de vérification de la bonne orientation des mailles en connectivité nodale et d'une option "-orient" permettant de tenter de corriger cette orientation avant le passage en connectivité descendante. Les éléments polyédriques ne sont pas encore vérifiés. * 15/08/2004 - Yvan Fournier - On ne supprime plus le champ indiquant le type des éléments volumiques comme on le faisait depuis le 18/06/04 : sa suppression entraînait une erreur sur les sorties volumiques au format MED. Une autre solution aurait été d'enrichir le descripteur de format MED (afin qu'il contienne le nombre d'éléments de chaque type), mais on préfère attendre le branchement sur la librairie FVM pour résoudre autrement ce problème. * 19/06/2004 - Yvan Fournier - Ajout d'une variable de compilation ECS_MPI_PREINIT pour déterminer si l'on doit appeler MPI_Init() avant l'interprétation de la ligne de commande. On ne cherche plus à effectuer automatiquement ce choix selon si la librairie MPI semble être basée sur MPICH. - Suppression du mode de compilation NOVECT (mode sans vectorisation très rarement utilisé sur VPP 5000 ; les options par défaut en mode DEBUG sont déjà sans vectorisation). * 18/06/2004 - Yvan Fournier - Suppression des champs indiquant le type des éléments après passage en connectivité descendante ; on les reconstruit au besoin pour le passage de faces en connectivité nodale. Dans le modèle de données, le typage des éléments devient donc spécifique à la connectivité nodale. - Correction d'une erreur dans l'affichage de la taille des rubriques avec l'option -echo-comm et découpage de domaines (on affichait pour le domaine i la taille maximale de la rubrique pour les domaines 1 à i). * 12/06/2004 - Yvan Fournier - Blindage du calcul de critères de qualité pour les maillages avec une mauvaise connectivité : si une face considérée comme "interne" est à la fois entrante et sortante de la même cellule, on affecte la valeur 1000 aux valeurs correspondantes de non-orthogonalité, pondération, et décentrement, avec un message d'avertissement plutôt que de provoquer une erreur (de type "assert" ou de type virgule flottante selon les options de compilation) comme précédemment). On pourra alors repérer les zones à problème avec tout bon outil de visualisation. - Modification de la détermination du type d'une face (bord, interne, isolée, ou avec erreur de connectivité) ; on la détection d'erreurs de connectivité est plus précise : on ne considère plus uniquement les faces appartenant à 3 cellules ou plus, mais les faces dont a moins deux cellules partagent un "coté" (en cas notamment d'erreur d'orientation). La programmation est aussi légèrement simplifiée. - Gestion de la présence de polyèdres pour les sorties CGNS : les polyèdres sont ignorés, et les champs éventuels ne sont donc écrits que pour le reste du maillage. Un message d'avertissement est affiché. * 01/06/2004 - Yvan Fournier - Ajout du traitement des systèmes de coordonnées I-DEAS dans le cas cartésien (les systèmes cylindriques et sphériques ne sont toujours pas convertis) ; on peut revenir à l'ancien comportement en posisitionnant la variable d'environnement ECS_PRE_IDEAS_IGNORE_SYS_COO à une valeur entière > 0. - Modification du convertisseur slc2ideas : les éléments de type pyramide ne sont plus ignorés mais convertis en hexaèdres dégénérés (avec 4 sommets confondus). - Ajout du traitement des polyèdres pour la lecture ou écriture au format MED 2.2 en connectivité nodale et pour l'écriture au format Ensight Gold. Un fichier Ensight Gold contenant des polyèdres ne pourra pas être lu par ParaView (ou tout autre visualisaeur dont la lecture de fichiers Ensight est basée sur la librairie VTK). L'écriture au format CGNS ne fonctionne pas non plus en cas de présence de polyèdres. - Ajout du traitement des polyèdres lors du passage en connectivité descendante. * 25/03/2004 - Yvan Fournier - Correction d'un problème de concaténation de champ vide provoquant un plantage en cas de découpage en triangles d'un maillage surfacique déjà triangulaire. * 08/03/2004 - Yvan Fournier - Sortie de la version avec corrections 1.1.1 pour distribution Neptune 3D local 1.0. * 05/03/2004 - Yvan Fournier - Calcul correct du coût mémoire sur Tru64 Unix (OSF1) pour la machine du CCRT. * 25/02/2004 - Yvan Fournier - Correction d'un problème de filtrage de la sélection empêchant de recoller des faces isolées à des faces de bord. * 16/02/2004 - Yvan Fournier - Réorientation des connectivités "faces->sommets" lorsque c'est nécessaire pour avoir une cohérence avec les normales. Au préalable, les normales étaient bien orientées, mais l'orientation des connectivités "faces->sommets" n'était pas assurée. * 14/02/2004 - Yvan Fournier - Intégration de corrections pour le portage sur machine Compaq sous OSF1 au CCRT. * 02/11/2003 - Yvan Fournier - Ajout du traitement des polygones lors du passage en connectivité descendante. - Correction d'un problème à l'écriture des familles MED : le nombre d'attributs des familles écrit était mis à 0 - Correction d'un problème de perte des attributs des faces suite au recollement d'un maillage MED : lors de la conversion des familles en groupes et couleurs, les champs correspondant n'avaient pas le statut "héritable" et étaient donc détruits après le recollement. * 17/10/2003 - Yvan Fournier - Sortie de la version finale 1.1.0 * 15/10/2003 - Yvan Fournier - Correction d'un problème apparaissant à l'écriture de fichiers binaires de type "Fortran" sous système 64 bit "little endian" (i.e. processeur Alfa). Ce bug était le pendant en écriture de celui corrigé en septembre 2002 à la lecture de fichiers de même type (apparaissant sur des fichiers Simail générés sous Linux et lus sur VPP5000). * 13/10/2003 - Yvan Fournier - Correction de bug apparaissant lorsqu'un nom de format de coupe n'était pas reconnu (bouclait sans fin avec avertissement -> si la sortie était redirigée sur un fichier, sa taille augmentait jusqu'à ce que l'exécution plante). * 10/10/2003 - Yvan Fournier - Blindage pour slc2ideas : si le nombre de faces de bord détectées ne correspond pas au nombre indiqué dans le dimensionnement, on sort avec un message d'erreur expliquant que l'on a peut-être des parois minces s'appuyant sur les mêmes sommets de part et d'autre et que cela n'est pas autorisé (au préalable, on s'arrêtait sur un assert() en mode debug et on pouvait planter sur un dépassement de bornes de tableau en mode optimisé). * 06/10/2003 - Yvan Fournier - Optimisation de boucles dans la construction de la périodicité pour corriger un problème de performances commun à toutes les architectures (boucle quasi-quadratique) mais pénalisant surtout sur VPP5000 * 21/08/2003 - Yvan Fournier - Sortie de la version de dévelopement 1.1.l * 07/08/2003 - Yvan Fournier - Amélioration du filtre slc2ideas pour corriger les hexaèdres mal orientés. * 05/08/2003 - Yvan Fournier - Limitation du niveau d'optimisation du compilateur C HP à 2 (via un #pragma) sur les recherches d'intersections en recollement conforme pour éviter un bug détecté sur la version 1.1.k compilée sur HP 9000/785 sous HP-UX 11.11. * 26/07/2003 - Yvan Fournier - Correction du message d'erreur en cas de non reconnaissance du format de fichier par son extension. - L'extension de fichier ".nopo" est maintenant reconnue et équivalente à l'extension ".des". * 22/07/2003 - Yvan Fournier - Sortie de la version de dévelopement 1.1.k * 11/07/2003 - Yvan Fournier - La documentation est maintenant constituée de deux parties : un document utilisateur + théorie (crée avec pdfLaTeX) et la documentation informatique toujours créée avec dvipdfm. - L'option "-echo-comm" affiche maintenant explicitement les caractères nuls sous la forme '\0'. * 11/07/2003 - Yvan Fournier - L'option "-echo-comm" affiche maintenant explicitement les caractères nuls sous la forme '\0'. * 06/07/2003 - Yvan Fournier - Le couplage SYRTHES gère maintenant l'arrêt propre de SYRTHES par Code_Saturne, avec post-traitement systématique du dernier pas de temps pour les deux codes. - Correction d'un bug de lecture pour les fichiers CGNS comportant plusieurs sections non structrées, et ajout de sous-options de sélection de fichier de maillage "-grp-cel" et "-grp-fac" avec mots clés associés "section" ou "zone" pour construire des groupes supplémentaires. Ceci permet de reconstruire des informations pour un maillage issu de FLUENT pour lequel les informations de type conditions aux limites CGNS ne sont pas disponibles. * 30/06/2003 - Yvan Fournier - Sortie de la version de dévelopement 1.1.j * 30/06/2003 - Yvan Fournier - Correction de bug sur les sorties Ensight pouvant apparaître lorsque l'on crée plusieurs coupes dans un même cas. On pouvait écraser la tête de la liste des cas, et le post-traitement sur le maillage principal et éventuellement les cas de coupes crées avant celui contenant plusieurs coupes ne se faisait plus. - Réécriture de la numérotation des groupes envoyés au noyau pour corriger un bug du au fait que l'appel à la renumérotation avait été déplacé après la crétion des familles pour ne stocker que localement un tableau de noms des groupes. Sous la nouvelle forme, la numérotation des groupes est locale à ecs_entmail_ncs.c et ne modifie pas les descripteurs des groupes. - Lorsque l'on fournit une famille par défaut pour des faces ou des cellules, on rajoute effectivement pour le noyau une famille à la fin de la liste des familles, et on remplace les valeurs à 0 par ce numéro dans les listes de numéros de famille de faces de bord et cellules fournies au noyau. Ceci évite des problèmes de valeur indéfinie de IPRFML(IFAM, IPROP) lorsque IFAM = 0 dans les fichiers Fortran utilisateur du noyau. * 26/06/2003 - Yvan Fournier - Ajout d'un appel à MPI_Barrier() avant MPI_Finalize() pour permettre la synchronization finale avec des processus en communication. Sinon, on peut avoir une erreur MPI sur tentative d'échange de messages avec un processus déjà terminé. Le construction du communicateur interne noyau est maintenant faite au moyen de MPI_Comm_split(), ce qui est plus simple et plus souple que les manipulations collectives de groupes. * 23/06/2003 - Yvan Fournier - Lorsque le maillage contient des groupes, on envoie désormais la définition des noms des groupes au noyau. On peut empêcher cet envoi en affectant une valeur entière supérieurs à zéro à la variable d'environnment ECS_SUPPR_NOMS_GROUPES si nécessaire (i.e. pour fonctionner avec une verion de noyau antérieure à 1.1.0.s). * 21/06/2003 - Yvan Fournier - Ajout de la possibilité de choisir un numéro de maillage dans un fichier (et non plus prendre toujours le premier) pour les formats de maillage pouvant supporter plusieurs maillages par fichier (i.e. MED et CGNS). * 20/06/2003 - Yvan Fournier - Suppression du support direct de lecture de fichiers ".slc" à l'ancien format solveur commun et remplacement par utilitaire externe de conversion au format universel I-DEAS "slc2ideas". * 19/06/2003 - Yvan Fournier - Correction d'un bug concernant la communication par sockets IP : le contenu des messages en réception n'était pas lu. * 12/06/2003 - Yvan Fournier - Sortie de la version de dévelopement 1.1.i * 01/06/2003 - Yvan Fournier - Construction de groupes associés aux conditions aux limites définies sur des sommets pour le format CGNS. * 31/05/2003 - Yvan Fournier - Mise à jour et amélioration de la documentation. * 24/05/2003 - Yvan Fournier - Construction de groupes associés aux conditions aux limites définies sur des faces pour le format CGNS. * 21/05/2003 - Yvan Fournier - Ajout de contrôles de cohérence de maillages permettant de fusionner les sommets confondus et connectés (i.e. appartenent à une même arête) et supprimer les arêtes et faces dégénérées. * 20/05/2003 - David Monfort - Modification de la gestion des faces avec erreur de recollement dans le cas périodique. Les faces dupliquées qui sont recollées avec erreur sont conservées pour le post-traitement. Dans le cas où l'on voudrait conserver les vecteurs de correspondance des arêtes et des sommets périodiques, il faudrait effectuer les mêmes opérations que pour les faces. * 19/05/2003 - David Monfort - Mise en place d'un traitement spécifique permettant de gérer une périodicité de type rotation 180 degrés non conforme. Certaines hypothèses simplificatrices ont été faites pour alléger le code. * 16/05/2003 - Yvan Fournier - Résolution d'un bug de recollement apparaissant dans un cas "recollement + périodicité" : avec un premier recollement induisant des déformations de faces, un second recollement périodique pouvait avoir des problèmes à choisir l'arête la plus à gauche pour la reconstruction de nouvelles faces découpées. La solution adoptée consiste à rééssayer l'opération pour une face posant problème en commencant par la seconde arête, puis la troisième, et ainsi de suite jusqu'à ce que l'on ait épuisé toutes les possibilités ou que l'on ait pu reconstruire sans problème les sous-faces issues de la face en cours de traitement (le problème apparaissait avec le nouvel algorithme de fusion des entités, mais pas avec l'ancien sur un cas test "tiers de cuve 900 MWe partiel" ; avec une numérotation différente, on aurait pu avoir la situation inverse). On pourrait envisager un algorithme plus robuste, mais cela impliquerait de réécrire toute cette phase du recollement. * 16/05/2003 - Yvan Fournier - Support de l'écriture de variables sur fichier CGNS en écriture. Les outils disponibles sur le site CGNS (http://www.cgns.org et http://sourceforge.net/projects/cgns) semble reconnaître le fichier et son contenu. Ensight 7.4.1 ne lit que les fichiers CGNS 2.1, et semble avoir quelques problèmes de lecture dans certains cas. * 12/05/2003 - Yvan Fournier - Début du support CGNS en écriture. Seul le maillage est généré pour l'instant, et il ne contient que le connectivité principale. * 05/05/2003 - Yvan Fournier - Ajout du support de communication par sockets IP. * 05/05/2003 - David Monfort - Correction d'un bug lié au post-traitement des coordonnées des noeuds sous format Ensight et survenant lors d'un recollement conforme. Bug mis en évidence lors d'un calcul de déplacement des noeuds. - Modification (et vérifications) pour la prise en compte du parallélisme lors du post-traitement d'un déplacement des noeuds. * 28/04/2003 - David Monfort - Prise en compte de la périodicité lors du comptage des faces gauches devant être découpées. Deux faces périodiques correspondantes étant a priori identiques, il ne devrait pas y avoir de distinction entre elles lors de la sélection des faces gauches; on fait donc un test après la construction de la liste (dans ecs_vec_int_def__cpt_fac_tria) pour forcer le découpage si seulement l'une des deux faces périodiques avait été sélectionnée (par ex. à cause d'approximations numériques). * 23/04/2003 - David Monfort - Modification de l'algorithme d'héritage de la périodicité. Celui-ci ne marchait plus dans le cas d'une périodicité de rotation de 180 degrés, suite au nouvel algorithme de fusion des faces. - Affichage du point invariant dans le cas d'une périodicité de rotation donné par une matrice. * 22/04/2003 - Yvan Fournier - Début de support du format CGNS en lecture. Seule la connectivité est traitée pour l'instant, les réferences, conditions aux limites, et recollements seront traités prochainement. - En cas de maillage ne comportant que des éléments 2D, on réalise le post-traitement principal, en affichant les faces à la place des cellules (on n'affichait rien auparavant). * 15/04/2003 - David Monfort - Le découpage des faces gauches est désormais compatible avec la périodicité. Si une face est périodique, le découpage est hérité de celui de la face périodique "aval" (par rapport à la périodicité). Ce travail n'est effectué que pour le découpage des faces gauches, par pour un découpage relatif à un post-traitement (bien qu'a priori, dans la plupart des cas, le découpage soit identique pour deux faces se correpondant par périodicité). * 07/04/2003 - Yvan Fournier - Modification du traitement de la ligne de commande pour pouvoir gérer plus facilement des sous-options associées au choix du maillage ; l'option "-f" (ou "-format") devient une sous-option de l'option "-m" (ou "-maillage"), qui peut maintenant être appellée plusieurs fois. Le cas CGNS en lecture est aussi ajouté à la ligne de commande (mais pas encore traité par le programme principale). - Nouvel algorithme de fusion d'entités ; cet algorithme est en O(n(entité à fusionner))*connect_max(entité inférieure) contre O(n log(n))(entité à fusionner), et consomme moins de mémoire ; surtout, il ne modifie que les définitions des éléments fusionnés, et pas les autres (le fait de ne pas conserver les orientations de faces de bord ou de faces appartenant à des coupes avec l'ancien algorithme pouvait induire des effets de bord au niveau du post- traitement). On peut revenir à l'ancien algorithme en positionnant la variable d'environnement ECS_DEF_NUM_COMPAT à une valeur entière positive si nécessaire (i.e. pour effectuer une suite d'un calcul démarré avec la numérotation précédente). * 03/04/2003 - Yvan Fournier - Correction de la lecture formatée stricte de tableaux (utilisée pour la communication par fichier ASCII uniquement jusqu'ici) ; La version précédente était inutilisable, mais cela n'était pas apparu car personne ne semble utiliser la communication par fichier formaté entre l'enveloppe et le noyau (disponible à des fins de diagnostic) ; cette communication semble tout juste utilisée par certains développeurs avec l'enveloppe seule afin de vérifier les données générées, les fichiers binaires étant habituellement utilisés. * 01/04/2003 - David Monfort - Amélioration du découpage de faces en triangles. Les faces sont désormais projetées sur un plan parallèles à elles-mêmes, ce qui améliore le découpage dans le cas de faces gauches. On effectue de plus, lorsque la triangulation des faces à réussie, une permutation de certaines diagonales de manière à obtenir une triangulation de Delaunay pour chaque face (algorithme de flip). * 11/03/2003 - Yvan Fournier , David Monfort - Sortie de la version de dévelopement 1.1.h * 10/03/2003 - David Monfort - Amélioration de l'algorithme d'héritage du recollement périodique, on recalcule désormais les coordonnées de tous les sommets périodiques. Le code a aussi été simplifié par la même occasion. - Correction d'un bug lié à l'affichage du nombre de faces périodiques par domaines dans le cas d'un calcul parallèle. * 09/03/2003 - Yvan Fournier - Ajout d'une variable d'environnement pour permettre d'autoriser la suite de l'exécution même après une erreur de calcul en virgule flottante. Dans les version précédentes, une erreur déclenchait une exception, sauf dans le cas d'un exécutable lié à Electric Fence (dû à des erreurs intempestives sous debugger avec certaines distributions Linux). Sur les autres architectures, l'arrêt de l'exécution sur erreur de calcul en virgule flottante dépend des options de compilation. Il serait souhaitable de provoquer une exception sur tous les systèmes, et pouvoir la bloquer avec un gestionnaire de signal. - Ajout de l'envoi du numéro global des sommets au noyau lorsque les informations sur les sommets sont fournies à un calcul parallèle. * 24/02/2003 - Yvan Fournier - Lecture des systèmes de coordonnées I-DEAS. Dans la plupart des cas, il semble que le système ne doive pas être appliqué aux coordonnées exportées (sauf peut-être s'il s'agit du système lié au "workplane"?). La documentation I-DEAS est peu claire à ce sujet, on se contente donc d'afficher des informations relatives à la présence de systèmes de coordonnées non "triviaux"(i.e. différents du repère cartésien d'origine confondue avec l'origine globale). * 21/02/2003 - Yvan Fournier - Correction de bug lié à la sortie MED de maillages de nom exactement égal à 32 caractères (ce qui se trouvait être le cas pour les maillages des faces modifiées par un recollement) ; le nom n'était pas toujours terminé par un caractère nul, le dernier caractère n'étant pas initialisé. L'erreur déclenchait en général un retour avec erreur de HDF5 puis de MED, suivi d'un arrêt de l'exécution, car le nom fourni entre la création du maillage et la création des champs, n'était pas le même. - Correction de bug lié à l'écrasement de parts Ensight lors de sorties l'option '-dec-poly' ou avec des sorties MED simultanées. * 17/02/2003 - Yvan Fournier - Integration de corrections pour la périodicité apportées par David Monfort, et suppression de la limitation à trois périodicités (afin de pouvoir définir certaines périodicités en plusieurs fois, ce qui peut être utile sur certains maillages). * 16/02/2003 - Yvan Fournier - L'ouverture de la communication avec Syrthes en lecture ne dépend plus du mode vérification, mais des modes pré, post, et pré-post (elle ne se fait pas en mode preprocesseur seul). Ainsi, l'option '-verif' ne provoque plus le bloquage du couplage. - Améliorations du code pour supprimer les avertissements en compilation C++ (ainsi qu'une erreur due aux prototypes de METIS). La compilation avec un compilateur C++ permet une vérification plus stricte par le compilateur, et il est toujours utile pour un développeur de basculer de temps en temps sur un compilateur C++. - Simplification des Makefiles : supression de la génération de librairie pour Python (incomplète, réalisée plutôt à titre de démonstration de faisabilité et maintenant dépassée par ce qui se fait dans le cadre d'autres projets tels que Neptune), et suppression des options forcant la compilation gcc et c++. Il est très simple de changer le compilateur en éditant le fichier macros.mk, et cela permet en outre d'utiliser ce compilateur à la fois pour une version optimisée ou une version debug (sous Linux, il suffit de remplacer CCOMP=$(CC) par CCOMP=$(CXX) dans le fichier macros.h, les options de gcc et g++ étant très vosines). l'option d'utilisation d'un vérificateur de type lint (OPT=LINT) est supprimée aussi, car ce type de vérificateur nécessite de nombreux commentaires speciaux pour pouvoir donner des informations utiles sans fausses alarmes ; la compilation avec tous les avertissements actives et une compilation C++ occasionnelle ainsi que l'utilisation d'Electric Fence, Valgrind, ou Purify semblent suffire. * 11/02/2003 - Yvan Fournier - Modifications liées à la gestion des fichiers : le contenu de la structure 'ecs_fic_t' est maintenant privé. Des fonctions utilitaires pour accéder à différents membres de cette structure ont éte ajoutées, et les routines d'impression sur fichier dump ont éte déplacées de 'ecs_msg' vers 'ecs_fic' (en renommant au passage des types énumérés associés). Des avertissements à la compilation liés à l'intéraction des entêtes hdf5 et zlib disparaissent. Un problème potentiel en cas d'erreur de lecture ou de fin prématurée de fichiers I-DEAS compressés est corrigé (il auraut pu mener à une erreur de segmentation plutôt qu'à un message d'erreur clair). * 21/01/2003 - Yvan Fournier - Sortie de la version de dévelopement 1.1.g * 21/01/2003 - Yvan Fournier - Fin de l'intégration de la fonctionnalité "Périodicité" (compatible avec le parallélisme) développée par David Monfort. - Modification de la création des familles ; une même famille ne peut plus correspondre à des entités de niveau différent (ceci revient à implicitement considérer le niveau de l'entité en même temps que les groupes et couleurs lors de la création des familles). Les familles de plus petit numéro correspondent aux cellules, viennent ensuite le familles correspondant aux faces, etc. - Modification de la numérotation des groupes. La numérotation des groupes issues de mailleurs tels que I-DEAS n'est plus prise en compte, car en cas de groupes de mêmes noms mais de numéros différets sur deux maillages concaténés, les groupes étaient considérés comme différents dans les versions précédentes, alors que même numéro de groupe était envoyé au Noyau si l'on avait deux groupes de nom différent mais de numéro identique ; sans compter le fait que le groupes issus de maillages au format MED n'ont pas de numéro... En cas de présence de groupes, on les numérote (en affichant le numéro dans le listing) juste avant la création des familles et l'envoi de données au Noyau, afin de pouvoir les utiliser depuis le Noyau. * 20/12/2002 - Yvan Fournier - Fin de l'intégration de la fonctionnalité "Coupes" * 16/12/2002 - Yvan Fournier - On ne tient plus compte des couleurs, groupes, ou familles des sommets, que ce soit en lecture ou en écriture. Ceci permet une économie de mémoire et une légère simplification du code,les attributs des sommets n'étant jamais utilisés par le noyau. * 09/12/2002 - Yvan Fournier - Nouvelle modification des entrées/sorties MED ; on sort les faces (ou arêtes en 2D) sous forme de MED_MAILLE plutôt que MED_FACE (resp MED_ARETE) en connectivité descendante (suite discussion réunion GT MED du 09/12/2002). Lors de la lecture, on lira de préférence des éléments de type MED_MAILLE. Si ces éléments ne sont pas disponibles, on lira des éléments de type MED_FACE si possible. * 08/12/2002 - Yvan Fournier - Lors de la création des listes de faces internes et des faces de bord, on peut aussi créer la liste des faces isolées ainsi que la liste de faces appartenant à 3 cellules au moins (en cas d'erreur de connectivité du à un recouvrement de cellules). Ceci est utilisé en mode vérification, et ces listes sont post-traitées pour faciliter le repérage des zone de maillage posant un problème. * 28/10/2002 - Yvan Fournier - En post-traitement, destruction des variables sur les cellules dès leur sortie achevée (pour une économie de mémoire). * 13/10/2002 - Yvan Fournier - Modification du traitement des coupes : une sortie MED ne provoque maintenant plus le découpage du maillage utilisé pour Ensight, si mes deux ont lieu simultanément. Le fonctionnement des coupes est donc maintant celui qui était initialement prévu (et n'était pas termniné à temps pour la version 1.1.f). - Les variables définies sur les sommets devraient maintenant être fonctionnelles pour les sorties MED aussi bien que pour les sorties Ensight. - La variable d'environnement ECS_POST_ENS_DECOUP_POLY est remplacée par la sous-option de ligne de commande "-dec-poly" appellable après l'option "-ens" ou "-ensight" * 04/09/2002 - Yvan Fournier - Modification de la connectivité locale des triangles et quadrangles pour MED 2.1, de manière à être consistant avec le sens de parcours des faces en connectivité descendante, sachant que les normales des faces pointent vers l'extérieur des cellules (les schémas dans la documentation MED peuvent induire en erreur, ils sont représentés "de dessous"). - Correction d'un problème de lecture de fichiers Simail sous architecture 64 bits lorsque l'on devait permuter les octets (i.e. lecture sur VPP5000 d'un maillage généré sous PC Linux). * 04/09/2002 - Yvan Fournier - Sortie de la version de dévelopement 1.1.f * 12/08/2002 - Yvan Fournier - Suppression de la sortie du champ de déplacement des faces de bord (lorsqu'un champ de déplacement est renvoyé par le noyau), qui n'est plus indispensable depuis que ce champ est sorti sur le maillage principal). Ceci est fait dans le cadre du remplacement (en cours) des sorties spécifiques sur faces polygonales Ensight par des sorties de type "coupe" plus générales et basées sur les sorties standard. * 11/08/2002 - Yvan Fournier - Amélioration des entrées/sorties MED ; on sort les faces (ou arêtes en 2D) sous forme de MED_FACE (resp MED_ARETE) plutôt que MED_MAILLE. Lors de la lecture, on lira de préférence des éléments de type MED_FACE. Si ces éléments ne sont pas disponibles, on lira des éléments de type MED_MAILLE si possible. Les cas MED sont gérés différamment : on a maintenant une liste chaînée de cas, et on utilise un fichier par maillage, et non un cas unique pour tous les maillages. Le nom de chaque fichier est composé du nom du cas avec celui du maillage (ce dernier étant converti en minuscules, les caractères ' ' sont remplacés par '_'), car si l'API MED permet en théorie d'utiliser plusieurs maillages, il est prudent de vérifier que les outils de post-traitement savent gérer ce cas. - Suppression de l'option '-post-fac', qui n'est plus nécessaire pour MED maintenant que les faces sont systématiquement écrites, et qui n'a plus beaucoup d'intérêt maintenant que le mode "vérification" permet d'afficher les familles des faces de bord (le rôle de cette option, qui semblait inutilisée, étant surtout de vérifier en cas de problème où l'on avait affecté des références de bord, sans pouvoir en savoir plus). La distinction maillage/part n'est donc plus nécessaire, et le nom des parts Ensight s'en trouve simplifié. - Ajout d'une fonction de calcul de la connectivité inverse faces vers cellules (ou arêtes vers faces ou cellules) pour un maillage en connectivité nodale, qui pourra être utile pour d'éventuels filtres futurs, ou servir de base pour une réécriture (plus rapide) de la connectivité descendante. * 09/08/2002 - Yvan Fournier - Affichage du nombre d'éléments par famille lorsque les entités sont décrites par familles dans le maillage. On n'affiche maintenant lors de la lecture d'un fichier I-DEAS que les noms des groupes référencant au moins un élément (les groupes vides ou ne contenant que des noeuds n'apparaissent donc plus dans le listing). - Suppression des sommets inutilisés à la lecture du maillage. - Modification de l'écriture des familles pour les fichiers MED. Un groupe n'est plus décrit sous forme d'attribut (ce qui permettait de conserver son numéro), mais bien en tant que groupe. On perd donc son numéro, mais il serait bon de ne pas conserver le numéro des groupes en général (et donc d'envoyer leurs noms au noyau pour les distinguer), car en cas de concaténation de maillages, on peut avoir des groupes de même nom (à priori jouant le même rôle) mais de numéros différents, et pire, des groupes de nom différent mais de même numéro. * 06/08/2002 - Yvan Fournier - Suppression du traitement des labels pour le post-traitement. Les champs labels sont donc supprimés dès conversion en indice. - Correction d'un bug de lecture de connectivité MED pour des éléments quadratiques. - Modification du découpage de faces en triangles : selon si un découpage est utilisé pour la connectivité ou pour le post-traitement ou interpolation, une erreur de découpage sera considérée bloquante ou non. * 04/08/2002 - Yvan Fournier - Correction du couplage Syrthes en cas de paralléllisme. On utilisait la structure de renumérotation principale pour les lectures et écritures de variables vers le noyau, au lieu d'utiliser les structures locales renumérotées par rapport à la restriction à la zone couplée construites lors de l'initialisation. * 03/08/2002 - Yvan Fournier - Modification de la structure ecs_vec_real_t : le tableau des positions étant réglé dans tous les cas d'utilisation, on le remplace par la donnée de son pas (1 à 3 en pratique), le début étant toujours à 1. Ceci induit la modification d'un nombre important de fonctions, apportant une légère simplification du code, ainsi qu'une légère économie de mémoire. La fonctionnalité reste identique. * 02/08/2002 - Yvan Fournier - suppression de ecs_vec_int_att__herite_val() et du type de champ ECS_CHAMP_ATT_TYP_SOUS_ELT, qui ne sont jamais utilisés (prévus initialement pour attribuer les références de faces aux cellules pour le filtre Simail, mais jamais utilisés, car on construit en fait directement les faces référencées dans ce filtre). L'attribut att_ty_e des champs et l'énumération ECS_CHAMP_ATT_TYP_E sont aussi supprimés. * 28/07/2002 - Yvan Fournier - Sorties post des critères de qualité et des familles. - Modification des sorties MED : on utiliser plusieurs maillages par fichier MED (correspondants aux "parts" Ensight). Le nom des maillages est donc maintenant fixé, et n'est plus basé sur le nom du cas. - Modification du découpage de faces en triangles : il se peut que l'on ne puisse découper normalement une face déformée telle que sa projection dans le plan utilisé pour le découpage se replie sur elle-même. Le découpage obtenu est tout-de-même utilisable pour du post-traitement (alors qu'il n'est pas utilisable pour définir un maillage de calcul). On remplace donc le message d'erreur précédent par un message d'avertissement, le découpage étant surtout utilisé pour la sortie de coupes en post-traitement ou pour le couplage avec Syrthes. * 27/07/2002 - Yvan Fournier - Sortie de la version de dévelopement 1.1.e * 25/06/2002 - Yvan Fournier - Correction d'un bug de numérotation locale pour les héxaèdres MED. Le problème n'était pas visible tant que l'on ne lisait que des fichiers MED générés par l'enveloppe, mais est devenu visible lors de conversion au format VTK puis visualisation sous module VISU de SALOME ou sous MayaVi. * 18/06/2002 - Yvan Fournier - Correction d'un bug dans le calcul des volumes des cellules (volume multiplié par 3), et ajout du calcul des coordonnées min et max du domaine. - Modification de la synchronisation des messages entre l'enveloppe et le noyau pour le couplage Syrthes (correction de bug apparaissant lorsque l'enveloppe voulait envoyer la température paroi alors que le noyau voulait lui envoyer des données de post-traitement). - Correction de bug de lié aux tailles des entiers et pointeurs qui empêchait la lecture de fichiers Simail sur Fujitsu VPP5000 (avec pointeurs sur 64 bits). * 01/06/2002 - Yvan Fournier - Correction d'un bug de sélection de faces : un éventuel filtre de sélection (par exemple la liste des faces internes seules ou faces de bord seules) n'était pas pris en compte si l'on utilisait la sélection par défaut sans préciser de couleurs ou de groupes. - Simplifications associées au couplages Syrthes 2D et autres situations d'extractions de faces : on précise maintenant lors de l'extraction d'un maillage si la filiation de l'entité principale extraite doit être construite, héritée, ou non prise en compte. Les autres filiations ne sont plus construites. Auparavant, un second maillage extrait du maillage extrait découpé pour Syrthes, construit pour la visualisation, comportait à la fois le champ filiation hérité et le champ filiation construit, alors que le premier n'avait pas de sens, et le second n'était pas utile à la visualisation. Maintenant, ce maillage ne comporte aucun champ filiation. * 27/05/2002 - Isabelle Rupp - Possibilité de couplage Syrthes avec un cas Syrthes 2D (le maillage Code_Saturne étant un maillage 3D construit à partir d'un maillage 2D extrudé). * 25/05/2002 - Yvan Fournier - On ne construit plus les familles de sommets ou d'arêtes pour le noyau, car elles ne sont jamais fournies au noyau. On n'affiche plus dans le listing le nombre de faces total et le nombre de faces de bord correspondant à une famille, mais le nombre de faces internes et le nombre de faces de bord. Le listing est donc plus cohérent avec l'utilisation des familles dans le noyau. * 17/05/2002 - Yvan Fournier - Suppression de la sous option de recollement conforme "-connect" permettant d'activer la recherche d'intersections entre arêtes déjà connectées (i.e. partageant un sommet) afin de pouvoir traiter certains cas rares de recollement. Il s'est avéré que le surcoût lié à l'activation de cette recherche était négligeable par rapport à l'ensemble des opérations associées au recollement conforme, et qu'il est donc plus simple de l'activer systématiquement et de réduire le nombre de paramètres utilisateur (et donc de risques de mauvaise utilisation) liés au recollement. * 15/05/2002 - Yvan Fournier - Sortie de la version de dévelopement 1.1.d * 15/05/2002 - Yvan Fournier - Ajout de la possibilité de compléter la ligne de commandes par un fichier la syntaxe est la même que celle de la ligne de commandes, à deux différences près : les lignes vides sont autorisées, et tout ce qui suit un caractère "#" sur une ligne est ignoré (d'où la possibilité de mettre des commentaires dans un tel fichier). Par contre, on ne pourra utiliser dans un fichier de ce type de caractères destinés à être remplacés automatiquement par le shell (par exemple "~user" ou "*.unv"), car justement ces caractères ne seront pas remplacés. Par défaut, le fichier est l'entrée standard. Ceci permet d'utiliser dans un script une syntaxe du genre : echo -m $MAILLAGE \ -rc \ | ./ecs -i L'intérêt de cette possibilité est non seulement de pouvoir stocker des combinaisons de commandes, mais surtout de ne plus être gêné par des environnements ne permettant pas une ligne de commande suffisamment longue (notamment les systèmes HP-UX 10.20). * 11/05/2002 - Yvan Fournier - Ajout d'un nouvel algorithme de calcul des centres des cellules, basé non plus sur le barycentre des sommets des faces (tous les somets ayant le même poids), mais sur le barycentre des centres des faces de la cellule, le poids de chaque face étant égal à sa surface. Ce calcul devrait être moins dépendant vis-à-vis du recollement conforme, qui ajoute des sommets aux cellules dont les faces sont découpées, et induit donc un décalage du barycentre des sommets vers la surface de recollement, alors que le barycentre des faces issue d'une face découpée est voisin du barycentre de la face initiale. Cet algorithme n'est pas activé par défaut, l'impact sur le calcul étant probablement positif mais restant à vérifier ; pour l'activer, on affecte une valeur srictement positive à la variable d'environnement ECS_GRD_CDG_CEL_FAC. Un message est alors imprimé au moment du calcul des centres des cellules pour rappeler à l'utilisateur que cette option est activée). * 10/05/2002 - Yvan Fournier - Ajout d'un filtre de lecture pour les maillages au format NOPO (issus du mailleur Simail). Ce filtre construit des éléments surfaciques supplémentaires correspondant aux faces référencées des éléments volumiques (et des arêtes aux bords référencés des éléments surfaciques initiaux) pour pouvoir porter les références. On se ramène ainsi au traitement usuel, où les références des faces des cellules sont portées par des éléments surfaciques supplémentaires en connectivité nodale et transférées sur les faces par fusion des faces topologiquement identiques lors du passage en connectivité descendante, sans modification du modèle de données interne. * 09/05/2002 - Yvan Fournier - Ajout à la structure de description d'un fichier d'un champ indiquant si l'on doit permuter les octets des valeurs codées sur plusieurs octets. Par défaut, on fait en sorte que tous les fichiers soient codés en "big-endian", et on permutera les octets sur les sytèmes "little-endian" (notamment sur les systèmes Intel et DEC). Ceci correspond au comportement précédent, mais on n'utilise plus la définition _ECS_LITTLE_ENDIAN : on détecte automatiquement lors de l'ouverture d'un fichier si le système est "big-endian" ou "little-endian" en initialisant un entier à 0, en positionnant son premier octet à 1, et en comparant la valeur à 1. La permutation d'octets étant maintenant possible sur tous les systèmes, on pourra l'activer ou la désactiver pour divers types de fichiers binaires selon s'ils sont au format natif ou pas (en prévision d'un filtre Simail). - Quelques changements de noms d'énumérations dans ecs_fic_glob.h et ecs_comm_publ.h : remplacement de "XXX_E" en "xxx_t". - Correction pour le découpage de faces polygonales en triangles : la projection des coordonnées dans un plan écrasait les coordonnées y par les coordonnées x pour certaines orientations, et la définition de la face utilisée pour le découpage n'était donc pas la bonne. En cas de problème de découpage malgré tout, on imprime maintenant les sommets de la face (avec leurs numéros et coordonnées ainsi que leurs coordonnées projetées) avant de sortir, comme aide au diagnostique. - Correction pour le recollement conforme : le champ "type géométrique" des arêtes n'était pas mis à jour (ce qui pouvait provoquer une erreur de segmentation dans l'héritage de ce champ en cas d'extraction de maillage si le nombre d'arêtes extraites était plus important que le nombre d'arêtes d'origine). Ce champ n'est en général pas réutilisé après les sorties post initiales (préalables au recollement), ce qui explique que ce problème n'a pas été détecté plus tôt. - Modification du traitement des erreurs lors de la reconstruction de faces découpées pour le recollement conforme. En cas d'erreur, on recopie maintenant la face telle quelle dans la nouvelle connectivité, et l'on passe au traitement de la suivante plutôt que de provoquer un arrêt immédiat. On avertit l'utilisateur, et on construit alors la liste des faces ayant posé problème lors de la reconstruction. Ces faces seront visualisées sous Ensight au même titre que les faces issues du recollement ou modifiées par celui-ci (même lorsque l'on n'a pas activé l'option "-verif"). La possibilité apparue dans la version 1.1.c de n'effectuer que la recherche d'intersections (sans reconstruction des faces découpées) pour pouvoir visualiser le maillage intermédiaire en cas de problème n'a donc plus d'intérêt, et l'option de recollement "-decoup-seul" disparaît. De même, les sorties Ensight effectuées sur la face en cours de reconstruction en cas d'erreur lors du recollement (le cas "fac_fail") disparaissent, étant remplacées par la sortie plus générale de toutes les faces ayant posé problème. * 06/05/2002 - Yvan Fournier - Sortie de la version de dévelopement 1.1.c * 06/04/2002 - Yvan Fournier - Séparation de la liste de faces modifiées par un recollement en deux : faces issues du recollement et faces dont les arêtes ou sommets ont ete modifiés. Ceci permet de visualiser ces faces sur deux "parts" Ensight différentes. - Maintien d'un champ donnant la renumérotation entre les sommets initiaux et les sommets courants en cas de recollement(s) conforme(s). Ceci permet de post-traiter des valeurs nodales (notamment des déplacements) sur le maillage d'origine même avec des recollements. Le déplacement des sommets est donc maintenant sorti aussi pour le maillage d'origine (lorsque ce déplacement existe). * 03/04/2002 - Yvan Fournier - Réécriture de la première phase de l'algorithme de recollement conforme de manière à utiliser une tolérance locale et plus consistante. La phase d'intersection des arêtes de l'algorithme est aussi beaucoup plus rapide que précédemment. Le pré-traitement du cas BANQUISE, qui nécessitait sur PC Linux PIII 800 Mhz 7800 secondes avec la version 1.0, et encore 1600 avec les versions 1.1.a et 1.1.b, ne nécessite plus maintenant que 600 secondes de temps CPU. Le recollement conforme ne représente plus la majeure partie du temps d'exécution. - La possibilité de définir le recollement non plus en fonction d'une liste de sélection de faces mais d'une définition de voisinage de faces a été rajoutée et remplace le traitement effectué par les fonctions ecs_xxx_fusion_fils() et qui pose problème notamment sur le maillage "avion dans un hangar" au format IggHexa. Ce même maillage ne semble plus poser le même problème avec ce nouvel algorithme. Cette nouvelle possibilité de recollement selon des informations présentes dans le maillage est suffisamment générale pour s'adapter à à d'éventuels maillages contenant des informations de recollement plus générales (maillages issus du format CGNS par exemple). - Le filtre de lecture IggHexa a aussi pu être simplifié, car on n'a plus besoin de la filiation des arêtes ; celle des faces suffit. - Variable d'environnement ECS_POST_POLY_ARE permettant de post-traiter des faces polygonales sous formes d'arêtes uniquement (afin de contourner un bug d'affichage Ensight 7.3 sur faces "nsided" comptant beaucoup d'arêtes). * 06/03/2002 - Yvan Fournier - Sortie de la version de dévelopement 1.1.b * 24/02/2002 - Yvan Fournier - Suppression du tableau entier dans les descripteurs ; traitement des familles MED plus cohérent. - La sortie des faces initiales d'un maillage ne dépend plus de l'activation ou non du mode "vérification", mais d'une nouvelle option "-post-fac" (sortie désactivée par défaut). * 19/02/2002 - Yvan Fournier - Corrections pour la numérotation en cas de parallélisme. * 15/02/2002 - Yvan Fournier - Mises à jour pour le prototype de module Python * 12/01/2002 - Yvan Fournier - Lecture des coordonnées des sommets renvoyée par le Noyau en cas de déformation de maillage. Sortie du champ des déplacements des sommets sur la part Ensight correspondant aux faces de bord. * 03/01/2002 - Yvan Fournier - Passage de MED 2.0 à MED 2.1. * 17/10/2001 - Yvan Fournier - Actualisation du découpage pour le parallélisme. * 01/10/2001 - Yvan Fournier - Mises à jour dans la documentation et intégration de celle-ci dans l'arborescence de la version en cours de l'Enveloppe. * 11/09/2001 - Yvan Fournier - Fin de l'écriture du filtre de lecture de fichiers au format IggHexa de Numeca (testé sur cubes élémentaires et Super Nimbus) * 11/09/2001 - Yvan Fournier - Modification de l'écriture des propriétés des familles pour le noyau. On fait maintenant en sorte que les couleurs apparaissent en premier. * 08/09/2001 - Yvan Fournier - Correction d'un bug dans la création des descripteurs associés à un fichier '.slc'. Plusieurs descripteurs pouvaient correspondre à la même couleur, ce qui n'est pas très gênant en soi mais induisait le fait que deux familles pouvaient correspondre à la même description. Ceci ne provoque aucun plantage, mais ne correspond pas à la définition d'une famille, qui est une classe d'équivalence. On compacte maintenant les descripteurs de couleurs dans le filtre '.slc', ce qui résoud le problème. - Corrections notamment dans ecs_champ_chaine.c pour corriger un problème de concaténation de maillages dont les entités ne comportent pas exactement les mêmes champs. Les corrections du 23/01/2001 sur ce même problème n'étaient pas suffisantes (et la boucle corrigée est maintenant plus simple que celle ajoutée le 23/01). - Corrections dans la création des familles. Le comportement précédent faisait que les éléments ne portant au départ aucune couleur ou groupe ne portaient pas non plus de famille, même s'ils étaient implicitement de famille 0. Ce comportement était pris en compte pour l'écriture de fichiers MED, et pour l'écriture des familles de cellules vers le noyau lorsqu'aucune cellule ne portait de famille, mais pas lorsque certaines cellules seulement portaient des familles. Lorsque certains éléments d'une même entité portent des couleurs ou des groupes, on rend la famille 0 explicite en prolongeant la partie "valeur" du champ correspondant, là où l'on des positions successives identiques indiquaient "pas de valeur". * 31/08/2001 - Yvan Fournier - Correction d'un bug dans le recollement conforme qui faisait que les sommets géométriquement confondus de zones non sélectionnées étaient recollés tout de même, induisant dans certains cas le recollement (et donc la disparition) de parois minces. L'ajout d'un filtre sur les sommets des seules faces sélectionnées et une amélioration de la recherche font passer le temps de calcul de 7800 secondes sur un PC Linux PIII 800 Mhz à 1600 secondes (une recherche par oct-tree améliorerait encore certainement grandement les performances, notamment dans les cas où l'on ne précise pas quelle est la zone à recoller. * 27/08/2001 - Yvan Fournier - Correction d'un bug de sélection (datant de la version 1.0 faisant que lorsqu'une face correspond a plusieurs descripteurs de couleur ou de groupe, seul le premier était pris en compte. * 25/08/2001 - Yvan Fournier - Remplacement dans le recollement conforme de deux tableaux locaux de dimension fixe (nombre de sommets max par sous- élément) par des tableaux alloués de dimension calculée. La dimension fixe pourrait peut-être expliquer l'impossibilité d'effectuer certains recollements en plusieurs fois, comme sur la cas BANQUISE, car on risque de dépasser ces dimensions après le premier recollement. - Amélioration du comportement de l'option "-dump" : le format d'affichage est modifié pour utiliser toujours deux colonnes pour les tableaux ("position" et "valeur"), et surtout, on utilise maintenant "-dump " et non plus "-dump" (bien que n soit optionnel, égal à 1 par défaut), où n représente le nombre de positions en début et fin de chaque tableau ou table qui sont imprimées. Ainsi, cette option est maintenant utilisable sur des gros maillages tout en limitant la taille du fichier généré si l'on s'intéresse plus aux entêtes et dimensions des tableaux qu'à leur contenu. - Quelques améliorations dans l'allocation dynamique de mémoire. les références à _ECS_MEMOIRE sont totalement supprimmées, et les structures de comptabilisation de la mémoire sont allouées sous forme de tableau, dont on double la taille (initiallement à 128) lorsque c'est nécessaire, au lieu d'associer une de ces structures (_ecs_mem_bloc_t) à chaque tableau alloué. Ces structures perdent dont le pointeur sur la structure précédente, vu que c'est leur position dans le tableau qui est utilisée à la place. L'intérêt est surtout de ne plus doubler le nombre d'opérations d'allocations et libérations par rapport au nombre demandé simplement pour les fonctions de comptabilisation de la mémoire (ce qui entraînait une fragmentation mémoire probablement plus importante et un coût CPU plus important). * 10/07/2001 - Yvan Fournier - Les options "-r" (post-traitement) et "-n" (envoi des sommets au noyau) sont maintenant compatibles. * 21/06/2001 - Yvan Fournier - Correctif pour le fichier de détail des temps calcul (pour les systèmes POSIX, on n'utilise plus la fonction clock() mais times(), car le temps est alors donné en unités de 1.10-6 s pour le premier cas, et une valeur CLK_TCK dépendante du système mais généralement beaucoup plus faible dans le second. Avec des entiers sur 32 bits et des unités de 1.10-6 s, on dépassait les limites de représentation dès que le temps d'exécution était conséquent. * 29/05/2001 - Yvan Fournier - Correctifs divers pour les passages de messages avec MPI ainsi que pour la récupération de varaibles issues du noyau en général. - Lorsque l'on utilise l'option "-o", on utilise dup2() plutôt qu'un deuxième freopen() pour stderr, afin d'éviter la perte des messages d'erreur que l'on rencontrait dans ce mode. Si ce n'est pas possible (environnment non POSIX ou fileno() non disponible, on créé un fichier séparé "listing.err" pour les messages d'erreur). * 15/05/2001 - Yvan Fournier - Suppression de l'option "-dump-comm" (provoquant le "dump" sur fichier des données échangées lors des communications), cette option n'étant pas utilisée en pratique, car l'option "-echo-comm" suffit général. Ceci permet de ne pas différencier les fonctionnalités associées aux communications, qu'elles passent par des fichiers (ou tubes) ou par des messages MPI, tout en pouvant utiliser "MPI_Pack" pour les entêtes de messages par MPI, et sans devoir dupliquer le code associé aux possibilités de dump des fichiers (qui pourraient aussi être amenées à disparaître à terme, selon leur utilité) dans le code de communication. - Correction d'un problème de concaténation d'une table non réglée à une table réglée (test mal placé) provoquant un plantage ultérieur dans certains cas. * 13/05/2001 - Yvan Fournier - préparation de la lecture de la ligne de commande et du programme principal pour l'utilisation avec MPI. - suppression de la macro _ECS_CHRONO utilisée pour la compilation conditionnelle de code de chronométrie pour le code de débug. Ce code est maintenant compilé dans tous les cas, et l'écriture ou non du fichier contenant les détails sur les temps intermédiaires (anciennement ecs_fic_chrono) dépend simplement du positionnement de la variable d'environnement ECS_FIC_CHRONO=. * 10/05/2001 - Yvan Fournier - Utilisation de la fonction setlocale() pour localisation et traitement correct des accents dans les messages d'erreur système. * 04/05/2001 - Yvan Fournier - Utilisation de METIS pour le découpage de domaines. * 30/04/2001 - Yvan Fournier - Fin des modifications aux contenus des communications avec le noyau associées au découpage de domaines. * 29/04/2001 - Yvan Fournier - Le part Ensight correspondant aux éléments surfaciques présents dans le maillage d'origine (et correspondant donc aux faces pouvant porter des attributs de type couleur ou groupe) n'est plus créé qu'en mode vérification. De même, les parts associées au recollement conforme ne sont maintenant créés que dans ce même mode (activé avec l'option de ligne de commande `-verif'). Ceci permet d'alléger le fichier géométrie correspondant lors d'une utilisation standard, notamment pour les cas `2D' (cas avec une seule épaisseur de cellules comportant plus de faces de bord que de cellules). * 15/04/2001 - Yvan Fournier - La fonction de passage d'une connectivité descendante à une connectivité nodale pour les faces est complétée, de manière à mettre à jour la structure `ecs_connect_t' associée au maillage. De manière optionnelle, on peut supprimer complètement du maillage les structures relatives aux arêtes. Ces modifications n'ont pas d'impact visible par l'utilisateur, le passage en connectivité nodale n'étant utilisé jusqu'ici que pour la sortie Ensight en mode vérification pour le couplage avec Syrthes, sur une copie du maillage extrait, détruite par la suite. * 13/04/2001 - Yvan Fournier - Travail sur la libération de mémoire lors de la destruction d'une structure `ecs_renum_t'. - Suppression des arguments concernant le niveau et la localité des messages du listing, qui n'ont jamais été utilisés, et le seraient difficilement sans une réécriture importante. - Modification de l'extraction de maillage : le critère de sélection ne s'applique plus maintenant qu'à un type d'entités (i.e. faces, cellules, ...), ce qui correspond à ce qui était réellement utilisé. On peut maintenant aussi rajouter une liste de filtrage sur ce type d'entités. Ainsi, l'extraction du maillage pour un couplage avec Syrthes est maintenant filtrée par la liste des faces de bord, faisant que l'on ne devrait pas rencontrer de problèmes si l'on ne précise pas de critères de sélection ou si l'on a des faces internes colorées de la même façon que les faces couplées. Précédemment, on ne rencontrait pas forcément de message d'erreur jusqu'à l'écriture de la liste des faces couplées pour le noyau, qui provoquait une erreur visible avec Purify ou Electric Fence (avec export EF_PROTECT_BELOW=1) ; ceci était dû au fait qu'on affecte l'indice -1 aux entités non trouvées dans ecs_tab_int__recherche(), utilisée pour établir le rapport entre le maillage extrait et les faces de bord, à partir de la filiation du maillage extrait, qui pouvait contenir des faces n'appartenant pas au bord. * 12/04/2001 - Yvan Fournier - Fin des modifications du découpage de faces en triangles ; on peut maintenant découper n'importe que polygone simple (convexe ou pas) à partir d'un algorithme de type "ear cutting", ne donnant pas forcément un découpage d'aussi bonne qualité qu'une triangulation de Delaunay contrainte, mais qui est plus simple à mettre en oeuvre, et devrait suffire à nos besoins. On était préalablement limité au découpage d'un maillage surfacique comportant un mélange de triangles et de quadrangles, ce qui aurait pu poser problème dans le cas d'un couplage avec Syrthes si la zone couplée est au bord d'une zone de recollement de maillages non conformes. On a aussi ajouté la possibilité d'utiliser une liste de filtrage à l'algorithme de découpage, ce qui sera utile si l'on ne veut par exemple découper que les faces gauches au delà d'un certain critère. L'utilisation de ce filtre n'est pas remontée pour l'instant aux niveaux supérieurs à "ecs_champ". De plus, le champ de type géométrique des arêtes est supprimé du maillage en cas de découpage des faces, car il n'est pas utile (à moins de vouloir écrire des arêtes dans un fichier de post-traitement généré après cette opération, mais dans ce cas, il vaudrait mieux adapter les fonctions d'écriture de la géométrie). On allège donc un petit peu la structure du maillage. * 27/03/2001 - Yvan Fournier - Adaptation de l'affichage Ensight en cas d'erreur de recollement au format Ensight Gold. Cet affichage se fait maintenant dans tous les cas d'erreur, et non plus seulement sur une version compilée en mode de débogage. * 26/03/2001 - Yvan Fournier - Modification de la sortie Ensight associée au recollement non conforme (fin de). La sortie précédente consistait à construire une "part" contenant toutes les arêtes du maillage recollé (à l'issue de l'ensemble des recollements s'il y en avait plusieurs, ce qui était très difficilement exploitable avant de supprimer sous Ensight des morceaux importants de cette "part", pour les maillages qui s'y prêtaient). - On filtre maintenant les sommets issus du découpage ou modifiés par celui-ci (i.e. les sommets issus de ou participant à une intersection d'arêtes), et on crée recollement par recollement une liste des faces s'appuyant sur au moins un de ces sommets. Pour Ensight, on peut donc directement créer une "part" par recollement en filtrant l'ensemble des faces par cette liste, en utilisant les modifications précédentes. Ces "parts" sont ajoutées dans le cas Ensight principal ,et non plus dans un cas spécifique au recollement. * 19/03/2001 - Yvan Fournier - Fin de passage des sorties Ensight au format Ensight Gold (utilisé par Ensight 6 Gold et Ensight 7). On a ajouté la possibilité de sortir dans le cas Ensight des parts constituées d'éléments surfaciques polygonaux (ces éléments pouvant être représentés avec ce format). De plus, on a peut fournir une "liste filtre" des éléments à prendre en compte (numérotée de 0 à n-1). La première application consiste à ajouter une "part" Ensight correspondant aux faces de bord du maillage de calcul (après traitement par l'enveloppe et éventuellement recollement conforme de faces non conformes). On pourra facilement à l'avenir afficher des variables sur les faces de bord en s'appuyant sur cette "part". * 08/03/2001 - Yvan Fournier - On passe aussi les connectivités faces internes -> cellules et faces de bord -> cellules dans la structure "ecs_renum_t" Pour disposer simplement de la connectivité pour le découpeur. Écriture d'une premiere fonction de découpage, se basant uniquement sur le numéro des cellules (et ne tenant pas compte du graphe de connectivité faces internes -> cellules) pour disposer rapidement d'un premier mode de découpage afin de poursuivre le codage et pouvoir effectuer des tests. * 01/03/2001 - Yvan Fournier - Corrections dans ecs_mem.c pour la reallocation lorsque _ECS_MEMOIRE est défini : le deplacement induit (nouvelle allocation puis liberation de l'ancien bloc) est supprimé. Modification du calcul des centres des faces pour traiter correctement (on éspère) le cas des faces gauches. * 28/02/2001 - Yvan Fournier - Utilisation de la nouvelle structure "ecs_renum_t" (en cours d'élaboration) pour ne pas recalculer les listes des faces et autres entre l'envoi au Noyau du bloc "dimensions" et du bloc "data". * 27/02/2001 - Yvan Fournier - Transformation de la structure "ecs_post_med_t" en "ecs_med_t" pour l'utiliser à la fois en entrée et en sortie. Les références à MED sont alors sorties de la structure "ecs_fic_t". * 08/02/2001 - Yvan Fournier - Correction lecture fichier I-DEAS pour le cas où l'on a des groupes sans éléments. Modifications associées dans la ecs_mem.c pour permettre l'appel à ecs_mem__realloc avec une taille identique à la précédente et l'appel à ecs_mem__free avec une taille nulle (pour un pointeur déjà à NULL). * 23/01/2001 - Yvan Fournier - Corrections notamment dans ecs_champ_chaine.c pour corriger un problème de concaténation de maillages dont les entités ne comportent pas exactement les mêmes champs, et qui empêchait le recollement de maillages issus d'I-DEAS (comportant des étiquettes de noeuds et éléments) avec des maillages au format ".slc" (sans étiquettes). - Version 1.0