2
0
Fork 0

ajout des fichiers pour le test fusion maillage

This commit is contained in:
kergourlay 2015-04-16 07:26:31 +00:00
parent fb1ab5866c
commit bdcf122aca
9 changed files with 1242 additions and 0 deletions

View file

@ -0,0 +1,36 @@
------------------------------------------------------------
But du test
------------------------------------------------------------
Test rapide de l'utilitaire de fusion de maillage
""
TYPE_DE_CALCUL
utilitaires avec plus fusion_maillages
""
------------------------------------------------------------
Description du calcul
------------------------------------------------------------
Fusion de deux cubes 1x1x1 en 3D avec 8 éléments chacun (Hexaèdres quadratiques 27 pti)
loi isoelas classique
Les fichiers initiaux pour le calcul sont cube1-1-1-1.her et cube2-1-1-1.her
------------------------------------------------------------
Grandeurs de comparaison
------------------------------------------------------------
Comparaison des fichiers cube_soude.her et cube_soude.lis avec les fichiers de références cube_soude.her_ref1 et cube_soude.lis_ref1
version d'herezh 6.697
------------------------------------------------------------
Informations sur les fichiers facultatifs
------------------------------------------------------------
Des fichiers temporaires sont créés pour la comparaison qui contiennent uniquement les données puis ils sont éffacés à la fin de l'éxécution du programme perl.
------------------------------------------------------------
Comparaison avec des solutions analytiques
------------------------------------------------------------
du texte...
------------------------------------------------------------
Comparaison avec des codes de calcul
------------------------------------------------------------
du texte...

View file

@ -0,0 +1,153 @@
#############################################################################
# #
# STAMM #
# (maillage automatique de pieces simples) #
#############################################################################
# Copyright © 1997-2013 Gerard Rio, gerard.rio@univ-ubs.fr #
# All rights reserved. http://www-lg2m.univ-ubs.fr/~rio #
# #
#############################################################################
# version 03.29 , compatible avec la version Herezh++6.576
# ----------------------------------------------------------------
# | construction automatique d'un maillage 3D |
# | pour une utilisation par herezh++ |
# ----------------------------------------------------------------
# prisme de dimension : 1 x 1 x 1 ( 1 x 1 x 1 elements )
# geometrie prismatique, decoupage en hexaedre(s), interpolation quadratique complete.
nom_maillage cube1-1-1-1
noeuds ------------
27 NOEUDS
#---------------------------------------------------------------
#|NO DU| X | Y | Z |
#|NOEUD| | | |
#---------------------------------------------------------------
1 0 0 0
2 0 0 0.5
3 0 0 1
4 0 0.5 0
5 0 0.5 0.5
6 0 0.5 1
7 0 1 0
8 0 1 0.5
9 0 1 1
10 0.5 0 0
11 0.5 0 0.5
12 0.5 0 1
13 0.5 0.5 0
14 0.5 0.5 0.5
15 0.5 0.5 1
16 0.5 1 0
17 0.5 1 0.5
18 0.5 1 1
19 1 0 0
20 1 0 0.5
21 1 0 1
22 1 0.5 0
23 1 0.5 0.5
24 1 0.5 1
25 1 1 0
26 1 1 0.5
27 1 1 1
# references des noeuds
N_avant 7 8 9 16 17 18 25 26 27
N_arriere 1 2 3 10 11 12 19 20 21
N_haut 3 6 9 12 15 18 21 24 27
N_bas 1 4 7 10 13 16 19 22 25
N_droit 1 2 3 4 5 6 7 8 9
N_gauche 19 20 21 22 23 24 25 26 27
N_haut_droit 3 6 9
N_haut_gauche 21 24 27
N_haut_arriere 3 12 21
N_haut_avant 9 18 27
N_bas_droit 1 4 7
N_bas_gauche 19 22 25
N_bas_arriere 1 10 19
N_bas_avant 7 16 25
N_arriere_droit 1 2 3
N_arriere_gauche 19 20 21
N_avant_droit 7 8 9
N_avant_gauche 25 26 27
N_haut_arriere_droit 3
N_haut_arriere_gauche 21
N_haut_avant_gauche 27
N_haut_avant_droit 9
N_bas_arriere_droit 1
N_bas_arriere_gauche 19
N_bas_avant_gauche 25
N_bas_avant_droit 7
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
# les elements
elements ----------
1 ELEMENTS
#----------------------------------------------------------------------
#| NO | | |
#|ELTS | type element | Noeuds |
#----------------------------------------------------------------------
1 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14
# references des elements
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
# references des faces et arretes d'elements
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

