]> SALOME platform Git repositories - modules/homard.git/commitdiff
Salome HOME
Documentation sur les schémas YACS
authornicolas <nicolas>
Mon, 23 Sep 2013 14:25:42 +0000 (14:25 +0000)
committernicolas <nicolas>
Mon, 23 Sep 2013 14:25:42 +0000 (14:25 +0000)
19 files changed:
doc/en/Makefile.am
doc/en/gui_create_yacs.rst
doc/en/gui_create_yacs_aster.rst [new file with mode: 0644]
doc/en/images/create_yacs_01.png [new file with mode: 0644]
doc/en/images/create_yacs_1.png [new file with mode: 0644]
doc/en/images/create_zone_01.png [new file with mode: 0644]
doc/en/tui_create_yacs.rst
doc/fr/Makefile.am
doc/fr/gui_create_boundary.rst
doc/fr/gui_create_hypothese.rst
doc/fr/gui_create_iteration.rst
doc/fr/gui_create_yacs.rst
doc/fr/gui_create_yacs_aster.rst [new file with mode: 0644]
doc/fr/gui_create_zone.rst
doc/fr/gui_usage.rst
doc/fr/images/create_yacs_1.png [new file with mode: 0644]
doc/fr/images/create_zone_01.png [new file with mode: 0644]
doc/fr/tui_create_yacs.rst
doc/fr/yacs.rst

index feb204a6a3eb19ab3956b5b7f4c45594c86ea8f5..45ff7dfe589e125110d7eeb928491a26d914b324 100644 (file)
@@ -73,6 +73,7 @@ tui_homard.rst \
 tui_usage.rst \
 tutorials.rst \
 gui_create_yacs.rst \
+gui_create_yacs_aster.rst \
 tui_create_yacs.rst
 
 EXTRA_DIST += $(RSTFILES) images ../images ../files
index 5d3b67d3d4a99f3e737a06da5ae9f22d1de315c0..cfbfd6ee495cfd20327517d674e56f952740ab84 100644 (file)
@@ -82,7 +82,61 @@ The default choice, 'constant', alternate a computation that is always the same
 
 The option 'variable' is inactive today.
 
+Saving the schema
+*****************
+By default, the schema is saved into the file `schema.xml` in the directory of the case that is under the schema. If the file is deleted, it can be rewritten by the mouse option "Write".
+
+Object browser
+**************
+.. index:: single: object browser
+
+The object browser contains the created schemas, identified by their names. They can be edited. Under every schema, there is a link to the case and the reference to the `xml` file that is written. This file can be read.
+
+.. image:: images/create_yacs_1.png
+   :align: center
+
 Corresponding python functions
 ******************************
 Look :ref:`tui_create_yacs`
 
