2
0
Fork 0

Creation du repertoire Tests_en_attente_debug/ dedie aux nouveaux tests en attente de debug; Modif en consequence des scripts verifier_exeHZ.pl, verifier_exeHZ.zsh, Perl/genere_catalogue_tests.pl et Perl/verif_existence_repertoire_test.pl de maniere a ce qu ils ne tiennent pas compte des tests presents dans ce repertoire; legere modif du script Perl/test.pl : desormais, les scripts de type .verif recoivent une 3eme argument (le nom du .info du test en cours); Actualisation de la documentation utilisateur

This commit is contained in:
troufflard 2016-09-07 15:02:58 +00:00
parent 488528d2f8
commit 8b88c00cee
15 changed files with 625 additions and 32 deletions

View file

@ -161,8 +161,10 @@ L'arborescence du projet CVS est la suivante :\\
edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}]
\node[draw] {\bf Verif\_Herezh\rm}
child { node[draw, anchor=west] {Batterie (répertoire contenant les répertoires de test)}}
child { node[draw, anchor=west] {Doc (répertoire dédié à la rédaction de la documentation utilisateur)}}
child { node[draw, anchor=west] {Perl (répertoire contenant divers scripts Perl pour exécuter la vérification)}}
child { node[draw, anchor=west] {Rapport (répertoire contenant les rapports de vérification)}}
child { node[draw, anchor=west] {Tests\_en\_attente\_debug (répertoire contenant des tests en attente pour cause de bugs)}}
child { node[anchor=west] {verifier\_exeHZ.zsh (script de lancement de la vérification)}}
child { node[anchor=west] {verifier\_exeHZ.pl (script de lancement de la vérification (nouvelle version)}
};
@ -275,6 +277,9 @@ On distingue actuellement deux sortes de tests selon le temps de calcul : les te
\item[$\bullet$] \verb|AUTRES| : tests difficiles à classer. Ce répertoire peut aussi servir de lieu de dép\^ot temporaire avant transfert vers une rubrique dédiée.
\end{itemize}
\color{red} Dans le cas d'un nouveau test révélant un bug encore non résolu dans Herezh++, le test doit \^etre stocké dans le répertoire \verb|Tests_en_attente_debug| (merci d'en informer un référent du projet).
\color{black}
\begin{figure}[H]
\centering
\begin{tikzpicture}[%
@ -287,8 +292,9 @@ On distingue actuellement deux sortes de tests selon le temps de calcul : les te
child { node[draw, anchor=west] {CONTACT}}
child { node[draw, anchor=west] {CONDITIONS\_LIMITES}}
child { node[draw, anchor=west] {LOI\_DE\_COMPORTEMENT}}
child { node[draw, anchor=west] {SORTIES}}
child { node[draw, anchor=west] {TYPE\_DE\_CALCUL}}
child { node[draw, anchor=west] {TYPE\_DE\_CHARGEMENT}}
child { node[draw, anchor=west] {TYPE\_CHARGEMENT}}
child { node[draw, anchor=west] {UTILITAIRES}}
}
child[missing] { }
@ -298,6 +304,7 @@ On distingue actuellement deux sortes de tests selon le temps de calcul : les te
child[missing] { }
child[missing] { }
child[missing] { }
child[missing] { }
child { node[draw, anchor=west] {CALCUL\_COMPLET}}
child { node[draw, anchor=west] {AUTRES}};
\end{tikzpicture}
@ -723,24 +730,26 @@ Chaque ligne contient une r
%%
\subsubsection*{$\bullet$ \texttt{.verif} :}
\begin{itemize}
\item[] Ce fichier est un exécutable dont la fonction est de fournir le résultat de la vérification. Il doit effectuer les traitements nécessaires pour déterminer si le test est \verb|OK| ou \verb|ECHEC|. Le contenu du script est totalement libre mais il doit obligatoirement indiquer le résultat de la vérification en affichant la ligne suivante :
\item[] Ce fichier est un exécutable dont la fonction est de fournir le résultat de la vérification. Il doit effectuer les traitements nécessaires pour déterminer si le test est \verb|OK| ou \verb|ECHEC|. Le contenu du script est totalement libre mais il doit obligatoirement indiquer le résultat de la vérification en affichant une des 2 lignes suivantes :
\hspace*{2cm}\begin{minipage}{\textwidth}
\begin{verbatim}
resultat verification : OK (ou ECHEC)
resultat verification : OK
resultat verification : ECHEC
\end{verbatim}
\end{minipage}
En plus de cette ligne, cet exécutable peut tout à fait afficher d'autres informations à titre facultatif.\\
Il est important de noter que cet exécutable reçoit 2 arguments lorsqu'il est appelé. Le programmeur pourra donc utiliser s'il le souhaite les arguments suivants :
Il est important de noter que cet exécutable reçoit 3 arguments lorsqu'il est appelé. Le programmeur pourra donc utiliser s'il le souhaite les arguments suivants :
\noindent\rule{0.8\textwidth}{0.5pt}\\
\hspace*{2cm}\begin{minipage}{0.6\textwidth}
\begin{itemize}
\item[- argument 1 :] nom de l'exécutable Herezh++ (en chemin absolu)
\item[- argument 2 :] nom du fichier de redirection de l'affichage du calcul Herezh++ (fichier \verb|.log|)
\item[- argument 3 :] nom du fichier \verb|.info|
\end{itemize}
\end{minipage}
\noindent\rule{0.8\textwidth}{0.5pt}\\
@ -771,11 +780,12 @@ HZppfast ligne_1 ligne_2 ... ligne_N | tee nom_calcul.log
%%
\subsubsection*{$\bullet$ \texttt{.pretrait} :}
\begin{itemize}
\item[] Le but de ce fichier est d'effectuer des traitements juste \bf avant \rm le calcul. Ce fichier doit \^etre un exécutable programmé dans un langage quelconque mais le mieux est de suivre les m\^emes recommandations que pour le fichier \verb|.verif|. Le script \verb|.pretrait| fournit un indicateur de réussite ou d'échec. Il doit donc afficher la ligne suivante :\\
\item[] Le but de ce fichier est d'effectuer des traitements juste \bf avant \rm le calcul. Ce fichier doit \^etre un exécutable programmé dans un langage quelconque mais le mieux est de suivre les m\^emes recommandations que pour le fichier \verb|.verif|. Le script \verb|.pretrait| fournit un indicateur de réussite ou d'échec. Il doit donc afficher une des 2 lignes suivantes :\\
\hspace*{2cm}\begin{minipage}{\textwidth}
\begin{verbatim}
resultat pretrait : OK (ou ECHEC)
resultat pretrait : OK
resultat pretrait : ECHEC
\end{verbatim}
\end{minipage}
@ -794,11 +804,12 @@ Ce script re
%%
\subsubsection*{$\bullet$ \texttt{.posttrait} :}
\begin{itemize}
\item[] Le but de ce fichier est d'effectuer des traitements juste \bf après \rm le calcul. Il suit la m\^eme logique que le fichier \verb|.pretrait| avec 3 différences : 1) le message de réussite/échec n'a pas la m\^eme syntaxe, 2) il reçoit 3 arguments, 3) il est exécuté après le calcul Herezh++. Ce fichier doit \^etre un exécutable programmé dans un langage quelconque mais le mieux est de suivre les m\^emes recommandations que pour le fichier \verb|.verif|. Le script \verb|.posttrait| fournit un indicateur de réussite ou d'échec. Il doit donc afficher la ligne suivante :\\
\item[] Le but de ce fichier est d'effectuer des traitements juste \bf après \rm le calcul. Il suit la m\^eme logique que le fichier \verb|.pretrait| avec 3 différences : 1) le message de réussite/échec n'a pas la m\^eme syntaxe, 2) il reçoit 3 arguments, 3) il est exécuté après le calcul Herezh++. Ce fichier doit \^etre un exécutable programmé dans un langage quelconque mais le mieux est de suivre les m\^emes recommandations que pour le fichier \verb|.verif|. Le script \verb|.posttrait| fournit un indicateur de réussite ou d'échec. Il doit donc afficher une des 2 lignes suivantes :\\
\hspace*{2cm}\begin{minipage}{\textwidth}
\begin{verbatim}
resultat posttrait : OK (ou ECHEC)
resultat posttrait : OK
resultat posttrait : ECHEC
\end{verbatim}
\end{minipage}
@ -996,51 +1007,51 @@ Compte-tenu des diverses architectures des machines utilisateur, il est possible
\item[-] création d'un nouveau script (\verb|Perl/genere_catalogue_tests.pl|). Il génère automatiquement une documentation sur les tests (résumé et index pour recherche par mots-clés). Ce document est placé à la racine du projet sous le nom \verb|documentation_tests.pdf|. Le mode de fonctionnement (lecture des fichiers README de chaque test) impose une nouvelle contrainte sur la forme des fichiers README (interdiction d'utiliser des lignes de 3 tirets ou plus dans le corps d'une rubrique README car ce motif signifie la fin d'une rubrique). Cette contrainte est le choix actuel mais peut \^etre modifié à tout moment en définissant une balise de fin de rubrique à utiliser dans les fichiers README (par exemple : \verb|fin_rubrique|) et en indiquant sa syntaxe dans la variable \verb|$MOTIF_FIN_RUBRIQUE| du script \verb|Perl/genere_catalogue_tests.pl|.\\
\item[-] Apparition d'une nouvelle rubrique README : \it Auteur \rm (renseigne le ou les auteurs du test avec prénom, nom, adresse mail). rubrique qui appara\^it dans la documentation des tests.
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-07-13 (Julien Troufflard) :
\begin{itemize}
\item[-] changement du nom du fichier de catalogue de tests (désormais s'appellera \verb|catalogue_test.pdf| au lieu de \verb|documentation_tests.pdf|)\\
\item[-] le fichier .pdf de la document utilisateur principale est désormais archivé sous CVS. Il s'appelle \verb|doc_procedure_verification.pdf| et est placé à la racine du projet (il s'agit simplement du fichier généré par \verb|Doc/doc_procedure_verification.tex|)
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-07-15 (Julien Troufflard) :
\begin{itemize}
\item[-] ajout d'une nouvelle version du script de lancement de la batterie. Cette nouvelle version en Perl s'appelle \verb|verifier_exeHZ.pl|. Elle reproduit la m\^eme chose que la version actuelle en zsh mais propose en plus des options pour éviter de lancer tous les tests. La version précédente \verb|verifier_exeHZ| est conservée mais renommée en \verb|verifier_exeHZ.zsh|. A terme, cette version zsh sera supprimée du projet CVS.
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-07-16 (Julien Troufflard) :
\begin{itemize}
\item[-] modif du script de génération automatique du catalogue de tests (script \verb|Perl/genere_catalogue_tests.pl|). Désormais, il est possible d'insérer des figures via une syntaxe par balises dans les fichiers README des tests. La méthode est expliquée à la section \ref{section_fichiers_obligatoires} "Fichiers obligatoires" (fichier \verb|README|)\\
\item[-] ajout du script \verb|Perl/verif_existence_repertoire_test.pl|. Permet de savoir si un nom de répertoire de test existe déjà dans la batterie. Est utile au moment de l'ajout d'un nouveau test pour aider à choisir le nom et éviter de choisir un nom déjà existant (m\^eme si ce n'est pas dans le m\^eme répertoire de destination car le catalogue des tests ne tient pas compte du chemin complet). Explication de son utilisation à la section \ref{subsection_vue_ensemble}\\
\item[-] méthodologie pour ajouter un nouveau test : il n'y avait aucune section exposant clairement les étapes à suivre pour créer et ajouter un test, d'où la création de la section \ref{subsection_methodologie}
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-09-29 (Julien Troufflard) :
\begin{itemize}
\item[-] modif du script \verb|Perl/verifier_exeHZ.pl| : le package \verb|Term::ReadKey| n'est pas forcément installé sur toutes les machines. Pour éviter d'\^etre pénalisé par ce package, son existence est vérifiée via la subroutine \verb|check_install| du package \verb|Module::Load::Conditional| et, si il existe, l'appel à \verb|Term::ReadKey| est fait via \verb|require| au lieu de \verb|use|. Cette manière de faire pourra \^etre appliquée partout où il y a un doute sur l'existence d'un package et définir ainsi un moyen de contourner l'absence d'un package.\\
\item[-] modif du script \verb|Perl/test.pl| : il y avait une faille dans la subroutine \verb|lancement_commande|. Sur certaines machines, la redirection \verb|tee| ne se fait pas instantanément. Ceci conduisait à croire que le fichier de redirection n'était pas créé et donc renvoyait un problème lié à la redirection de l'affichage. Désormais, un délai est accordé pour attendre la création de ce fichier (environ 2 secondes maximum avec un check de l'existence du fichier de redirection toutes les millisecondes). De manière indirecte, ceci a conduit à créer un nouvel indicateur de status pour signaler si le calcul ne se lance pas (\verb|probleme lancement calcul|).
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-09-30 (Julien Troufflard) :
\begin{itemize}
\item[-] modif de l'en-t\^ete de tous les scripts perl (y compris les \verb|.verif| de la batterie) : amélioration de la portabilité en modifiant le shebang selon \url{https://en.wikipedia.org/wiki/Shebang_\%28Unix\%29#Portability}. Désormais, les scripts commencent par \verb|#!/usr/bin/env perl| au lieu du chemin absolu \verb|#!/usr/bin/perl| qui pourrait ne pas fonctionner sur certaines machines à l'architecture atypique (et actualisation de la section \ref{section_fichiers_facultatifs} pour signaler cette habitude à prendre pour les fichiers \verb|.verif|).\\
remarque : modif également pour le script zsh \verb|verifier_exeHZ.zsh|
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-11-24 (Julien Troufflard) :
\begin{itemize}
\item[-] modif script \verb|Perl/genere_catalogue_tests.pl| :\\
1) possibilité d'insérer un espace "{\textbackslash}hspace" entre les figures \verb|\figures| (voir section \ref{section_fichiers_obligatoires} concernant le fichier \verb|README|)\\
2) possibilité d'insérer des formules et caractères mathématiques dans les fichiers \verb|README| entre simples \$ ou doubles \$\$ (voir section \ref{section_fichiers_obligatoires} concernant le fichier \verb|README|)
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-11-25 (Julien Troufflard) :
\begin{itemize}
\item[-] modif script \verb|Perl/genere_rapport.pl| : modifification de l'en-t\^ete du rapport de tests avec notamment l'affichage du nom de la machine (via variable environnement \$HOST)
@ -1053,8 +1064,8 @@ remarque : modif
- dans la subroutine \verb|lancement_commande()| : lancement de Herezh via la tournure \verb/tsch -c "time HZ -f fic.info" | tee fic.log/ pour récuperer le temps CPU dans le fichier .log (l'utilisation de \verb|tcsh -c|, c'est uniquement pour que le résultat de \verb|time| soit bien récupéré sur \verb|STDOUT|, donc dans \verb|fic.log|)\\
- juste après l'appel à \verb|lancement_commande()| $\Rightarrow$ saisie du temps de calcul dans le \verb|.log| et affichage dans le rapport de test (juste après le nom du test)
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2015-11-25(bis) (Julien Troufflard) :
\begin{itemize}
\item[-] modif scripts \verb|Perl/genere_catalogue_tests.pl| et \verb|Perl/genere_rapport.pl| : suppression de l'option \verb|-s| dans le shebang (inutile et en plus génère un bug sur Linux quand on utilise la tournure \verb|#/usr/bin/env perl -s|)
@ -1064,8 +1075,8 @@ remarque : modif
1) modification de la comparaison pour gérer le cas où le nombre est très petit (par exemple : 1.e-15 comparé à 1.e-30 génère une erreur relative énorme). Ce problème avait été déjà pensé dans la version historique de la vérification Herezh (Laurent Mahéo) mais malheureusement non traité dans la nouvelle version. Désormais, on traite ce problème en arrondissant les grandeurs à 1.e-12 près.\\
2) correction d'une erreur dans la comparaison absolue : par erreur, la comparaison se faisait toujours par rapport à la précision absolue par défaut (\verb|$PREC_ABSOLU|) sans tenir compte de l'éventuelle modification par fichier \verb|.precision|
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2016-02-12 (Julien Troufflard) :
\begin{itemize}
\item[-] modif script \verb|Perl/genere_catalogue_tests.pl| :\\
@ -1078,34 +1089,43 @@ remarque : modif
\item[-] ajout dans la documentation d'un paragraphe concernant la génération du catalogue de tests (section \ref{section_actualisation_catalogue_tests})
\item[-] ajout dans la documentation d'un paragraphe regroupant les personnes référentes à contacter (section \ref{section_personnes_referentes})
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2016-03-11 (Julien Troufflard) :
\begin{itemize}
\item[-] modif des scripts \verb|verifier_exeHZ.pl| et \verb|Perl/test.pl| dans le but de permettre un arr\^et Ctrl-c propre en cours de batterie :\\
pour ces 2 scripts, une gestion des signaux d'interruption \verb|INT| et \verb|TERM| a été introduite (subroutine \verb|arret_force()| et un fichier (texte) temporaire est utilisé pour permettre un dialogue entre les 2 processus (fichier de nom \verb|//tmp/verifier_exeHZ_2_test_$PID.com/| où \verb|$PID| est le pid du processus \verb|verifier_exeHZ.pl|). Un nouveau status de test existe désormais dans le rapport de test : \verb|ECHEC : ***INTERRUPTION PAR L UTILISATEUR***|. A noter que le rapport de test est tout de m\^eme généré en bonne et due forme pour les tests déjà terminés avant Ctrl-c (mais le rapport n'est pas automatiquement affiché). A noter également que, étant données les modifs de \verb|Perl/test.pl|, l'interruption \verb|ctrl+c| n'est pas trop mal avec la version \verb|zsh| \verb|verifier_exeHZ.zsh| mais c'est tout de m\^eme moins bien ma\^itrisé (à éviter).
\item[-] la section \ref{section_lancement_batterie_tests} de ce document a été divisé en 2 sous-sections. Une section est dédiée à la procédure d'interruption \verb|ctrl+c| (pour expliquer mais aussi pour pointer du doigt le fait qu'une interruption volontaire n'est pas toujours une opération sans conséquences).
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2016-03-24 (Julien Troufflard) :
\begin{itemize}
\item[-] modif du script \verb|Perl/test.pl| : ajout de la possibilité de faire des traitements avant et après calcul via un script \verb|.pretrait| et \verb|.posttrait| (voir section \ref{section_fichiers_facultatifs})
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2016-07-01 (Julien Troufflard) :
\begin{itemize}
\item[-] ajout d'une section FAQ dans cette doc (section \ref{section_FAQ})
\item[-] modif du script \verb|Perl/test.pl| : affichage du répertoire de travail dans le terminal (répertoire \verb|$repertoire_de_travail|)
\end{itemize}%tiret
~\\
~\\
\item[$\bullet$] 2016-08-30 (Julien Troufflard) :
\begin{itemize}
\item[-] modif du script \verb|Perl/genere_catalogue_tests.pl| : Désormais, on peut écrire directement du code latex dans les fichiers \verb|README| en utilisant les balises \verb|\latex_brut| et \verb|\fin_latex_brut| (voir section \ref{section_fichiers_obligatoires})
\end{itemize}%tiret
~\\
\item[$\bullet$] 2016-09-07 (Julien Troufflard) :
\begin{itemize}
\item[-] ajout d'un nouveau répertoire dans l'arborescence : le répertoire \verb|Tests_en_attente_debug/| est créé dans le but d'y placer des nouveaux tests qui ne fonctionnent pas encore. Ils sont en attente de debuggage pour \^etre à terme déplacés dans un endroit approprié du répertoire \verb|Batterie/| une fois résolu. \bf {\color{red} Attention :} \rm il s'agit bien d'y placer des \underline{nouveaux} tests qui ne marchent pas encore. Il n'est pas question d'y déplacer d'anciens tests déjà présents dans \verb|Batterie/| sous le prétexte qu'ils ne fonctionnent plus suite à un changement de version Herezh
\item[-] modif des scripts \verb|verifier_exeHZ.pl|, \verb|verifier_exeHZ.zsh|, \verb|Perl/genere_catalogue_tests.pl|, \verb|Perl/verif_existence_repertoire_test.pl| : on omet le répertoire \verb|Tests_en_attente_debug/| pour lister les tests de la batterie (via l'option \verb|-not -path| dans la commande linux \verb|find|)
\item[-] modif du script \verb|Perl/test.pl| : ajout d'un 3ème argument pour le script \verb|.verif|. Désormais, le nom du fichier \verb|.info| est fourni en 3ème argument (voir la partie relative au script \verb|.verif| en section \ref{section_fichiers_facultatifs})
\end{itemize}%tiret
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%template d ajout d une nouvelle mise à jour (composé d'une puce "bullet" avec Date et auteur de la modif, suivie d une série de puce "-"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View file

@ -174,11 +174,14 @@ verif_commande('makeindex') or die "\nErreur (prog:$NOM_PROG) : commande makeind
#########################################################################################################
# liste des repertoires de test
#########################################################################################################
#
# RAPPEL : le repertoire Tests_en_attente_debug n est pas concerne (on le squizze avec une option "-not -path" dans la recherche find
#
#liste des repertoires de tests rapides (Test_R)
my @REP_TESTS_R = map {chomp($_); $_} qx(find . -name "Test_R*" -type d);
my @REP_TESTS_R = map {chomp($_); $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_R*" -type d);
#print "$_\n" for @REP_TESTS_R; exit;
#liste des repertoires de tests rapides (Test_R)
my @REP_TESTS_L = map {chomp($_); $_} qx(find . -name "Test_L*" -type d);
my @REP_TESTS_L = map {chomp($_); $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_L*" -type d);
#print "$_\n" for @REP_TESTS_L; exit;

View file

@ -766,7 +766,7 @@ BOUCLE_TEST:for(my $no_test=1; $no_test<=$nb_CVisu; $no_test++) {
print " \#----------------\n";
print " \# Debut de l affichage produit par le script $script_verif\n";
print " \#----------------\n";
system("$script_verif $hzchemin $fichier_test.log | tee $script_verif.log");
system("$script_verif $hzchemin $fichier_test.log $fichier_test.info | tee $script_verif.log");
print " \#----------------\n";
print " \# Fin de l affichage produit par le script $script_verif\n";
print " \#----------------\n";

View file

@ -86,10 +86,13 @@ my ($nom_rep_propose_sans_type) = $nom_rep_propose =~ /^Test_[RL]_+(\S+)/;
#liste des repertoires de test existants (en chemin complet)
##
## RAPPEL : le repertoire Tests_en_attente_debug n est pas concerne (on le squizze avec une option "-not -path" dans la recherche find
##
#--tests rapides (Test_R_)
my @rep_tests_existants_R = map {chomp; $_} qx(find . -name "Test_R_*" -type d);
my @rep_tests_existants_R = map {chomp; $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_R_*" -type d);
#--tests rapides (Test_L_)
my @rep_tests_existants_L = map {chomp; $_} qx(find . -name "Test_L_*" -type d);
my @rep_tests_existants_L = map {chomp; $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_L_*" -type d);
###print "$_\n" for (@rep_tests_existants_R, @rep_tests_existants_L); exit;
#comparaison entre les repertoires @rep_tests_existants et le repertoire propose en argument $nom_rep_propose

View file

@ -0,0 +1,46 @@
------------------------------------------------------
Auteur
------------------------------------------------------
Julien Troufflard (troufflard@univ-ubs.fr)
------------------------------------------------------
Mots-cles
------------------------------------------------------
RESTART
------------------------------------------------------
But du test
------------------------------------------------------
Vérification du RESTART pour un élément 1D
------------------------------------------------------
Description du calcul
------------------------------------------------------
Calcul simple de traction sur une barre (POUT BIE1) encastrée-libre afin de vérifier le fonctionnement d un RESTART. Le calcul se fait en deux parties. Jusqu'au temps 1, la barre est soumise à une force ponctuelle. Ensuite, le deuxième calcul (RESTART) soumet la barre à la meme force jusqu au temps 2. Si la relecture des informations est faite correctement lors du RESTART, les contraintes, déformations et déplacements doivent donc rester inchangés à l'issue de ce deuxième calcul.
\latex_brut
Test implanté suite à la modif Herezh en réponse à la demande \#119 sur le site d Herezh :
\url{http://kleger.univ-ubs.fr/Herezh/issues/119} (voir ce lien pour plus d infos)
\fin_latex_brut
---------------------------------------------------
Informations sur les fichiers facultatifs
---------------------------------------------------
Le script test_RESTART_1D.posttrait1 permet de changer le TEMPSFIN pour le deuxième calcul, et de sauvegarder le .maple du premier calcul dans le but de le comparer au .maple du deuxième calcul. En fait, le .maple du premier calcul est sauvegardé en tant que .maple.ref2, de manière à provoquer une comparaison de .maple classique à l issue du deuxième calcul. Le script test_RESTART_1D.posttrait1 remplace le temps 1 par un temps de 2 dans ce .maple.ref2, de manière à rendre possible la comparaison au .maple du deuxième calcul.
-------------------------------------------------------------
Grandeurs de comparaison
-------------------------------------------------------------
au point d intégration 1 de l élément 1 :
- contrainte : SIG11
- déformation : EPS11
au noeud 2 (lieu d application de la force ponctuelle) :
- déplacement : X1

View file

@ -0,0 +1,19 @@
nom_maillage barre_1elt
noeuds
2 NOEUDS
1 0 0 0
2 1 0 0
N1 1
N2 2
elements
1 ELEMENTS
1 POUT BIE1 1 2
A_to 1 1
E_to 1

View file

@ -0,0 +1,114 @@
###############################################################################################
# Fichier de commande pour la visualisation elements finis #
# Herezh++ V6.709 #
# 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 2 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 X1 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 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 E_tout 1 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 SIG11 EPS11 fin_list_ddl_element
# 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
###############################################################################################

View file

@ -0,0 +1,114 @@
###############################################################################################
# Fichier de commande pour la visualisation elements finis #
# Herezh++ V6.709 #
# 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 2 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 X1 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 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 E_tout 1 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 SIG11 EPS11 fin_list_ddl_element
# 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
###############################################################################################

View file

@ -0,0 +1,71 @@
dimension 3
niveau_commentaire 3
TYPE_DE_CALCUL
non_dynamique avec plus lectureCommandesVisu
< barre_1elt.her
les_courbes_1D
rampe COURBEPOLYLINEAIRE_1_D
Debut_des_coordonnees_des_points
Coordonnee dim= 2 0. 0.
Coordonnee dim= 2 1. 1.
Coordonnee dim= 2 2. 1.
Fin_des_coordonnees_des_points
choix_materiaux
E_tout MAT
materiaux
MAT ISOELAS1D
1000. 0.3
masse_volumique
E_tout 1.
sections
E_tout 0.1
charges
N2 PONCTUELLE 10 0 0 COURBE_CHARGE: rampe ECHELLE: 1
blocages
N1 UX UY UZ
N2 UY UZ
controle
DELTAtMINI 1.
DELTAtMAXI 1.
TEMPSFIN 1.
DELTAt 1.
ITERATIONS 15
PRECISION 1e-3
SAUVEGARDE 1
MAXINCRE 9999999
NORME Residu/Reaction_et_VarRes
para_pilotage_equi_global
para_syteme_lineaire
para_affichage
resultats pas_de_sortie_finale_
COPIE 0
_fin_point_info_

View file

@ -0,0 +1,82 @@
#!/usr/bin/env perl
use strict;
use warnings;
use English;
use File::Basename;
use Cwd;
my $NOM_PROG = basename $PROGRAM_NAME;
#
#
# les buts de ce script sont :
# 1- changer le TEMPSFIN (passer de 1 a 2)
# 2- conserver le .maple du calcul en vue d une comparaison future avec le .maple du calcul .CVisu2
# (ce .maple sera nomme test_RESTART_1D_princ.maple.ref2, c est-a-dire que l on va faire en sorte
# qu il devienne un .maple de reference pour le futur deuxieme calcul .CVisu2)
# 3- changement du temps dans le .maple test_RESTART_1D_princ.maple.ref2
# (comme ce .maple provient du calcul .CVisu1 pour un TEMPSFIN egal a 1, on modifie arbitrairement le
# temps ecrit dans le .maple pour pouvoir le comparer proprement au calcul .CVisu2 pour un TEMPSFIN egal
# a 2. Sinon, il y a aura forcement ECHEC de la comparaison de maple pour le calcul .CVisu2 a cause d une
# difference de grandeur en colonne 1)
#
#
#chemin absolu vers l executable Herezh
my $hzchemin = shift(@ARGV);
#nom du fichier .info
my $finfo = shift(@ARGV);
#------------------------
#changement TEMPSFIN
#------------------------
#ouverture .info d origine
open(FIC1, "<$finfo") or do {
print "Erreur (prog:$NOM_PROG) : probleme en ouverture du fichier $finfo ($!)...\n\n";
print "resultat posttrait : ECHEC\n";
};
open(FIC2, ">$finfo.tmp") or do {
print "Erreur (prog:$NOM_PROG) : probleme en ouverture du fichier $finfo.tmp ($!)...\n\n";
print "resultat posttrait : ECHEC\n";
};
while(<FIC1>) {
#modif TEMPSFIN
$_ = 'TEMPSFIN 2.' if(/^\s*TEMPSFIN /);
#ecriture dans le fichier temporaire
print FIC2;
}
close(FIC2);
close(FIC1);
#remplacement du .info d origine par le .info temporaire
system("mv -f $finfo.tmp $finfo");
#------------------------
#sauvegarde du .maple en .maple.ref2
#------------------------
(my $fmaple = $finfo) =~ s/.info$/_princ.maple/;
#verif existence du fichier .maple
(-e $fmaple) or do {
print "Erreur (prog:$NOM_PROG) : fichier maple $fmaple introuvable...\n\n";
print "resultat posttrait : ECHEC\n";
};
#recopie du .maple sous le nom sauvegarde_maple_CVisu1.maple
system("cp $fmaple $fmaple.ref2");
#verif existence fichier sauvegarde_maple_CVisu1.maple
(-e "$fmaple.ref2") or do {
print "Erreur (prog:$NOM_PROG) : fichier $fmaple.ref2 n a pas ete cree...\n\n";
print "resultat posttrait : ECHEC\n";
};
#reussite du script
print "resultat posttrait : OK\n";
print "coucou\n";
sleep 10;
print "couycou\n";

View file

@ -0,0 +1,100 @@
#fichier au format maple6
###############################################################################################
# Visualisation elements finis : Herezh++ V6.770 #
# Copyright (c) 1997-2016, 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
# ensuite pour les moyennes, sommes, maxi etc. calculees sur des references de noeuds
# >> le nombre de ref de noeuds, nombre total de grandeurs associees
# puis pour chaque maillage
# le numero de maillage puis pour chaque reference de noeuds
# le nom de la reference, le nombre de noeud de la ref, le nombre de grandeurs qui vont etre ecrites
# puis entre crochet la position suivi de la signification de chaque grandeur
#
# ensuite pour les moyennes, sommes, maxi etc. calculees sur des references d'elements ou de pti
# >> le nombre de ref d'element+ref de pti, nombre total de grandeurs associees
# puis pour chaque maillage
# le numero de maillage puis pour chaque reference d'element et de pti
# le nom de la reference, le nombre d'element de la ref, le nombre de grandeurs qui vont etre ecrites
# puis entre crochet la position suivi de la signification de chaque grandeur
#
# 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)
#
#-------- moyenne, somme, maxi etc. de grandeurs aux noeuds pour des ref ---------------
#0 0 (nombre de ref de noeud et nombre total de grandeurs associees)
#
#-------- moyenne, somme, maxi etc. de grandeurs aux elements pour des ref ---------------
#0 0 (nombre de ref d'element et nombre total de grandeurs associees)
#
#---------------------------------- grandeurs aux noeuds --------------------------------
#1 1 (nombre de noeuds, nombre total de grandeurs associees)
# noeud_2 [2]X [3]Y [4]Z [5]X1 ;
#
#---------------------------------- grandeurs aux elements ------------------------------
#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles)
# reference E_tout : element_1 pt_integ_1: [7]X [8]Y [9]Z [10] SIG11 [11] EPS11
#
#
#====================================================================
#|| 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.129446618973e+00 0.000000000000e+00 0.000000000000e+00 1.129446618973e+00 1.000000000000e+00 5.647233094863e-01 0.000000000000e+00 0.000000000000e+00 1.080428555928e+02 1.080428555928e-01

Binary file not shown.

Binary file not shown.

View file

@ -342,7 +342,10 @@ unless($is_opt_L or $is_opt_rpt) {
$NOM_FIC_RAPPORT = "Rapport/rapport_test_R.txt";
#recherche des tests Test_R dans l arborescence (utilisation de find et suppression de chaque retour a la ligne avec chomp)
my @LISTE_TESTS_R = map {chomp; $_} qx(find . -name "Test_R*" -type d);
##
## RAPPEL : le repertoire Tests_en_attente_debug n est pas concerne (on le squizze avec une option "-not -path" dans la recherche find
##
my @LISTE_TESTS_R = map {chomp; $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_R*" -type d);
#si il n y a aucun test dans @LISTE_TESTS_R => on le signale
if($#LISTE_TESTS_R == -1) {
@ -389,7 +392,10 @@ unless($is_opt_R or $is_opt_rpt) {
$NOM_FIC_RAPPORT = "Rapport/rapport_test_L.txt";
#recherche des tests Test_L dans l arborescence (utilisation de find et suppression de chaque retour a la ligne avec chomp)
my @LISTE_TESTS_L = map {chomp; $_} qx(find . -name "Test_L*" -type d);
##
## RAPPEL : le repertoire Tests_en_attente_debug n est pas concerne (on le squizze avec une option "-not -path" dans la recherche find
##
my @LISTE_TESTS_L = map {chomp; $_} qx(find . -not -path "*Tests_en_attente_debug*" -name "Test_L*" -type d);
#si il n y a aucun test dans @LISTE_TESTS_L => on le signale
if($#LISTE_TESTS_L == -1) {

View file

@ -58,6 +58,21 @@ fi
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# REMARQUE : le repertoire Tests_en_attente_debug/ n est pas pris en compte pour la recherche
# des tests a lancer (utilisation de l option "-not -path" dans les commandes find
#
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
####################################
### PROGRAMME POUR TESTS RAPIDES ###
####################################
@ -80,7 +95,7 @@ mv -f Rapport/rapport_test_R.txt Rapport/rapport_test_R_OLD.txt
###--- 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`)
foreach f (`find . -not -path "*Tests_en_attente_debug*" -name "Test_R*" -type d`)
echo $f >> Rapport/Liste_Tests_R.txt
end
@ -94,7 +109,7 @@ end
#- 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`)
foreach f (`find . -not -path "*Tests_en_attente_debug*" -name "Test_R*" -type d`)
./Perl/test.pl $f $cmd_herezh
end
@ -128,7 +143,7 @@ mv -f Rapport/rapport_test_L.txt Rapport/rapport_test_L_OLD.txt
###--- 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`)
foreach f (`find . -not -path "*Tests_en_attente_debug*" -name "Test_L*" -type d`)
echo $f >> Rapport/Liste_Tests_L.txt
end
@ -142,7 +157,7 @@ end
#- 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`)
foreach f (`find . -not -path "*Tests_en_attente_debug*" -name "Test_L*" -type d`)
./Perl/test.pl $f $cmd_herezh
end