View file

@ -0,0 +1,153 @@
#############################################################################
# #
# STAMM #
# (maillage automatique de pieces simples) #
#############################################################################
# Copyright © 1997-2013 Gerard Rio, gerard.rio@univ-ubs.fr #
# All rights reserved. http://www-lg2m.univ-ubs.fr/~rio #
# #
#############################################################################
# version 03.29 , compatible avec la version Herezh++6.576
# ----------------------------------------------------------------
# | construction automatique d'un maillage 3D |
# | pour une utilisation par herezh++ |
# ----------------------------------------------------------------
# prisme de dimension : 1 x 1 x 1 ( 1 x 1 x 1 elements )
# geometrie prismatique, decoupage en hexaedre(s), interpolation quadratique complete.
nom_maillage cube2-1-1-1
noeuds ------------
27 NOEUDS
#---------------------------------------------------------------
#|NO DU| X | Y | Z |
#|NOEUD| | | |
#---------------------------------------------------------------
1 0 0 0
2 0 0 0.5
3 0 0 1
4 0 0.5 0
5 0 0.5 0.5
6 0 0.5 1
7 0 1 0
8 0 1 0.5
9 0 1 1
10 0.5 0 0
11 0.5 0 0.5
12 0.5 0 1
13 0.5 0.5 0
14 0.5 0.5 0.5
15 0.5 0.5 1
16 0.5 1 0
17 0.5 1 0.5
18 0.5 1 1
19 1 0 0
20 1 0 0.5
21 1 0 1
22 1 0.5 0
23 1 0.5 0.5
24 1 0.5 1
25 1 1 0
26 1 1 0.5
27 1 1 1
# references des noeuds
N_avant 7 8 9 16 17 18 25 26 27
N_arriere 1 2 3 10 11 12 19 20 21
N_haut 3 6 9 12 15 18 21 24 27
N_bas 1 4 7 10 13 16 19 22 25
N_droit 1 2 3 4 5 6 7 8 9
N_gauche 19 20 21 22 23 24 25 26 27
N_haut_droit 3 6 9
N_haut_gauche 21 24 27
N_haut_arriere 3 12 21
N_haut_avant 9 18 27
N_bas_droit 1 4 7
N_bas_gauche 19 22 25
N_bas_arriere 1 10 19
N_bas_avant 7 16 25
N_arriere_droit 1 2 3
N_arriere_gauche 19 20 21
N_avant_droit 7 8 9
N_avant_gauche 25 26 27
N_haut_arriere_droit 3
N_haut_arriere_gauche 21
N_haut_avant_gauche 27
N_haut_avant_droit 9
N_bas_arriere_droit 1
N_bas_arriere_gauche 19
N_bas_avant_gauche 25
N_bas_avant_droit 7
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
# les elements
elements ----------
1 ELEMENTS
#----------------------------------------------------------------------
#| NO | | |
#|ELTS | type element | Noeuds |
#----------------------------------------------------------------------
1 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14
# references des elements
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
# references des faces et arretes d'elements
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

View file