+How to use the schema
+#####################
+
+The schema that is produced by this procedure can be imported into the module YACS. It can be executed without any modification. It this case, the stop into the loop is done:
+
+- either the maximal number of iterations for the loop (calcul,adaptation) is reached;
+- or the test for the convergence over the variable ``V_TEST`` is satisfied.
+
+By default, the maximal number of iterations is equal to 5 and the test for the convergence is satisfied if the variable varies less than one per a thousand in a relative value, between two successive iterations. These tests can be modified.
+
+These tests ares done into the node "Analyse" of the schema, as described in :ref:`yacs`.
+
+The maximal number of iterations is given by the variable `NbCalcMax`:
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 111-113
+
+The value for the test is saved in a list all along the calculations:
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 137-141
+
+and the test is calculated after the second iteration:
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 143-148
+
+If this test is modified, it must be done here. But the instructions when it is converged must be kept to guarantee a good execution:
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 146-148
+
+Examples
+########
+.. index:: single: Code_Aster
+
+A user's guide for schemas with Code_Aster is available here: :ref:`gui_create_yacs_aster`.
+
+
+
+
diff --git a/doc/en/gui_create_yacs_aster.rst b/doc/en/gui_create_yacs_aster.rst
new file mode 100644 (file)
index 0000000..e947b8a
--- /dev/null
@@ -0,0 +1,61 @@
+.. _gui_create_yacs_aster:
+
+A schema YACS for Code_Aster
+############################
+.. index:: single: YACS
+.. index:: single: Code_Aster
+
+If the schema implies a coupling between Code_Aster and HOMARD, somme comments are included here.
+
+Préalable
+*********
+La création automatique du schema va se faire en trois phases :
+
+- Au départ, il faut avoir fait un calcul sur un tout premier maillage. Ce calcul aura produit des résultats dans un fichier MED.
+- Ensuite, on crée un cas dans le module HOMARD, tel qu'il est décrit dans :ref:`gui_create_case`. Dans ce cas, on crée une itération suivante du maillage en définissant une hypothèse d'adaptation ; voir :ref:`gui_create_iteration`.
+- Enfin, de ce cas, on va créer le schema qui se basera sur l'hypothèse d'adapation définie.
+
+
+.. image:: images/create_yacs_01.png
+   :align: center
+   :alt: yacs - création
+   :width: 551
+   :height: 295
+
+Le script
+*********
+
+Le fichier contenant le script qui permet de lancer le calcul lié à la modélisation physique est fourni ici. C'est un script python qui doit respecter les règles suivantes :
+
+- le nom de la classe qui gère le calcul est ``Script``
+- le lancement du calcul se fait par la méthode ``Compute()``
+- le résultat du calcul est sous la forme de trois variables : le code d'erreur, un message, un dictionnaire python.
+
+S'ils sont nécessaires à la création de la classe, on peut passer des arguments sous la forme :
+
+- ``--rep_calc=rep_calc``, où ``rep_calc`` est le répertoire de calcul
+- ``--num=num``, où ``num`` est le numéro du calcul  : 0 pour le tout premier, puis 1, 2 etc.
+- ``--mesh_file=meshfile``, où ``meshfile`` est le fichier contenant le maillage sur lequel calculer.
+- ``-v``, pour des messages
+
+Les arguments de retour :
+
+- ``erreur`` : le code d'erreur, entier : 0 si le calcul est correct, non nul sinon
+- ``message`` : un éventuel message d'information sur le calcul
+- ``dico_resu`` : un dictionnaire python qui comprend a minima les deux clés suivantes : ``FileName`` est la clé pour le nom du fichier MED qui contient les résultats du calcul, ``V_TEST`` est la clé pour la valeur réelle à tester.
+
+
+
+Exemple d'usage du script :
+::
+
+    argu = ["--rep_calc=" + rep_calc)]
+    argu.append("--num=%d" % numCalc)
+    argu.append("--mesh_file="  + MeshFile)
+    Script_A = Script(argu)
+    erreur, message, dico_resu = Script_A.compute ()
+
+.. note::
+
+  * Pour piloter Code_Aster : :download:`ScriptAster<../files/yacs_script.py>`
+
diff --git a/doc/en/images/create_yacs_01.png b/doc/en/images/create_yacs_01.png
new file mode 100644 (file)
index 0000000..4f8cebf
Binary files /dev/null and b/doc/en/images/create_yacs_01.png differ
diff --git a/doc/en/images/create_yacs_1.png b/doc/en/images/create_yacs_1.png
new file mode 100644 (file)
index 0000000..7450f9b
Binary files /dev/null and b/doc/en/images/create_yacs_1.png differ
diff --git a/doc/en/images/create_zone_01.png b/doc/en/images/create_zone_01.png
new file mode 100644 (file)
index 0000000..ce012ad
Binary files /dev/null and b/doc/en/images/create_zone_01.png differ
index 5bab00a7de991cfc33c785131f58fad36b42aee3..dd58174594e1e399ee7c76482c06628e310e87b9 100644 (file)
@@ -105,13 +105,20 @@ Informations about the schema
 | **GetName()**                                                 |
 |     Returns the name of the schema                            |
 +---------------------------------------------------------------+
+| .. module:: SetType                                           |
+|                                                               |
+| **SetType(Type)**                                             |
+|     Defines the type of the schema.                           |
+|                                                               |
+|     - ``Type`` : the type of the schema                       |
+|                                                               |
+|         * 1 : constant                                        |
+|         * 2 : variable                                        |
++---------------------------------------------------------------+
 | .. module:: GetType                                           |
 |                                                               |
 | **GetType()**                                                 |
 |     Returns the type of the schema                            |
