commit ed184599db1e6a4138fcbbc1ca87fe6da8a60806 Author: troufflard <> Date: Tue Apr 14 19:36:00 2015 +0000 Premiere creation du nouveau projet de verification : retablissement de la batterie precedente, le script verifier_exeHZ a ete legerement modifie pour creer automtatiquement le repertoire Rapport si besoin, seul le script Perl/test.pl a radicalement change pour prendre en compte les divers scenarios de lancement de Herezh qui seront explicites dans la documentation, le repertoire Doc a ete cree pour accueillir la documentation diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.her b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.her new file mode 100644 index 0000000..71c2693 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.her @@ -0,0 +1,128 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .her, par Herezh++ # + ########################################################################### + # version: 6.687 + + + + nom_maillage Bague14_QC # nom du maillage + + noeuds ------------ # definition des noeuds + 81 NOEUDS # definition du nombre de noeuds + + +#--------------------------------------------------------------- +#|NO DU| X | Y | Z | +#|NOEUD| | | | +#--------------------------------------------------------------- + + 1 1.49900000000000002e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 2 1.49900000000000002e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 3 1.49900000000000002e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 4 1.49900000000000002e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 5 1.49900000000000002e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 6 1.49900000000000002e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 7 1.49900000000000002e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 8 1.49900000000000002e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 9 1.49900000000000002e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 10 1.59868749999999995e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 11 1.59868749999999995e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 12 1.59868749999999995e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 13 1.59868749999999995e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 14 1.59868749999999995e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 15 1.59868749999999995e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 16 1.59868749999999995e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 17 1.59868749999999995e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 18 1.59868749999999995e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 19 1.69837500000000006e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 20 1.69837500000000006e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 21 1.69837500000000006e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 22 1.69837500000000006e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 23 1.69837500000000006e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 24 1.69837500000000006e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 25 1.69837500000000006e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 26 1.69837500000000006e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 27 1.69837500000000006e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 28 1.79806249999999999e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 29 1.79806249999999999e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 30 1.79806249999999999e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 31 1.79806249999999999e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 32 1.79806249999999999e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 33 1.79806249999999999e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 34 1.79806249999999999e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 35 1.79806249999999999e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 36 1.79806249999999999e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 37 1.89774999999999991e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 38 1.89774999999999991e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 39 1.89774999999999991e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 40 1.89774999999999991e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 41 1.89774999999999991e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 42 1.89774999999999991e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 43 1.89774999999999991e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 44 1.89774999999999991e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 45 1.89774999999999991e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 46 1.99743750000000020e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 47 1.99743750000000020e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 48 1.99743750000000020e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 49 1.99743750000000020e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 50 1.99743750000000020e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 51 1.99743750000000020e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 52 1.99743750000000020e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 53 1.99743750000000020e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 54 1.99743750000000020e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 55 2.09712500000000013e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 56 2.09712500000000013e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 57 2.09712500000000013e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 58 2.09712500000000013e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 59 2.09712500000000013e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 60 2.09712500000000013e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 61 2.09712500000000013e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 62 2.09712500000000013e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 63 2.09712500000000013e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 64 2.19681250000000006e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 65 2.19681250000000006e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 66 2.19681250000000006e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 67 2.19681250000000006e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 68 2.19681250000000006e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 69 2.19681250000000006e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 70 2.19681250000000006e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 71 2.19681250000000006e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 72 2.19681250000000006e+01 2.18099999999999987e+01 0.00000000000000000e+00 + 73 2.29650000000000034e+01 1.40000000000000000e+01 0.00000000000000000e+00 + 74 2.29650000000000034e+01 1.49762500000000003e+01 0.00000000000000000e+00 + 75 2.29650000000000034e+01 1.59525000000000006e+01 0.00000000000000000e+00 + 76 2.29650000000000034e+01 1.69287500000000009e+01 0.00000000000000000e+00 + 77 2.29650000000000034e+01 1.79050000000000011e+01 0.00000000000000000e+00 + 78 2.29650000000000034e+01 1.88812500000000014e+01 0.00000000000000000e+00 + 79 2.29650000000000034e+01 1.98575000000000017e+01 0.00000000000000000e+00 + 80 2.29650000000000034e+01 2.08337500000000020e+01 0.00000000000000000e+00 + 81 2.29650000000000034e+01 2.18099999999999987e+01 0.00000000000000000e+00 + + + elements ---------- + + 16 ELEMENTS # definition du nombre d'elements + #---------------------------------------------------------------------- + #| NO | | | + #|ELTS | type element | Noeuds | + #---------------------------------------------------------------------- + + 1 QUAD_AXI QUADRACOMPL 1 19 21 3 10 20 12 2 11 + 2 QUAD_AXI QUADRACOMPL 3 21 23 5 12 22 14 4 13 + 3 QUAD_AXI QUADRACOMPL 5 23 25 7 14 24 16 6 15 + 4 QUAD_AXI QUADRACOMPL 7 25 27 9 16 26 18 8 17 + 5 QUAD_AXI QUADRACOMPL 19 37 39 21 28 38 30 20 29 + 6 QUAD_AXI QUADRACOMPL 21 39 41 23 30 40 32 22 31 + 7 QUAD_AXI QUADRACOMPL 23 41 43 25 32 42 34 24 33 + 8 QUAD_AXI QUADRACOMPL 25 43 45 27 34 44 36 26 35 + 9 QUAD_AXI QUADRACOMPL 37 55 57 39 46 56 48 38 47 + 10 QUAD_AXI QUADRACOMPL 39 57 59 41 48 58 50 40 49 + 11 QUAD_AXI QUADRACOMPL 41 59 61 43 50 60 52 42 51 + 12 QUAD_AXI QUADRACOMPL 43 61 63 45 52 62 54 44 53 + 13 QUAD_AXI QUADRACOMPL 55 73 75 57 64 74 66 56 65 + 14 QUAD_AXI QUADRACOMPL 57 75 77 59 66 76 68 58 67 + 15 QUAD_AXI QUADRACOMPL 59 77 79 61 68 78 70 60 69 + 16 QUAD_AXI QUADRACOMPL 61 79 81 63 70 80 72 62 71 + + diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.lis b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.lis new file mode 100644 index 0000000..df7a0df --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Bague14_QC.lis @@ -0,0 +1,72 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .lis, par Herezh++ # + ########################################################################### + # version: 6.687 + + + + # -- reference de noeud + N_E 73 74 75 76 77 78 79 80 81 + + N_N 9 18 27 36 45 54 63 72 81 + + N_NE 81 + + N_NO 9 + + N_O 1 2 3 4 5 6 7 8 9 + + N_S 1 10 19 28 37 46 55 64 73 + + N_SE 73 + + N_SO 1 + + 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 28 29 30 31 32 33 34 35 36 37 38 39 40 +41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 +61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 +81 + +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 28 29 30 31 32 33 34 35 36 37 38 39 40 +41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 +61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 +81 + + # -- reference des elements + E_E 13 14 15 16 + + E_N 4 8 12 16 + + E_NE 16 + + E_NO 4 + + E_O 1 2 3 4 + + E_S 1 5 9 13 + + E_SE 13 + + E_SO 1 + + E_to 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + +E_tout 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + + # -- references de pt d'integ, noeuds, faces et arretes associes a des elements + A_E 13 2 14 2 15 2 16 2 + + A_N 4 3 8 3 12 3 16 3 + + A_O 1 4 2 4 3 4 4 4 + + A_S 1 1 5 1 9 1 13 1 + + F_to 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 + +G_contact_surface_joint 13 3 13 6 13 9 14 3 14 6 14 9 15 3 15 6 15 9 16 3 16 6 16 9 + +G_elt_14_pti_6 14 6 diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Compression_confinee.inp b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Compression_confinee.inp new file mode 100644 index 0000000..82ebc5d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/Compression_confinee.inp @@ -0,0 +1,113 @@ +**________unite : mm, MPa________ +*HEADING +Joint GEM +**PREPRINT,ECHO=YES, MODEL=YES, HISTORY=YES, CONTACT=YES +*PARAMETER +**Joint +Bas_joint=14. +Hauteur=7.81+Bas_joint +Dint=29.98 +Dext=45.93 +Rint=Dint/2. +Rext=Dext/2. +Pt_milieu=Rint+((Rext-Rint)/2) +**Chemise +Epaisseur=3.9 +Hauteur_chemise=45. +**-------------------------------------------------------------------- +**________maillage du joint________ +*NODE +1, , +9, , +81, , +85, , +89, , +*NGEN,NSET=BAS_JOINT +1,9 +*NGEN,NSET=HAUT_JOINT +81,89 +*NSET,NSET=INT_JOINT,GENERATE +1,81,10 +*NSET,NSET=EXT_JOINT,GENERATE +9,89,10 +*NFILL,NSET=ALL_JOINT +BAS_JOINT,HAUT_JOINT,8,10 +**________section________ +*SOLID SECTION,MATERIAL=GEM,ELSET=JOINT_GEM +**________element axisymetrique a 8 noeuds________ +*ELEMENT,TYPE=CAX8 +1,1,3,23,21,2,13,22,11 +*ELGEN,ELSET=JOINT_GEM +1,4,2,1,4,20,10 +**________surface pour contact________ +*ELSET,ELSET=SURFACE_ELEMENT_JOINT,GENERATE +4,34,10 +*SURFACE,TYPE=ELEMENT,NAME=SURFACE_JOINT +SURFACE_ELEMENT_JOINT +*ELSET, ELSET=ELT_14 +14 +**-------------------------------------------------------------------- +**________maillage de la chemise________ +*NODE +101, 22.975, 0. +105, 26.875, 0. +2101, 22.975, 45. +2105, 26.875, 45. +*NGEN,NSET=BAS_CHEMISE +101,105 +*NGEN,NSET=HAUT_CHEMISE +2101,2105 +*NSET,NSET=INT_CHEMISE,GENERATE +101,2101,50 +*NSET,NSET=EXT_CHEMISE,GENERATE +105,2105,50 +*NFILL,NSET=ALL_CHEMISE +BAS_CHEMISE,HAUT_CHEMISE,40,50 +*NSET,NSET=BAS_INT_CHEMISE +101 +**________section________ +*SOLID SECTION,MATERIAL=ACIER,ELSET=CHEMISE +**________element axisymetrique a 8 noeuds________ +*ELEMENT,TYPE=CAX8,ELSET=CHEMISE +101,101,103,203,201,102,153,202,151 +*ELGEN,ELSET=CHEMISE +101,2,2,1,20,100,10 +**________surface pour contact________ +*ELSET,ELSET=SURFACE_ELEMENT_CHEMISE,GENERATE +101,291,10 +*SURFACE,TYPE=ELEMENT,NAME=SURFACE_CHEMISE +SURFACE_ELEMENT_CHEMISE +*ELSET, ELSET=ELT_16 +171 +**-------------------------------------------------------------------- +**________proprietes du materiau________ +*MATERIAL,NAME=GEM +*ELASTIC +2100.,0.3 +*MATERIAL,NAME=ACIER +*ELASTIC +210000.,0.3 +**-------------------------------------------------------------------- +**________contact________ +*SURFACE INTERACTION, NAME=JOINT_CHEMISE +*CONTACT PAIR, INTERACTION=JOINT_CHEMISE,TYPE=SURFACE TO SURFACE +**surface esclave,surface maitre +SURFACE_CHEMISE,SURFACE_JOINT +**________conditions aux limites________ +*BOUNDARY +BAS_JOINT,2 +INT_JOINT,1 +BAS_INT_CHEMISE,2 +**________pilotage________ +*STEP,NAME=charge,NLGEOM=YES,INC=1000000 +*STATIC +0.1,1.,1.e-10,0.1 +*BOUNDARY +HAUT_JOINT,2,2,-0.30 +*OUTPUT,FIELD +*NODE OUTPUT +U, RF, COORD +*ELEMENT OUTPUT +S, LE, COORD +*CONTACT OUTPUT, VARIABLE=ALL +*END STEP diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/README b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/README new file mode 100644 index 0000000..b706899 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/README @@ -0,0 +1,65 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test du contact dans le cas d un maillage axisymetrique (sur la base des +travaux de these de Emilie Vieville 2014) : +"" + TYPE_DE_CALCUL + non_dynamique + + para_contact + CONTACT_TYPE 2 +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +simulation de la compression confinee d un joint dans une chemise + - 2 maillages (joint:Bague14_QC.her, chemise:chem_fine_QC.her) + - loi ISOELAS pour les 2 maillages + - maillage axisymetrique quadratique complet (9 points d integration) + - bien noter que le maillage chem_fine_QC.her a subi une rotation de -90 degres (en particulier pour la position du point d integration 8 de l element 16) + - utilisation de reference de point d integration (G_) dans les sorties maple + - precision de calcul egale a celle par defaut dans Abaqus : + => PRECISION 5e-3 + - pour une comparaison avec Abaqus : voir rubrique "resultats Abaqus" + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +joint : + pour les noeuds 27 et 77 : + - position : X1 X2 + - reactions : R_X1 R_X2 + pour le point d integration 6 de l element 14 : + - deformation : def_duale_mises + - contrainte : contrainte_mises + +chemise : + pour le noeud 75 : + - position : X1 X2 + - reactions : R_X1 R_X2 + pour le point d integration 8 de l element 16 : + - deformation : def_duale_mises + - contrainte : contrainte_mises + +--------------------------------------------------- +Informations sur les fichiers facultatifs +--------------------------------------------------- +- Compression_confinee.inp : mise en donnees Abaqus v6.10 + +--------------------------------------------------- +Comparaison avec des codes de calcul +--------------------------------------------------- +** comparaison avec Abaqus (fichier Compression_confinee.inp) + +(ci-dessous quelques resultats suite a un calcul fait le 24/02/2015 sur lo-lg2m-001 avec Abaqus v6.10) + +joint : + noeud 83 (equivalent du noeud HZ++ 27) : X1= 16.99199867 X2= 21.51000023 R_X1= 0 R_X2= -7505.22998047 + noeud 49 (equivalent du noeud HZ++ 77) : X1= 22.99478912 X2= 17.75500679 + point 6 element 14 : contrainte_mises= 66.91905975 + +chemise : + noeud 801 (equivalent du noeud HZ++ 75) : X1= 22.98790932 X2= 15.74831772 + point 4 element 171 (equivalent du point 8 element 16 HZ++) : contrainte_mises= 160.24816895 diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.her b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.her new file mode 100644 index 0000000..21d717f --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.her @@ -0,0 +1,276 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .her, par Herezh++ # + ########################################################################### + # version: 6.687 + + + + nom_maillage chem_fine_QC # nom du maillage + + noeuds ------------ # definition des noeuds + 205 NOEUDS # definition du nombre de noeuds + + +#--------------------------------------------------------------- +#|NO DU| X | Y | Z | +#|NOEUD| | | | +#--------------------------------------------------------------- + + 1 2.68750000000000000e+01 0.00000000000000000e+00 0.00000000000000000e+00 + 2 2.59000000000000021e+01 0.00000000000000000e+00 0.00000000000000000e+00 + 3 2.49250000000000007e+01 0.00000000000000000e+00 0.00000000000000000e+00 + 4 2.39500000000000028e+01 0.00000000000000000e+00 0.00000000000000000e+00 + 5 2.29750000000000014e+01 0.00000000000000000e+00 0.00000000000000000e+00 + 6 2.68750000000000000e+01 1.12500000000000000e+00 0.00000000000000000e+00 + 7 2.59000000000000021e+01 1.12500000000000000e+00 0.00000000000000000e+00 + 8 2.49250000000000007e+01 1.12500000000000000e+00 0.00000000000000000e+00 + 9 2.39500000000000028e+01 1.12500000000000000e+00 0.00000000000000000e+00 + 10 2.29750000000000014e+01 1.12500000000000000e+00 0.00000000000000000e+00 + 11 2.68750000000000000e+01 2.25000000000000000e+00 0.00000000000000000e+00 + 12 2.59000000000000021e+01 2.25000000000000000e+00 0.00000000000000000e+00 + 13 2.49250000000000007e+01 2.25000000000000000e+00 0.00000000000000000e+00 + 14 2.39500000000000028e+01 2.25000000000000000e+00 0.00000000000000000e+00 + 15 2.29750000000000014e+01 2.25000000000000000e+00 0.00000000000000000e+00 + 16 2.68750000000000000e+01 3.37500000000000000e+00 0.00000000000000000e+00 + 17 2.59000000000000021e+01 3.37500000000000000e+00 0.00000000000000000e+00 + 18 2.49250000000000007e+01 3.37500000000000000e+00 0.00000000000000000e+00 + 19 2.39500000000000028e+01 3.37500000000000000e+00 0.00000000000000000e+00 + 20 2.29750000000000014e+01 3.37500000000000000e+00 0.00000000000000000e+00 + 21 2.68750000000000000e+01 4.50000000000000000e+00 0.00000000000000000e+00 + 22 2.59000000000000021e+01 4.50000000000000000e+00 0.00000000000000000e+00 + 23 2.49250000000000007e+01 4.50000000000000000e+00 0.00000000000000000e+00 + 24 2.39500000000000028e+01 4.50000000000000000e+00 0.00000000000000000e+00 + 25 2.29750000000000014e+01 4.50000000000000000e+00 0.00000000000000000e+00 + 26 2.68750000000000000e+01 5.62500000000000000e+00 0.00000000000000000e+00 + 27 2.59000000000000021e+01 5.62500000000000000e+00 0.00000000000000000e+00 + 28 2.49250000000000007e+01 5.62500000000000000e+00 0.00000000000000000e+00 + 29 2.39500000000000028e+01 5.62500000000000000e+00 0.00000000000000000e+00 + 30 2.29750000000000014e+01 5.62500000000000000e+00 0.00000000000000000e+00 + 31 2.68750000000000000e+01 6.75000000000000000e+00 0.00000000000000000e+00 + 32 2.59000000000000021e+01 6.75000000000000000e+00 0.00000000000000000e+00 + 33 2.49250000000000007e+01 6.75000000000000000e+00 0.00000000000000000e+00 + 34 2.39500000000000028e+01 6.75000000000000000e+00 0.00000000000000000e+00 + 35 2.29750000000000014e+01 6.75000000000000000e+00 0.00000000000000000e+00 + 36 2.68750000000000000e+01 7.87500000000000000e+00 0.00000000000000000e+00 + 37 2.59000000000000021e+01 7.87500000000000000e+00 0.00000000000000000e+00 + 38 2.49250000000000007e+01 7.87500000000000000e+00 0.00000000000000000e+00 + 39 2.39500000000000028e+01 7.87500000000000000e+00 0.00000000000000000e+00 + 40 2.29750000000000014e+01 7.87500000000000000e+00 0.00000000000000000e+00 + 41 2.68750000000000000e+01 9.00000000000000000e+00 0.00000000000000000e+00 + 42 2.59000000000000021e+01 9.00000000000000000e+00 0.00000000000000000e+00 + 43 2.49250000000000007e+01 9.00000000000000000e+00 0.00000000000000000e+00 + 44 2.39500000000000028e+01 9.00000000000000000e+00 0.00000000000000000e+00 + 45 2.29750000000000014e+01 9.00000000000000000e+00 0.00000000000000000e+00 + 46 2.68750000000000000e+01 1.01250000000000000e+01 0.00000000000000000e+00 + 47 2.59000000000000021e+01 1.01250000000000000e+01 0.00000000000000000e+00 + 48 2.49250000000000007e+01 1.01250000000000000e+01 0.00000000000000000e+00 + 49 2.39500000000000028e+01 1.01250000000000000e+01 0.00000000000000000e+00 + 50 2.29750000000000014e+01 1.01250000000000000e+01 0.00000000000000000e+00 + 51 2.68750000000000000e+01 1.12500000000000000e+01 0.00000000000000000e+00 + 52 2.59000000000000021e+01 1.12500000000000000e+01 0.00000000000000000e+00 + 53 2.49250000000000007e+01 1.12500000000000000e+01 0.00000000000000000e+00 + 54 2.39500000000000028e+01 1.12500000000000000e+01 0.00000000000000000e+00 + 55 2.29750000000000014e+01 1.12500000000000000e+01 0.00000000000000000e+00 + 56 2.68750000000000000e+01 1.23750000000000000e+01 0.00000000000000000e+00 + 57 2.59000000000000021e+01 1.23750000000000000e+01 0.00000000000000000e+00 + 58 2.49250000000000007e+01 1.23750000000000000e+01 0.00000000000000000e+00 + 59 2.39500000000000028e+01 1.23750000000000000e+01 0.00000000000000000e+00 + 60 2.29750000000000014e+01 1.23750000000000000e+01 0.00000000000000000e+00 + 61 2.68750000000000000e+01 1.35000000000000000e+01 0.00000000000000000e+00 + 62 2.59000000000000021e+01 1.35000000000000000e+01 0.00000000000000000e+00 + 63 2.49250000000000007e+01 1.35000000000000000e+01 0.00000000000000000e+00 + 64 2.39500000000000028e+01 1.35000000000000000e+01 0.00000000000000000e+00 + 65 2.29750000000000014e+01 1.35000000000000000e+01 0.00000000000000000e+00 + 66 2.68750000000000000e+01 1.46250000000000000e+01 0.00000000000000000e+00 + 67 2.59000000000000021e+01 1.46250000000000000e+01 0.00000000000000000e+00 + 68 2.49250000000000007e+01 1.46250000000000000e+01 0.00000000000000000e+00 + 69 2.39500000000000028e+01 1.46250000000000000e+01 0.00000000000000000e+00 + 70 2.29750000000000014e+01 1.46250000000000000e+01 0.00000000000000000e+00 + 71 2.68750000000000000e+01 1.57500000000000000e+01 0.00000000000000000e+00 + 72 2.59000000000000021e+01 1.57500000000000000e+01 0.00000000000000000e+00 + 73 2.49250000000000007e+01 1.57500000000000000e+01 0.00000000000000000e+00 + 74 2.39500000000000028e+01 1.57500000000000000e+01 0.00000000000000000e+00 + 75 2.29750000000000014e+01 1.57500000000000000e+01 0.00000000000000000e+00 + 76 2.68750000000000000e+01 1.68750000000000000e+01 0.00000000000000000e+00 + 77 2.59000000000000021e+01 1.68750000000000000e+01 0.00000000000000000e+00 + 78 2.49250000000000007e+01 1.68750000000000000e+01 0.00000000000000000e+00 + 79 2.39500000000000028e+01 1.68750000000000000e+01 0.00000000000000000e+00 + 80 2.29750000000000014e+01 1.68750000000000000e+01 0.00000000000000000e+00 + 81 2.68750000000000000e+01 1.80000000000000000e+01 0.00000000000000000e+00 + 82 2.59000000000000021e+01 1.80000000000000000e+01 0.00000000000000000e+00 + 83 2.49250000000000007e+01 1.80000000000000000e+01 0.00000000000000000e+00 + 84 2.39500000000000028e+01 1.80000000000000000e+01 0.00000000000000000e+00 + 85 2.29750000000000014e+01 1.80000000000000000e+01 0.00000000000000000e+00 + 86 2.68750000000000000e+01 1.91250000000000000e+01 0.00000000000000000e+00 + 87 2.59000000000000021e+01 1.91250000000000000e+01 0.00000000000000000e+00 + 88 2.49250000000000007e+01 1.91250000000000000e+01 0.00000000000000000e+00 + 89 2.39500000000000028e+01 1.91250000000000000e+01 0.00000000000000000e+00 + 90 2.29750000000000014e+01 1.91250000000000000e+01 0.00000000000000000e+00 + 91 2.68750000000000000e+01 2.02500000000000000e+01 0.00000000000000000e+00 + 92 2.59000000000000021e+01 2.02500000000000000e+01 0.00000000000000000e+00 + 93 2.49250000000000007e+01 2.02500000000000000e+01 0.00000000000000000e+00 + 94 2.39500000000000028e+01 2.02500000000000000e+01 0.00000000000000000e+00 + 95 2.29750000000000014e+01 2.02500000000000000e+01 0.00000000000000000e+00 + 96 2.68750000000000000e+01 2.13750000000000000e+01 0.00000000000000000e+00 + 97 2.59000000000000021e+01 2.13750000000000000e+01 0.00000000000000000e+00 + 98 2.49250000000000007e+01 2.13750000000000000e+01 0.00000000000000000e+00 + 99 2.39500000000000028e+01 2.13750000000000000e+01 0.00000000000000000e+00 + 100 2.29750000000000014e+01 2.13750000000000000e+01 0.00000000000000000e+00 + 101 2.68750000000000000e+01 2.25000000000000000e+01 0.00000000000000000e+00 + 102 2.59000000000000021e+01 2.25000000000000000e+01 0.00000000000000000e+00 + 103 2.49250000000000007e+01 2.25000000000000000e+01 0.00000000000000000e+00 + 104 2.39500000000000028e+01 2.25000000000000000e+01 0.00000000000000000e+00 + 105 2.29750000000000014e+01 2.25000000000000000e+01 0.00000000000000000e+00 + 106 2.68750000000000000e+01 2.36250000000000000e+01 0.00000000000000000e+00 + 107 2.59000000000000021e+01 2.36250000000000000e+01 0.00000000000000000e+00 + 108 2.49250000000000007e+01 2.36250000000000000e+01 0.00000000000000000e+00 + 109 2.39500000000000028e+01 2.36250000000000000e+01 0.00000000000000000e+00 + 110 2.29750000000000014e+01 2.36250000000000000e+01 0.00000000000000000e+00 + 111 2.68750000000000000e+01 2.47500000000000000e+01 0.00000000000000000e+00 + 112 2.59000000000000021e+01 2.47500000000000000e+01 0.00000000000000000e+00 + 113 2.49250000000000007e+01 2.47500000000000000e+01 0.00000000000000000e+00 + 114 2.39500000000000028e+01 2.47500000000000000e+01 0.00000000000000000e+00 + 115 2.29750000000000014e+01 2.47500000000000000e+01 0.00000000000000000e+00 + 116 2.68750000000000000e+01 2.58750000000000000e+01 0.00000000000000000e+00 + 117 2.59000000000000021e+01 2.58750000000000000e+01 0.00000000000000000e+00 + 118 2.49250000000000007e+01 2.58750000000000000e+01 0.00000000000000000e+00 + 119 2.39500000000000028e+01 2.58750000000000000e+01 0.00000000000000000e+00 + 120 2.29750000000000014e+01 2.58750000000000000e+01 0.00000000000000000e+00 + 121 2.68750000000000000e+01 2.70000000000000000e+01 0.00000000000000000e+00 + 122 2.59000000000000021e+01 2.70000000000000000e+01 0.00000000000000000e+00 + 123 2.49250000000000007e+01 2.70000000000000000e+01 0.00000000000000000e+00 + 124 2.39500000000000028e+01 2.70000000000000000e+01 0.00000000000000000e+00 + 125 2.29750000000000014e+01 2.70000000000000000e+01 0.00000000000000000e+00 + 126 2.68750000000000000e+01 2.81250000000000000e+01 0.00000000000000000e+00 + 127 2.59000000000000021e+01 2.81250000000000000e+01 0.00000000000000000e+00 + 128 2.49250000000000007e+01 2.81250000000000000e+01 0.00000000000000000e+00 + 129 2.39500000000000028e+01 2.81250000000000000e+01 0.00000000000000000e+00 + 130 2.29750000000000014e+01 2.81250000000000000e+01 0.00000000000000000e+00 + 131 2.68750000000000000e+01 2.92500000000000000e+01 0.00000000000000000e+00 + 132 2.59000000000000021e+01 2.92500000000000000e+01 0.00000000000000000e+00 + 133 2.49250000000000007e+01 2.92500000000000000e+01 0.00000000000000000e+00 + 134 2.39500000000000028e+01 2.92500000000000000e+01 0.00000000000000000e+00 + 135 2.29750000000000014e+01 2.92500000000000000e+01 0.00000000000000000e+00 + 136 2.68750000000000000e+01 3.03750000000000000e+01 0.00000000000000000e+00 + 137 2.59000000000000021e+01 3.03750000000000000e+01 0.00000000000000000e+00 + 138 2.49250000000000007e+01 3.03750000000000000e+01 0.00000000000000000e+00 + 139 2.39500000000000028e+01 3.03750000000000000e+01 0.00000000000000000e+00 + 140 2.29750000000000014e+01 3.03750000000000000e+01 0.00000000000000000e+00 + 141 2.68750000000000000e+01 3.15000000000000000e+01 0.00000000000000000e+00 + 142 2.59000000000000021e+01 3.15000000000000000e+01 0.00000000000000000e+00 + 143 2.49250000000000007e+01 3.15000000000000000e+01 0.00000000000000000e+00 + 144 2.39500000000000028e+01 3.15000000000000000e+01 0.00000000000000000e+00 + 145 2.29750000000000014e+01 3.15000000000000000e+01 0.00000000000000000e+00 + 146 2.68750000000000000e+01 3.26250000000000000e+01 0.00000000000000000e+00 + 147 2.59000000000000021e+01 3.26250000000000000e+01 0.00000000000000000e+00 + 148 2.49250000000000007e+01 3.26250000000000000e+01 0.00000000000000000e+00 + 149 2.39500000000000028e+01 3.26250000000000000e+01 0.00000000000000000e+00 + 150 2.29750000000000014e+01 3.26250000000000000e+01 0.00000000000000000e+00 + 151 2.68750000000000000e+01 3.37500000000000000e+01 0.00000000000000000e+00 + 152 2.59000000000000021e+01 3.37500000000000000e+01 0.00000000000000000e+00 + 153 2.49250000000000007e+01 3.37500000000000000e+01 0.00000000000000000e+00 + 154 2.39500000000000028e+01 3.37500000000000000e+01 0.00000000000000000e+00 + 155 2.29750000000000014e+01 3.37500000000000000e+01 0.00000000000000000e+00 + 156 2.68750000000000000e+01 3.48750000000000000e+01 0.00000000000000000e+00 + 157 2.59000000000000021e+01 3.48750000000000000e+01 0.00000000000000000e+00 + 158 2.49250000000000007e+01 3.48750000000000000e+01 0.00000000000000000e+00 + 159 2.39500000000000028e+01 3.48750000000000000e+01 0.00000000000000000e+00 + 160 2.29750000000000014e+01 3.48750000000000000e+01 0.00000000000000000e+00 + 161 2.68750000000000000e+01 3.60000000000000000e+01 0.00000000000000000e+00 + 162 2.59000000000000021e+01 3.60000000000000000e+01 0.00000000000000000e+00 + 163 2.49250000000000007e+01 3.60000000000000000e+01 0.00000000000000000e+00 + 164 2.39500000000000028e+01 3.60000000000000000e+01 0.00000000000000000e+00 + 165 2.29750000000000014e+01 3.60000000000000000e+01 0.00000000000000000e+00 + 166 2.68750000000000000e+01 3.71250000000000000e+01 0.00000000000000000e+00 + 167 2.59000000000000021e+01 3.71250000000000000e+01 0.00000000000000000e+00 + 168 2.49250000000000007e+01 3.71250000000000000e+01 0.00000000000000000e+00 + 169 2.39500000000000028e+01 3.71250000000000000e+01 0.00000000000000000e+00 + 170 2.29750000000000014e+01 3.71250000000000000e+01 0.00000000000000000e+00 + 171 2.68750000000000000e+01 3.82500000000000000e+01 0.00000000000000000e+00 + 172 2.59000000000000021e+01 3.82500000000000000e+01 0.00000000000000000e+00 + 173 2.49250000000000007e+01 3.82500000000000000e+01 0.00000000000000000e+00 + 174 2.39500000000000028e+01 3.82500000000000000e+01 0.00000000000000000e+00 + 175 2.29750000000000014e+01 3.82500000000000000e+01 0.00000000000000000e+00 + 176 2.68750000000000000e+01 3.93750000000000000e+01 0.00000000000000000e+00 + 177 2.59000000000000021e+01 3.93750000000000000e+01 0.00000000000000000e+00 + 178 2.49250000000000007e+01 3.93750000000000000e+01 0.00000000000000000e+00 + 179 2.39500000000000028e+01 3.93750000000000000e+01 0.00000000000000000e+00 + 180 2.29750000000000014e+01 3.93750000000000000e+01 0.00000000000000000e+00 + 181 2.68750000000000000e+01 4.05000000000000000e+01 0.00000000000000000e+00 + 182 2.59000000000000021e+01 4.05000000000000000e+01 0.00000000000000000e+00 + 183 2.49250000000000007e+01 4.05000000000000000e+01 0.00000000000000000e+00 + 184 2.39500000000000028e+01 4.05000000000000000e+01 0.00000000000000000e+00 + 185 2.29750000000000014e+01 4.05000000000000000e+01 0.00000000000000000e+00 + 186 2.68750000000000000e+01 4.16250000000000000e+01 0.00000000000000000e+00 + 187 2.59000000000000021e+01 4.16250000000000000e+01 0.00000000000000000e+00 + 188 2.49250000000000007e+01 4.16250000000000000e+01 0.00000000000000000e+00 + 189 2.39500000000000028e+01 4.16250000000000000e+01 0.00000000000000000e+00 + 190 2.29750000000000014e+01 4.16250000000000000e+01 0.00000000000000000e+00 + 191 2.68750000000000000e+01 4.27500000000000000e+01 0.00000000000000000e+00 + 192 2.59000000000000021e+01 4.27500000000000000e+01 0.00000000000000000e+00 + 193 2.49250000000000007e+01 4.27500000000000000e+01 0.00000000000000000e+00 + 194 2.39500000000000028e+01 4.27500000000000000e+01 0.00000000000000000e+00 + 195 2.29750000000000014e+01 4.27500000000000000e+01 0.00000000000000000e+00 + 196 2.68750000000000000e+01 4.38750000000000000e+01 0.00000000000000000e+00 + 197 2.59000000000000021e+01 4.38750000000000000e+01 0.00000000000000000e+00 + 198 2.49250000000000007e+01 4.38750000000000000e+01 0.00000000000000000e+00 + 199 2.39500000000000028e+01 4.38750000000000000e+01 0.00000000000000000e+00 + 200 2.29750000000000014e+01 4.38750000000000000e+01 0.00000000000000000e+00 + 201 2.68750000000000000e+01 4.50000000000000000e+01 0.00000000000000000e+00 + 202 2.59000000000000021e+01 4.50000000000000000e+01 0.00000000000000000e+00 + 203 2.49250000000000007e+01 4.50000000000000000e+01 0.00000000000000000e+00 + 204 2.39500000000000028e+01 4.50000000000000000e+01 0.00000000000000000e+00 + 205 2.29750000000000014e+01 4.50000000000000000e+01 0.00000000000000000e+00 + + + elements ---------- + + 40 ELEMENTS # definition du nombre d'elements + #---------------------------------------------------------------------- + #| NO | | | + #|ELTS | type element | Noeuds | + #---------------------------------------------------------------------- + + 1 QUAD_AXI QUADRACOMPL 1 11 13 3 6 12 8 2 7 + 2 QUAD_AXI QUADRACOMPL 3 13 15 5 8 14 10 4 9 + 3 QUAD_AXI QUADRACOMPL 11 21 23 13 16 22 18 12 17 + 4 QUAD_AXI QUADRACOMPL 13 23 25 15 18 24 20 14 19 + 5 QUAD_AXI QUADRACOMPL 21 31 33 23 26 32 28 22 27 + 6 QUAD_AXI QUADRACOMPL 23 33 35 25 28 34 30 24 29 + 7 QUAD_AXI QUADRACOMPL 31 41 43 33 36 42 38 32 37 + 8 QUAD_AXI QUADRACOMPL 33 43 45 35 38 44 40 34 39 + 9 QUAD_AXI QUADRACOMPL 41 51 53 43 46 52 48 42 47 + 10 QUAD_AXI QUADRACOMPL 43 53 55 45 48 54 50 44 49 + 11 QUAD_AXI QUADRACOMPL 51 61 63 53 56 62 58 52 57 + 12 QUAD_AXI QUADRACOMPL 53 63 65 55 58 64 60 54 59 + 13 QUAD_AXI QUADRACOMPL 61 71 73 63 66 72 68 62 67 + 14 QUAD_AXI QUADRACOMPL 63 73 75 65 68 74 70 64 69 + 15 QUAD_AXI QUADRACOMPL 71 81 83 73 76 82 78 72 77 + 16 QUAD_AXI QUADRACOMPL 73 83 85 75 78 84 80 74 79 + 17 QUAD_AXI QUADRACOMPL 81 91 93 83 86 92 88 82 87 + 18 QUAD_AXI QUADRACOMPL 83 93 95 85 88 94 90 84 89 + 19 QUAD_AXI QUADRACOMPL 91 101 103 93 96 102 98 92 97 + 20 QUAD_AXI QUADRACOMPL 93 103 105 95 98 104 100 94 99 + 21 QUAD_AXI QUADRACOMPL 101 111 113 103 106 112 108 102 107 + 22 QUAD_AXI QUADRACOMPL 103 113 115 105 108 114 110 104 109 + 23 QUAD_AXI QUADRACOMPL 111 121 123 113 116 122 118 112 117 + 24 QUAD_AXI QUADRACOMPL 113 123 125 115 118 124 120 114 119 + 25 QUAD_AXI QUADRACOMPL 121 131 133 123 126 132 128 122 127 + 26 QUAD_AXI QUADRACOMPL 123 133 135 125 128 134 130 124 129 + 27 QUAD_AXI QUADRACOMPL 131 141 143 133 136 142 138 132 137 + 28 QUAD_AXI QUADRACOMPL 133 143 145 135 138 144 140 134 139 + 29 QUAD_AXI QUADRACOMPL 141 151 153 143 146 152 148 142 147 + 30 QUAD_AXI QUADRACOMPL 143 153 155 145 148 154 150 144 149 + 31 QUAD_AXI QUADRACOMPL 151 161 163 153 156 162 158 152 157 + 32 QUAD_AXI QUADRACOMPL 153 163 165 155 158 164 160 154 159 + 33 QUAD_AXI QUADRACOMPL 161 171 173 163 166 172 168 162 167 + 34 QUAD_AXI QUADRACOMPL 163 173 175 165 168 174 170 164 169 + 35 QUAD_AXI QUADRACOMPL 171 181 183 173 176 182 178 172 177 + 36 QUAD_AXI QUADRACOMPL 173 183 185 175 178 184 180 174 179 + 37 QUAD_AXI QUADRACOMPL 181 191 193 183 186 192 188 182 187 + 38 QUAD_AXI QUADRACOMPL 183 193 195 185 188 194 190 184 189 + 39 QUAD_AXI QUADRACOMPL 191 201 203 193 196 202 198 192 197 + 40 QUAD_AXI QUADRACOMPL 193 203 205 195 198 204 200 194 199 + + diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.lis b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.lis new file mode 100644 index 0000000..7fd993d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/chem_fine_QC.lis @@ -0,0 +1,93 @@ + + ########################################################################### + # ecriture automatique d'un maillage au format .lis, par Herezh++ # + ########################################################################### + # version: 6.687 + + + + # -- reference de noeud + N_E 201 202 203 204 205 + + N_N 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 +105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200 +205 + + N_NE 205 + + N_NO 5 + + N_O 1 2 3 4 5 + + N_S 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 +101 106 111 116 121 126 131 136 141 146 151 156 161 166 171 176 181 186 191 196 +201 + + N_SE 201 + + N_SO 1 + + 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 28 29 30 31 32 33 34 35 36 37 38 39 40 +41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 +61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 +81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 +101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 +121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 +141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 +161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 +181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 +201 202 203 204 205 + +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 28 29 30 31 32 33 34 35 36 37 38 39 40 +41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 +61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 +81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 +101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 +121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 +141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 +161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 +181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 +201 202 203 204 205 + + # -- reference des elements + E_E 39 40 + + E_N 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 + + E_NE 40 + + E_NO 2 + + E_O 1 2 + + E_S 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 + + E_SE 39 + + E_SO 1 + + E_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 28 29 30 31 32 33 34 35 36 37 38 39 40 + +E_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 28 29 30 31 32 33 34 35 36 37 38 39 40 + + # -- references de pt d'integ, noeuds, faces et arretes associes a des elements + A_E 39 2 40 2 + + A_N 2 3 4 3 6 3 8 3 10 3 12 3 14 3 16 3 18 3 20 3 22 3 24 3 26 3 28 3 30 3 32 3 34 3 36 3 38 3 40 3 + + A_O 1 4 2 4 + + A_S 1 1 3 1 5 1 7 1 9 1 11 1 13 1 15 1 17 1 19 1 21 1 23 1 25 1 27 1 29 1 31 1 33 1 35 1 37 1 39 1 + + F_to 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 +21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 + +G_contact_surface_chemise 2 7 2 8 2 9 4 7 4 8 4 9 6 7 6 8 6 9 8 7 8 8 8 9 10 7 10 8 10 9 12 7 12 8 12 9 14 7 14 8 +14 9 16 7 16 8 16 9 18 7 18 8 18 9 20 7 20 8 20 9 22 7 22 8 22 9 24 7 24 8 24 9 26 7 26 8 26 9 28 7 +28 8 28 9 30 7 30 8 30 9 32 7 32 8 32 9 34 7 34 8 34 9 36 7 36 8 36 9 38 7 38 8 38 9 40 7 40 8 40 9 + +G_elt_16_pti_8 16 8 diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.CVisu1 b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.CVisu1 new file mode 100644 index 0000000..243f5bc --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.CVisu1 @@ -0,0 +1,143 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 2 fin_choix_maillage + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud 27 77 fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud X1 X2 R_X1 R_X2 fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element G_elt_14_pti_6 fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element contrainte_mises def_duale_mises fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements + 2 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud 75 fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud X1 X2 R_X1 R_X2 fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element G_elt_16_pti_8 fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element contrainte_mises def_duale_mises fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + 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/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.info b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.info new file mode 100644 index 0000000..31ddcca --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique.info @@ -0,0 +1,118 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL + +non_dynamique avec plus lectureCommandesVisu # avec plus visualisation # + + +# -- def maillage joint +< Bague14_QC.her +< Bague14_QC.lis + +# -- def maillage chemise +< chem_fine_QC.her +< chem_fine_QC.lis + + +domaine_esclave +1 #maillage 1 defini comme esclave + + +les_courbes_1D ---------------------------------------------- + +courbe_traction COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. -0.30 + Fin_des_coordonnees_des_points + + +choix_materiaux ---------- + +nom_mail= Bague14_QC E_tout acier_mou + +nom_mail= chem_fine_QC E_tout acier + +materiaux ---------------------------------------------- + +acier ISOELAS +210000 0.3 + +acier_mou ISOELAS +2100 0.3 + +masse_volumique ---------------------------- + +nom_mail= Bague14_QC E_tout 1 +nom_mail= chem_fine_QC E_tout 1 + + +charges ------------------------------------ + + +blocages --------------------------------- + +# le joint +nom_mail= Bague14_QC N_S UY +nom_mail= Bague14_QC N_O UX +nom_mail= Bague14_QC N_N 'UY = COURBE_CHARGE: courbe_traction ECHELLE: 1', UZ +nom_mail= Bague14_QC N_tout UZ + +# la chemise +nom_mail= chem_fine_QC N_NO UY #attention : rotation de -90 par rapport aux refs habituelles +nom_mail= chem_fine_QC N_tout UZ + +controle --------------------------------------- + +DELTAtMAXI 0.1 +TEMPSFIN 1 +DELTAt 0.1 +ITERATIONS 15 +PRECISION 5e-3 +SAUVEGARDE 1 +MAXINCRE 1000000 + + +para_contact ------------------------------------ + +#CONTACT_TYPE : +# > 0 : pas de contact +# > 1 : contact avec une methode sans multiplicateur de Lagrange ni penalisation +# > 2 : contact avec une methode de penalisation +CONTACT_TYPE 2 + +PENALISATION_PENETRATION 0.1 + +#TYPE_PENALISATION_PENETRATION (indique la methode pour calculer le facteur beta) +# > 1 : dans ce cas beta=1 et alpha = facteur de penalisation +# > 2 : beta est calcule +# > 3 : meme fonctionnement que 2 mais avec un algorithme supplementaire +# > 5 : meme fonctionnement que 2 mais avec un algorithme supplementaire +TYPE_PENALISATION_PENETRATION 2 +NB_DECOLLEMENT_MAXI 1 +DISTANCE_MAXI_AU_PT_PROJETE 2. +TYPE_DE_DECOLLEMENT 1 + + +para_pilotage_equi_global --------------------------------- + +FACTEUR_DIMINUTION 1.732 +FACTEUR_AUGMENTATION 1.414 +NB_BONNE_CONVERGENCE 3 +NORME_MAXI_INCREMENT 0.1 + + +para_syteme_lineaire ------------ + + +para_affichage ------------ +#FREQUENCE_SORTIE_FIL_DU_CALCUL 1 + +resultats pas_de_sortie_finale_ +COPIE 0 + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique_princ.maple.ref1 new file mode 100644 index 0000000..27967f0 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/contact_axi_non_dynamique_princ.maple.ref1 @@ -0,0 +1,94 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#2 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#2 4 (nombre de noeuds, nombre total de grandeurs associees) +# maillage_1 : +# noeud_27 [2]X [3]Y [4]Z [5]X1 [6]X2 [7]R_X1 [8]R_X2 ; +# noeud_77 [9]X [10]Y [11]Z [12]X1 [13]X2 [14]R_X1 [15]R_X2 ; +# +#1 4 (nombre de noeuds, nombre total de grandeurs associees) +# maillage_2 : +# noeud_75 [17]X [18]Y [19]Z [20]X1 [21]X2 [22]R_X1 [23]R_X2 ; +# +#---------------------------------- grandeurs aux elements ------------------------------ +#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# maillage_1 : +# reference G_elt_14_pti_6 : element_14 pt_integ_6: [25]X [26]Y [27]Z [28] contrainte_mises [29] def_duale_mises +# +# +#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# maillage_2 : +# reference G_elt_16_pti_8 : element_16 pt_integ_8: [31]X [32]Y [33]Z [34] contrainte_mises [35] def_duale_mises +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 1.699124778880e+01 2.151000000000e+01 0.000000000000e+00 1.699124778880e+01 2.151000000000e+01 0.000000000000e+00 7.836307275110e+03 2.299171571673e+01 1.775534086544e+01 0.000000000000e+00 2.299171571673e+01 1.775534086544e+01 -3.827610525875e+03 -2.733190283370e-01 1.000000000000e+00 2.298875938452e+01 1.574822255247e+01 0.000000000000e+00 2.298875938452e+01 1.574822255247e+01 3.955599632662e+03 -2.857909684829e+00 1.000000000000e+00 2.276827274533e+01 1.681640459547e+01 0.000000000000e+00 6.982193210439e+01 2.881540055102e-02 1.000000000000e+00 2.320903886251e+01 1.687243479857e+01 0.000000000000e+00 1.712718075877e+02 7.068360313144e-04 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/README new file mode 100644 index 0000000..526dbc1 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/README @@ -0,0 +1,20 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple de la loi ISOHYPER3DFAVIER3 en cisaillement simple : +"" + ISOHYPER3DFAVIER3 +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +cisaillement simple dans le plan XY (suivant X) sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + - deformations planes par blocage de la direction Z pour tous les noeuds + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le point d integration 1 de l element 1 : + - deformation : EPS12 + - contrainte : SIG12 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.CVisu1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.CVisu1 new file mode 100644 index 0000000..cd4093d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS12 SIG12 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.info new file mode 100644 index 0000000..02a0a1c --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement.info @@ -0,0 +1,78 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +non_dynamique avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_HYPER + +materiaux ---------------------------------------------- + +MAT_HYPER ISOHYPER3DFAVIER3 +# K Qor mur mu_inf +270000. 400. 28000. 10000. + + +masse_volumique ---------------------------------------------- + +E_tout 8.7e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#cisaillement simple XY +N_arriere UX UY +N_tout UZ +N_avant 'UX= COURBE_CHARGE: rampe ECHELLE: 0.04' UY + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1. +DELTAt 0.1 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement_princ.maple.ref1 new file mode 100644 index 0000000..deacec9 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/cube_ISOHYPER3DFAVIER3_cisaillement_princ.maple.ref1 @@ -0,0 +1,78 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#0 0 (nombre de noeuds, nombre total de grandeurs associees) +#---------------------------------- grandeurs aux elements ------------------------------ +#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS12 [6] SIG12 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 2.428718707890e-01 7.886751345948e-01 7.886751345948e-01 2.000000000000e-02 6.832902927163e+02 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/README new file mode 100644 index 0000000..51828bd --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/README @@ -0,0 +1,19 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple de la loi ISOHYPER3DFAVIER3 en traction uniaxiale : +"" + ISOHYPER3DFAVIER3 +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le point d integration 1 de l element 1 : + - deformations : EPS11 EPS22 EPS33 + - contrainte : SIG11 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.CVisu1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.CVisu1 new file mode 100644 index 0000000..efbda17 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.info new file mode 100644 index 0000000..188cda9 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction.info @@ -0,0 +1,79 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +non_dynamique avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_HYPER + +materiaux ---------------------------------------------- + +MAT_HYPER ISOHYPER3DFAVIER3 +# K Qor mur mu_inf +270000. 400. 28000. 10000. + + +masse_volumique ---------------------------------------------- + +E_tout 8.7e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#traction uniaxiale suivant X par deplacement impose +N_droit UX +N_arriere UY +N_bas UZ +N_gauche 'UX= COURBE_CHARGE: rampe ECHELLE: 0.03' + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1. +DELTAt 0.1 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction_princ.maple.ref1 new file mode 100644 index 0000000..63a509e --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/cube_ISOHYPER3DFAVIER3_traction_princ.maple.ref1 @@ -0,0 +1,78 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#0 0 (nombre de noeuds, nombre total de grandeurs associees) +#---------------------------------- grandeurs aux elements ------------------------------ +#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS11 [6] EPS22 [7] EPS33 [8] SIG11 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 2.176646113673e-01 7.789442266939e-01 7.789442266939e-01 2.870204543312e-02 -1.257046258088e-02 -1.257046258088e-02 1.275957739695e+03 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/README new file mode 100644 index 0000000..2edec10 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/README @@ -0,0 +1,20 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple de la loi MOONEY_RIVLIN_3D en cisaillement simple : +"" + MOONEY_RIVLIN_3D +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +cisaillement simple dans le plan XY (suivant X) sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + - deformations planes par blocage de la direction Z pour tous les noeuds + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le point d integration 1 de l element 1 : + - deformation : EPS12 + - contrainte : SIG12 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.CVisu1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.CVisu1 new file mode 100644 index 0000000..cd4093d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS12 SIG12 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.info new file mode 100644 index 0000000..abc623a --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement.info @@ -0,0 +1,79 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +non_dynamique avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_HYPER + +materiaux ---------------------------------------------- + +MAT_HYPER MOONEY_RIVLIN_3D +# C01 C10 K +C01= 0.0167 C10= 0.145 K= 3000. + + +masse_volumique ---------------------------------------------- + +E_tout 0.9e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#cisaillement simple XY +N_arriere UX UY +N_tout UZ +N_avant 'UX= COURBE_CHARGE: rampe ECHELLE: 0.04' UY + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1. +DELTAt 0.1 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement_princ.maple.ref1 new file mode 100644 index 0000000..9847192 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/cube_MOONEY_RIVLIN_3D_cisaillement_princ.maple.ref1 @@ -0,0 +1,78 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#0 0 (nombre de noeuds, nombre total de grandeurs associees) +#---------------------------------- grandeurs aux elements ------------------------------ +#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS12 [6] SIG12 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 2.428718707890e-01 7.886751345948e-01 7.886751345948e-01 2.000000000000e-02 1.293600000000e-02 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/README new file mode 100644 index 0000000..d1d593d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/README @@ -0,0 +1,19 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple de la loi MOONEY_RIVLIN_3D en traction uniaxiale : +"" + MOONEY_RIVLIN_3D +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le point d integration 1 de l element 1 : + - deformations : EPS11 EPS22 EPS33 + - contrainte : SIG11 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.CVisu1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.CVisu1 new file mode 100644 index 0000000..efbda17 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.info new file mode 100644 index 0000000..c767522 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction.info @@ -0,0 +1,80 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +non_dynamique avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_HYPER + +materiaux ---------------------------------------------- + +MAT_HYPER MOONEY_RIVLIN_3D +# C01 C10 K +C01= 0.0167 C10= 0.145 K= 3000. + + +masse_volumique ---------------------------------------------- + +E_tout 0.9e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#traction uniaxiale suivant X par deplacement impose +N_droit UX +N_arriere UY +N_bas UZ +N_gauche 'UX= COURBE_CHARGE: rampe ECHELLE: 0.03' + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1. +DELTAt 0.1 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction_princ.maple.ref1 new file mode 100644 index 0000000..74acb89 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/cube_MOONEY_RIVLIN_3D_traction_princ.maple.ref1 @@ -0,0 +1,78 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#0 0 (nombre de noeuds, nombre total de grandeurs associees) +#---------------------------------- grandeurs aux elements ------------------------------ +#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS11 [6] EPS22 [7] EPS33 [8] SIG11 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 2.176646113673e-01 7.771059540869e-01 7.771059540869e-01 2.870204543312e-02 -1.499833922290e-02 -1.499833922290e-02 2.902487372127e-02 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/README b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/README new file mode 100644 index 0000000..c040f81 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/README @@ -0,0 +1,25 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple du mode de calcul : +"" + TYPE_DE_CALCUL + dynamique_explicite +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + - loi elastique ISOELAS + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le noeud 8 : + - vitesse : V2 + - acceleration : GAMMA2 + +pour le point d integration 1 de l element 1 : + - deformations : EPS11 EPS22 EPS33 + - contrainte : SIG11 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.CVisu1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.CVisu1 new file mode 100644 index 0000000..3273df9 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud 8 fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud V2 GAMMA2 fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.info b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.info new file mode 100644 index 0000000..ca7a623 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite.info @@ -0,0 +1,76 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +dynamique_explicite avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 0.001 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_ELAS + +materiaux ---------------------------------------------- + +MAT_ELAS ISOELAS +210000. 0.3 + + +masse_volumique ---------------------------------------------- + +E_tout 8.7e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#traction uniaxiale suivant X par deplacement impose +N_droit UX +N_arriere UY +N_bas UZ +N_gauche 'UX= COURBE_CHARGE: rampe ECHELLE: 0.01' + +controle ---------------------------------------------- + +TEMPSFIN 0.001 +DELTAt COEF_PASCRITIQUE 0.95 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite_princ.maple.ref1 new file mode 100644 index 0000000..969b3c3 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/cube_dynamique_explicite_princ.maple.ref1 @@ -0,0 +1,80 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#1 2 (nombre de noeuds, nombre total de grandeurs associees) +# noeud_8 [2]X [3]Y [4]Z [5]V2 [6]GAMMA2 ; +# +#---------------------------------- grandeurs aux elements ------------------------------ +#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [8]X [9]Y [10]Z [11] EPS11 [12] EPS22 [13] EPS33 [14] SIG11 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e-03 1.010000000000e+00 9.970574516706e-01 9.970574516706e-01 -3.777977376754e+00 -4.888446928246e+05 1.000000000000e-03 2.134381140592e-01 7.863544198951e-01 7.863544198951e-01 9.851975296540e-03 -2.955587360158e-03 -2.955587360161e-03 2.068916079252e+03 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/README b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/README new file mode 100644 index 0000000..e50c8e5 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/README @@ -0,0 +1,25 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple du mode de calcul : +"" + TYPE_DE_CALCUL + dynamique_implicite +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + - loi elastique ISOELAS + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le noeud 8 : + - vitesse : V2 + - acceleration : GAMMA2 + +pour le point d integration 1 de l element 1 : + - deformations : EPS11 EPS22 EPS33 + - contrainte : SIG11 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.CVisu1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.CVisu1 new file mode 100644 index 0000000..3273df9 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud 8 fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud V2 GAMMA2 fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.info b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.info new file mode 100644 index 0000000..7eac839 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite.info @@ -0,0 +1,78 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +dynamique_implicite avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 0.001 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_ELAS + +materiaux ---------------------------------------------- + +MAT_ELAS ISOELAS +210000. 0.3 + + +masse_volumique ---------------------------------------------- + +E_tout 8.7e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#traction uniaxiale suivant X par deplacement impose +N_droit UX +N_arriere UY +N_bas UZ +N_gauche 'UX= COURBE_CHARGE: rampe ECHELLE: 0.01' + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.0001 +TEMPSFIN 0.001 +DELTAt 0.0001 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite_princ.maple.ref1 new file mode 100644 index 0000000..0f994dc --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/cube_dynamique_implicite_princ.maple.ref1 @@ -0,0 +1,80 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#1 2 (nombre de noeuds, nombre total de grandeurs associees) +# noeud_8 [2]X [3]Y [4]Z [5]V2 [6]GAMMA2 ; +# +#---------------------------------- grandeurs aux elements ------------------------------ +#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [8]X [9]Y [10]Z [11] EPS11 [12] EPS22 [13] EPS33 [14] SIG11 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e-03 1.010000000000e+00 9.970574011257e-01 9.970574011257e-01 -5.886555229132e+00 2.353413923464e+02 1.000000000000e-03 2.134381140592e-01 7.863543800316e-01 7.863543800316e-01 9.851975296540e-03 -2.955638353841e-03 -2.955638353841e-03 2.068903723091e+03 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/README b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/README new file mode 100644 index 0000000..910334e --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/README @@ -0,0 +1,22 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple du mode de calcul : +"" + TYPE_DE_CALCUL + dynamique_relaxation_dynam +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +simulation du gonflage d un coussin circulaire de rayon 100mm + - gonflage dans la direction Z + - modelisation d un quart de cercle par symetrie + - comportement de membrane elastique (TRIANGLE LINEAIRE + ISOELAS2D_C) + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le noeud du set N_centre : + - coordonnee : X3 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.CVisu1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.CVisu1 new file mode 100644 index 0000000..e99d731 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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_moins_zero dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud N_centre fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud X3 fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.info b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.info new file mode 100644 index 0000000..5df9769 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna.info @@ -0,0 +1,102 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +dynamique_relaxation_dynam avec plus lectureCommandesVisu + +PARA_TYPE_DE_CALCUL + +#note : lambda=0.554 revient a choisir 0.95 fois le pas de temps critique DFC dans un calcul explicite classique +typeCalRelaxation= 1 lambda= 0.554 type_calcul_mass= 2 option_recalcul_mass= 1 + +parametre_calcul_de_la_masse_ casMass_relax= 3 + +avec_amortissement_cinetique_ + max_nb_decroit_pourRelaxDyn_ 1 + taille_moyenne_glissante_ 1 + coef_arret_pourRelaxDyn_ 0. + coef_redemarrage_pourRelaxDyn_ 0. + max_deltaX_pourRelaxDyn_ 0. + nb_max_dX_OK_pourRelaxDyn_ 1 + nb_deb_testfin_pourRelaxDyn_ 1 + nb_deb_test_amort_cinetique_ 1 +fi_parametre_amortissement_cinetique_ + +ARRET_A_EQUILIBRE_STATIQUE_ 1 + + + +< quart_cercle_membrane_tri3.her +< quart_cercle_membrane_tri3.lis + +# renumerotation_des_noeuds_ + + +les_courbes_1D ---------------------------------------------- + + rampe COURBEPOLYLINEAIRE_1_D + Debut_des_coordonnees_des_points + Coordonnee dim= 2 0. 0. + Coordonnee dim= 2 1. 1. + Fin_des_coordonnees_des_points + +choix_materiaux ---------------------------------------------- + +E_tout MAT_ELAS + +materiaux ---------------------------------------------- + +MAT_ELAS ISOELAS2D_C +400. 0.4 + + +masse_volumique ---------------------------------------------- + +E_tout 1.e-9 + +epaisseurs ---------------------------------------------- + +E_tout 0.2 + + +charges ---------------------------------------------- +F_to PRESSION -0.01 + +blocages ---------------------------------------------- + +N_X0 UX +N_Y0 UY +N_cercle UZ + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1. +DELTAt 0.1 +ITERATIONS 999999999 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna_princ.maple.ref1 new file mode 100644 index 0000000..9eb5e43 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_relaxation_dyna_princ.maple.ref1 @@ -0,0 +1,77 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#1 1 (nombre de noeuds, nombre total de grandeurs associees) +# reference N_centre : noeud_1 [2]X [3]Y [4]Z [5]X3 ; +# +#---------------------------------- grandeurs aux elements ------------------------------ +#0 0 (nombre total d'elements, nombre totale de grandeurs associees) +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 0.000000000000e+00 0.000000000000e+00 2.663501422174e+01 2.663501422174e+01 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.her b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.her new file mode 100644 index 0000000..d49e20d --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.her @@ -0,0 +1,54 @@ + nom_maillage quart_cercle_membrane_tri3 + + noeuds + 20 NOEUDS + + 1 0 0 0 + 2 100 0 0 + 3 0 100 0 + 4 24.9999999998881 0 0 + 5 49.99999999982357 0 0 + 6 74.99999999986318 0 0 + 7 0 75.00000000017774 0 + 8 0 50.00000000025827 0 + 9 0 25.00000000017774 0 + 10 95.10565162954303 30.90169943740956 0 + 11 80.90169943759216 58.77852522911324 0 + 12 58.77852522936804 80.90169943740703 0 + 13 30.90169943755233 95.10565162949665 0 + 14 37.50000000010934 37.50000000021801 0 + 15 26.33854535607836 62.39459629332053 0 + 16 62.39459629305664 26.33854535595977 0 + 17 21.87500000008213 21.87500000011834 0 + 18 53.86242505428095 53.86242505420438 0 + 19 17.96875000003368 41.40625000017588 0 + 20 41.40625000013176 17.96875000018651 0 + + elements + 25 ELEMENTS + + 1 TRIANGLE LINEAIRE 6 10 16 + 2 TRIANGLE LINEAIRE 7 15 13 + 3 TRIANGLE LINEAIRE 7 13 3 + 4 TRIANGLE LINEAIRE 6 2 10 + 5 TRIANGLE LINEAIRE 10 11 16 + 6 TRIANGLE LINEAIRE 12 13 15 + 7 TRIANGLE LINEAIRE 11 18 16 + 8 TRIANGLE LINEAIRE 12 15 18 + 9 TRIANGLE LINEAIRE 1 4 17 + 10 TRIANGLE LINEAIRE 1 17 9 + 11 TRIANGLE LINEAIRE 7 8 15 + 12 TRIANGLE LINEAIRE 5 6 16 + 13 TRIANGLE LINEAIRE 14 18 15 + 14 TRIANGLE LINEAIRE 14 16 18 + 15 TRIANGLE LINEAIRE 8 19 15 + 16 TRIANGLE LINEAIRE 5 16 20 + 17 TRIANGLE LINEAIRE 4 5 20 + 18 TRIANGLE LINEAIRE 8 9 19 + 19 TRIANGLE LINEAIRE 14 15 19 + 20 TRIANGLE LINEAIRE 14 20 16 + 21 TRIANGLE LINEAIRE 11 12 18 + 22 TRIANGLE LINEAIRE 4 20 17 + 23 TRIANGLE LINEAIRE 9 17 19 + 24 TRIANGLE LINEAIRE 14 19 17 + 25 TRIANGLE LINEAIRE 14 17 20 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.lis b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.lis new file mode 100644 index 0000000..0346792 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/quart_cercle_membrane_tri3.lis @@ -0,0 +1,16 @@ +N_to 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 + +N_cercle 2 3 10 11 12 13 + +N_centre 1 + +N_X0 1 3 7 8 9 + +N_Y0 1 2 4 5 6 + +F_to 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 + 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 + +E_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 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/README b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/README new file mode 100644 index 0000000..4a53239 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/README @@ -0,0 +1,21 @@ +------------------------------------------------------ +But du test +------------------------------------------------------ +test simple du mode de calcul : +"" + TYPE_DE_CALCUL + non_dynamique +"" + +------------------------------------------------------ +Description du calcul +------------------------------------------------------ +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE) + - loi elastique ISOELAS + +------------------------------------------------------------- +Grandeurs de comparaison +------------------------------------------------------------- +pour le point d integration 1 de l element 1 : + - deformations : EPS11 EPS22 EPS33 + - contrainte : SIG11 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.her new file mode 100644 index 0000000..3bc9991 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.her @@ -0,0 +1,18 @@ + nom_maillage cube_1elt_npti8 + + noeuds + 8 NOEUDS + + 1 0 0 0 + 2 0 0 1 + 3 0 1 0 + 4 0 1 1 + 5 1 0 0 + 6 1 0 1 + 7 1 1 0 + 8 1 1 1 + + elements + 1 ELEMENTS + + 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.lis new file mode 100644 index 0000000..8224c23 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_1elt_npti8.lis @@ -0,0 +1,158 @@ +# CORRESPONDANCE label => position +# +# gauche => X=1 +# +# droit => X=0 +# +# avant => Y=1 +# +# arriere => Y=0 +# +# haut => Z=1 +# +# bas => Z=0 +# + + N_avant 3 4 7 8 + + N_arriere 1 2 5 6 + + N_haut 2 4 6 8 + + N_bas 1 3 5 7 + + N_droit 1 2 3 4 + + N_gauche 5 6 7 8 + + N_haut_droit 2 4 + + N_haut_gauche 6 8 + + N_haut_arriere 2 6 + + N_haut_avant 4 8 + + N_bas_droit 1 3 + + N_bas_gauche 5 7 + + N_bas_arriere 1 5 + + N_bas_avant 3 7 + + N_arriere_droit 1 2 + + N_arriere_gauche 5 6 + + N_avant_droit 3 4 + + N_avant_gauche 7 8 + + N_haut_arriere_droit 2 + + N_haut_arriere_gauche 6 + + N_haut_avant_gauche 8 + + N_haut_avant_droit 4 + + N_bas_arriere_droit 1 + + N_bas_arriere_gauche 5 + + N_bas_avant_gauche 7 + + N_bas_avant_droit 3 + + N_to 1 2 3 4 5 6 7 8 + + E_avant 1 + + E_derriere 1 + + E_haut 1 + + E_bas 1 + + E_droit 1 + + E_gauche 1 + + E_haut_droit 1 + + E_haut_gauche 1 + + E_haut_arriere 1 + + E_haut_avant 1 + + E_bas_droit 1 + + E_bas_gauche 1 + + E_bas_arriere 1 + + E_bas_avant 1 + + E_arriere_droit 1 + + E_arriere_gauche 1 + + E_avant_droit 1 + + E_avant_gauche 1 + + E_haut_arriere_droit 1 + + E_haut_arriere_gauche 1 + + E_haut_avant_gauche 1 + + E_haut_avant_droit 1 + + E_bas_arriere_droit 1 + + E_bas_arriere_gauche 1 + + E_bas_avant_gauche 1 + + E_bas_avant_droit 1 + + E_to 1 + + F_avant 1 5 + + F_arriere 1 2 + + F_haut 1 4 + + F_bas 1 1 + + F_droit 1 6 + + F_gauche 1 3 + + A_haut_droit 1 11 + + A_haut_gauche 1 9 + + A_haut_arriere 1 12 + + A_haut_avant 1 10 + + A_bas_droit 1 3 + + A_bas_gauche 1 1 + + A_bas_arriere 1 4 + + A_bas_avant 1 2 + + A_arriere_droit 1 8 + + A_arriere_gauche 1 5 + + A_avant_droit 1 7 + + A_avant_gauche 1 6 diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.CVisu1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.CVisu1 new file mode 100644 index 0000000..efbda17 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.CVisu1 @@ -0,0 +1,116 @@ +############################################################################################### +# Fichier de commande pour la visualisation elements finis # +# Herezh++ V6.687 # +# Copyright (c) 1997-2015, 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 maple: ***** || + # ================================================================================= + # un mot cle de debut (debut_visualisation_maple) + # un mot cle de fin ( fin_visualisation_maple) + # la seule presence de ces deux mots cle suffit a activer la visualisation maple + debut_visualisation_maple + + # ----------------------------- 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) + dernier_increment 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 + + # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- + debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), + actif 1 # <0 ou 1> indique si l'ordre est actif ou non + # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin + debut_grandeurs_globales fin_grandeurs_globales + # ensuite pour chaque maillage:, + # le numero du maillage , + # les infos pour la visualisation eventuelle des torseurs de reaction, + # les infos pour la visualisation eventuelle aux noeud, + # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) + # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses + # les infos pour la visualisation eventuelle aux elements, + # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) + # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def + # enfin un mot cle de fin ( fin_grandeurs_maple) + 1 # le numero de maillage + # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction + # une liste de nom , puis + debut_list_torseur_reaction fin_list_torseur_reaction + debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds + # debut de la liste de noeuds, puis une liste de numero de noeud , puis + deb_list_noeud fin_list_noeud + # debut de la liste des ref de noeuds, puis une liste de nom , puis + deb_list_ref_noeud fin_list_ref_noeud + # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_noeud fin_list_ddl_noeud + type_sortie_ddl_retenue= 0 + # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis + deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds + # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis + deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds + fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds + debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements + # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis + deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg + # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis + deb_list_ref_element fin_list_ref_element + # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis + deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element + # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis + deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements + # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis + deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements + # tableau de grandeurs evoluees aux elements a visualiser, un par maillage + deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element + fin_liste_ddl_ptinteg # fin des grandeurs aux elements +# informations particuliere dans le cas ou il y a une animation +# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) +# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent +# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. + debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier +# un parametre de pilotage du style de sortie + parametre_style_de_sortie 1 +# 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_ 0 + fin_grandeurs_maple # fin des grandeurs a visualiser au format maple + + # ----------------------------- definition des parametres d'animation: ---------------- + debut_animation # un mot cle de debut de liste (debut_animation) + actif 0 # <0 ou 1> indique si l'ordre est actif ou non + # des parametres avec des valeurs: (sur une meme ligne) + cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) + fin_animation # un mot cle de fin + + fin_visualisation_maple + # ================================================================================= + # || fin de la visualisation maple || + # ================================================================================= + + + + + + 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/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.info b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.info new file mode 100644 index 0000000..7899193 --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique.info @@ -0,0 +1,71 @@ +dimension 3 + + +niveau_commentaire 3 + + +TYPE_DE_CALCUL ---------------------------------------------- + +non_dynamique avec plus lectureCommandesVisu + + +< cube_1elt_npti8.her +< cube_1elt_npti8.lis + + +les_courbes_1D ---------------------------------------------- + + +choix_materiaux ---------------------------------------------- + +E_tout MAT_ELAS + +materiaux ---------------------------------------------- + +MAT_ELAS ISOELAS +210000. 0.3 + + +masse_volumique ---------------------------------------------- + +E_tout 8.7e-9 + + +charges ---------------------------------------------- + + +blocages ---------------------------------------------- + +#traction uniaxiale suivant X par deplacement impose +N_droit UX +N_arriere UY +N_bas UZ +N_gauche 'UX=0.01' + +controle ---------------------------------------------- + +DELTAtMINI 1.e-7 +DELTAtMAXI 0.1 +TEMPSFIN 1 +DELTAt 0.1 +ITERATIONS 15 +PRECISION 1e-3 +SAUVEGARDE DERNIER_CALCUL +MAXINCRE 99999999 +NORME Residu/Reaction_et_VarRes + + +para_pilotage_equi_global ---------------------------------------------- + + +para_syteme_lineaire ---------------------------------------------- + + +para_affichage ---------------------------------------------- + +resultats ---------------------------------------------- +COPIE 0 +POINTS_INTEGRATION E_tout +Green-Lagrange Almansi Cauchy_global Def_mixte_local Sigma_mixte_local + +_fin_point_info_ diff --git a/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique_princ.maple.ref1 new file mode 100644 index 0000000..bfa5c1b --- /dev/null +++ b/Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/cube_non_dynamique_princ.maple.ref1 @@ -0,0 +1,78 @@ +#fichier au format maple6 +############################################################################################### +# Visualisation elements finis : Herezh++ V6.687 # +# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # +# http://www-lg2m.univ-ubs.fr # +############################################################################################### + + + + # entete des donnees : informations gererales: on trouve successivement: + # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs + # precedes du numero de colonne entre crochet + # >> le nombre de maillages m, et dimension de l'espace de travail + # puis pour chaque maillage, + # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit + # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions + # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment + # puis pour chaque maillage + # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , + # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees + # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) + # precedes du numero de colonne correspondant entre crochet + # puis pour chaque maillage + # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , + # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant + # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, + # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl + # chacun precedes du numero de colonne entre crochet + # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), + # suivi entre crochet, de la plage des numeros de colonnes, correspondant + # chacun sur une ligne differentes + # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: + # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) + # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) + # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) + # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, + # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique + # ** ( cf: parametre_style_de_sortie = 0) + +#==================================================================== +#|| recapitulatif des differentes grandeurs par colonne || +#==================================================================== +#---------------------------------- grandeur globales ------------------------------------ +#0 (nombre de grandeurs globales) +#---------------------------------- maillage et dimension -------------------------------- +#1 3 (nombre de maillages et dimension) +#---------------------------------- torseurs de reactions -------------------------------- +#0 0 (nombre de torseurs et nombre total de grandeurs associees) +# +#---------------------------------- grandeurs aux noeuds -------------------------------- +#0 0 (nombre de noeuds, nombre total de grandeurs associees) +#---------------------------------- grandeurs aux elements ------------------------------ +#1 4 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +# element_1 pt_integ_1: [2]X [3]Y [4]Z [5] EPS11 [6] EPS22 [7] EPS33 [8] SIG11 +# +# +#==================================================================== +#|| fin du recapitulatif des differentes grandeurs || +#==================================================================== + + # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant + # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun + # correspondant a un maillage. On trouve pour chaque enregistrement successivement : + # s'il y a des grandeurs globales: le temps puis les grandeurs globales, + # puis s'il y a des torseurs de reaction : + # de nouveau le temps, les composantes de la resultante puis les composantes du moments + # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels + # puis s'il y a des grandeurs aux noeuds: de nouveau le temps + # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud + # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds + # puis s'il y a des grandeur aux elements: + # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) + # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration + # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes + # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs + # etc. pour tous les points d'integration - element + + 1.000000000000e+00 2.134381140592e-01 7.863573003899e-01 7.863573003899e-01 9.851975296539e-03 -2.951902627270e-03 -2.951902627269e-03 2.069808918375e+03 diff --git a/Perl/genere_rapport.pl b/Perl/genere_rapport.pl new file mode 100755 index 0000000..099def6 --- /dev/null +++ b/Perl/genere_rapport.pl @@ -0,0 +1,83 @@ +#!/usr/bin/perl -s + +use strict; +#use Regexp::Common;#expressions regulieres; par exemples pour reconnaitre un entier $RE{num}{int} ou un reel $RE{num}{real} +use File::Basename; +use English; +my $NOM_PROG = basename $PROGRAM_NAME;#$NOM_PROG contient le nom de ce script (utile pour afficher le nom du script dans les warning (warn) ou les messages d erreur (die) ) +#pattern d un reel pour les regex (pour eviter d utiliser $RE{num}{real} du package Regexp::Common qui n est pas toujours disponible) +my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; + + + +#affichage de l aide si : le premier argument est -h ou -help ou si le nombre d argument n est pas egal a 2 +if ($ARGV[0] =~ /^-h$/i or $ARGV[0] =~ /^-help$/i or $#ARGV != 1) { + print "script $NOM_PROG :\n"; + print " USAGE... \n"; + print " Ce script Perl s'utilise avec 2 arguments : \n"; + print " -> 1- Nom du fichier rapport a creer\n"; + print " -> 2- Nom de l executable HZ++\n"; + exit; +} + + + +#recuperation des arguments +my $file = $ARGV[0];#argument 1 : nom du fichier rapport a creer +my $exeHZ = $ARGV[1];#argument 2 : executable HZ++ + + + +#------------------------------------------------- +#1) Determination de la date de lancement du test +#------------------------------------------------- +my ($sec,$min,$heure,$mjour,$mois,$annee,$sjour,$ajour,$isdst)=localtime(); +$annee = $annee + 1900; +$mois = $mois + 1; +$mjour = "0$mjour" if($mjour < 10);#on rajoute un 0 devant si le nombre est inferieur a 10 +$mois = "0$mois" if($mois < 10);#on rajoute un 0 devant si le nombre est inferieur a 10 + + +#------------------------------------------------- +#2) Determination de la version HZ++ +#------------------------------------------------- +# Methode : on lance Herezh et on exploite l affichage +# - la ligne commencant par " version" suivi du numero permet de saisir le numero de version +# - la ligne "# (version la plus rapide )" permet de reperer si il s agit d une version HZppfast (en l absence de cette ligne, on en deduit qu il s agit d une version HZpp) +# +my @redir = qx(echo f | $exeHZ | grep version);#appel system de l executable HZ++ en redirigeant l affichage dans la variable @redir (affichage filtre par grep pour ne garder que les lignes "version") +system("rm -f ancienNom");#suppression du fichier ancienNom qui est cree par Herezh +my $no_version = 'non lue';#numero de version +my $is_fast = 0;#indicateur pour savoir si c est la version HZppfast ou non +foreach my $line (@redir) {#parcours de chaque ligne de la redirection de l affichage HZ++ + $no_version = $1 if($line =~ /version\s+($format_reel)/); + $is_fast = 1 if($line =~ /version la plus rapide/);#si la ligne indique "version la plus rapide", alors il s agit de HZppfast +} +#construction du label de la version +my $LABEL_VERSION; +if($no_version eq 'non lue') {#si le numero de version n a pas pu etre lu => on prepare un message ECHEC pour le rapport (et on affiche un avertissement dans le terminal avec warn) + $LABEL_VERSION = "ECHEC => impossible de lire la version HZ++ (soit c est une erreur liee a l executable HZ++ ($exeHZ), soit c est une erreur liee au script $NOM_PROG)"; + warn "\n**ATTENTION (prog:$NOM_PROG) : impossible de lire la version HZ++ (soit c est une erreur liee a l executable HZ++ ($exeHZ), soit c est une erreur liee au script $NOM_PROG)\n\n"; +} +elsif($is_fast) {#si $is_fast est vrai => le label de la version sera : HZppfast $no_version + $LABEL_VERSION = "HZppfast $no_version"; +} +else {#sinon => le label de la version sera : HZpp $no_version + $LABEL_VERSION = "HZpp $no_version"; +} + + +#------------------------------------------------- +#3) ecriture de l en-tete du fichier rapport +#------------------------------------------------- +open (FSOR,">$file"); + print FSOR "---------------------------------------\n"; + print FSOR "- RAPPORT DE TEST -\n"; + print FSOR "---------------------------------------\n"; + print FSOR "- version HZ++ : $LABEL_VERSION\n"; + print FSOR "\n"; + print FSOR "- Batterie de tests lancee\n"; + print FSOR "- le $mjour/$mois/$annee\n"; + print FSOR "- a $heure:$min (heure locale)\n"; + print FSOR "---------------------------------------\n\n"; +close (FSOR); diff --git a/Perl/test.pl b/Perl/test.pl new file mode 100755 index 0000000..9266360 --- /dev/null +++ b/Perl/test.pl @@ -0,0 +1,1122 @@ +#!/usr/bin/perl +#!/usr/local/bin/perl +use strict; +use English; +use File::Basename; ###---Package pour saisir le nom d un fichier (sans son repertoire) +use Cwd; ###---Package pour connaitre le repertoire courant +use File::Spec::Functions qw(splitpath rel2abs);###---Package pour utiliser fonctions rel2abs et splitpath ( + + +#nom du programme +my $NOM_PROG = basename $PROGRAM_NAME; +#pattern d un reel pour les regex (desormais redondant avec $RE{num}{real} de Regexp::Common) +my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; + + +##################################################################################################### +# script pour lancer tous les tests d un repertoire de test +# +# Notes aux developpeurs : +# - utiliser print puis exit au lieu de die (pour envoyer l affichage sur STDOUT et non sur STDERR) +# - utiliser print au lieu de warn (meme raison que remarque precedente) +# +##################################################################################################### + + + + + + + + + +##################################### +##################################### +# +# PRECISION DES TESTS PAR DEFAUT +# +##################################### +##################################### + +#remarque : a mettre entre guillements (pour des raisons d affichage dans le rapport de test) + +my $PREC_ABSOLU = "1.e-6";#precision pour la comparaison absolue +my $PREC_RELATIVE_POURCENT = "1.e-3";#precision pour la comparaison relative (en pourcent) + + + +##################################### +##################################### +# +# AUTRES PARAMETRES +# +##################################### +##################################### + +#taille maximale du fichier de redirection de l affichage d un calcul Herezh (en octets) rq : le but de cette limite est principalement de contrer le risque de remplissage du disque dur dans le cas ou Herezh affiche en boucle infinie dans le terminal +# => fixee a 250 Mo le 2015-04-14 +# Mo Ko +my $TAILLE_MAX_FIC_REDIR = 250*1024*1024;#octets + + + + + + + + + + + + + + + + + + + + + + + +########################### Variables de fichier ########################### +my $repertoire_racine = cwd; ###---Repertoire racine (celui dans lequel le script verifier_exeHZ a ete lance) +my $repertoire_test; ###---Repertoire test +my $fichier_test = 'test0'; ###---Fichier .info a tester +my $fichier_rapport = 'rapport_test.txt'; ###---Fichier de rapport des tests +my $fichier_temp_maple = 'xxx_princ.maple'; ###---Fichier pour recuperer $valeur +my @fichiers; ###---Liste du contenu initial du repertoire de test + +########################### Variables executable Herezh ########################### +my $exeHZ; ###---Executable Herezh +my $hzchemin; ###---path vers l executable Herezh + + + + + + +########################################################################## +########################################################################## +########################################################################## +# +# (DEBUT) RECUPERATION ET VERIFICATION DES ARGUMENTS DU SCRIPT +# +########################################################################## +########################################################################## +########################################################################## +#indicateur de l option -h ou -help => affichage aide +my $is_opt_help = 0; +foreach my $arg (@ARGV) { + if($arg =~ /-h/i or $arg =~ /-help/i) { + $is_opt_help = 1; + last; + } +} + +#affichage de l aide si option -h ou -help ou si il n y a pas assez d arguments +if($is_opt_help or $#ARGV < 1) { + print "USAGE (prog:$NOM_PROG)... \n"; + print "Ce script Perl s'utilise avec 2 arguments : \n"; + print " -> 1] Nom du repertoire Test dans lequel se situe un fichier '.info'.\n"; + print " -> 2] Nom de l executable Herezh\n"; + exit; +} + +#nom du repertoire du test +$repertoire_test = shift(@ARGV); + +#nom de l executable Herezh +$exeHZ = shift(@ARGV); + +#verification de l existence du repertoire de test +(-d $repertoire_test) or do { + printRapport("$repertoire_test\n -> ECHEC : repertoire $repertoire_test introuvable\n\n"); + print "**Erreur Test $repertoire_test : repertoire $repertoire_test introuvable\n"; + exit; + }; + +#verification de la presence d un unique fichier .info dans ce repertoire +@_ = glob("$repertoire_test/*.info"); +my $nb_finfo = $#_ + 1; +($nb_finfo == 1) or do { + printRapport("$repertoire_test\n -> ECHEC : le repertoire ne contient pas exactement un seul fichier .info (nombre de fichiers trouves : $nb_finfo)\n\n"); + print "**Erreur Test $repertoire_test : le repertoire ne contient pas exactement un seul fichier .info (nombre de fichiers trouves : $nb_finfo)\n"; + exit; + }; + +#verification de l executable Herezh (enregistrement du chemin complet dans $hzchemin) +$hzchemin = verif_commande($exeHZ); +($hzchemin ne '0') or do { + printRapport("$repertoire_test\n -> ECHEC : executable Herezh ($exeHZ) introuvable\n\n"); + print "**Erreur Test $repertoire_test : executable Herezh ($exeHZ) introuvable\n"; + exit; + }; +########################################################################## +########################################################################## +########################################################################## +# +# (FIN) RECUPERATION ET VERIFICATION DES ARGUMENTS DU SCRIPT +# +########################################################################## +########################################################################## +########################################################################## + + + +########################################################################## +########################################################################## +########################################################################## +# +# (DEBUT) PRE-TRAITEMENT : +# - deplacement dans repertoire de test +# - liste du contenu initial de ce repertoire +# - nom du fichier .info (sauvegarde du .info d origine en .info_OLD) +# - nom du fichier .maple +# - verification de la possibilite de lire le fichier .info +# - nombre de fichiers .CVisu[no] (on lancera autant de calcul qu il y a de .CVisu) +# +########################################################################## +########################################################################## +########################################################################## +print "\n"; +print " TYPE DE CALCUL = $exeHZ\n"; +print "############################################################\n"; +print "############################################################\n"; +print "#################### ####################\n"; +print "#################### DEBUT DE TEST.PL ####################\n"; +print "#################### ####################\n"; +print "############################################################\n"; +print "############################################################\n"; +print " Nom du repertoire test = $repertoire_test\n"; +print " $exeHZ se trouve ici : $hzchemin\n"; +print " Nom du repertoire racine = $repertoire_racine\n"; + +#deplacement dans le repertoire de test +print " Deplacement dans le repertoire Test\n"; +chdir ("$repertoire_test"); + +#liste du contenu initial du repertoire de test (rq : servira plus tard a retablir l etat d origine du repertoire avant de terminer ce script) +@fichiers = glob("*"); +$_ = $#fichiers + 1; +print " Nombre de fichiers dans le repertoire $repertoire_test = $_\n"; + +#nom du fichier .info +$fichier_test = glob("*.info"); +$fichier_test =~ s/.info$//;#suppression de l extension +print " Nom du fichier teste dans le repertoire test = $fichier_test.info\n"; + +#sauvegarde du fichier .info d origine +system ("cp -nf $fichier_test.info $fichier_test.info_OLD"); + +#nom du fichier .maple +$fichier_temp_maple = $fichier_test."_princ.maple"; + +#verification de l ouverture du fichier .info +open(Finfo, "<$fichier_test.info") or do { + printRapport("$repertoire_test\n -> ECHEC : Impossible d'ouvrir $fichier_test.info\n\n"); + print "**Erreur Test $repertoire_test : Impossible d'ouvrir $fichier_test.info\n"; + exit; + }; +close(Finfo); + +# +#nombre de fichiers .CVisu[no] (il doit y en avoir au moins 1) +# remarque : si il y a une rupture dans la numerotation, seuls les premiers .CVisu seront exploites +# par exemple : si on a : .CVisu1, .CVisu2, .CVisu4 (il manque le 3) => seuls les .CVisu1 et .CVisu2 seront traites (le .CVisu4 sera purement et simplement oublie) +my $nb_CVisu = 1; +#-premiere verification : presence du fichier .CVisu1 +(-e "$fichier_test.CVisu$nb_CVisu") or do { + printRapport("$repertoire_test\n -> ECHEC : fichier $fichier_test.CVisu1 introuvable\n\n"); + print "**Erreur Test $repertoire_test : fichier $fichier_test.CVisu1 introuvable\n"; + exit; + }; +#-autres fichiers .CVisu +LOOP1:while() { + my $indice_tmp = $nb_CVisu + 1; + foreach my $fic (@fichiers) { + if(-e "$fichier_test.CVisu$indice_tmp") { + $nb_CVisu++; + next LOOP1; + } + } + last; +} +print " Nombre de fichiers .CVisu dans le repertoire test = $nb_CVisu\n"; +########################################################################## +########################################################################## +########################################################################## +# +# (FIN) PRE-TRAITEMENT +# +########################################################################## +########################################################################## +########################################################################## + + + +########################################################################## +########################################################################## +########################################################################## +# +# (DEBUT) LANCEMENT DES TESTS (un test par fichier .CVisu) +# +########################################################################## +########################################################################## +########################################################################## + +################################################ +#(debut) boucle de test (sur les numeros de .CVisu) +################################################ +# **IMPORTANT : ne pas utiliser de "die", "exit" ou autre sortie brutale dans cette boucle. Utiliser a la place l instruction " last BOUCLE_TEST; " pour sortir simplement de la boucle et permettre a ce script de faire des derniers traitements avant de quitter +BOUCLE_TEST:for(my $no_test=1; $no_test<=$nb_CVisu; $no_test++) { + + print "\n"; + print " --------------------------------------\n"; + print " lancement test fichier .CVisu$no_test\n"; + print " --------------------------------------\n"; + print "\n"; + + #ecriture du repertoire de test et .CVisu en cours dans le rapport + printRapport("$repertoire_test/.CVisu$no_test\n"); + + + ##################################################################################################### + #---------------------------------------------------------------------------------------------------- + # SAISIE DES EVENTUELS FICHIERS FACULTATIFS : - fichier de commande .commande + # - fichier de precision .precision + # - script de verification .verif + # - fichier d options .option + #---------------------------------------------------------------------------------------------------- + ##################################################################################################### + my $fic_commande = ""; $fic_commande = "$fichier_test.commande$no_test" if(-e "$fichier_test.commande$no_test"); + my $fic_precision = ""; $fic_precision = "$fichier_test.precision$no_test" if(-e "$fichier_test.precision$no_test"); + my $script_verif = ""; $script_verif = "$fichier_test.verif$no_test" if(-e "$fichier_test.verif$no_test"); + my $fic_option = ""; $fic_option = "$fichier_test.option$no_test" if(-e "$fichier_test.option$no_test"); + + + + + ##################################################################################################### + #---------------------------------------------------------------------------------------------------- + # CONSTRUCTION DE LA COMMANDE HEREZH + # rq : en l absence d un fichier .option, on considere qu il s agit d un calcul (-f fic.info) si le mot-cle dimension est repere dans le fichier .info + # sinon, on considere qu il s agit d une creation de fichier .info (-n fic.info) + #---------------------------------------------------------------------------------------------------- + ##################################################################################################### + #---initialisation de la commande a lancer + my $cmd_HZ = ""; + + ################################################################################# + #---cas d un fichier d options (la commande est construite via le contenu du fichier $fic_option si il existe) + ################################################################################# + if(-e $fic_option) { + open(FIC, "<$fic_option"); + while() { + next if(/^\s*\#/); + next if(/^\s*$/); + chomp; + $cmd_HZ .= " $_"; + } + close(FIC); + } + + ################################################################################# + #---cas general (pas de fichier .option => calcul -f ou creation .info -n) + ################################################################################# + else { + ############################################################## + #---calcul classique (option -f) : mode selectionne si le mot-cle dimension est repere dans le fichier .info + # => on s assure que le mot-cle controle est present pour gerer les RESTART + ############################################################## + if(is_mot_in_fic("$fichier_test.info", '^\s*dimension ', '#')) { + #ajout de "-f fic.info" a la commande Herezh + $cmd_HZ .= " -f $fichier_test.info"; + + #---verification : la presence du mot-cle controle est necessaire (pour la gestion des RESTART) + # => on ajoute ce mot-cle si besoin (avant le mot-cle resultats qui est obligatoire) + if(not is_mot_in_fic("$fichier_test.info", '^\s*controle', '#')) {#ajout du mot-cle controle si besoin + open(Finfo, "<$fichier_test.info"); + open(Finfo_tmp, ">$fichier_test.info.tmp"); + my $presence_mot_cle_resultats = 0;#indicateur de presence du mot-cle resultats + while() { + if(/^\s*resultats/) {#le mot-cle resultats est repere => ecriture du mot-cle controle + $presence_mot_cle_resultats = 1; + print Finfo_tmp "\ncontrole\n\n"; + } + print Finfo_tmp; + } + close(Finfo); + close(Finfo_tmp); + system("mv -f $fichier_test.info.tmp $fichier_test.info"); + #on verifie que le mot-cle resultats a bien ete trouve (et donc que donc le mot-cle controle a bien ete ecrit) + $presence_mot_cle_resultats or do { + printRapport(" -> ECHEC : le mot-cle resultats n a pas ete trouve dans le fichier $fichier_test.info (impossible de rajouter le mot-cle controle)\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : le mot-cle resultats n a pas ete trouve dans le fichier $fichier_test.info (impossible de rajouter le mot-cle controle)\n"; + last BOUCLE_TEST; + }; + } + + #---activation eventuelle d un RESTART si existence du .PI + #-numero du dernier increment + my $incr_restart = 0; + # rq : si le fichier .PI n existe pas, $incr_restart restera egal a 0 (pas d activation du RESTART) + # sinon, $incr_restart sera egal au dernier increment lu dans le fichier .PI + open(FIC, "<$fichier_test.PI"); + while() { + last if(/^\s*$/); + next if(not /^\s*incre_posi_\(nb_et_posi\):\s+(\d+)/); + $incr_restart = $1; + } + close(FIC); + #-reecriture du .info avec RESTART (si $incr_restart different de 0) + active_RESTART("$fichier_test.info", $incr_restart); + } + + ############################################################## + #---cas d une creation de fichier .info (option -n) + # => on s assure qu un fichier .commande existe + ############################################################## + else { + #ajout de "-n fic.info" a la commande Herezh + $cmd_HZ .= " -n $fichier_test.info"; + + #--- la presence d un fichier de commande est obligatoire pour une creation de fichier .info + if(not -e $fic_commande) { + printRapport(" -> ECHEC : probleme pour un test de creation de fichier .info (option -n) => le fichier $fic_commande est obligatoire et n a pas ete trouve\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : probleme pour un test de creation de fichier .info (option -n) => le fichier $fic_commande est obligatoire et n a pas ete trouve\n"; + last BOUCLE_TEST; + } + } + } + + ################################################################################# + #---suppression des espaces multiples dans la commande et des espaces en debut et en fin + # (pas forcement utile, c est juste a titre de prevention...) + ################################################################################# + $cmd_HZ =~ s/\s+/ /g; + $cmd_HZ =~ s/^\s+//; + $cmd_HZ =~ s/\s+$//; + + + + + ##################################################################################################### + #---------------------------------------------------------------------------------------------------- + # LANCEMENT DU CALCUL + #---------------------------------------------------------------------------------------------------- + ##################################################################################################### + + #recopie du .CVisu[$no_test] vers .CVisu + system("cp -nf $fichier_test.CVisu$no_test $fichier_test.CVisu"); + + #lancement de la commande via subroutine lancement_commande() dont les arguments sont : + # 1- chemin complet vers l executable Herezh + # 2- la commande Herezh construite precedemment + # 3- le nom du fichier de redirection de l affichage Herezh + # 4- le nom du fichier .commande + + my $status_calcul = lancement_commande($hzchemin, $cmd_HZ, "$fichier_test.log", $fic_commande); + + # - si calcul a termine normalement (converge ou non) => $status_calcul = "ok" + # - si calcul a conduit a un trop gros fichier de redirection => $status_calcul = "depassement taille maximum" + # - si probleme de redirection d affichage => $status_calcul = "probleme redirection affichage" + + + ##################################################################################################### + #---------------------------------------------------------------------------------------------------- + # VERIFICATION DU TEST + #---------------------------------------------------------------------------------------------------- + ##################################################################################################### + + ################################################################################# + #premiere verification selon status renvoye par la subroutine lancement_commande + ################################################################################# + #---cas d un calcul ayant conduit a un trop gros fichier de redirection + if($status_calcul eq "depassement taille maximum") { + printRapport(" -> ECHEC : le calcul Herezh a conduit a la creation d un trop gros fichier de redirection (fichier $fichier_test.log a depasse la taille maximum autorisee egale a $TAILLE_MAX_FIC_REDIR octets).\n"); + printRapport(" Les causes possibles sont un probleme de menu interactif, un long calcul associe a une frequence trop grande d affichage des increments et iterations, ...\n"); + printRapport(" Si ce depassement est un fonctionnement normal, il faut augmenter la taille admissible dans la variable \$TAILLE_MAX_FIC_REDIR au debut du script de test $NOM_PROG pour rendre possible ce test.\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : le calcul Herezh a conduit a la creation d un trop gros fichier de redirection (fichier $fichier_test.log a depasse la taille maximum autorisee egale a $TAILLE_MAX_FIC_REDIR octets).\n"; + print " Les causes possibles sont un probleme de menu interactif, un long calcul associe a une frequence trop grande d affichage des increments et iterations, ...\n"; + print " Si ce depassement est un fonctionnement normal, il faut augmenter la taille admissible dans la variable \$TAILLE_MAX_FIC_REDIR au debut du script de test $NOM_PROG pour rendre possible ce test.\n"; + last BOUCLE_TEST; + } + #---cas d un probleme de redirection d affichage (sans doute probleme lie a la commande "tee") + elsif($status_calcul eq "probleme redirection affichage") { + printRapport(" -> ECHEC : il y a eu un probleme dans la redirection de l affichage via la commande \"tee\" (le fichier $fichier_test.log n a pas ete cree). Cause possible : commande tee introuvable\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : il y a eu un probleme dans la redirection de l affichage via la commande \"tee\" (le fichier $fichier_test.log n a pas ete cree). Cause possible : commande tee introuvable\n"; + last BOUCLE_TEST; + } + + ################################################################################# + #cas d une verification via un script dedie (fichier .verif) + ################################################################################# + if(-e $script_verif) { + + print " Comparaison via un script : utilisation de $script_verif\n"; + + #verification des droits du script (doit etre executable. si il n est pas executable, on le rend executable) + system("chmod +x $script_verif") if(not -x $script_verif); + + #execution du script (avec redirection vers un .log) + system("rm -f $script_verif.log"); + system("$script_verif $exeHZ | tee $script_verif.log"); + + #saisie du resultat (on s attend a trouver une chaine de la forme "resultat verification : STATUS" dans le .log) + my $resu_verif = ''; + open(FIC, "<$script_verif.log"); + while() { + next if(not /^\s*resultat\s+verification\s*:\s*(\S+)/i);#rq : recherche insensible a la casse + $resu_verif = $1; + last; + } + close(FIC); + + #verif du resultat (doit etre ECHEC ou OK) + ($resu_verif eq 'OK' or $resu_verif eq 'ECHEC') or do { + printRapport(" -> ECHEC : resultat non conforme de la verification via le script $script_verif. Cause possible : la chaine \"resultat verification : ...\" n a pas ete trouvee ou alors le resultat n etait ni OK, ni ECHEC\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : resultat non conforme de la verification via le script $script_verif. Cause possible : la chaine \"resultat verification : ...\" n a pas ete trouvee ou alors le resultat n etait ni OK, ni ECHEC\n"; + last BOUCLE_TEST; + }; + + printRapport(" -> $resu_verif (resultat fourni par le script de verification $script_verif)\n\n"); + }#if(-e $script_verif) + + ################################################################################# + #cas d une verification classique (comparaison entre .maple et .maple.ref[$no_test]) + # rq : on suppose qu il s agit d une verification classique si il y a la presence d un fichier .maple.ref + ################################################################################# + elsif(-e "$fichier_temp_maple.ref$no_test") { + + ############################################################## + # pretraitement + ############################################################## + #nom du fichier maple de reference + my $fichier_ref_maple = "$fichier_temp_maple.ref$no_test"; + + print " Comparaison maple : utilisation de $fichier_ref_maple\n"; + + #liste des donnees contenues dans le fichier maple de reference + my @donnees_ref_maple = (); + #liste des donnees contenues dans le fichier maple du calcul en cours + my @donnees_temp_maple = (); + #liste des precisions absolues + my @precisions_abolues = (); + #liste des precisions relatives + my @precisions_relatives = (); + + + ############################################################## + # saisie des donnees du fichier maple de reference + ############################################################## + open(FIC, "<$fichier_ref_maple") or do { + printRapport(" -> ECHEC : impossible d ouvrir fichier maple de reference $fichier_ref_maple\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : impossible d ouvrir fichier maple de reference $fichier_ref_maple\n"; + last BOUCLE_TEST; + }; + while() { + next if(not /^\s*$format_reel/); + $_ =~ s/^\s+//; $_ =~ s/\s+$//;#suppression d espaces eventuels en debut et fin + @donnees_ref_maple = split(/\s+/, $_); + } + close(FIC); + + ############################################################## + # saisie des donnees du fichier maple du calcul en cours + ############################################################## + open(FIC, "<$fichier_temp_maple") or do { + printRapport(" -> ECHEC : impossible d ouvrir fichier maple $fichier_temp_maple (cause possible : erreur execution Herezh)\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : impossible d ouvrir fichier maple $fichier_temp_maple (cause possible : erreur execution Herezh)\n"; + last BOUCLE_TEST; + }; + while() { + next if(not /^\s*$format_reel/); + $_ =~ s/^\s+//; $_ =~ s/\s+$//;#suppression d espaces eventuels en debut et fin + @donnees_temp_maple = split(/\s+/, $_); + } + close(FIC); + + + ############################################################## + # verification sur les donnees : nombre de donnees de reference doit etre egal au nombre de donnees generees par le calcul en cours + ############################################################## + ($#donnees_temp_maple == $#donnees_ref_maple) or do { + printRapport(" -> ECHEC : pas le meme nombre de valeurs en sortie dans le .maple et dans le maple.ref$no_test\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : pas le meme nombre de valeurs en sortie dans le .maple et dans le .maple.ref$no_test\n"; + last BOUCLE_TEST; + }; + + ############################################################## + # constitution des listes de precision + ############################################################## + #---initialisation avec les precisions par defaut + for(my $i=0; $i<=$#donnees_temp_maple; $i++) { + $precisions_abolues[$i] = $PREC_ABSOLU; + $precisions_relatives[$i] = $PREC_RELATIVE_POURCENT; + } + #---modification eventuelle des precisions si un fichier .precision existe + if(-e $fic_precision) { + open(Fprec, "<$fic_precision") or do { + printRapport(" -> ECHEC : impossible d ouvrir le fichier de precision $fic_precision\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : impossible d ouvrir le fichier de precision $fic_precision\n"; + last BOUCLE_TEST; + }; + while() { + next if(not /^\s*\[\s*(\d+)\s*\]\s+($format_reel)\s+($format_reel)/); + $precisions_abolues[$1-1] = "$2"; + $precisions_relatives[$1-1] = "$3"; + print " modif precision absolue pour colonne $1 : precision absolue = $2\n"; + print " modif precision relative pour colonne $1 : precision relative = $3\n"; + } + close(Fprec); + } + + ############################################################## + # boucle de comparaison des donnees (test entre chaque valeur des listes @donnees_temp_maple et @donnees_ref_maple) + ############################################################## + for(my $i_valeur=0; $i_valeur<=$#donnees_temp_maple; $i_valeur++) { + #numero de colonne dans le .maple + my $no_colonne_maple = $i_valeur + 1; + + #valeur a comparer + my $valeur_temp = $donnees_temp_maple[$i_valeur];#calcul en cours + my $valeur_ref = $donnees_ref_maple[$i_valeur];#valeur de reference + + #precisions + my $precision_absolue = $precisions_abolues[$i_valeur]; + my $precision_relative = $precisions_relatives[$i_valeur]; + + #nombre de decimales des precisions (pour afficher des valeurs arrondies dans le rapport de test) + my $nb_decimales_prec_absolue = return_nb_decimales($precision_absolue); + my $nb_decimales_prec_relative = return_nb_decimales($precision_relative); + + #difference absolue arrondie au nombre de decimales de la precision $precision_absolue + my $diff_absolue = sprintf("%.${nb_decimales_prec_absolue}f", $valeur_temp - $valeur_ref); + + #difference relative en pourcent arrondie au nombre de decimale de la precision $precision_relative + my $diff_relative_pourcent; + #-si $valeur_temp et $valeur_ref sont nulles, pas de souci, la difference relative est forcement nulle + if($valeur_ref == 0 and $valeur_temp == 0) { + $diff_relative_pourcent = sprintf("%.${nb_decimales_prec_relative}f", 0.); + } + #si $valeur_ref est nulle mais pas $valeur_temp, la comparaison relative est impossible + elsif($valeur_ref == 0) { + $diff_relative_pourcent = "impossible car valeur de reference egale a 0"; + } + #cas general : difference relative par rapport a $valeur_ref + else { + $diff_relative_pourcent = sprintf("%.${nb_decimales_prec_relative}f", 100.*($valeur_temp-$valeur_ref)/$valeur_ref); + } + + + #ouverture du rapport de test + open (FSOR, ">> $repertoire_racine/Rapport/$fichier_rapport") || do { + printRapport("$repertoire_test/.CVisu$no_test\n -> ECHEC : Impossible d'ouvrir $repertoire_racine/Rapport/$fichier_rapport\n\n"); + print "**Erreur Test $repertoire_test/.CVisu$no_test : Impossible d'ouvrir $repertoire_racine/Rapport/$fichier_rapport\n"; + last BOUCLE_TEST; + }; + + print FSOR " -> grandeur testee : colonne \[$no_colonne_maple\]\n"; + + ############################# + #comparaison absolue }; + ############################# + #---OK + if(abs($diff_absolue) <= $PREC_ABSOLU) { + print FSOR " - comparaison absolue (precision : $precision_absolue) -> OK\n"; + } + #---ECHEC + else { + print FSOR " - comparaison absolue (precision : $precision_absolue) -> ECHEC\n"; + print FSOR " -> Valeur = $valeur_temp\n"; + print FSOR " -> Valeur reference = $valeur_ref\n"; + print FSOR " -> Difference = $diff_absolue\n"; + } + + ############################# + #comparaison relative + ############################# + #---cas d une comparaison impossible => affichage d un message d erreur (mais pas du mot ECHEC : ce n est pas un echec car la valeur de reference est egale a 0) + if($diff_relative_pourcent =~ /impossible/) { + print FSOR " - comparaison relative : impossible car valeur de reference egale a 0\n"; + } + #---OK + elsif(abs($diff_relative_pourcent) <= $precision_relative) { + print FSOR " - comparaison relative (precision : $precision_relative\%) -> OK\n"; + } + #---ECHEC + else { + print FSOR " - comparaison relative (precision : $precision_relative\%) -> ECHEC\n"; + print FSOR " -> Valeur = $valeur_temp\n"; + print FSOR " -> Valeur reference = $valeur_ref\n"; + print FSOR " -> Difference relative = $diff_relative_pourcent\%\n"; + } + + + print FSOR "\n"; + }#for(my $i_valeur=0; $i_valeur<=$#donnees_temp_maple; $i_valeur++) + close (FSOR); + + }#elsif(-e $fichier_temp_maple) + + + ################################################################################# + #cas sans verification + ################################################################################# + else { + printRapport(" -> OK (pas de verification pour ce test)\n\n"); + } + + + + + ##################################################################################################### + #---------------------------------------------------------------------------------------------------- + # DERNIERS TRAITEMENT AVANT LANCEMENT DU PROCHAIN .CVisu + #---------------------------------------------------------------------------------------------------- + ##################################################################################################### + + #suppression du fichier de redirection + system("rm -f $fichier_test.log"); + + #suppression des eventuels fichiers resultats (ATTENTION : ne pas supprimer les fichiers .BI et .PI pour permettre un RESTART) + #--- fichier .maple + system ("rm -f $fichier_temp_maple"); + #--- fichiers Gmsh + system ("rm -rf $fichier_test\_Gmsh.msh $fichier_test\_Gmsh"); + #--- fichiers _cab.isoe + system ("rm -f $fichier_test*_cab.isoe"); + #--- fichier reac + system ("rm -f $fichier_test.reac"); + #--- fichier res + system ("rm -f $fichier_test.res"); + #--- fichier cont + system ("rm -f $fichier_test.cont"); + #--- fichier ddl + system ("rm -f $fichier_test.ddl"); + #--- fichiers _dpl.points + system ("rm -f $fichier_test*_dpl.points"); + #--- fichier ancienNom + system ("rm -f ancienNom"); + + + +}#BOUCLE_TEST:for(my $no_test=1; $no_test<=$nb_CVisu; $no_test++) +################################################ +#(fin) boucle de test (sur les numeros de .CVisu) +################################################ + +########################################################################## +########################################################################## +########################################################################## +# +# (FIN) LANCEMENT DES TESTS +# +########################################################################## +########################################################################## +########################################################################## + + + + + +########################################################################## +########################################################################## +########################################################################## +# +# FIN DU SCRIPT : derniers traitements avant sortie +# +########################################################################## +########################################################################## +########################################################################## + +##################################################################################################### +# derniers traitements avant retour au repertoire racine +##################################################################################################### + +#restauration du .info d origine +system("mv -f $fichier_test.info_OLD $fichier_test.info"); + +#suppression de tout ce qui n etait pas present initialement dans le repertoire de test (fichiers et repertoires) +my %TAB_FICHIER_INITIAL; +#---on cree une table d indicateur de presence pour les fichiers initiaux (fichiers et repertoires contenus dans la liste @fichiers qui a ete constituee en debut de script) +foreach my $fic (@fichiers) {$TAB_FICHIER_INITIAL{$fic} = 1;} +#---et on supprime tout ce qui n a pas d indicateur +foreach my $fic (glob("*")) { + next if(defined($TAB_FICHIER_INITIAL{$fic}));#pas de suppression en cas d indicateur + system("rm -rf $fic"); +} + +##################################################################################################### +# retour au repertoire racine +##################################################################################################### +print " Deplacement jusqu'au repertoire d'origine\n"; +chdir($repertoire_racine); + +print "##########################################################\n"; +print "##########################################################\n"; +print "#################### ####################\n"; +print "#################### FIN DE TEST.PL ####################\n"; +print "#################### ####################\n"; +print "##########################################################\n"; +print "##########################################################\n"; + + + + + + + + + + +########################################################################## +########################################################################## +########################################################################## +# +# SUBROUTINES +# +########################################################################## +########################################################################## +########################################################################## + + +##################################################################################################### +#subroutine pour ecrire une chaine de caractere dans le fichier de rapport des tests : $repertoire_racine/Rapport/$fichier_rapport +##################################################################################################### +# en entree : +# - chaine de caracteres a afficher dans le rapport +# +sub printRapport { + open(FSOR, ">>$repertoire_racine/Rapport/$fichier_rapport") or do { + print "Impossible d'ouvrir $repertoire_racine/Rapport/$fichier_rapport\n"; + exit; + }; + print FSOR $_[0]; + close(FSOR); +} + + +##################################################################################################### +#subroutine pour lancer la commande Herezh +##################################################################################################### +# en entree : +# - executable Herezh (IMPORTANT : chemin complet vers la commande. Par exemple : ../HZpp, /Users/dupont/bin/HZppfast, ./HZppfast, ...) +# - commande (une chaine de caracteres donnant les instructions a la suite de l executable Herezh. Par exemple : -f fic.info) +# - fichier redirection affichage (fichier pour redirection affichage avec "tee") +# - fichier de commande (reponses en interactif) +# +# en sortie : +# - indicateur sur le status du calcul : "ok" si calcul a termine (converge ou non) +# "depassement taille maximum" si calcul a conduit a un depassement du maximum autorise pour la taille du fichier de redirection +# "probleme redirection affichage" si la redirection de l affichage n a pas ete faite correctement (dans ce cas, probleme lie a la commande tee) +# +sub lancement_commande { + + my $hzchemin_original = shift; + my $commande = shift; + my $fredir_tee = shift; + my $fic_commande = shift; + + #suppression d un eventuel fichier de redirection deja existant + system("rm -f $fredir_tee"); + + + ############################################################## + #creation d un lien symbolique vers l executable Herezh original + # rq : l utilite de ce lien est qu il permettra de rechercher les pid de processus en reperant ce nom unique genere aleatoirement (pour eviter de tuer d autres processus Herezh qui n ont rien a voir avec la batterie de test) + ############################################################## + #creation d un nom aleatoire + my $lien_symbolique_HZ = 'HZ'.int(rand(99999999999)); + #creation du lien symbolique + system("ln -s $hzchemin_original $lien_symbolique_HZ"); + + + ############################################################## + #creation de la commande + ############################################################## + my $cmd = "$lien_symbolique_HZ $commande"; + #on ajoute des reponses interactives si le fichier $fic_commande existe + $cmd .= " < $fic_commande" if(-e $fic_commande); + + + ############################################################## + #lancement du calcul Herezh dans un processus fils + # rq : redirection de l affichage dans le fichier $fredir_tee + ############################################################## + my $PID_CALCUL = fork(); + # + #le bloc suivant ne concerne que le processus fils + if($PID_CALCUL == 0) { + #lancement du calcul Herezh + system("$cmd | tee $fredir_tee"); + exit; + } + #pause de 0.5 seconde pour laisser le temps de lancer la commande + select(undef, undef, undef, 0.5); + + + ############################################################## + #recuperation des pid de processus Herezh (dans la variable @HZpid) + # rq : pour pouvoir les tuer en cas de probleme + ############################################################## + #saisie de la liste des processus sous la forme "pid commande" en ne gardant que les processus comportant la chaine $lien_symbolique_HZ pour l utilisateur courant $ENV{USER} + my @processus = qx(ps -U $ENV{USER} -o pid,command | grep $lien_symbolique_HZ); + #on ne garde que le pid des processus et on les stocke dans @HZpid + my @HZpid = (); + foreach my $processus (@processus) { + next if(not $processus =~ /^\s*(\d+)/); + push(@HZpid, $1); + } + + + ############################################################## + #on s assure que le fichier de redirection a ete cree + # si ce n est pas le cas, on retourne un probleme lie a la redirection de l affichage + ############################################################## + if(not -e $fredir_tee) { + #suppression des processus de calcul + kill("TERM", @HZpid) if(@HZpid ne ""); + #attente de la fin du processus fils de lancement du calcul + waitpid($PID_CALCUL, 0); + #suppression lien symbolique + system("rm -f $lien_symbolique_HZ"); + + return "probleme redirection affichage"; + } + + + ############################################################## + # surveillance en continu de la taille du fichier de redirection dans un processus fils + ############################################################## + #le fichier $fic_communication permettra d indiquer au processus pere que le fichier $fredir_tee a depasse la taille maximum autorisee $TAILLE_MAX_FIC_REDIR octets + # et il permet egalement au processus fils de savoir si la surveillance n est plus necessaire + my $fic_communication = "$lien_symbolique_HZ.communication"; + system("rm -f $fic_communication"); + + my $PID_TAILLE_FIC_REDIR = fork(); + # + #le bloc suivant ne concerne que le processus fils + if($PID_TAILLE_FIC_REDIR == 0) { + while() { + #pause de 0.5 seconde + select(undef, undef, undef, 0.5); + + #taille actuelle du fichier + my $taille_fichier = -s $fredir_tee; + + #si la taille du fichier a depasse la limite => on cree le fichier de communication, on tue les processus de calcul et on sort de la boucle + if($taille_fichier > $TAILLE_MAX_FIC_REDIR) { + system("echo 1 > $fic_communication"); + kill("TERM", @HZpid) if($#HZpid > -1); + last; + } + + #on arrete cette boucle si le fichier $fic_communication a ete cree par le processus pere + # rq : si c est le cas, cela veut dire que le processus fils $PID_CALCUL s est arrete normalement + # et que donc la surveillance n est plus necessaire + last if(-e $fic_communication); + } + exit; + } + + + ############################################################## + #attente de la fin du processus fils du lancement du calcul + ############################################################## + waitpid($PID_CALCUL, 0); + + #suppression du lien symbolique qui ne sert plus desormais + system("rm -f $lien_symbolique_HZ"); + + + ############################################################## + # verification de l etat du calcul + ############################################################## + + #si le fichier $fic_communication existe, cela veut dire qu il a ete cree par le processus fils $PID_TAILLE_FIC_REDIR et que donc il y a eu un depassement de la taille maximum autorisee + # => status calcul = depassement taille maximum + if(-e $fic_communication) { + #on s assure que le processus fils de surveillance s est termine proprement + waitpid($PID_TAILLE_FIC_REDIR, 0); + #suppression du fichier de communication + system("rm -f $fic_communication"); + + return "depassement taille maximum"; + } + + #si le fichier $fic_communication n existe pas, alors ca veut dire que le calcul Herezh s est arrete normalement (qu il ait converge ou non) + # => status calcul = ok + else { + #on envoie un signal au processus fils $PID_TAILLE_FIC_REDIR + system("echo 1 > $fic_communication"); + #on attend la fin du processus fils $PID_TAILLE_FIC_REDIR + waitpid($PID_TAILLE_FIC_REDIR, 0); + #on supprime le fichier de communication + system("rm -f $fic_communication"); + + return 'ok'; + } + +}#sub lancement_commande + + +##################################################################################################### +#subroutine qui recherche l existence d une commande et renvoie le premier path trouve (renvoie 0 si commande introuvable) +##################################################################################################### +# en entree : +# - nom de la commande +# +# en sortie : +# - chemin de la commande (0 si commande introuvable) +# +sub verif_commande { + my $cmd = shift;#nom de la commande + + #cas d une commande en chemin absolu + return $cmd if(-x $cmd); + + #cas d une commande en chemin relatif (rq : dans le cas d un chemin relatif, si la commande n existe pas, on renvoie 0) + if($cmd =~ /^\./) { + return $cmd if(-x $cmd); + return 0; + } + + #on regarde dans la variable environnement $PATH + foreach my $path (split(/\s*:\s*/, $ENV{PATH})) { + return "$path/$cmd" if(-x "$path/$cmd"); + } + + #cas ou la commande est introuvable + return 0; +}#sub verif_commande + + +##################################################################################################### +#subroutine pour activer/desactiver RESTART dans fichier .info +##################################################################################################### +# en entree : +# - nom du fichier .info +# - numero d increment de RESTART (0 pour desactiver RESTART) +sub active_RESTART { + my $finfo = shift;#nom fichier .info + my $increment = shift;#increment de RESTART + + #suppression d un eventuel RESTART deja present + open(Finfo, "<$finfo"); + open(Finfo_tmp, ">$finfo.tmp"); + while() { + next if(/^\s*RESTART /);#pas d ecriture si la ligne commence par RESTART + + print Finfo_tmp;#ecriture de la ligne du fichier d origine + + #ajout de RESTART si la ligne actuelle est positionnee au mot-cle controle et que $increment n est pas egal a 0 + if(/^\s*controle/ and $increment > 0) { + print Finfo_tmp "RESTART $increment\n"; + } + } + close(Finfo); + close(Finfo_tmp); + system("mv -f $finfo.tmp $finfo"); +}#sub active_RESTART + + +##################################################################################################### +#subroutine qui renvoie le nombre de decimales d un reel +##################################################################################################### +# en entree : +# - un reel +# +# en sortie : +# - nombre de decimales +# +sub return_nb_decimales { + my $nombre = shift; + $nombre = "$nombre"; + return 0 if($nombre =~ /^\d+$/);#cas d un entier + + #saisie d une eventuelle puissance de 10 + my $exp = 0; + $nombre =~ s/[Ee]([+-]?\d+)//; + $exp = $1 if(defined($1)); + + #calcul du nombre de decimales du reel sans son eventuelle puissance de 10 + my @tab = split(//, $nombre); + my $nb_decimales = 0; + my $i; + for($i=0; $i<=$#tab; $i++) {last if($tab[$i] eq '.');} + for(my $j=$i+1; $j<=$#tab; $j++) {$nb_decimales++;} + + #rajout du decalage de virgule selon l eventuelle puissance de 10 + $nb_decimales -= $exp; + + return $nb_decimales; +}#sub return_nb_decimales + + +##################################################################################################### +#subroutine pour rechercher la presence d un mot dans un fichier en parcourant egalement les sous-fichiers +# declares dans le fichier (lignes de la forme : "< nom_fichier") +##################################################################################################### +# en entree : +# - arg 1 : nom du fichier +# - arg 2 : mot a trouver +# - arg 3 : symbole de fin de ligne (par exemple le symbole # pour un fichier .info) +# +# en sortie : +# - renvoie 1 si le fichier ou l un de ses sous-fichiers contient le mot +# renvoie 0 si le mot n a pas ete trouve ou si le fichier n est pas lisible +# +sub is_mot_in_fic { + local $_; + + my $fic = shift;#fichier a traiter + my $mot = shift;#mot a rechercher + my $symbole_fin_ligne = shift;#symbole indiquant la fin d une ligne + + #repertoire du fichier (on utilise le chemin absolu pour connaitre ce repertoire) + my $rep_absolu = ( splitpath(rel2abs $fic) )[1]; + + #parcours du fichier (et enregistrement de ses eventuels sous-fichiers) + my @sous_fic;#liste des sous-fichiers + open(FIC, "<$fic") or return 0;#on renvoie 0 si le fichier n est pas lisible + while() { + #troncature de la ligne selon le premier symbole $symbole_fin_ligne trouve + s/${symbole_fin_ligne}.*$//; + + #cas ou le mot a ete trouve (on ferme le fichier et on renvoie "vrai") + if(/$mot/) { + close(FIC); + return 1; + }#if(/$mot/) + + #cas d un sous-fichier (on garde son nom pour l instant en lui ajoutant le repertoire du fichier) + push(@sous_fic, "$rep_absolu$1") if(/^\s*\<\s*(\S+)/); + }#while() + close(FIC); + + #parcours des sous-fichiers + foreach my $sous_fic (@sous_fic) { + #repertoire du sous-fichier (rq : le chemin de $sous_fic est deja absolu, donc pas besoin de faire appel a la sub rel2abs() ) + $rep_absolu = ( splitpath $sous_fic)[1]; + open(FIC, "<$sous_fic") or next;#on ne fait rien si le fichier n est pas lisible + while() { + #troncature de la ligne selon le premier symbole $symbole_fin_ligne trouve + s/${symbole_fin_ligne}.*$//; + + #cas ou le mot a ete trouve (on ferme le fichier et on renvoie "vrai") + if(/$mot/) { + close(FIC); + return 1; + }#if(/$mot/) + + #cas d un sous-fichier de sous-fichier (est-ce vraiment raisonnable!!!!) (on l ajoute a la liste) + push(@sous_fic, "$rep_absolu$1") if(/^\s*\<\s*(\S+)/); + } + close(FIC); + } + + return 0; +}#sub is_mot_in_fic diff --git a/Rapport/rapport_test_L.txt b/Rapport/rapport_test_L.txt new file mode 100644 index 0000000..4bea00b --- /dev/null +++ b/Rapport/rapport_test_L.txt @@ -0,0 +1,10 @@ +--------------------------------------- +- RAPPORT DE TEST - +--------------------------------------- +- version HZ++ : HZppfast 6.687 + +- Batterie de tests lancee +- le 14/04/2015 +- a 21:31 (heure locale) +--------------------------------------- + diff --git a/Rapport/rapport_test_R.txt b/Rapport/rapport_test_R.txt new file mode 100644 index 0000000..4477016 --- /dev/null +++ b/Rapport/rapport_test_R.txt @@ -0,0 +1,435 @@ +--------------------------------------- +- RAPPORT DE TEST - +--------------------------------------- +- version HZ++ : HZppfast 6.687 + +- Batterie de tests lancee +- le 14/04/2015 +- a 21:31 (heure locale) +--------------------------------------- + +./Batterie/FONCTION_UNIQUE/CONTACT/Test_R_contact_axi_non_dynamique/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [9] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [10] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [11] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [12] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [13] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [14] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [15] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [16] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [17] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [18] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [19] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [20] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [21] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [22] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [23] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [24] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [25] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [26] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [27] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [28] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [29] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [30] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [31] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [32] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [33] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [34] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [35] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_cisaillement/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/ISOHYPER3DFAVIER3/Test_R_traction/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_cisaillement/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/MOONEY_RIVLIN_3D/Test_R_traction/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_explicite/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [9] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [10] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [11] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [12] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [13] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [14] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_implicite/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [9] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [10] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [11] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [12] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [13] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [14] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_dynamique_relaxation_dynam/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + +./Batterie/FONCTION_UNIQUE/TYPE_DE_CALCUL/Test_R_non_dynamique/.CVisu1 + -> grandeur testee : colonne [1] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [2] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [3] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [4] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [5] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [6] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [7] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + + -> grandeur testee : colonne [8] + - comparaison absolue (precision : 1.e-6) -> OK + - comparaison relative (precision : 1.e-3%) -> OK + diff --git a/verifier_exeHZ b/verifier_exeHZ new file mode 100755 index 0000000..a1295e0 --- /dev/null +++ b/verifier_exeHZ @@ -0,0 +1,152 @@ +#!/bin/zsh + +###-------------------------------- +### --- ATTENTION : script en zsh +###-------------------------------- + + +#-------------------------------- +# ce script necessite un argument : +# 1- executable herezh +#-------------------------------- + +# +# verif de la presence d un argument +# +if [ ! $1 ] ; then + echo + echo "**ERREUR : un argument requis (executable Herezh)" + echo + exit +fi + +# +# verif de l existence de l executable donne en argument (avec which) +# +a=`which $1 | grep "not found"` +if [ $a ] ; then + echo + echo "**ERREUR (prog:$0) : la commande $cmd_herezh est introuvable" + a=`which $1` + echo " Resultat de la commande \"which $1\" => $a" + echo + exit +fi + +# +# desormais, l executable donne en argument se trouve dans la variable $cmd_herezh +# +cmd_herezh=$1 + + + +# +# verif de la presence du repertoire Rapport +# > si absent => creation +# > si existe mais est un fichier => arret avec message d erreur +# +if [ -f ./Rapport ] ; then + echo + echo "**ERREUR (prog:$0) : la presence d un repertoire de nom Rapport est necessaire mais il existe deja un fichier de nom Rapport. Veuillez renommer ce fichier, le deplacer dans un autre repertoire ou le supprimer..." + echo + exit +elif [ ! -d ./Rapport ] ; then + mkdir Rapport +fi + + + +################################## +### PROGRAMME POUR TESTS LENTS ### +################################## + + ###--------------------------------------------### + ###--- Changement du nom du fichier rapport ---### + ###--- des derniers tests effectués ---### + ###--------------------------------------------### +mv -f Rapport/rapport_test_L.txt Rapport/rapport_test_L_OLD.txt + + ###---------------------------------------### + ###--- Génération d'un nouveau rapport ---### + ###---------------------------------------### +./Perl/genere_rapport.pl Rapport/rapport_test.txt $cmd_herezh + + ###-------------------------------------------------------### + ###--- Recherche de tous les répertoires /Test_L ---### + ###--- dans le répertoire /Batterie ---### + ###--- Création du fichier Liste_Tests_L.txt contenant ---### + ###--- le chemin de tous ces répertoires /Test_L ---### + ###-------------------------------------------------------### +mv Rapport/Liste_Tests_L.txt Rapport/Liste_Tests_L_OLD.txt +foreach f (`find . -name "*Test_L*" -type d`) + echo $f >> Rapport/Liste_Tests_L.txt +end + + ###------------------------------------### + ###--- Execution de la vérification ---### + ###--- pour tous les tests lents ---### + ###------------------------------------### + #-----------------------------------------------------# + #- Recherche de tous les répertoires /Test* -# + #- dans le répertoire /Batterie -# + #- Execution de "test.pl nom_repertoire type_calcul" -# + #- une fois que l'on est placé au bon endroit -# + #-----------------------------------------------------# +foreach f (`find . -name "*Test_L*" -type d`) + ./Perl/test.pl $f $cmd_herezh +end + + ###--------------------------------------### + ###--- Edition du fichier rapport.txt ---### + ###--------------------------------------### +mv Rapport/rapport_test.txt Rapport/rapport_test_L.txt +nedit Rapport/rapport_test_L.txt & + + + + +#################################### +### PROGRAMME POUR TESTS RAPIDES ### +#################################### + + ###--------------------------------------------### + ###--- Changement du nom du fichier rapport ---### + ###--- des derniers tests effectués ---### + ###--------------------------------------------### +mv -f Rapport/rapport_test_R.txt Rapport/rapport_test_R_OLD.txt + + ###---------------------------------------### + ###--- Génération d'un nouveau rapport ---### + ###---------------------------------------### +./Perl/genere_rapport.pl Rapport/rapport_test.txt $cmd_herezh + + ###-------------------------------------------------------### + ###--- Recherche de tous les répertoires /Test_R* ---### + ###--- dans le répertoire /Batterie ---### + ###--- Création du fichier Liste_Tests_R.txt contenant ---### + ###--- le chemin de tous ces répertoires /Test_R* ---### + ###-------------------------------------------------------### +mv Rapport/Liste_Tests_R.txt Rapport/Liste_Tests_R_OLD.txt +foreach f (`find . -name "*Test_R*" -type d`) + echo $f >> Rapport/Liste_Tests_R.txt +end + + ###------------------------------------### + ###--- Execution de la vérification ---### + ###--- pour les tests rapides ---### + ###------------------------------------### + #-----------------------------------------------------# + #- Recherche de tous les répertoires /Test_R* -# + #- dans le répertoire /Batterie -# + #- Execution de "test.pl nom_repertoire type_calcul" -# + #- une fois que l'on est placé au bon endroit -# + #-----------------------------------------------------# +foreach f (`find . -name "*Test_R*" -type d`) + ./Perl/test.pl $f $cmd_herezh +end + + ###--------------------------------------### + ###--- Edition du fichier rapport.txt ---### + ###--------------------------------------### +mv Rapport/rapport_test.txt Rapport/rapport_test_R.txt +nedit Rapport/rapport_test_R.txt &