@ -0,0 +1,87 @@
###########################################################################
# ecriture automatique d'un maillage au format .her, par Herezh++ #
###########################################################################
# version: 6.697
nom_maillage cube_soude # nom du maillage
noeuds ------------ # definition des noeuds
54 NOEUDS # definition du nombre de noeuds
#---------------------------------------------------------------
#|NO DU| X | Y | Z |
#|NOEUD| | | |
#---------------------------------------------------------------
1 0.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00
2 0.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01
3 0.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00
4 0.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00
5 0.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01
6 0.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00
7 0.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00
8 0.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01
9 0.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00
10 5.00000000000000000e-01 0.00000000000000000e+00 0.00000000000000000e+00
11 5.00000000000000000e-01 0.00000000000000000e+00 5.00000000000000000e-01
12 5.00000000000000000e-01 0.00000000000000000e+00 1.00000000000000000e+00
13 5.00000000000000000e-01 5.00000000000000000e-01 0.00000000000000000e+00
14 5.00000000000000000e-01 5.00000000000000000e-01 5.00000000000000000e-01
15 5.00000000000000000e-01 5.00000000000000000e-01 1.00000000000000000e+00
16 5.00000000000000000e-01 1.00000000000000000e+00 0.00000000000000000e+00
17 5.00000000000000000e-01 1.00000000000000000e+00 5.00000000000000000e-01
18 5.00000000000000000e-01 1.00000000000000000e+00 1.00000000000000000e+00
19 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00
20 1.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01
21 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00
22 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00
23 1.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01
24 1.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00
25 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00
26 1.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01
27 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00
28 1.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00
29 1.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01
30 1.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00
31 1.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00
32 1.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01
33 1.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00
34 1.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00
35 1.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01
36 1.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00
37 1.50000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00
38 1.50000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01
39 1.50000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00
40 1.50000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00
41 1.50000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01
42 1.50000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00
43 1.50000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00
44 1.50000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01
45 1.50000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00
46 2.00000000000000000e+00 0.00000000000000000e+00 0.00000000000000000e+00
47 2.00000000000000000e+00 0.00000000000000000e+00 5.00000000000000000e-01
48 2.00000000000000000e+00 0.00000000000000000e+00 1.00000000000000000e+00
49 2.00000000000000000e+00 5.00000000000000000e-01 0.00000000000000000e+00
50 2.00000000000000000e+00 5.00000000000000000e-01 5.00000000000000000e-01
51 2.00000000000000000e+00 5.00000000000000000e-01 1.00000000000000000e+00
52 2.00000000000000000e+00 1.00000000000000000e+00 0.00000000000000000e+00
53 2.00000000000000000e+00 1.00000000000000000e+00 5.00000000000000000e-01
54 2.00000000000000000e+00 1.00000000000000000e+00 1.00000000000000000e+00
elements ----------
2 ELEMENTS # definition du nombre d'elements
#----------------------------------------------------------------------
#| NO | | |
#|ELTS | type element | Noeuds |
#----------------------------------------------------------------------
1 HEXAEDRE QUADRACOMPL 19 25 7 1 21 27 9 3 22 16 4 10 20 26 8 2 24 18 6 12 13 23 17 5 11 15 14
2 HEXAEDRE QUADRACOMPL 46 52 34 28 48 54 36 30 49 43 31 37 47 53 35 29 51 45 33 39 40 50 44 32 38 42 41

View file

