From fb1ab5866c5a68a7fb8f94f3501bb9a15e624329 Mon Sep 17 00:00:00 2001 From: kergourlay <> Date: Thu, 16 Apr 2015 07:22:18 +0000 Subject: [PATCH] ajout des fichier pour le test de la fusion elements supperposes --- .../Test_R_fusion-elements-supperposes/README | 37 +++ .../cube_soude.her | 60 +++++ .../cube_soude.lis | 255 ++++++++++++++++++ .../cube_soude_nevez.her.ref1 | 59 ++++ .../cube_soude_nevez.lis.ref1 | 191 +++++++++++++ .../fusion_elements_supperposes.CVisu1 | 105 ++++++++ .../fusion_elements_supperposes.commande1 | 0 .../fusion_elements_supperposes.info | 159 +++++++++++ .../fusion_elements_supperposes.verif1 | 236 ++++++++++++++++ 9 files changed, 1102 insertions(+) create mode 100755 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/README create mode 100644 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.her create mode 100644 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.lis create mode 100644 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.her.ref1 create mode 100644 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.lis.ref1 create mode 100755 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.CVisu1 create mode 100755 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.commande1 create mode 100755 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.info create mode 100755 Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.verif1 diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/README b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/README new file mode 100755 index 0000000..84eb245 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/README @@ -0,0 +1,37 @@ +------------------------------------------------------------ +But du test +------------------------------------------------------------ + Test rapide de l'utilitaire de fusion des elements supperposes +"" +TYPE_DE_CALCUL +utilitaires avec plus fusion_elements +"" + +------------------------------------------------------------ +Description du calcul +------------------------------------------------------------ +Fusion de deux cubes 1x1x1 en 3D avec 8 éléments chacun (Hexaèdres quadratiques 27 pti) +Les cubes ont exactement la même position X,Y,Z +loi isoelas classique +Les fichiers initiaux pour le calcul sont cube_soude.her et cube_soude.lis + +------------------------------------------------------------ +Grandeurs de comparaison +------------------------------------------------------------ +Comparaison des fichiers cube_soude_nevez.her et cube_soude_nevez.lis avec les fichiers de références cube_soude_nevez.her_ref1 et cube_soude_nevez.lis_ref1 + version d'herezh 6.697 + +------------------------------------------------------------ +Informations sur les fichiers facultatifs +------------------------------------------------------------ +Des fichiers temporaires sont créés pour la comparaison qui contiennent uniquement les données puis ils sont éffacés à la fin de l'éxécution du programme perl. + +------------------------------------------------------------ +Comparaison avec des solutions analytiques +------------------------------------------------------------ +du texte... + +------------------------------------------------------------ +Comparaison avec des codes de calcul +------------------------------------------------------------ +du texte... \ No newline at end of file diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.her b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.her new file mode 100644 index 0000000..e055812 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.her @@ -0,0 +1,60 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .her, par Herezh++ # + ########################################################################### + # version: 6.697 + + + + nom_maillage cube_soude # nom du maillage + + noeuds ------------ # definition des noeuds + 27 NOEUDS # definition du nombre de noeuds + + +#--------------------------------------------------------------- +#|NO DU| X | Y | Z | +#|NOEUD| | | | +#--------------------------------------------------------------- + + 1 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 + 2 0.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 + 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 + 4 0.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 + 5 0.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 + 6 0.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 + 7 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 + 8 0.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 + 9 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 + 10 5.00000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 + 11 5.00000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01 + 12 5.00000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00 + 13 5.00000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 + 14 5.00000000000000000e-01 5.00000000000000000e-01 5.00000000000000000e-01 + 15 5.00000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00 + 16 5.00000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 + 17 5.00000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01 + 18 5.00000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00 + 19 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 + 20 1.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 + 21 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 + 22 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 + 23 1.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 + 24 1.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 + 25 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 + 26 1.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 + 27 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 + + + elements ---------- + + 2 ELEMENTS # definition du nombre d'elements + #---------------------------------------------------------------------- + #| NO | | | + #|ELTS | type element | Noeuds | + #---------------------------------------------------------------------- + + 1 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14 + 2 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14 + + diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.lis b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.lis new file mode 100644 index 0000000..3589205 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude.lis @@ -0,0 +1,255 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .lis, par Herezh++ # + ########################################################################### + # version: 6.697 + + + + # -- reference de noeud +N_arriere 1 2 3 10 11 12 19 20 21 + +N_arriere_droit 1 2 3 + +N_arriere_gauche 19 20 21 + +N_avant 7 8 9 16 17 18 25 26 27 + +N_avant_droit 7 8 9 + +N_avant_gauche 25 26 27 + + N_bas 1 4 7 10 13 16 19 22 25 + +N_bas_arriere 1 10 19 + +N_bas_arriere_droit 1 + +N_bas_arriere_gauche 19 + +N_bas_avant 7 16 25 + +N_bas_avant_droit 7 + +N_bas_avant_gauche 25 + +N_bas_droit 1 4 7 + +N_bas_gauche 19 22 25 + +N_droit 1 2 3 4 5 6 7 8 9 + +N_gauche 19 20 21 22 23 24 25 26 27 + +N_haut 3 6 9 12 15 18 21 24 27 + +N_haut_arriere 3 12 21 + +N_haut_arriere_droit 3 + +N_haut_arriere_gauche 21 + +N_haut_avant 9 18 27 + +N_haut_avant_droit 9 + +N_haut_avant_gauche 27 + +N_haut_droit 3 6 9 + +N_haut_gauche 21 24 27 + + N_to 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +21 22 23 24 25 26 27 + +N_tout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +21 22 23 24 25 26 27 + + # -- reference des elements +E_arriere_droit 1 + +E_arriere_droit_1 2 + +E_arriere_gauche 1 + +E_arriere_gauche_1 2 + +E_avant 1 + +E_avant_1 2 + +E_avant_droit 1 + +E_avant_droit_1 2 + +E_avant_gauche 1 + +E_avant_gauche_1 2 + + E_bas 1 + +E_bas_1 2 + +E_bas_arriere 1 + +E_bas_arriere_1 2 + +E_bas_arriere_droit 1 + +E_bas_arriere_droit_1 2 + +E_bas_arriere_gauche 1 + +E_bas_arriere_gauche_1 2 + +E_bas_avant 1 + +E_bas_avant_1 2 + +E_bas_avant_droit 1 + +E_bas_avant_droit_1 2 + +E_bas_avant_gauche 1 + +E_bas_avant_gauche_1 2 + +E_bas_droit 1 + +E_bas_droit_1 2 + +E_bas_gauche 1 + +E_bas_gauche_1 2 + +E_derriere 1 + +E_derriere_1 2 + +E_droit 1 + +E_droit_1 2 + +E_gauche 1 + +E_gauche_1 2 + +E_haut 1 + +E_haut_1 2 + +E_haut_arriere 1 + +E_haut_arriere_1 2 + +E_haut_arriere_droit 1 + +E_haut_arriere_droit_1 2 + +E_haut_arriere_gauche 1 + +E_haut_arriere_gauche_1 2 + +E_haut_avant 1 + +E_haut_avant_1 2 + +E_haut_avant_droit 1 + +E_haut_avant_droit_1 2 + +E_haut_avant_gauche 1 + +E_haut_avant_gauche_1 2 + +E_haut_droit 1 + +E_haut_droit_1 2 + +E_haut_gauche 1 + +E_haut_gauche_1 2 + + E_to 1 + +E_to_1 2 + +E_tout 1 2 + +E_tout_1 2 + + # -- references de pt d'integ, noeuds, faces et arretes associes a des elements +A_arriere_droit 1 8 + +A_arriere_droit_1 2 8 + +A_arriere_gauche 1 5 + +A_arriere_gauche_1 2 5 + +A_avant_droit 1 7 + +A_avant_droit_1 2 7 + +A_avant_gauche 1 6 + +A_avant_gauche_1 2 6 + +A_bas_arriere 1 4 + +A_bas_arriere_1 2 4 + +A_bas_avant 1 2 + +A_bas_avant_1 2 2 + +A_bas_droit 1 3 + +A_bas_droit_1 2 3 + +A_bas_gauche 1 1 + +A_bas_gauche_1 2 1 + +A_haut_arriere 1 12 + +A_haut_arriere_1 2 12 + +A_haut_avant 1 10 + +A_haut_avant_1 2 10 + +A_haut_droit 1 11 + +A_haut_droit_1 2 11 + +A_haut_gauche 1 9 + +A_haut_gauche_1 2 9 + +F_arriere 1 2 + +F_arriere_1 2 2 + +F_avant 1 5 + +F_avant_1 2 5 + + F_bas 1 1 + +F_bas_1 2 1 + +F_droit 1 6 + +F_droit_1 2 6 + +F_gauche 1 3 + +F_gauche_1 2 3 + +F_haut 1 4 + +F_haut_1 2 4 + + + diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.her.ref1 b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.her.ref1 new file mode 100644 index 0000000..30b25d7 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.her.ref1 @@ -0,0 +1,59 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .her, par Herezh++ # + ########################################################################### + # version: 6.697 + + + + nom_maillage cube_soude_nevez_nevez # nom du maillage + + noeuds ------------ # definition des noeuds + 27 NOEUDS # definition du nombre de noeuds + + +#--------------------------------------------------------------- +#|NO DU| X | Y | Z | +#|NOEUD| | | | +#--------------------------------------------------------------- + + 1 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 + 2 0.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 + 3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 + 4 0.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 + 5 0.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 + 6 0.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 + 7 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 + 8 0.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 + 9 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 + 10 5.00000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00 + 11 5.00000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01 + 12 5.00000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00 + 13 5.00000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00 + 14 5.00000000000000000e-01 5.00000000000000000e-01 5.00000000000000000e-01 + 15 5.00000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00 + 16 5.00000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00 + 17 5.00000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01 + 18 5.00000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00 + 19 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00 + 20 1.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01 + 21 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00 + 22 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00 + 23 1.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01 + 24 1.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00 + 25 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00 + 26 1.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01 + 27 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00 + + + elements ---------- + + 1 ELEMENTS # definition du nombre d'elements + #---------------------------------------------------------------------- + #| NO | | | + #|ELTS | type element | Noeuds | + #---------------------------------------------------------------------- + + 1 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14 + + diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.lis.ref1 b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.lis.ref1 new file mode 100644 index 0000000..516f072 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/cube_soude_nevez.lis.ref1 @@ -0,0 +1,191 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .lis, par Herezh++ # + ########################################################################### + # version: 6.697 + + + + # -- reference de noeud +N_arriere 1 2 3 10 11 12 19 20 21 + +N_arriere_droit 1 2 3 + +N_arriere_gauche 19 20 21 + +N_avant 7 8 9 16 17 18 25 26 27 + +N_avant_droit 7 8 9 + +N_avant_gauche 25 26 27 + + N_bas 1 4 7 10 13 16 19 22 25 + +N_bas_arriere 1 10 19 + +N_bas_arriere_droit 1 + +N_bas_arriere_gauche 19 + +N_bas_avant 7 16 25 + +N_bas_avant_droit 7 + +N_bas_avant_gauche 25 + +N_bas_droit 1 4 7 + +N_bas_gauche 19 22 25 + +N_droit 1 2 3 4 5 6 7 8 9 + +N_gauche 19 20 21 22 23 24 25 26 27 + +N_haut 3 6 9 12 15 18 21 24 27 + +N_haut_arriere 3 12 21 + +N_haut_arriere_droit 3 + +N_haut_arriere_gauche 21 + +N_haut_avant 9 18 27 + +N_haut_avant_droit 9 + +N_haut_avant_gauche 27 + +N_haut_droit 3 6 9 + +N_haut_gauche 21 24 27 + + N_to 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +21 22 23 24 25 26 27 + +N_tout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +21 22 23 24 25 26 27 + + # -- reference des elements +E_arriere_droit 1 + + +E_arriere_gauche 1 + + +E_avant 1 + + +E_avant_droit 1 + + +E_avant_gauche 1 + + + E_bas 1 + + +E_bas_arriere 1 + + +E_bas_arriere_droit 1 + + +E_bas_arriere_gauche 1 + + +E_bas_avant 1 + + +E_bas_avant_droit 1 + + +E_bas_avant_gauche 1 + + +E_bas_droit 1 + + +E_bas_gauche 1 + + +E_derriere 1 + + +E_droit 1 + + +E_gauche 1 + + +E_haut 1 + + +E_haut_arriere 1 + + +E_haut_arriere_droit 1 + + +E_haut_arriere_gauche 1 + + +E_haut_avant 1 + + +E_haut_avant_droit 1 + + +E_haut_avant_gauche 1 + + +E_haut_droit 1 + + +E_haut_gauche 1 + + + E_to 1 + + +E_tout 1 + + + # -- references de pt d'integ, noeuds, faces et arretes associes a des elements +A_arriere_droit 1 8 + +A_arriere_gauche 1 5 + +A_avant_droit 1 7 + +A_avant_gauche 1 6 + +A_bas_arriere 1 4 + +A_bas_avant 1 2 + +A_bas_droit 1 3 + +A_bas_gauche 1 1 + +A_haut_arriere 1 12 + +A_haut_avant 1 10 + +A_haut_droit 1 11 + +A_haut_gauche 1 9 + +F_arriere 1 2 + +F_avant 1 5 + + F_bas 1 1 + +F_droit 1 6 + +F_gauche 1 3 + +F_haut 1 4 + + + diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.CVisu1 b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.CVisu1 new file mode 100755 index 0000000..9ceb11d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.CVisu1 @@ -0,0 +1,105 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.658 # +# Copyright (c) 1997-2014, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + debut_fichier_commande_visu # >>>>>> le mot cle: + # permet au programme de se positionner au debut du fichier, il est indispensable + + + # ================================================================================= + # || ***** demande d'une visualisation Gmsh: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_Gmsh) + # un mot cle de fin ( fin_visualisation_Gmsh) apres tous les ordres particuliers + # la seule presence du premier mots cle suffit a activer la visualisation Gmsh + # la presence du second permet une meilleur lisibilite du fichier, mais n'est pas indispensable + debut_visualisation_Gmsh + + # ----------------------------- definition des parametres du maillage initial: ---------------- + debut_maillage_initial # un mot cle de debut de liste + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + pseudo-homothetie_sur_les_maillages_ 0 # 0 = aucune homothetie, 1 = il y en a + # --- def eventuelle de la pseudo-homothetie: une par maillage, + # pseudo-homothetie pour le maillage : 1 +# maillage_ 1 + # mot cle: maillage_ puis le numero du maillage, +# pseudo-homothetie_ 0 # 0 = non active, 1 = active + # ensuite si c'est active, on trouve : + # mot cle: centre_homothetie_ puis les coordonnees du centre d'homothetie + # puis mot cle: fact_mult_ puis les coordonnees donnant les coefs multiplicatifs selon les axes. +# centre_homothetie_ +# fact_mult_ + visualisation_references_sur_les_maillages_ 1 # 0 = pas de visualisation des reference, 1 = sortie des ref dans fichier unique 2= sortie des ref dans plusieurs fichiers + fin_maillage_initial # le mot cle de fin + + # ----------------------------- definition des parametres pour les isovaleurs : ---------------- + debut_isovaleur_Gmsh # mot cle de debut des parametres pour les isovaleurs + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + ancien_format_ 0 # 1 = ancien format, 0 = nouveau format +# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc +# (tangent pour les coques, suivant la fibre moyenne pour les element 1D ) + tenseur_en_absolue_ 1 + 1 # le numero de maillage + # tableau des ddl aux noeuds a visualiser, un par maillage + debut_tableau_ddl_aux_noeuds fin_tableau_ddl_aux_noeuds + # tableau des choix_var aux noeuds a visualiser, un par maillage + # choix_var (=1 ou 0) indique si oui ou non il s'agit de la variation + debut_tableau_choix_var_ddl_aux_noeuds fin_tableau_choix_var_ddl_aux_noeuds + # tableau des ddl_etendu aux noeuds a visualiser, un par maillage + debut_tableau_ddl_etendu_aux_noeuds fin_tableau_ddl_etendu_aux_noeuds + # tableau de grandeurs evoluees aux noeuds a visualiser, un par maillage + deb_list_GrandEvoluee_noeud fin_list_GrandEvoluee_noeud + # tableau de ddl aux elements a visualiser, un par maillage + debut_tableau_ddl_aux_elements fin_tableau_ddl_aux_elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + # tableau de grandeurs particulieres aux elements a visualiser, un par maillage + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element + fin_isovaleur_Gmsh # mot cle de fin des parametres pour les isovaleurs + + # ----------------------------- definition des parametres de deformee: ---------------- + debut_deformee # un mot cle de debut de liste + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # definition des alertes: deb_list_alerte + # un mot clef de debut + # puis deux nombres: un mini et un maxi, et un nom + # un mot clef de fin: fin_list_alerte + deb_list_alerte + fin_list_alerte + fin_deformee # un mot cle de fin + + # ----------------------------- definition de la liste des increments a balayer: ---------------- + debut_list_increment # un mot cle de debut de liste + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # une liste d'entier separee par des blancs, ou le mot cle (tous_les_increments) + # un mot cle de fin de liste ( fin_list_increment) + tous_les_increments fin_list_increment + + # ----------------------------- choix des maillages a visualiser: ---------------- + # la liste est facultative, par defaut la visualisation concerne le premier maillage + debut_choix_maillage # un mot cle de debut, + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # une liste d'entiers , puis , sur une meme ligne + 1 fin_choix_maillage + + fin_visualisation_Gmsh + # ================================================================================= + # || fin de la visualisation Gmsh || + # ================================================================================= + + + + + + fin_fichier_commande_visu # <<<<<< le mot cle permet + # l'arret de la lecture des commandes, apres ce mot cle, aucune commande n'est lu, de plus + # sans le mot cle de fin de fichier, le fichier n'est pas valide + + ############################################################################################### + + diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.commande1 b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.commande1 new file mode 100755 index 0000000..e69de29 diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.info b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.info new file mode 100755 index 0000000..8fd64c7 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.info @@ -0,0 +1,159 @@ +####################################################################### +# # +# | | ==== === ==== ==== | | | | # +# | | | | | | / | | | | # +# |====| |=== === |=== / |====| ------- ------- # +# | | | | \ | / | | | | # +# | | ==== | \ ==== ==== | | | | # +# # +####################################################################### +# Copyright (c) 1997-2008 Gerard Rio, gerard.rio@univ-ubs.fr # +# All rights reserved. http://www-lg2m.univ-ubs.fr/~rio # +# Certification IDDN.FR.010.0106078.000.R.P.2006.035.20600 # +####################################################################### + +####################################################################### +# Fusion des éléments supperposés # +####################################################################### + +#---------------------------------------------------# +# Definition de la dimension de travail (1, 2 ou 3) # +#---------------------------------------------------# +dimension 3 + +#------------------------------------------------------# +# Definition du niveau de commentaires (entre 0 et 10) # +#------------------------------------------------------# +niveau_commentaire 3 + +TYPE_DE_CALCUL +#----------------------------------------------------------# +# Definition du type de calcul ou des utilitaires utilises # +#----------------------------------------------------------# +utilitaires avec plus fusion_elements + +PARA_TYPE_DE_CALCUL +#-------------------------------------# +# Definition des parametres de calcul # +#-------------------------------------# + + +#-----------------------------------------------# +# Importation et fusion des mailllages utilises # +#-----------------------------------------------# +< cube_soude.her +< cube_soude.lis + +#-------------------------------------# +# Definition facultative de courbe 1D # +#-------------------------------------# +les_courbes_1D ------------ + +c_charge COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 20. + Fin_des_coordonnees_des_points + + + +choix_materiaux +#----------------------------------------------------------# +# Definition des materiaux associes aux maillages utilises # +#----------------------------------------------------------# +# Elements | Materiau # +#-----------------------# +E_tout acier + +materiaux ---------- +#-----------------------------# +# Nom Materiau | Loi utilisee # +#-----------------------------# +acier ISOELAS # Loi lineaire elastique 3D + +#------------------------------------# +# Module Young (MPa) | Coeff Poisson # +#------------------------------------# +210000. 0.28 + +masse_volumique ----------- +E_tout 8e-09 # (T/mm^3) + + +#-------------------------------------# +# Definition des charges et bloquages # +#-------------------------------------# +charges ------------ + +#------------------------------------------------------# +# Ref noeud | Type de charge | Valeurs (N) # +#------------------------------------------------------# + +blocages ------------ +#-----------------------# +# Ref noeud | Bloquages # +#-----------------------# +N_to UX UY UZ + + +controle ------------ +#----------------------------------# +# Reglage des parametres de calcul # +#----------------------------------# +# PARAMETRE | VALEUR # +#--------------------# +DELTAtMAXI 1 +TEMPSFIN 1 +DELTAt 1 +ITERATIONS 12 +PRECISION 5e-3 +MAXINCRE 20000000 +SAUVEGARDE 0 + + +para_pilotage_equi_global ------------ +#------------------------------------# +# PARAMETRE | VALEUR # +#------------------------------------# +FACTEUR_DIMINUTION 5 +FACTEUR_AUGMENTATION 5 +#NB_BONNE_CONVERGENCE 1000 +#INIT_COMP_TANGENT_SIMPLE -1 +#SUR_SOUS_RELAXATION 1.2 +NORME_MAXI_INCREMENT 0.5 + +NB_CYCLE_CONTROLE_RESIDU 4 # +PLAGE_CONTROLE_RESIDU 1 # si au bout de 4 iterations, on a toujours pas de diminution du rÈsidue => divergence +CAS_JACOBIEN_NEGATIF 1#2 # jacobien nÈgatif => divergence +VAR_MAXI_JACOBIEN 4#1.5 # au dessus de 20% de variation on considËre qu'il y a divergence +INIT_INCRE_AVEC_PAS_PREC 1 + +para_energie ------------ +#----------------------------# +# PARAMETRE | VALEUR # +#----------------------------# +#NB_INCR_CAL_ENERG 1 +#AFFICHE_INCR_ENERGIE 1 + +para_affichage ------------ +#----------------------------------# +# PARAMETRE | VALEUR # +#----------------------------------# +FREQUENCE_AFFICHAGE_INCREMENT 1 +FREQUENCE_AFFICHAGE_ITERATION 1 +FREQUENCE_SORTIE_FIL_DU_CALCUL 1 + +para_syteme_lineaire +#------------------------# +# PARAMETRE | VALEUR # +#------------------------# +TYPE_MATRICE BANDE_SYMETRIQUE_LAPACK +TYPE_RESOLUTION GAUSS + +resultats pas_de_sortie_finale_ +#--------------------------- +# PARAMETRE | VALEUR | +#--------------------------- +COPIE 0 + +_fin_point_info_ ---------- diff --git a/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.verif1 b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.verif1 new file mode 100755 index 0000000..9f4ceb5 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/UTILITAIRES/Test_R_fusion-elements-supperposes/fusion_elements_supperposes.verif1 @@ -0,0 +1,236 @@ +#!/usr/bin/perl +use strict; +use warnings; + +############################################################################################### +# Script pour une comparaison entre deux fichiers de même extension # +# Auteur: Erwan KERGOURLAY # +# Script qui compare un fichier de références avec le fichier résultat sortit par Herezh # +############################################################################################### + + +my $version = "1."; + +#------------------- écriture de l'entete à l'écran -----------------# +print ("\n"); +print ("\n" . '#############################################################################'); +print ("\n" . '# #'); +print ("\n" . '# comparaison.pl #'); +print ("\n" . '#############################################################################'); +print ("\n" . '# licence GPL, erwan.kergourlay@univ-ubs.fr #'); +print ("\n" . '# #'); +print ("\n" . '# version '."$version".' #'); +print ("\n" . '#############################################################################'); +print ("\n\n\n"); +#------------------- fin écriture de l'entete à l'écran -----------------# + +my $HZ=$ARGV[0]; + +print("La version d'herezh testée est: $HZ \n"); + +#------------------- déclaration des variables -----------------# + + my $valeur; + + #**Déclaration des variables qui contiennent les fichiers de références**# + #------------------------------------------------------------------------# + my $fichier_her_ref = "cube_soude_nevez.her.ref1"; + my $fichier_lis_ref = "cube_soude_nevez.lis.ref1"; + #------------------------------------------------------------------------# + + #**Déclaration des variables qui contiennent les fichiers résultats sortis par Herezh**# + #------------------------------------------------------------------------# + #**Avec vérification que le fichier existe, sinon une erreure est générée et la comparaison ne peut pas être faites**# + #**Utilisation de l'opérateur de comparaison de chaînes de caractère**# + #------------------------------------------------------------------------# + my $fichier_her_test = "cube_soude_nevez.her"; + my $fichier_lis_test = "cube_soude_nevez.lis"; + + if( -e "$fichier_her_test" && -e "$fichier_lis_test") #commande -e permet de voir si le fichier existe + { + #print("Les fichiers .her et .lis ont été créés lors du test de la version d'Herezh \n"); + $valeur=0; + } + else + { + #print("Les fichiers .her et .lis n'ont pas été créés lors du test de la version d'Herezh \n"); + $valeur=1; + } + + #**Déclaration des fichiers temporaires*# + #------------------------------------------------------------------------# + my $fichier_temp_her_ref = "fichier_temp_her_ref.txt"; + my $fichier_temp_her_test = "fichier_temp_her_test.txt"; + + my $fichier_temp_lis_ref = "fichier_temp_lis_ref.txt"; + my $fichier_temp_lis_test = "fichier_temp_lis_test.txt"; + +#------------------- fin déclaration des variables -----------------# + + +#------------------- programme de comparaison -----------------# + +if($valeur==0) +{ + #---On commence par faire une lecture du fichier .her de référence et le fichier .her de test---# + #---On extrait de ces fichiers uniquement les parties données puis on va les comparer entre-elles par rapport à des fichiers temporaires---# + open (HER_REF, "$fichier_her_ref"); + open (HER_TEST, "$fichier_her_test"); + + open (FICHIER_TEMP_HER_REF,">$fichier_temp_her_ref"); + open (FICHIER_TEMP_HER_TEST,">$fichier_temp_her_test"); + + while() + { + my $ligne_ref = $_; #on déclare une variable qui va sauvegarder la ligne en cours + chomp($ligne_ref); #on retire à la fin de cette ligne, le retour à la ligne + $ligne_ref=~ s/^[ \t]+//mg; #on supprimme toutes les combinaisons de tabulation et d'espace + + #Si on n'a pas de '#' et 'noeuds' et 'elements', la condition est validée + if(index($ligne_ref,'#') == -1 && index($ligne_ref,'noeuds') == -1 && index($ligne_ref,'elements') == -1) + { + my @tab_ref = split (/\s+/,$ligne_ref); + + if(defined($tab_ref[0])) + { + print FICHIER_TEMP_HER_REF ("@tab_ref \n"); + } + } + } + close FICHIER_TEMP_HER_REF; + close HER_REF; + + while() + { + my $ligne_test = $_; + chomp($ligne_test); + $ligne_test=~ s/^[ \t]+//mg; + + if(index($ligne_test,'#') == -1 && index($ligne_test,'noeuds') == -1 && index($ligne_test,'elements') == -1) + { + my @tab_test = split (/\s+/,$ligne_test); + + if(defined($tab_test[0])) + { + print FICHIER_TEMP_HER_TEST ("@tab_test \n"); + } + } + } + close FICHIER_TEMP_HER_TEST; + close HER_TEST; + + #---On commence par faire une lecture du fichier .lis de référence et le fichier .lis de test---# + #---On extrait de ces fichiers uniquement les parties données puis on va les comparer entre-elles par rapport à des fichiers temporaires---# + open (LIS_REF, "$fichier_lis_ref"); + open (LIS_TEST, "$fichier_lis_test"); + + open (FICHIER_TEMP_LIS_REF,">$fichier_temp_lis_ref"); + open (FICHIER_TEMP_LIS_TEST,">$fichier_temp_lis_test"); + + while() + { + my $ligne_ref = $_; #on déclare une variable qui va sauvegarder la ligne en cours + chomp($ligne_ref); #on retire à la fin de cette ligne, le retour à la ligne + $ligne_ref=~ s/^[ \t]+//mg; #on supprimme toutes les combinaisons de tabulation et d'espace + + #Si on n'a pas de '#' et 'noeuds' et 'elements', la condition est validée + if(index($ligne_ref,'#') == -1) + { + my @tab_ref = split (/\s+/,$ligne_ref); + + if(defined($tab_ref[0])) + { + print FICHIER_TEMP_LIS_REF ("@tab_ref \n"); + } + } + } + close FICHIER_TEMP_LIS_REF; + close LIS_REF; + + while() + { + my $ligne_test = $_; + chomp($ligne_test); + $ligne_test=~ s/^[ \t]+//mg; + + if(index($ligne_test,'#') == -1) + { + my @tab_test = split (/\s+/,$ligne_test); + + if(defined($tab_test[0])) + { + print FICHIER_TEMP_LIS_TEST ("@tab_test \n"); + } + } + } + close FICHIER_TEMP_LIS_TEST; + close LIS_TEST; + + #---On verifie si les deux fichiers .her sont identiques---# + system ("cmp $fichier_temp_her_test $fichier_temp_her_ref"); + if ( $? == 0 ) + { + print("Les deux fichiers .her sont identiques\n"); + $valeur=$valeur+2; #on ajoute 2 dans le cas où le fichier .her est correct + } + elsif ( $? != 0 ) + { + print("Les deux fichiers .her sont différents\n"); + $valeur=$valeur+1; #on ajoute 1 dans le cas où le fichier .her est incorrect + } + + #---On verifie si les deux fichiers .lis sont identiques---# + system ("cmp $fichier_temp_lis_test $fichier_temp_lis_ref"); + if ( $? == 0 ) + { + print("Les deux fichiers .lis sont identiques\n"); + $valeur=$valeur+3; #on ajoute 3 dans le cas où le fichier .lis est correct + } + elsif ( $? != 0 ) + { + print("Les deux fichiers .lis sont différents\n"); + $valeur=$valeur+1; #on ajoute 1 dans le cas où le fichier .lis est incorrect + } + +} + +#------------------- Fin programme de comparaison -----------------# + + +#------------------- Bilan comparaison fichier -----------------# + #----Remarques----# + # Si valeur=1, alors les nouveaux fichiers .her et .lis n'ont pas été créés. + # Si valeur=2, alors le fichier .her et le fichier .lis sont incorrects. + # Si valeur=3, alors le fichier .her est correct mais le fichier .lis est incorrect. + # Si valeur=4, alors le fichier .her est incorrect mais le fichier .lis est correct. + # Si valeur=5, alors les deux fichiers sont corrects + #----Fin remarques----# +if($valeur==1) +{ + print("Les fichiers $fichier_her_test et $fichier_lis_test n'ont pas été créés avec la version d'herezh testée: $HZ\n"); + print ("resultat verification: ECHEC\n"); +} +elsif($valeur==2) +{ + print("Le fichier $fichier_her_test a bien été créé mais son contenu est différent du fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé mais son contenu est différent du fichier $fichier_lis_ref\n"); +} +elsif($valeur==3) +{ + print("Le fichier $fichier_her_test a bien été créé et son contenu est similaire au fichier $fichier_her_ref mais le fichier $fichier_lis_test a bien été créé mais son contenu est différent du fichier $fichier_lis_ref\n"); + print ("resultat verification: ECHEC\n"); +} +elsif($valeur==4) +{ + print("Le fichier $fichier_her_test a bien été créé mais son contenu est différent du fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé et son contenu est similaire au fichier $fichier_lis_ref\n"); + print ("resultat verification: ECHEC\n"); +} +elsif($valeur==5) +{ + print("Le fichier $fichier_her_test a bien été créé et son contenu est similaire au fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé et son contenu est similaire au fichier $fichier_lis_ref\n"); + print ("resultat verification: OK\n"); +} +#------------------- Fin bilan comparaison fichier -----------------# + +#------------------- Ménage dans le répertoire -----------------# +system ("rm -f $fichier_her_test $fichier_lis_test $fichier_temp_her_test $fichier_temp_her_ref $fichier_temp_lis_test $fichier_temp_lis_ref"); +