-|                                                               |
-|         * 1 : static                                          |
-|         * 2 : transitory                                      |
 +---------------------------------------------------------------+
 | .. module:: SetScriptFile                                     |
 |                                                               |
index 53a863e8a9852804194d30c113ce5aa5c477c66d..4b143a5ce91d439c5d391194d0a9e8d2ada1719c 100644 (file)
@@ -73,6 +73,7 @@ tui_homard.rst \
 tui_usage.rst \
 tutorials.rst \
 gui_create_yacs.rst \
+gui_create_yacs_aster.rst \
 tui_create_yacs.rst
 
 EXTRA_DIST += $(RSTFILES) images ../images ../files
index c16a7b3a27dc4994061f1ac83066941622eac079..914d87cce4e2b31cf7a972fe60ff73d6e330f084 100644 (file)
@@ -99,8 +99,6 @@ La sph
 .. image:: images/create_boundary_an_sp.png
    :align: center
 
-.. index:: single: arbre d'étude
-
 Un cône
 =======
 .. index:: single: cone
@@ -117,10 +115,10 @@ Cr
 .. image:: images/create_boundary_an_co_2.png
    :align: center
 
-.. index:: single: arbre d'étude
-
 L'arbre d'étude
 ***************
+.. index:: single: arbre d'étude
+
 A l'issue de cette création de frontières, l'arbre d'études a été enrichi. On y trouve toutes les frontières créées, identifiées par leur nom, avec la possibilité de les éditer.
 
 .. image:: images/create_boundary_1.png
index 0da927c6b74a8720a9464dae7e0beaa964a8f945..da6fe33a47b0f25e69476a343ddbf34cd08c1c72 100644 (file)
@@ -121,8 +121,6 @@ Le dernier choix porte sur une sortie suppl
 .. image:: images/create_hypothese_av_1.png
    :align: center
 
-.. index:: single: arbre d'étude
-
 L'arbre d'étude
 ***************
 .. index:: single: arbre d'étude
index 0a166313eedd8ae775382a36b41c6e417079abec..6434ece4433e66fa267146e7733a52ddb2c346fe 100644 (file)
@@ -63,10 +63,10 @@ Ensuite, si une hypoth
 .. note::
   Si on envisage une adaptation selon les valeurs d'un champ sur le maillage, il faut avoir renseigné les informations sur ce champ avant de créer une nouvelle hypothèse.
 
-.. index:: single: arbre d'étude
-
 L'arbre d'étude
 ***************
+.. index:: single: arbre d'étude
+
 A l'issue de cette création d'itération, l'arbre d'études a été enrichi. On y trouve l'itération initiale, identifiée par le nom du maillage qui a été lu dans le fichier fourni, l'itération courante, identifiée par son nom. On trouve aussi l'hypothèse qui lui est attachée. L'icône en regard de l'itération permet de différencier les itérations calculées ou non.
 
 .. image:: images/create_iteration_6.png
index 2272377f6fdd6417ebfb06fa3822bdb9769388d3..8f230c17d6cecf6ade61505b72a71f462cb0ea49 100644 (file)
@@ -83,6 +83,61 @@ L'option par d
 
 L'option 'variable' est inactive aujourd'hui.
 
+Enregistrement du schéma
+************************
+Par défaut, le schéma produit est écrit dans le fichier `schema.xml` dans le répertoire lié au cas qui en est le support. Si on a détruit le fichier, on peut le recréer en activant le fonction "Ecrire le fichier" à la souris.
+
+L'arbre d'étude
+***************
+.. index:: single: arbre d'étude
+
+A l'issue de cette création de schéma, l'arbre d'études a été enrichi. On y trouve tous les schémas créés, identifiés par leur nom, avec la possibilité de les éditer. Sous chaque référence de schéma, on trouve le lien avec le cas qui en est le support ainsi que le fichier `xml` qui a été créé. On peut lire ce fichier.
+
+.. image:: images/create_yacs_1.png
+   :align: center
+
 Méthodes python correspondantes
 *******************************
 Consulter :ref:`tui_create_yacs`