@ -0,0 +1,314 @@
###########################################################################
# ecriture automatique d'un maillage au format .lis, par Herezh++ #
###########################################################################
# version: 6.697
# -- reference de noeud
N_arriere 1 2 3 10 11 12 19 20 21
N_arriere_1 28 29 30 37 38 39 46 47 48
N_arriere_droit 1 2 3
N_arriere_droit_1 28 29 30
N_arriere_gauche 19 20 21
N_arriere_gauche_1 46 47 48
N_avant 7 8 9 16 17 18 25 26 27
N_avant_1 34 35 36 43 44 45 52 53 54
N_avant_droit 7 8 9
N_avant_droit_1 34 35 36
N_avant_gauche 25 26 27
N_avant_gauche_1 52 53 54
N_bas 1 4 7 10 13 16 19 22 25
N_bas_1 28 31 34 37 40 43 46 49 52
N_bas_arriere 1 10 19
N_bas_arriere_1 28 37 46
N_bas_arriere_droit 1
N_bas_arriere_droit_1 28
N_bas_arriere_gauche 19
N_bas_arriere_gauche_1 46
N_bas_avant 7 16 25
N_bas_avant_1 34 43 52
N_bas_avant_droit 7
N_bas_avant_droit_1 34
N_bas_avant_gauche 25
N_bas_avant_gauche_1 52
N_bas_droit 1 4 7
N_bas_droit_1 28 31 34
N_bas_gauche 19 22 25
N_bas_gauche_1 46 49 52
N_droit 1 2 3 4 5 6 7 8 9
N_droit_1 28 29 30 31 32 33 34 35 36
N_gauche 19 20 21 22 23 24 25 26 27
N_gauche_1 46 47 48 49 50 51 52 53 54
N_haut 3 6 9 12 15 18 21 24 27
N_haut_1 30 33 36 39 42 45 48 51 54
N_haut_arriere 3 12 21
N_haut_arriere_1 30 39 48
N_haut_arriere_droit 3
N_haut_arriere_droit_1 30
N_haut_arriere_gauche 21
N_haut_arriere_gauche_1 48
N_haut_avant 9 18 27
N_haut_avant_1 36 45 54
N_haut_avant_droit 9
N_haut_avant_droit_1 36
N_haut_avant_gauche 27
N_haut_avant_gauche_1 54
N_haut_droit 3 6 9
N_haut_droit_1 30 33 36
N_haut_gauche 21 24 27
N_haut_gauche_1 48 51 54
N_to 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27
N_to_1 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
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
N_tout_1 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
# -- reference des elements
E_arriere_droit 1
E_arriere_droit_1 2
E_arriere_gauche 1
E_arriere_gauche_1 2
E_avant 1
E_avant_1 2
E_avant_droit 1
E_avant_droit_1 2
E_avant_gauche 1
E_avant_gauche_1 2
E_bas 1
E_bas_1 2
E_bas_arriere 1
E_bas_arriere_1 2
E_bas_arriere_droit 1
E_bas_arriere_droit_1 2
E_bas_arriere_gauche 1
E_bas_arriere_gauche_1 2
E_bas_avant 1
E_bas_avant_1 2
E_bas_avant_droit 1
E_bas_avant_droit_1 2
E_bas_avant_gauche 1
E_bas_avant_gauche_1 2
E_bas_droit 1
E_bas_droit_1 2
E_bas_gauche 1
E_bas_gauche_1 2
E_derriere 1
E_derriere_1 2
E_droit 1
E_droit_1 2
E_gauche 1
E_gauche_1 2
E_haut 1
E_haut_1 2
E_haut_arriere 1
E_haut_arriere_1 2
E_haut_arriere_droit 1
E_haut_arriere_droit_1 2
E_haut_arriere_gauche 1
E_haut_arriere_gauche_1 2
E_haut_avant 1
E_haut_avant_1 2
E_haut_avant_droit 1
E_haut_avant_droit_1 2
E_haut_avant_gauche 1
E_haut_avant_gauche_1 2
E_haut_droit 1
E_haut_droit_1 2
E_haut_gauche 1
E_haut_gauche_1 2
E_to 1
E_to_1 2
E_tout 1 2
E_tout_1 2
# -- references de pt d'integ, noeuds, faces et arretes associes a des elements
A_arriere_droit 1 8
A_arriere_droit_1 2 8
A_arriere_gauche 1 5
A_arriere_gauche_1 2 5
A_avant_droit 1 7
A_avant_droit_1 2 7
A_avant_gauche 1 6
A_avant_gauche_1 2 6
A_bas_arriere 1 4
A_bas_arriere_1 2 4
A_bas_avant 1 2
A_bas_avant_1 2 2
A_bas_droit 1 3
A_bas_droit_1 2 3
A_bas_gauche 1 1
A_bas_gauche_1 2 1
A_haut_arriere 1 12
A_haut_arriere_1 2 12
A_haut_avant 1 10
A_haut_avant_1 2 10
A_haut_droit 1 11
A_haut_droit_1 2 11
A_haut_gauche 1 9
A_haut_gauche_1 2 9
F_arriere 1 2
F_arriere_1 2 2
F_avant 1 5
F_avant_1 2 5
F_bas 1 1
F_bas_1 2 1
F_droit 1 6
F_droit_1 2 6
F_gauche 1 3
F_gauche_1 2 3
F_haut 1 4
F_haut_1 2 4

View file

