Home

[U1.03.01] Superviseur et langage de commande

image

Contents

1. for k in range 1 10 RESU Kk MECA STATIQUE RELVIKk POST RELEVE T SYY RELVIKk VMIS 4 if SYY lt critere break FIN Il faut noter que le choix d un mode d ex cution conditionne l ordre dans lequel se d roulera l analyse s mantique ETAPE par ETAPE ou globalement pour tout le JDC Mais dans les deux cas l analyse syntaxique python est toujours faite au pr alable pour tout le fichier de commande Remarque EFICAS ne peut g n rer et relire que des jeux de commandes contenant exclusivement des commandes ASTER sans autres instructions python ceci ind pendamment du mode PAR LOT choisi 2 3 La construction des tapes Lors de la construction de chaque objet ETAPE on v rifie sa coh rence s mantique avec le catalogue de la commande laquelle il se r f re Toute erreur d tect e est consign e dans un compte rendu qui en mode d ex cution globale est d livr apr s l analyse de tout le fichier de commande Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster defaki Titre Superviseur et langage de commande Date 16 06 2011 Page 5 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 2 4 2 5 Exemples de v rifications s mantiques respect du nombre d arguments des mots cl s respect du type d argument appartenance d un argumen
2. into OUI NON Fichier de commandes TOUT OUI La casse est importante et dans le contexte ci dessus la ligne de commande suivante chouera Fichier de commandes TOUT oui Le type logique n est pas utilis aujourd hui dans le catalogue de commandes Le concept est d clar simplement par son nom sans cotes ni guillemets Notion de liste Attention Le mot liste est ici un abus de langage Il ne s agit pas du type liste de python mais plut t de tuples au sens de python les diff rents items sont d clar s entre une parenth se ouvrante et une parenth se fermante ils sont s par s par des virgules Les listes sont des listes homog nes c est dire dont les l ments sont du m me type de base Tout type de base peut tre utilis en liste Exemples de liste liste d entiers 1 2 3 4 liste de texte ceci est une liste de texte liste de concepts resul resu2 resu3 Facilit d emploi Il est admis qu une liste r duite un l ment puisse tre d crite sans parenth se Exemple de liste erron e Liste h t rog ne d entier et de r el 1 3 4 Mot cl facteur Certaines informations ne peuvent tre donn es globalement en une fois dans la commande il est donc important de pr voir la r p tition de certains mots cl pour pouvoir leur affecter des arguments diff rents Le mot cl facteur offre cette possi
3. Si l utilisateur ne pr cise rien dans la commande de d marrage le mode global PAR _LOT OUT est retenu Ces deux modes pr sentent chacun leurs avantages et inconv nients Le mode d ex cution global garantit l utilisateur que tout son fichier est s mantiquement correct avant d entamer des calculs qui pourraient chouer ou ne pas converger Il serait en effet dommage de s arr ter en erreur fatale apr s une longue r solution cause d un mot cl oubli dans une commande de post traitement Le mode pas pas ne construit une tape qu apr s avoir ex cut la pr c dente Il ne d tecte donc que les erreurs s mantiques de la commande en cours et pr sente l inconv nient d crit ci dessus Il permet cependant d exploiter un r sultat calcul dans un concept dans le fichier de commande pour par exemple y placer des instructions conditionnelles Voici un exemple de boucle avec un crit re d arr t sur la valeur d une grandeur calcul e stock e dans le concept de type table RELV k Si par exemple un mot cl obligatoire manque dans l appel POST RELEVE T cela ne sera d tect qu apr s l ex cution compl te du premier MECA STATIQUE Par contre le mode pas pas rend ici possible l affectation de la variable SYY puisque le concept RELV k a t compl tement calcul au moment o le superviseur ex cute cette ligne DEBUT PAR LOT NON RESU None 10 RELV None 10
4. F ITER GLOB MAXI 400 except aster error message print Une autr rreur s est produite s str message print Stop from Utilitai Utmess import UTMESS UTMESS F Exemple Erreur lt S gt inattendue 5 3 2 Interception des erreurs lt F gt atales En cas d erreur fatale le comportement est modifiable par l utilisateur Par d faut le code s arr te en erreur lt F gt on peut voir la remont e d erreur appel des routines fortran dans le fichier de sortie Si on le souhaite le code peut lever lexception aster FatalError et dans ce cas comme pour une erreur lt S gt si l exception est intercept e par un except l utilisateur reprend la main sinon le code s arr te pas de remont e d erreur fortran Ce choix est d termin dans les commandes DEBUT POURSUITE mot cl facteur ERREUR cf U4 11 01 et U4 11 03 et tout moment par la m thode aster onFatalError Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 14 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 5 3 3 5 3 4 5 4 Cette derni re appel e sans argument retourne le comportement actuel en cas d erreur fatale comport aster onFatalError print Comporteme
5. de concepts ne doivent pas d passer 8 caract res Les caract res alphanum riques sont licites lettres minuscules et majuscules et chiffres non plac s en premi re position ainsi que le underscore La casse est importante les concepts MAIL et Mail pourront tre utilis s dans un m me fichier de commande et seront consid r s comme diff rents c est toutefois d conseill pour la lisibilit du fichier 3 3 Op rations possibles La structure du langage de commande se pr sente sous la forme d une suite lin aire d instructions Outre les instructions python autres que des commandes Aster dont il n est pas question pour le moment trois natures d instructions ou de commandes sont disponibles l op rateur qui effectue une action et qui fournit un concept produit d un type pr d fini exploitable par les instructions suivantes dans le jeu de commandes la proc dure qui effectue une action mais ne fournit pas de concept la macro commande qui g n re une s quence d instructions des deux types pr c dents et qui peut produire z ro un ou plusieurs concepts Typiquement un op rateur sera une commande d affectation ou de r solution une proc dure sera une commande d impression dans un fichier Du point de vue syntaxique un op rateur se pr sente sous la forme nomconcept op rateur arguments Alors qu une proc dure se pr sente sous la forme proc dure arguments Manuel d uti
6. des op rations en python sur les arguments de mots cl s simples Pisur2 pi 2 mat MA COMMANDE VALE Pisur2 ou var r world mat MA COMMANDE VALE pi 2 VALE2 Pisur2 cos 30 TEXTE hello var Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 12 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 5 Usage de python dans les fichiers de commande Il n est pas n cessaire de conna tre le langage python pour utiliser Code Aster En effet moyennant quelques r gles de base respecter sur l indentation et le parenth sage seule la connaissance du langage de commande d crit dans les catalogues de commande est n cessaire Et encore EFICAS permet de se dispenser de recourir au catalogue ou au paragraphe syntaxe des commandes en proposant graphiquement les mots cl s renseigner Toutefois l utilisateur avanc pourra utiliser bon compte la puissance du langage PYTHON dans son fichier de commandes puisque celui ci est d j crit dans ce langage Les quatre usages principaux peuvent tre l criture de macro commandes personnalis es l usage d instructions g n rales python l import de modules python utiles la r cup ration d information des structu
7. maillage LIST GROUP NO liste Liste des groupes de n uds LIST GROUP MA liste Liste des groupes de mailles table zl r el Contenu de la table fonction LISTE VALEURS liste Liste des valeurs r sultat LIST CHAMPS liste Liste des champs calcul s LIST NOM CMP liste Liste des composantes LIST VARI ACCES liste Liste des variables d acc s LIST PARA liste Liste des param tres cham no EXTR COMP post comp cham no Contenu du champ dans une table cham elem EXTR COMP post comp cham el Contenu du champ dans une table Tout objet JEVEUX getvectjev liste Liste des objets du vecteur jeveux 5 5 Exemple de construction dynamique de mots cl s facteurs Dans le cas d un mot cl facteur tr s r p titif crire l utilisateur peut vouloir composer son contenu par script dans une liste ou un dictionnaire qu il fournira ensuite au mot cl facteur L exemple ci dessous montre trois fa ons d crire un m me mot cl facteur DEBUT PAR LOT NON o00 _F JUSOU A 1 PAS 0 1 _F JUSQU A 2 PAS 0 1 _F JUSQU A 3 PAS 0 1 ppp _F JUSQU A float i PAS 0 1 for i in range 1 4 qqq JUSQU A float i PAS 0 1 for i in range 1 4 rrr F args for args in qqq l 1i1 DEFI LIST REEL DEBUT 0 INTERVALLE 000 lo INTERVALLE ppp lo INTERVALLE rrr FIN Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html
8. respectant le principe de base Le superviseur v rifie que le nom du concept produit n est pas d j attribu par une des commandes pr c dentes en particulier par une commande d une ex cution pr c dente dans le cas d une POURSUITE ou d un INCLUDE Concept utilis en r utilisation Le superviseur v rifie que e le nom du concept produit est d j bien attribu e l op rateur est bien habilit accepter des concepts r utilis s e le type du concept est conforme au type de concept produit par l op rateur Exemples comment s DEBUT concept op rateur 1 est correct on d fini le concept concept op rateur 2 est incorrect on essaie de red finir le concept mais sans le dire concept op rateur reuse concept 3 est correct si l op rateur accepte des concepts existants et si le type est coh rent c est incorrect si l op rateur ne les accepte pas FIN Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 9 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 De fait un concept ne peut tre cr qu une seule fois ce qui signifie appara tre gauche du signe gal sans que reuse soit employ dans les arguments de l
9. suivantes construction des tapes cela consiste cr er un objet ETAPE pour chaque appel une commande Aster dans le fichier de commandes Cet objet est enregistr aupr s de JDC qui g re la liste des tapes et des concepts aff rents v rification de chaque ETAPE si l appel une commande dans le fichier utilisateur est incoh rent avec le catalogue de commandes un compte rendu est affich et l ex cution est arr t e ce niveau C est la v rification s mantique ex cution proprement dite des commandes pour chaque tape prise dans l ordre appel la routine FORTRAN de haut niveau opOnnn f correspondante Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 4 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 2 2 L ex cution globale ou pas pas Un jeu de commande peut tre construit et ex cut selon deux modes le mode global pour lequel toutes les tapes du jeu de commande sont d abord construites puis ex cut es dans leur ordre d apparition Ce mode est choisi par le mot cl PAR LOT OUI dans la commande de d marrage DEBUT le mode pas pas pour lequel chaque tape est imm diatement ex cut e apr s sa construction Ce mode est choisi par le mot cl PAR LOT NON dans la commande DEBUT
10. Code Aster defaut Titre Superviseur et langage de commande Date 16 06 2011 Page 1 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 Superviseur et langage de commande R sum Ce document d crit le r le et le fonctionnement du superviseur qui assure le pilotage d une ex cution de Code Aster et du langage de commande qui assure la communication entre l utilisateur et le code Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 2 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 Table des Mati res l IRTOAUCIIOMES Le E E nn du ons E eee nie talent n e nat anne en dan alain 3 2 2 L ex cution globale ou pas apas aicsean e aia aa aa Ei a 4 2 9 La constucion des TAPES nu en ime 4 ihannen halo ensntes terne a aa G aahit 5 2 4 Le traitement des macro commandes M aiia aaa aaia 6 2 5 Les proc dures de d marnage s ancoris a 6 216 Liens avec EFICAS ndinoda iiei adaa oaa eE neiaa aai addaa iaaa 7 2 Le langage de commanda 2 26 teen nemenenesnmsesanle nantes cheminement eee es Fa 3 1 Python etle langage de command nn aa AA FA 3 3 Op rations POSSIDI S 25 nee nn nemhe eme s ane meta ananas aeaa te
11. La premi re t che consiste mettre en correspondance des num ros d unit s logiques de fichiers d entr e sortie standards message erreur r sultat Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 6 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 2 6 La deuxi me t che consiste d finir et ouvrir les bases de donn es fichier d acc s direct utilis s par le gestionnaire de m moire conform ment aux instructions de l utilisateur qui peut red finir des param tres de ces fichiers voir documents U4 11 01 et U4 11 03 sur les proc dures de d marrage On appelle pour cela les routines d initialisation JEVEUX voir document D6 02 01 le Gestionnaire de m moire JEVEUX La s quence des commandes ex cuter se termine obligatoirement par la commande FIN Le texte qui suit FIN doit tre commentaris c est dire d buter par Pour un fichier inclus c est la commande RETOUR qui marque la fin des instructions Qu ASTER doit prendre en compte Remarque En mode interactif saisie des commandes la main ne pas mettre de commande FIN et passer l argument interact sur la ligne de commande de soumission du job Liens avec EFICAS Le noyau du superviseur est commun avec Eficas l d
12. a commande Dans le cas d une r utilisation pr ciser nouveau le nom du concept derri re l attribut reuse est redondant d autant plus que le superviseur v rifie que les deux noms de concept sont identiques Remarque On peut d truire un concept et donc r utiliser son nom ensuite 3 5 Corps d une commande 3 5 1 Introduction Le corps d une commande contient la partie variable de la commande Les d clarations sont s par es par des virgules et part l attribut reuse mentionn plus haut elles sont toutes de la forme mot cl argument Le mot cl est n cessairement un mot cl de la commande en cours d clar dans le catalogue de celle ci 3 5 2 Mot cl Un mot cl est un identificateur formel c est le nom de l attribut recevant l argument Exemple MATRICE Remarques syntaxiques l ordre d apparition des mots cl s est libre il n est pas impos par l ordre de d claration dans les catalogues les mots cl s ne peuvent exc der 16 caract res mais seuls les 10 premiers caract res sont signifiants Il existe deux types de mots cl s les mots cl s simples et les mots cl s facteurs qui diff rent par la nature de leurs arguments 3 5 3 Argument d un mot cl simple 3 5 3 1 Le type des arguments Les types de base reconnus par le superviseur sont eles entiers eles r els eles complexes eles textes eles logiques eles concepts ainsi que les listes de ces types de
13. ards On dispose galement d exceptions propres Code Aster au module aster r parties en deux cat gories les exceptions associ es aux erreurs lt S gt et celle associ e aux erreurs lt F gt 5 3 1 Interception des erreurs lt S gt En cas d erreur lt S gt l erreur est identifi e par une de ces exceptions aster NonConvergenceError en cas de non convergence du calcul aster EchecComportementError probl me lors de l int gration de la loi de comportement aster BandeFrequenceVideError pas de mode trouv dans la bande de fr quence aster MatriceSinguliereError matrice singuli re aster TraitementContactError probl me lors du traitement du contact aster MatriceContactSinguliereError matrice de contact singuli re aster ArretCPUError arr t par manque de temps CPU Toutes ces exceptions d rivent de l exception lt s gt g n rale qui est aster error Ce qui signifie que except aster error intercepte toutes les exceptions cit es ci dessous Il est n anmoins toujours pr f rable de pr ciser quelle erreur on s attend Exemple d utilisation Ery resu STAT_NON_LINE except aster NonConvergenceError message print Arr t pour cette raison s str message On sait qu il faut beaucoup plus d it rations pour converger print On continue en augmentant le nombre d it rations resu STAT_NON_LINE reuse resu TE CONVERGENCE
14. ations par un test sur une valeur calcul e Consulter le paragraphe suivant d di aux exceptions Aster particularis es Dans une boucle si on recr e un concept d j existant il faut penser le d truire au pr alable par la commande DETRUIRE Les autres fonctionnalit s diverses de python int ressantes pour l utilisateur de Code Aster peuvent tre la lecture criture sur fichier le calcul num rique par exemple en utilisant Numerical Python l appel via le module os au langage de script et en particulier le lancement d un code tiers os system la manipulation de cha nes de caract res l appel des modules graphiques grace gnuplot 5 3 Exceptions PYTHON du module aster Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster e default Titre Superviseur et langage de commande Date 16 06 2011 Page 13 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 Le m canisme des exceptions Python est tr s int ressant il autorise par exemple essayer une commande puis reprendre la main si celle ci plante en levant une exception particuli re try bloc d instructions except Erreurldentifi e message bloc d instructions ex cut si Erreurldentifi e se produit Dans le fichier de commandes on peut utiliser ce m canisme avec n importe quelle exception des modules Python stand
15. bases Les entiers et les r els correspondent exactement aux types quivalents en python Mot cl simple facultatif attendant un r el Catalogue VALE SIMP statut f typ R Fichier de commandes VALE 10 Mot cl simple facultatif attendant un entier Catalogue 3 INFO SIMP statut f typ IW Fichier de commandes INFO 1 Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 10 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 3 5 3 2 3 5 4 La repr sentation du type complexe est un tuple python contenant une cha ne de caract res indiquant le mode de repr sentation du nombre complexe parties r elle et imaginaire ou module phase puis les valeurs num riques Catalogue VALE C SIMP statut f typ C Fichier de commandes Lo VALE C RE 4 007324 0 732 Ny Fichier de commandes VALE C MP 1 45 Les deux notations sont strictement quivalentes En notation MP la phase est en degr s Le type texte est d clar entre simples cotes La casse est respect e Cependant quand un mot cl doit prendre une valeur dans une liste pr d finie dans le catalogue l usage veut que cette valeur soit aujourd hui toujours en capitales Catalogue TOUT SIMP typ TXM
16. bilit sous un mot cl facteur on trouvera donc un ensemble de mots cl simples qui pourront tre utilis s chaque occurrence du mot cl facteur Cela permet en outre d am liorer la lisibilit du fichier de commandes en regroupant des mots cl s qui partagent un sens commun par exemple les diff rents param tres d un m me mat riau Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster e uli default Titre Superviseur et langage de commande Date 16 06 2011 Page 11 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 Contrairement au mot cl simple le mot cl facteur ne peut recevoir qu un seul type d objet l objet superviseur _F ou une liste de celui ci Soit le mot cl facteur n a qu une seule occurrence et on peut crire par exemple au choix IMPRESSION _F RESULTAT resu UNITE 6 ou IMPRESSION _F RESULTAT resu UNITE 6 Dans le premier cas le mot cl facteur IMPRESSION re oit un objet Fr dans l autre il re oit un singleton Attention la virgule en python un tuple un l ment s crit l ment Soit le mot cl facteur a plusieurs occurrences deux dans cet exemple IMPRESSION F RESULTAT resul UNITI _F RESULTAT resu2 UNITI CO Le nombre d occurrence minim
17. er des donn es calcul es n cessite que les instructions entra nant leur obtention aient bien t ex cut es au pr alable Autrement dit il est indispensable d ex cuter le code en mode PAR LOT NON mot cl de la commande DEBUT En effet dans ce cas il ny a pas d analyse globale du fichier de commande mais chaque instruction est ex cut e Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 15 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 s quentiellement Quand on arrive sur une instruction tous les concepts la pr c dent ont donc d j t calcul s Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster Version default Titre Superviseur et langage de commande Responsable Christophe DURAND Date 16 06 2011 Page 16 16 Cl U1 03 01 R vision 6535 Voici quelques m thodes d acc s aux structures de donn e La liste est non exhaustive se reporter la documentation U1 03 02 Structure de M thode Type python retourn Information retourn e donn es listr8 LIST VALEURS liste Liste des valeurs
18. erviseur et langage de commande Date 16 06 2011 Page 3 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 Introduction Le r le du superviseur est d assurer le commandement du d roulement d op rations en cours d ex cution d un programme Les instructions d ex cution sont g n ralement fournies par l utilisateur Ceci n cessite une formalisation des communications entre le code et son exploitant c est le langage de commande Le langage Python est employ pour crire le catalogue de commandes le superviseur et les fichiers de commandes utilisateur Pour les fichiers de commande cela permet de d charger le superviseur de la t che d analyse syntaxique d volue Python lui m me Un fichier de commandes est une succession d appel des fonctions Python les commandes d finies dans le catalogue de commandes Ces fonctions poss dent des arguments d entr e les mots cl s et leur contenu et des arguments de sortie les concepts produits L utilisateur qui compose son fichier de commandes doit donc se soumettre la syntaxe g n rale de Python parenth sage indentation et aux r gles impos es par le catalogue de commandes les arguments fournis sont coh rents avec ce qu attend la fonction Pour une premi re prise de contact avec le code le lecteur pourra ne pas aborder le chapitre 2 M canisme g n ral de fonctionnement du superviseur 2 1 Architecture g n rale Les l ment
19. iteur de fichiers de commandes Aster Lors de l dition d un fichier de commande celui ci r alise l analyse syntaxique et les v rifications de coh rence des concepts par construction du JDC et de ses objets ETAPE Eficas ne r alise bien s r pas la t che de construction des macro commandes qui n cessiterait le code source d Aster Le langage de commande Python et le langage de commande Un fichier de commandes pour le Code Aster est exclusivement compos d instructions Python La premi re des contraintes est donc de se conformer aux r gles de ce langage On pourra lire le tutoriel Python www python org ou les nombreux livres d introduction Python pour plus de d tail mais ce n est pas n cessaire pour l usage d Aster Un fichier de commandes peut contenir des instructions python de deux natures des commandes Aster et n importe quelle autre instruction python En effet un fichier de commandes est un programme python part enti re et on peut en particulier y placer des structures de contr le boucles des tests if des calculs num riques des appels des fonctions de pr et post traitement Dans le cadre d une utilisation classique du code o le fichier de commande contient exclusivement des commandes Aster les deux r gles sp cifiques Python retenir sont Pas d indentation sur la premi re ligne de d claration d une instruction mail LIRE MAILLAGE Il ne faut placer ni blanc ni tabula
20. la macro elle m me pour ex cution ult rieure Il est important de noter que la phase de construction des macro commandes se d roule juste avant leur ex cution et non lors la passe globale sur le fichier de commande en mode PAR LOT OUT Cela a deux cons quences EFICAS analyse la syntaxe de la macro commande elle m me mais pas celle de ses sous commandes On peut en revanche exploiter dans la programmation des macros des donn es pr c demment calcul es et rapatri es dans l espace de noms python sans avoir imposer le mode PAR LOT NON l utilisateur de la macro Les proc dures de d marrage Les proc dures de d marrage disponibles sont DEBUT cf U4 11 01 et POURSUITE U4 11 03 Au moins une de ces deux proc dures doit tre obligatoirement pr sente dans le fichier de commande Aucune autre commande Aster ne doit les pr c der Si c est le cas ou si aucune n est pr sente l ex cution sera arr t e d s la cr ation du JDC Ce sont ces proc dures qui contiennent l information sur le mode d ex cution PAR LOT OUI ou NON qui conditionne le mode d ex cution des commandes qui suivent Ce sont des macro commandes superviseur qui leur construction appellent les routines Fortran permettant d initialiser le calcul par les t ches suivantes connexion des unit s logiques des fichiers standards ouverture des bases de donn es lecture du catalogue d l ments
21. lisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster default Titre Superviseur et langage de commande Date 16 06 2011 Page 8 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 3 4 3 4 1 3 4 2 3 4 3 La syntaxe d un op rateur ou d une proc dure est d crite dans le paragraphe suivant R gles sur le concept produit par un op rateur Principe de base A chaque ex cution d un op rateur celui ci fournit un nouveau concept produit du type pr d fini dans le catalogue de commande Les concepts apparaissant en argument d entr e des commandes ne sont pas modifi s Concept produit et concept r utilis On appelle concept r utilis un concept qui tant produit par un op rateur est modifi par une nouvelle occurrence de cet op rateur ou par un autre op rateur L utilisation d un concept r utilis n est possible comme d rogation du Principe de Base qu deux conditions autorisation donn e par le catalogue et la programmation de la commande d utiliser des concepts r utilisables pour l op rateur l attribut reentrant du catalogue vaut o ou f demande explicite de l utilisateur de la r utilisation d un concept produit par l attribut reuse nom du concept dans les arguments des commandes qui le permettent V rifications effectu es par le superviseur sur les concepts produit Concept produit
22. mmande ult rieure La notion de concept permet donc l utilisateur de manipuler des objets symboliquement et ind pendamment de leur repr sentation interne qu il peut ne pas conna tre D ailleurs l objet python d sign par le nom du concept ne contient aucune autre information que son type sa classe au sens python cf doc D Son nom transmis par le superviseur au FORTRAN permet Aster de retrouver la structure de donn es correspondante dans la base globale Mais il n est pas possible d avoir visibilit de la structure de donn es depuis le fichier de commande Par exemple les instructions suivantes ne permettent pas d imprimer la structure de donn es de type maillage et de nom mail mail LIRE MAILLAGE print mail mais g n rent le message suivant SD maillage nom mail Il y a une exception cette r gle les tables En effet un artifice de programmation permet de r cup rer simplement de l information contenue dans une structure de donn e TABLE en manipulant celle ci comme un tableau deux entr es pour imprimer toute la table print resu pour imprimer une valeur print resu DX 1 pour l affecter une variable valeur resu DX 1 Cela suppose bien s r que la structure de donn es resu de type TABLE a d j t calcul e au moment o on rencontre cette instruction donc en mode d ex cution pas pas PAR LOT NON Remarque lexicale Les noms
23. ne ne d rive de l autre ce qui signifie que si on souhaite reprendre la main en cas d erreur lt S gt et d erreur lt F gt il faut activer la lev e d exception en cas d erreur lt F gt avec aster FatalError EXCEPTION ou dans DEBUT POURSUITI il faut intercepter les deux exceptions except aster FatalError aster error message pal Il est d conseill d utiliser except sans pr ciser quelle exception on s attend c est une r gle g n rale en Python ind pendamment des exceptions Aster En effet le traitement effectu sous except a peu de chance d tre valable dans tous les cas d erreur De m me comme dans l exemple donn plus haut il est pr f rable d utiliser les exceptions particularis es NonConvergenceError ArretCPUError que l exception de plus haut niveau aster error toujours dans l id e de savoir exactement ce qui s est produit R cup ration de valeurs calcul es dans des variables PYTHON Exploiter le langage PYTHON dans son fichier de commande mest int ressant que si on peut conditionnellement lancer des actions en fonction de ce que le code a calcul Certaines passerelles existent entre python et les structures de donn es calcul es par le code et pr sentes dans la m moire JEVEUX D autres restent programmer ceci est un domaine en volution et de futurs d veloppements sont attendus Il est essentiel de comprendre que r cup r
24. nnis tene eme tan CU 8 3 4 R gles sur le concept produit par un op rateur diiannnannnnnemennnnnenee 9 RE PL AR OO LOL 0 EA 012 e ee ent 9 3 4 2 Concept produit et concept r utilis e 9 3 4 3 V rifications effectu es par le superviseur sur les concepts produit 9 39 Cops UNECO MAMAN ESS Rennes tte 10 920 11 IN TOUT nu i baia li ananas aan monta Remi aaia 10 35 2 MO Gl nat nnthininnmanonnniMunnhitdsnMiniimanenniiineid 10 3 5 3 Argument d un mot cl simple eeruan 10 9 9 3 1 Letype des gumes saaana 10 35 32 Nojom delis te nositi endah nd eshnne ancien laissons es 11 3 94 Motele datte ss aaa ia i aaa a aaa aSa ee eme 11 4 D finition de valeurs et valuations d expressions 12 5 Usage de python dans les fichiers de commande sessssssrsssserrnrnessrnnusssnnennnnnessrnnunssnnennnnnennaaseeent 13 5 1 Macro commandes personnalis es 13 5 3 Exceptions PY TAON duimodule aASteT asistuar enai nan aah idees 14 53 1 Int rCepIIGn des COURS SS gt rociis anaandaa mnt tea 14 5 3 2 Interception des erre rs lt F gt ataleS acisini iiia iniia kobi inaa dau 14 5 3 3 Validit des concepts en cas de lev e d exception 15 5 3 4 Pr cautions d emploi des exceptions 15 5 4 R cup ration de valeurs calcul es dans des variables PYTHON 15 Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fal html Code Aster default Titre Sup
25. nt courant en cas d erreur fatale s comport et permet de d finir le comportement que l on souhaite aster onFatalError EXCEPTION on l ve l exception FatalError ou aster onFatalError ABORT on s arr te avec remont e d erreur Validit des concepts en cas de lev e d exception Lors qu une exception est lev e et intercept e par except le concept produit par la commande dans laquelle l erreur s est produite est rendu tel quel la commande n ayant pas termin normalement Dans certains cas notamment apr s une erreur fatale il se peut que le concept produit ne soit pas utilisable utiliser alors DETRUIRE pour le supprimer De m me si l on souhaite r utiliser le nom du concept pour en cr er un nouveau il faut DETRUIRE celui obtenu dans le try En cas d erreur lt s gt lev es dans STAT DYNA NON _ LINE le concept est g n ralement valide et peut tre r utilis mot cl reuse pour poursuivre le calcul avec une autre strat gie comme dans l exemple cit pr c demment Enfin avant de rendre la main l utilisateur les objets de la base volatile sont supprim s par un appel JEDETV et la marque Jeveux est repositionn e 1 avec JEDEMA pour lib rer les objets ramen s en m moire Pr cautions d emploi des exceptions Les deux exceptions aster error et aster FatalError sont ind pendantes aucu
26. res de donn es Code Aster dans des variables PYTHON Remarque Si on veut utiliser des caract res fran ais accentu s dans le fichier de commandes ou les modules import s il faut placer l instruction suivante en premi re ou deuxi me ligne du fichier coding iso 8859 1 En python 2 3 l absence de cette ligne provoque un warning qui deviendra une erreur en python 2 4 dans ASTER c est syst matiquement une erreur 5 1 Macro commandes personnalis es Voir le document D5 01 02 Introduire une nouvelle macro commande Les macro commandes personnalis es sont tr s faciles programmer Elles peuvent servir capitaliser des sch mas de calcul r currents et ainsi constituer un outil m tier Il est fortement conseill de prendre exemple sur les macro commandes existantes package Macro dans le r pertoire bibpyt 5 2 Instructions g n rales PYTHON et modules utiles Les utilisateurs avanc s peuvent tirer grand profit de l emploi de boucles for de tests if des exceptions try except et de mani re g n rale de toute la puissance du langage PYTHON directement dans leur fichier de commandes La liste des usages est impossible tablir exhaustivement De nombreux exemples sont pr sents dans les cas tests de la base de tests On peut par exemple faire de l adaptation de maillage en pla ant la s quence calcul remaillage dans une boucle tablir un crit re d arr t des it r
27. s de base mis en jeu lors d une ex cution d un calcul Aster sont le fichier de commandes fourni par l utilisateur le catalogue de commandes c est un module python de nom cata plac dans le package Cata l objet de haut niveau SUPERVISEUR l objet JDC cr par ce dernier et qui est finalement ex cut L objet SUPERVISEUR est un objet python qui analyse les options transmises sur la ligne de commande importe le catalogue de commandes cr l objet JDC partir du fichier de commandes et ex cute celui ci L objet JDC nom pour Jeu De Commandes est un objet python cr par l objet SUPERVISEUR partir du texte du fichier de commandes et du module catalogue de commandes Il contient les objets ETAPE L objet JDC est repr sentatif du fichier de commandes utilisateur Les objets ETAPE sont repr sentatifs de chacun des appels des commandes Aster dans le fichier de commande Chaque objet ETAPE porte le nom de la commande qu il r f rence la liste des mots cl s actifs et leurs valeurs le type et le nom du concept produit La construction puis l ex cution de l objet JDC d clenchent les actions suivantes analyse syntaxique du fichier de commande utilisateur c est ce niveau que la syntaxe python est v rifi e parenth ses virgules entre mots cl s indentation La d tection d une erreur SyntaxError Python provoque l arr t de l ex cution d Aster La premi re erreur est fatale on ne recherche pas les erreurs
28. t une liste de valeurs possibles exactitude de l orthographe d un mot cl ou d un mot cl facteur respect des r gles d exclusion ou d implication entre mots cl s pr sence des mots cl s obligatoires A ce stade si la commande est un op rateur et produit un concept celui ci est typ Le superviseur v rifie qu un concept de m me nom n a pas t d j d fini ou s il est r employ que la commande l autorise Le traitement des macro commandes Une macro commande vu l utilisateur est une commande ordinaire En fait elle n appelle pas directement une routine Fortran de haut niveau mais g n re d autres commandes Deux types de macro commandes existent les macros en Python les macros superviseur ce sont les commandes sp ciales DEBUT FORMULE INCLUDE INCLUDE MATERIAU POURSUITE qui n cessitent un traitement au niveau de leur construction Au m me titre que le JDC lui m me l appel une macro commande produit un objet p re de type MACRO ETAPE qui contient des objets fils les tapes que g n re la macro voire d autres macros Une macro commande du JDC est tout d abord trait e comme les autres commandes v rification syntaxique construction de la macro tape Puis elle est construite par application de la m thode python Build sur l objet JDC Apr s sa construction les tapes des commandes produites par la macro sont substitu es l tape de
29. tion avant la cha ne de caract res mai 1 Les arguments des fonctions autrement dit les mots cl s des commandes sont s par s par des virgules ils se composent d un mot cl du signe du contenu du mot cl Important L diteur EFICAS ne permet de produire que des fichiers de commandes de ce type contenant exclusivement des commandes ASTER sans autre instruction Python Utiliser EFICAS garantit essentiellement trois choses le fichier produit aura une syntaxe python correcte les commandes produites seront coh rentes avec le catalogue de commandes les concepts produits seront correctement encha n s pas d utilisation d un concept sans qu il ait t cr par une commande pr c dente L utilisateur ayant compos ainsi son fichier de commande sera labri d un arr t l ex cution au motif d un probl me de syntaxe Manuel d utilisation Fascicule u1 03 Acc s au code Document diffus sous licence GNU FDL http www gnu org copyleft fdl html Code Aster detault Titre Superviseur et langage de commande Date 16 06 2011 Page 7 16 Responsable Christophe DURAND Cl U1 03 01 R vision 6535 3 2 Notion de concept D finition on appelle concept les structures de donn es Aster que l utilisateur peut manipuler et nommer Ces concepts sont typ s au moment de leur cr ation et ne pourront tre utilis s que comme argument d entr e du type correspondant dans une co
30. um et ou maximum attendu d un mot cl facteur est d fini dans le catalogue de commandes Notion de valeur par d faut Il est possible de faire affecter par le superviseur des valeurs par d faut Ces valeurs sont d finies dans le catalogue de commandes et non dans le FORTRAN Il n y a pas de distinction du point de vue de la routine associ e la commande entre une valeur fournie par l utilisateur et une valeur par d faut introduite par le superviseur Ceci appara t lors de l impression des commandes utilisateur par le superviseur dans le fichier de messages toutes les valeurs par d faut apparaissent dans le texte de commande si elles n ont pas t fournies par l utilisateur Rappel on ne peut pas donner de valeur par d faut un concept 4 D finition de valeurs et valuations d expressions Il est possible d affecter des valeurs des variables python afin d utiliser celles ci comme arguments de mots cl s simples ces variables sont appel es param tres dans EFICAS Elles peuvent contenir des valeurs enti res r elles complexes des textes ou des listes de ces types Exemple young 2 E 11 mat DEFI MATERIAU ELAS F E young NU 0 3 En fin d ex cution le contexte python est sauvegard avec la base Ainsi dans la poursuite qui suivra les param tres seront toujours pr sents avec leurs valeurs pr d finies tout comme les concepts ASTER Il est possible de r aliser

Download Pdf Manuals

image

Related Search

Related Contents

User's Manual _ Equinox Network Edition  Craftsman 2 Jaw Large Gear Puller Instruction Manual  45437 Impulse 31-Inch RTR BL Deep V V3  Casablanca 53195 Installation Guide  Remington Power Tools 100271-01 User's Manual  Specification of Battery Charger  取扱説明書 (3.31 MB/PDF)  Toro Hose End Drip Kit for Tomatoes (53880) User's Manual  Cameras SNC-RX550P  松葉杖(腋窩支持クラッチ)  

Copyright © All rights reserved.
Failed to retrieve file