+
+Utilisation du schéma
+#####################
+
+Le schéma produit par cette saisie est directement importable dans le module YCAS. Il peut se lancer sans modification. Dans ce cas, l'arrêt dans la boucle a lieu ainsi :
+
+- soit on a atteint le nombre maximal d'itérations dans la boucle d'alternance (calcul,adaptation) ;
+- soit le test de convergence sur la variable ``V_TEST`` est satisfait.
+
+Par défaut le nombre maximal d'itérations est fixé à 5 et le test de convergence est satisfait si la variable bouge de moins de 1 pour mille en valeur relative entre deux itérations successives. On peut évidemment modifier ces tests.
+
+Ces tests sont réalisés dans le noeud python "Analyse" du schéma, comme décrit dans :ref:`yacs`.
+
+Le nombre maximal d'itérations est modifiable par la variable `NbCalcMax` :
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 111-113
+
+La valeur de test est stockée dans une liste au fur et à mesure des passages :
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 137-141
+
+et le test a lieu à partir du deuxième passage :
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 143-148
+
+Si on veut remplacer ce test par un autre, c'est ici qu'il faut le faire. Il faut simplement conserver le contenu produit à la convergence pour assurer la bonne marche de la suite du schéma :
+
+.. literalinclude:: ../files/yacs_01.fr.xml
+   :lines: 146-148
+
+Exemples
+########
+.. index:: single: Code_Aster
+
+Un mode d'emploi associé à la création de schéma avec Code_Aster est disponible en consultant : :ref:`gui_create_yacs_aster`.
+
+
+
+
diff --git a/doc/fr/gui_create_yacs_aster.rst b/doc/fr/gui_create_yacs_aster.rst
new file mode 100644 (file)
index 0000000..1590441
--- /dev/null
@@ -0,0 +1,65 @@
+.. _gui_create_yacs_aster:
+
+Un schéma YACS pour Code_Aster
+##############################
+.. index:: single: YACS
+.. index:: single: Code_Aster
+
+Dans le cas où le schéma implique un couplage entre Code_Aster et HOMARD, une façon de faire est décrite ici.
+
+Préalable
+*********
+La création automatique du schéma va se faire en trois phases :
+
+- Au départ, il faut avoir fait un calcul sur un tout premier maillage. Ce calcul aura produit des résultats dans un fichier MED.
+- Ensuite, on crée un cas dans le module HOMARD, tel qu'il est décrit dans :ref:`gui_create_case`. Dans ce cas, on crée une itération suivante du maillage en définissant une hypothèse d'adaptation ; voir :ref:`gui_create_iteration`.
+- Enfin, de ce cas, on va créer le schéma qui se basera sur l'hypothèse d'adapation définie.
+
+
+.. image:: images/create_yacs_01.png
+   :align: center
+   :alt: yacs - création
+   :width: 551
+   :height: 295
+
+Nom du schéma
+*************
+Un nom de schéma est proposé automatiquement : YACS_1, YACS_2, etc. Ce nom peut être modifié. Il ne doit pas avoir été déjà utilisé pour un autre schéma.
+
+Le script
+*********
+
+Le fichier contenant le script qui permet de lancer le calcul lié à la modélisation physique est fourni ici. C'est un script python qui doit respecter les règles suivantes :
+
+- le nom de la classe qui gère le calcul est ``Script``
+- le lancement du calcul se fait par la méthode ``Compute()``
+- le résultat du calcul est sous la forme de trois variables : le code d'erreur, un message, un dictionnaire python.
+
+S'ils sont nécessaires à la création de la classe, on peut passer des arguments sous la forme :
+
+- ``--rep_calc=rep_calc``, où ``rep_calc`` est le répertoire de calcul
+- ``--num=num``, où ``num`` est le numéro du calcul  : 0 pour le tout premier, puis 1, 2 etc.
+- ``--mesh_file=meshfile``, où ``meshfile`` est le fichier contenant le maillage sur lequel calculer.
+- ``-v``, pour des messages
+
+Les arguments de retour :
+
+- ``erreur`` : le code d'erreur, entier : 0 si le calcul est correct, non nul sinon
+- ``message`` : un éventuel message d'information sur le calcul
+- ``dico_resu`` : un dictionnaire python qui comprend a minima les deux clés suivantes : ``FileName`` est la clé pour le nom du fichier MED qui contient les résultats du calcul, ``V_TEST`` est la clé pour la valeur réelle à tester.
+
+
+
+Exemple d'usage du script :
+::
+
+    argu = ["--rep_calc=" + rep_calc)]
+    argu.append("--num=%d" % numCalc)
+    argu.append("--mesh_file="  + MeshFile)
+    Script_A = Script(argu)
+    erreur, message, dico_resu = Script_A.compute ()
+
+.. note::
+
+  * Pour piloter Code_Aster : :download:`ScriptAster<../files/yacs_script.py>`
+
index 0aefd666cf650b360344f8db4f6c70c968a588a2..0084ec96173dd026f405f6d6b110cc0b1b6c3b5f 100644 (file)
@@ -95,6 +95,16 @@ Le disque avec trou est obligatoirement dans le plan des axes de coordonn
    :align: center
 
 