@ -0,0 +1,105 @@
###############################################################################################
# Fichier de commande pour la visualisation elements finis #
# Herezh++ V6.658 #
# Copyright (c) 1997-2014, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ #
# http://www-lg2m.univ-ubs.fr #
###############################################################################################
debut_fichier_commande_visu # >>>>>> le mot cle: <debut_fichier_commande_visu>
# permet au programme de se positionner au debut du fichier, il est indispensable
# =================================================================================
# || ***** demande d'une visualisation Gmsh: ***** ||
# =================================================================================
# un mot cle de debut (debut_visualisation_Gmsh)
# un mot cle de fin ( fin_visualisation_Gmsh) apres tous les ordres particuliers
# la seule presence du premier mots cle suffit a activer la visualisation Gmsh
# la presence du second permet une meilleur lisibilite du fichier, mais n'est pas indispensable
debut_visualisation_Gmsh
# ----------------------------- definition des parametres du maillage initial: ----------------
debut_maillage_initial # un mot cle de debut de liste
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
pseudo-homothetie_sur_les_maillages_ 0 # 0 = aucune homothetie, 1 = il y en a
# --- def eventuelle de la pseudo-homothetie: une par maillage,
# pseudo-homothetie pour le maillage : 1
# maillage_ 1
# mot cle: maillage_ puis le numero du maillage,
# pseudo-homothetie_ 0 # 0 = non active, 1 = active
# ensuite si c'est active, on trouve :
# mot cle: centre_homothetie_ puis les coordonnees du centre d'homothetie
# puis mot cle: fact_mult_ puis les coordonnees donnant les coefs multiplicatifs selon les axes.
# centre_homothetie_
# fact_mult_
visualisation_references_sur_les_maillages_ 1 # 0 = pas de visualisation des reference, 1 = sortie des ref dans fichier unique 2= sortie des ref dans plusieurs fichiers
fin_maillage_initial # le mot cle de fin
# ----------------------------- definition des parametres pour les isovaleurs : ----------------
debut_isovaleur_Gmsh # mot cle de debut des parametres pour les isovaleurs
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
ancien_format_ 0 # 1 = ancien format, 0 = nouveau format
# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc
# (tangent pour les coques, suivant la fibre moyenne pour les element 1D )
tenseur_en_absolue_ 1
1 # le numero de maillage
# tableau des ddl aux noeuds a visualiser, un par maillage
debut_tableau_ddl_aux_noeuds fin_tableau_ddl_aux_noeuds
# tableau des choix_var aux noeuds a visualiser, un par maillage
# choix_var (=1 ou 0) indique si oui ou non il s'agit de la variation
debut_tableau_choix_var_ddl_aux_noeuds fin_tableau_choix_var_ddl_aux_noeuds
# tableau des ddl_etendu aux noeuds a visualiser, un par maillage
debut_tableau_ddl_etendu_aux_noeuds fin_tableau_ddl_etendu_aux_noeuds
# tableau de grandeurs evoluees aux noeuds a visualiser, un par maillage
deb_list_GrandEvoluee_noeud fin_list_GrandEvoluee_noeud
# tableau de ddl aux elements a visualiser, un par maillage
debut_tableau_ddl_aux_elements fin_tableau_ddl_aux_elements
# tableau de grandeurs evoluees aux elements a visualiser, un par maillage
deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element
# tableau de grandeurs particulieres aux elements a visualiser, un par maillage
deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element
fin_isovaleur_Gmsh # mot cle de fin des parametres pour les isovaleurs
# ----------------------------- definition des parametres de deformee: ----------------
debut_deformee # un mot cle de debut de liste
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
# definition des alertes: deb_list_alerte
# un mot clef de debut
# puis deux nombres: un mini et un maxi, et un nom
# un mot clef de fin: fin_list_alerte
deb_list_alerte
fin_list_alerte
fin_deformee # un mot cle de fin
# ----------------------------- definition de la liste des increments a balayer: ----------------
debut_list_increment # un mot cle de debut de liste
actif 1 # <0 ou 1> indique si l'ordre est actif ou non
# une liste d'entier separee par des blancs, ou le mot cle (tous_les_increments)
# un mot cle de fin de liste ( fin_list_increment)
tous_les_increments fin_list_increment
# ----------------------------- choix des maillages a visualiser: ----------------
# la liste est facultative, par defaut la visualisation concerne le premier maillage
debut_choix_maillage # un mot cle de debut,
actif 0 # <0 ou 1> indique si l'ordre est actif ou non
# une liste d'entiers , puis <fin_choix_maillage>, sur une meme ligne
1 fin_choix_maillage
fin_visualisation_Gmsh
# =================================================================================
# || fin de la visualisation Gmsh ||
# =================================================================================
fin_fichier_commande_visu # <<<<<< le mot cle <fin_fichier_commande_visu> 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
###############################################################################################

View file

@ -0,0 +1,5 @@
list
to
nfus
cube_soude
f

View file

