ajout du test Test_R_non_dynamique_suite_point_info avec un fonctionnement ok
This commit is contained in:
parent
8663b01f93
commit
c34f378e65
6 changed files with 481 additions and 0 deletions
|
@ -0,0 +1,47 @@
|
|||
------------------------------------------------------
|
||||
Auteur
|
||||
------------------------------------------------------
|
||||
Julien Troufflard (troufflard@univ-ubs.fr)
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
Mots-cles
|
||||
------------------------------------------------------
|
||||
_suite_point_info_
|
||||
non_dynamique
|
||||
traction uniaxiale
|
||||
ISOELAS
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
But du test
|
||||
------------------------------------------------------
|
||||
Vérification du nombre et de la liste des incréments calculés (INCREMENT DE CHARGE) dans le cas d une continuation de calcul (_suite_point_info_)
|
||||
|
||||
|
||||
Gérard Rio $\rightarrow$ fonctionne é partir de la version 6.777 (pas avant)
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
Description du calcul
|
||||
------------------------------------------------------
|
||||
traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). Loi ISOELAS
|
||||
|
||||
Le calcul se fait en 2 étapes :
|
||||
1) premier calcul entre le temps 0 et 1 (traction UX de 0.01)
|
||||
2) poursuite du calcul (_suite_point_info_) jusqu a un temps de 2 (traction UX de 0.02). Le déplacement imposé est piloté par une courbe de charge.
|
||||
|
||||
|
||||
------------------------------------------------------------
|
||||
Informations sur les fichiers facultatifs
|
||||
------------------------------------------------------------
|
||||
Le script non_dynamique_suite_point_info.verif1 lit le fichier de redirection de l affichage produit par Herezh. Il renvoie OK si il trouve un affichage de 20 incréments de calcul (INCREMENT DE CHARGE) et que ces incréments sont numerotés dans l ordre de 1 a 20.
|
||||
|
||||
|
||||
-------------------------------------------------------------
|
||||
Grandeurs de comparaison
|
||||
-------------------------------------------------------------
|
||||
pour le point d integration 1 de l element 1 :
|
||||
- contrainte : SIG11
|
||||
- déformations : EPS11, EPS22, EPS33
|
|
@ -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
|
|
@ -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
|
|
@ -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: <debut_fichier_commande_visu>
|
||||
# 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 <fin_choix_maillage>, 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 <un entier>,
|
||||
# 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 <chaine de caracteres >, puis <fin_list_torseur_reaction>
|
||||
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 <entier>, puis <fin_list_noeud>
|
||||
deb_list_noeud fin_list_noeud
|
||||
# debut de la liste des ref de noeuds, puis une liste de nom <chaine de caracteres >, puis <fin_list_ref_noeud>
|
||||
deb_list_ref_noeud fin_list_ref_noeud
|
||||
# debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis <fin_list_ddl_noeud>
|
||||
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 <fin_list_ddl_etendu_noeud>
|
||||
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 <fin_list_GrandParticuliere_noeud>
|
||||
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 <fin_list_NbElement_NbPtInteg>
|
||||
deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg
|
||||
# debut de la liste des ref d'elements, puis une liste de: nom <chaine de caracteres > + numero d'integ, puis <fin_list_ref_element>
|
||||
deb_list_ref_element fin_list_ref_element
|
||||
# debut de la liste des ref de ptinteg d'elements, puis une liste de: nom <chaine de caracteres > puis <fin_list_ref_ptinteg_element>
|
||||
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 <fin_list_ddl_element>
|
||||
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 <fin_list_GrandParticuliere_element>
|
||||
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 <un reel> (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 <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
|
||||
|
||||
###############################################################################################
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
dimension 3
|
||||
|
||||
|
||||
niveau_commentaire 0#3
|
||||
|
||||
|
||||
TYPE_DE_CALCUL
|
||||
|
||||
non_dynamique avec plus lectureCommandesVisu
|
||||
|
||||
|
||||
< cube_1elt_npti8.her
|
||||
< cube_1elt_npti8.lis
|
||||
|
||||
|
||||
les_courbes_1D
|
||||
evol_UX COURBEPOLYLINEAIRE_1_D
|
||||
Debut_des_coordonnees_des_points
|
||||
Coordonnee dim= 2 0. 0.
|
||||
Coordonnee dim= 2 1. 0.01
|
||||
Coordonnee dim= 2 2. 0.02
|
||||
Fin_des_coordonnees_des_points
|
||||
|
||||
|
||||
choix_materiaux
|
||||
|
||||
E_tout MAT
|
||||
|
||||
materiaux
|
||||
|
||||
MAT ISOELAS
|
||||
1000. 0.4
|
||||
|
||||
|
||||
masse_volumique
|
||||
E_tout 1.
|
||||
|
||||
|
||||
charges
|
||||
|
||||
|
||||
blocages
|
||||
|
||||
#traction uniaxiale suivant X par deplacement impose
|
||||
N_droit UX
|
||||
N_arriere UY
|
||||
N_bas UZ
|
||||
N_gauche 'UX= COURBE_CHARGE: evol_UX ECHELLE: 1'
|
||||
|
||||
|
||||
controle
|
||||
|
||||
DELTAtMINI 0.1
|
||||
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
|
||||
|
||||
|
||||
# ici on a besoin de l'affichage
|
||||
|
||||
resultats pas_de_sortie_finale_
|
||||
COPIE 0
|
||||
|
||||
|
||||
_suite_point_info_
|
||||
|
||||
controle
|
||||
TEMPSFIN 2.
|
||||
|
||||
_fin_point_info_
|
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/env perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use English;
|
||||
use File::Basename;
|
||||
my $NOM_PROG = basename $PROGRAM_NAME;
|
||||
|
||||
|
||||
#executable Herezh
|
||||
my $exeHZ = shift(@ARGV);
|
||||
|
||||
#fichier redirection affichage
|
||||
my $flog = shift(@ARGV);
|
||||
|
||||
#fichier .info
|
||||
my $finfo = shift(@ARGV);
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
# verification des numeros d increment dans le fichier $flog (INCREMENT_DE_CHARGE)
|
||||
#
|
||||
# pour ce calcul, on s attend a trouver 20 increments de numeros : 1, 2, 3, ..., 20
|
||||
#
|
||||
# ce script renvoie OK si il y a 20 increments numerotes de 1 a 20
|
||||
# sinon ECHEC
|
||||
#
|
||||
#
|
||||
|
||||
#liste des increments
|
||||
my @liste_increments;
|
||||
|
||||
open(FIC, "<$flog");
|
||||
while(<FIC>) {
|
||||
next if(not /^\s*INCREMENT\s+DE\s+CHARGE\s+:\s+(\d+)\b/o);
|
||||
push(@liste_increments, $1);#ajout du numero increment dans la liste
|
||||
}
|
||||
close(FIC);
|
||||
|
||||
#nombre d increments
|
||||
my $nb_incr = $#liste_increments + 1;
|
||||
|
||||
|
||||
#ECHEC si le nombre d increments n est pas egal a 20
|
||||
if($nb_incr != 20) {
|
||||
print "\nErreur (prog:$NOM_PROG) : $nb_incr increments ont ete calcules (on s attendait a 20 increments)\n\n";
|
||||
print "resultat verification : ECHEC $nb_incr increments ont ete calcules (on s attendait a 20 increments)\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
#ECHEC si la liste n est pas dans l ordre exact 1 2 3 ... 20
|
||||
for(1 .. 20) {
|
||||
if($liste_increments[$_-1] != $_) {
|
||||
print "\nErreur (prog:$NOM_PROG) : probleme dans les numeros des increments\n\n";
|
||||
print "resultat verification : ECHEC probleme dans les numeros des increments\n";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
#OK : aucun probleme n a ete rencontre
|
||||
print "resultat verification : OK\n";
|
Loading…
Reference in a new issue