+L'arbre d'étude
+***************
+.. index:: single: arbre d'étude
+
+A l'issue de cette création de zone, l'arbre d'études a été enrichi. On y trouve toutes les zones créées, identifiées par leur nom, avec la possibilité de les éditer.
+
+.. image:: images/create_zone_01.png
+   :align: center
+   :alt: zone - arbre d'études
+
 
 Méthodes python correspondantes
 *******************************
index a860429fd553067866ddebc75c815ee31f6dd890..66001c436f0e132da8946d7ad6f60e9156c2b068 100644 (file)
@@ -47,3 +47,5 @@ Le module HOMARD propose la cr
    :maxdepth: 2
 
    gui_create_yacs
+   gui_create_yacs_aster
+
diff --git a/doc/fr/images/create_yacs_1.png b/doc/fr/images/create_yacs_1.png
new file mode 100644 (file)
index 0000000..7450f9b
Binary files /dev/null and b/doc/fr/images/create_yacs_1.png differ
diff --git a/doc/fr/images/create_zone_01.png b/doc/fr/images/create_zone_01.png
new file mode 100644 (file)
index 0000000..ce012ad
Binary files /dev/null and b/doc/fr/images/create_zone_01.png differ
index 225451024d1482d583c560c2df4aa8ffe702d600..81b2c425ef8468826af7b9340033913e677c6798 100644 (file)
@@ -105,13 +105,20 @@ Informations sur le sch
 | **GetName()**                                                 |
 |     Retourne le nom du schéma                                 |
 +---------------------------------------------------------------+
+| .. module:: SetType                                           |
+|                                                               |
+| **SetType(Type)**                                             |
+|     Définit le type de schéma.                                |
+|                                                               |
+|     - ``Type`` : le type de schéma                            |
+|                                                               |
+|         * 1 : constant                                        |
+|         * 2 : variable                                        |
++---------------------------------------------------------------+
 | .. module:: GetType                                           |
 |                                                               |
 | **GetType()**                                                 |
 |     Retourne le type du schéma                                |
-|                                                               |
-|         * 1 : statique                                        |
-|         * 2 : transitoire                                     |
 +---------------------------------------------------------------+
 | .. module:: SetScriptFile                                     |
 |                                                               |
index e91f8ba97bbd9b3b2683c55dd98d831978f6b296..2f51983bbe114ae740b9b6459c403c1ccf35ab1f 100644 (file)
@@ -6,7 +6,7 @@ YACS
 
 L'utilisation de schémas YACS va permettre de coupler un calcul et une adaptation comme il est décrit dans :ref:`intro`. Ce couplage peut être répété au sein d'une boucle jusqu'à l'obtention d'un critère de convergence par exemple. Il existe de nombreuses façons de programmer un schéma YACS. La solution proposée ici fonctionne mais on peut très bien faire autrement !
 
-On trouvera ici la description exhaustive d'un schéma YACS pour un calcul statique.
+On trouvera ici la description exhaustive d'un schéma YACS.
 
 .. note::
   Le module HOMARD propose une création automatique de schéma YASC à partir d'un cas précédemment créé. Pour la mettre en oeuvre, consulter :ref:`gui_create_yacs`