@ -0,0 +1,153 @@
#######################################################################
# #
# | | ==== === ==== ==== | | | | #
# | | | | | | / | | | | #
# |====| |=== === |=== / |====| ------- ------- #
# | | | | \ | / | | | | #
# | | ==== | \ ==== ==== | | | | #
# #
#######################################################################
# Copyright (c) 1997-2008 Gerard Rio, gerard.rio@univ-ubs.fr #
# All rights reserved. http://www-lg2m.univ-ubs.fr/~rio #
# Certification IDDN.FR.010.0106078.000.R.P.2006.035.20600 #
#######################################################################
#######################################################################
# Fusion de deux cubes de même dimension #
#######################################################################
#---------------------------------------------------#
# Definition de la dimension de travail (1, 2 ou 3) #
#---------------------------------------------------#
dimension 3
#------------------------------------------------------#
# Definition du niveau de commentaires (entre 0 et 10) #
#------------------------------------------------------#
niveau_commentaire 3
TYPE_DE_CALCUL
#----------------------------------------------------------#
# Definition du type de calcul ou des utilitaires utilises #
#----------------------------------------------------------#
utilitaires avec plus fusion_maillages
PARA_TYPE_DE_CALCUL
#-------------------------------------#
# Definition des parametres de calcul #
#-------------------------------------#
#-----------------------------------------------#
# Importation et fusion des mailllages utilises #
#-----------------------------------------------#
<cube1-1-1-1.her
def_mouvement_solide_initiaux_
mouvement_solide_ # def de mouvements solides
translation_= 0. 0. 0.
fin_mouvement_solide_
<cube2-1-1-1.her
def_mouvement_solide_initiaux_
mouvement_solide_ # def de mouvements solides
translation_= 1. 0. 0.
fin_mouvement_solide_
choix_materiaux
#----------------------------------------------------------#
# Definition des materiaux associes aux maillages utilises #
#----------------------------------------------------------#
# Elements | Materiau #
#-----------------------#
nom_mail= cube1-1-1-1 E_tout acier
nom_mail= cube2-1-1-1 E_tout acier
materiaux ----------
#-----------------------------#
# Nom Materiau | Loi utilisee #
#-----------------------------#
acier ISOELAS # Loi lineaire elastique 3D
#------------------------------------#
# Module Young (MPa) | Coeff Poisson #
#------------------------------------#
210000 0.28
masse_volumique -----------
nom_mail= cube1-1-1-1 E_tout 8e-09 # (T/mm^3)
nom_mail= cube2-1-1-1 E_tout 8e-09 # (T/mm^3)
#-------------------------------------#
# Definition des charges et bloquages #
#-------------------------------------#
charges ------------
blocages ------------
#-----------------------#
# Ref noeud | Bloquages #
#-----------------------#
nom_mail= cube1-1-1-1 N_tout UX,UY,UZ
nom_mail= cube2-1-1-1 N_tout UX,UY,UZ
controle ------------
#----------------------------------#
# Reglage des parametres de calcul #
#----------------------------------#
# PARAMETRE | VALEUR #
#--------------------#
DELTAtMAXI 0.5
TEMPSFIN 1
DELTAt 0.5
ITERATIONS 12
PRECISION 5e-3
MAXINCRE 20000000
SAUVEGARDE 1
#NORME E_cinetique/E_statique_ET_ResSurReact
#RESTART 1200
para_pilotage_equi_global ------------
#------------------------------------#
# PARAMETRE | VALEUR #
#------------------------------------#
FACTEUR_DIMINUTION 5
FACTEUR_AUGMENTATION 5
#NB_BONNE_CONVERGENCE 1000
#INIT_COMP_TANGENT_SIMPLE -1
#SUR_SOUS_RELAXATION 1.2
NORME_MAXI_INCREMENT 0.5
para_energie ------------
#----------------------------#
# PARAMETRE | VALEUR #
#----------------------------#
#NB_INCR_CAL_ENERG 1
#AFFICHE_INCR_ENERGIE 1
para_affichage ------------
#----------------------------------#
# PARAMETRE | VALEUR #
#----------------------------------#
FREQUENCE_AFFICHAGE_INCREMENT 1
FREQUENCE_AFFICHAGE_ITERATION 1
FREQUENCE_SORTIE_FIL_DU_CALCUL 1
para_syteme_lineaire
#------------------------#
# PARAMETRE | VALEUR #
#------------------------#
TYPE_MATRICE BANDE_NON_SYMETRIQUE_LAPACK
TYPE_RESOLUTION GAUSS
resultats pas_de_sortie_finale_
#---------------------------
# PARAMETRE | VALEUR |
#---------------------------
COPIE 0
_fin_point_info_ ----------

View file

@ -0,0 +1,236 @@
#!/usr/bin/perl
use strict;
use warnings;
###############################################################################################
# Script pour une comparaison entre deux fichiers de même extension #
# Auteur: Erwan KERGOURLAY #
# Script qui compare un fichier de références avec le fichier résultat sortit par Herezh #
###############################################################################################
my $version = "1.";
#------------------- écriture de l'entete à l'écran -----------------#
print ("\n");
print ("\n" . '#############################################################################');
print ("\n" . '# #');
print ("\n" . '# comparaison.pl #');
print ("\n" . '#############################################################################');
print ("\n" . '# licence GPL, erwan.kergourlay@univ-ubs.fr #');
print ("\n" . '# #');
print ("\n" . '# version '."$version".' #');
print ("\n" . '#############################################################################');
print ("\n\n\n");
#------------------- fin écriture de l'entete à l'écran -----------------#
my $HZ=$ARGV[0];
print("La version d'herezh testée est: $HZ \n");
#------------------- déclaration des variables -----------------#
my $valeur;
#**Déclaration des variables qui contiennent les fichiers de références**#
#------------------------------------------------------------------------#
my $fichier_her_ref = "cube_soude.her.ref1";
my $fichier_lis_ref = "cube_soude.lis.ref1";
#------------------------------------------------------------------------#
#**Déclaration des variables qui contiennent les fichiers résultats sortis par Herezh**#
#------------------------------------------------------------------------#
#**Avec vérification que le fichier existe, sinon une erreure est générée et la comparaison ne peut pas être faites**#
#**Utilisation de l'opérateur de comparaison de chaînes de caractère**#
#------------------------------------------------------------------------#
my $fichier_her_test = "cube_soude.her";
my $fichier_lis_test = "cube_soude.lis";
if( -e "$fichier_her_test" && -e "$fichier_lis_test") #commande -e permet de voir si le fichier existe
{
#print("Les fichiers .her et .lis ont été créés lors du test de la version d'Herezh \n");
$valeur=0;
}
else
{
#print("Les fichiers .her et .lis n'ont pas été créés lors du test de la version d'Herezh \n");
$valeur=1;
}
#**Déclaration des fichiers temporaires*#
#------------------------------------------------------------------------#
my $fichier_temp_her_ref = "fichier_temp_her_ref.txt";
my $fichier_temp_her_test = "fichier_temp_her_test.txt";
my $fichier_temp_lis_ref = "fichier_temp_lis_ref.txt";
my $fichier_temp_lis_test = "fichier_temp_lis_test.txt";
#------------------- fin déclaration des variables -----------------#
#------------------- programme de comparaison -----------------#
if($valeur==0)
{
#---On commence par faire une lecture du fichier .her de référence et le fichier .her de test---#
#---On extrait de ces fichiers uniquement les parties données puis on va les comparer entre-elles par rapport à des fichiers temporaires---#
open (HER_REF, "$fichier_her_ref");
open (HER_TEST, "$fichier_her_test");
open (FICHIER_TEMP_HER_REF,">$fichier_temp_her_ref");
open (FICHIER_TEMP_HER_TEST,">$fichier_temp_her_test");
while(<HER_REF>)
{
my $ligne_ref = $_; #on déclare une variable qui va sauvegarder la ligne en cours
chomp($ligne_ref); #on retire à la fin de cette ligne, le retour à la ligne
$ligne_ref=~ s/^[ \t]+//mg; #on supprimme toutes les combinaisons de tabulation et d'espace
#Si on n'a pas de '#' et 'noeuds' et 'elements', la condition est validée
if(index($ligne_ref,'#') == -1 && index($ligne_ref,'noeuds') == -1 && index($ligne_ref,'elements') == -1)
{
my @tab_ref = split (/\s+/,$ligne_ref);
if(defined($tab_ref[0]))
{
print FICHIER_TEMP_HER_REF ("@tab_ref \n");
}
}
}
close FICHIER_TEMP_HER_REF;
close HER_REF;
while(<HER_TEST>)
{
my $ligne_test = $_;
chomp($ligne_test);
$ligne_test=~ s/^[ \t]+//mg;
if(index($ligne_test,'#') == -1 && index($ligne_test,'noeuds') == -1 && index($ligne_test,'elements') == -1)
{
my @tab_test = split (/\s+/,$ligne_test);
if(defined($tab_test[0]))
{
print FICHIER_TEMP_HER_TEST ("@tab_test \n");
}
}
}
close FICHIER_TEMP_HER_TEST;
close HER_TEST;
#---On commence par faire une lecture du fichier .lis de référence et le fichier .lis de test---#
#---On extrait de ces fichiers uniquement les parties données puis on va les comparer entre-elles par rapport à des fichiers temporaires---#
open (LIS_REF, "$fichier_lis_ref");
open (LIS_TEST, "$fichier_lis_test");
open (FICHIER_TEMP_LIS_REF,">$fichier_temp_lis_ref");
open (FICHIER_TEMP_LIS_TEST,">$fichier_temp_lis_test");
while(<LIS_REF>)
{
my $ligne_ref = $_; #on déclare une variable qui va sauvegarder la ligne en cours
chomp($ligne_ref); #on retire à la fin de cette ligne, le retour à la ligne
$ligne_ref=~ s/^[ \t]+//mg; #on supprimme toutes les combinaisons de tabulation et d'espace
#Si on n'a pas de '#' et 'noeuds' et 'elements', la condition est validée
if(index($ligne_ref,'#') == -1)
{
my @tab_ref = split (/\s+/,$ligne_ref);
if(defined($tab_ref[0]))
{
print FICHIER_TEMP_LIS_REF ("@tab_ref \n");
}
}
}
close FICHIER_TEMP_LIS_REF;
close LIS_REF;
while(<LIS_TEST>)
{
my $ligne_test = $_;
chomp($ligne_test);
$ligne_test=~ s/^[ \t]+//mg;
if(index($ligne_test,'#') == -1)
{
my @tab_test = split (/\s+/,$ligne_test);
if(defined($tab_test[0]))
{
print FICHIER_TEMP_LIS_TEST ("@tab_test \n");
}
}
}
close FICHIER_TEMP_LIS_TEST;
close LIS_TEST;
#---On verifie si les deux fichiers .her sont identiques---#
system ("cmp $fichier_temp_her_test $fichier_temp_her_ref");
if ( $? == 0 )
{
print("Les deux fichiers .her sont identiques\n");
$valeur=$valeur+2; #on ajoute 2 dans le cas où le fichier .her est correct
}
elsif ( $? != 0 )
{
print("Les deux fichiers .her sont différents\n");
$valeur=$valeur+1; #on ajoute 1 dans le cas où le fichier .her est incorrect
}
#---On verifie si les deux fichiers .lis sont identiques---#
system ("cmp $fichier_temp_lis_test $fichier_temp_lis_ref");
if ( $? == 0 )
{
print("Les deux fichiers .lis sont identiques\n");
$valeur=$valeur+3; #on ajoute 3 dans le cas où le fichier .lis est correct
}
elsif ( $? != 0 )
{
print("Les deux fichiers .lis sont différents\n");
$valeur=$valeur+1; #on ajoute 1 dans le cas où le fichier .lis est incorrect
}
}
#------------------- Fin programme de comparaison -----------------#
#------------------- Bilan comparaison fichier -----------------#
#----Remarques----#
# Si valeur=1, alors les nouveaux fichiers .her et .lis n'ont pas été créés.
# Si valeur=2, alors le fichier .her et le fichier .lis sont incorrects.
# Si valeur=3, alors le fichier .her est correct mais le fichier .lis est incorrect.
# Si valeur=4, alors le fichier .her est incorrect mais le fichier .lis est correct.
# Si valeur=5, alors les deux fichiers sont corrects
#----Fin remarques----#
if($valeur==1)
{
print("Les fichiers $fichier_her_test et $fichier_lis_test n'ont pas été créés avec la version d'herezh testée: $HZ\n");
print ("resultat verification: ECHEC\n");
}
elsif($valeur==2)
{
print("Le fichier $fichier_her_test a bien été créé mais son contenu est différent du fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé mais son contenu est différent du fichier $fichier_lis_ref\n");
}
elsif($valeur==3)
{
print("Le fichier $fichier_her_test a bien été créé et son contenu est similaire au fichier $fichier_her_ref mais le fichier $fichier_lis_test a bien été créé mais son contenu est différent du fichier $fichier_lis_ref\n");
print ("resultat verification: ECHEC\n");
}
elsif($valeur==4)
{
print("Le fichier $fichier_her_test a bien été créé mais son contenu est différent du fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé et son contenu est similaire au fichier $fichier_lis_ref\n");
print ("resultat verification: ECHEC\n");
}
elsif($valeur==5)
{
print("Le fichier $fichier_her_test a bien été créé et son contenu est similaire au fichier $fichier_her_ref et le fichier $fichier_lis_test a bien été créé et son contenu est similaire au fichier $fichier_lis_ref\n");
print ("resultat verification: OK\n");
}
#------------------- Fin bilan comparaison fichier -----------------#
#------------------- Ménage dans le répertoire -----------------#
system ("rm -f $fichier_her_test $fichier_lis_test $fichier_temp_her_test $fichier_temp_her_ref $fichier_temp_lis_test $fichier_temp_lis_ref");