.. image:: ../images/intro_2.png
:align: center
-Some variations may exist. If no error indicator is available, another filed can be used to drive the adaptation. A stress field in mechanics can be used: the refinement of the elements where the stress is high is often efficient to improve the quality of the results. It is also possible to drive the adaptation according the variation of a filed from one element to its neighbours. The refinement can be filtered by zones or groups of elements.
+Some variations may exist. If no error indicator is available, another field can be used to drive the adaptation. A stress field in mechanics can be used: the refinement of the elements where the stress is high is often efficient to improve the quality of the results. It is also possible to drive the adaptation according the variation of a field from one element to its neighbours. The refinement can be filtered by zones or groups of elements.
.. note::
For a extensive description of HOMARD, see :download:`Description of HOMARD <../files/HOMARD_0.pdf>`.
| - ``conf_type``: integer as follows: |
| |
| * 1: conformal |
+| * -1: conformal with boxes |
| * 2: non conformal with one hanging node per element |
| * 3: non conformal with one hanging node per edge of |
| element |
Information about the field
===========================
+The file of the fields
+----------------------
+
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| .. module:: SetFieldFile |
| |
| **SetFieldFile(field_file)** |
-| Defines the MED file of the field |
+| Defines the MED file of the fields |
| |
-| - ``field_file``: the name of the MED file of the field |
+| - ``field_file``: the name of the MED file of the fields: |
+| the driving field for the adaptation, or the fields to |
+| be interpolated |
+---------------------------------------------------------------+
-| .. module:: SetTimeStepRank |
+| .. module:: GetFieldFileName |
| |
-| **SetTimeStepRank(TimeStep, Rank)** |
-| Defines the time steps for the fields |
+| **GetFieldFileName()** |
+| Returns the name of the MED file of the fields |
++---------------------------------------------------------------+
+
+The time step for the driving field
+-----------------------------------
+
+If no time step is defined for the field or if a single time step is defined for the field, the definition of a time step is useless. That will be the default choice.
+
++---------------------------------------------------------------+
++---------------------------------------------------------------+
+| .. module:: SetTimeStep |
+| |
+| **SetTimeStep(TimeStep)** |
+| Defines the time step for the driving field for the |
+| adaptation. The rank will be ignored. |
| |
-| Useless if no time step is defined for the field. |
+| - ``TimeStep``: the selected time step |
++---------------------------------------------------------------+
+| .. module:: SetTimeStepRank |
| |
-| If a single time step is defined for the filed, it is the |
-| default choice. |
+| **SetTimeStepRank(TimeStep, Rank)** |
+| Defines the time step and the rank for the driving field |
+| for the adaptation |
| |
| - ``TimeStep``: the selected time step |
| - ``Rank``: the selected rank |
| .. module:: SetTimeStepRankLast |
| |
| **SetTimeStepRankLast()** |
-| The last time step will be used, whatever its value |
-+---------------------------------------------------------------+
-| .. module:: GetFieldFileName |
-| |
-| **GetFieldFileName()** |
-| Returns the name of the MED file of the field |
+| The last time step will be used for the driving field for |
+| the adaptation, whatever its value |
+---------------------------------------------------------------+
| .. module:: GetTimeStep |
| |
| **GetTimeStep()** |
-| Returns the selected time step for the field |
+| Returns the selected time step for the driving field |
+---------------------------------------------------------------+
| .. module:: GetRank |
| |
| **GetRank()** |
-| Returns the selected rank for the field |
+| Returns the selected rank for the driving field |
+---------------------------------------------------------------+
Miscellenaous
| - ``conf_type`` : entier précisant le mode de conformité |
| |
| * 1 : conforme |
+| * -1 : conforme avec des boites |
| * 2 : non conforme avec 1 noeud par maille |
| * 3 : non conforme avec 1 noeud par arete de maille |
| * 4 : non conforme quelconque |
| - ``Inte`` : interpénétration des mailles, par dimension |
+---------------------------------------------------------------+
-Informations sur le champ
-=========================
+Informations sur les champs
+===========================
+
+Le fichier des champs
+---------------------
+---------------------------------------------------------------+
+---------------------------------------------------------------+
| **SetFieldFile(field_file)** |
| Définit le fichier MED des champs utiles |
| |
-| - ``field_file`` : le nom du fichier MED contenant le |
-| champ |
+| - ``field_file`` : le nom du fichier MED contenant les |
+| champs : champ de pilotage de l'adaptation ou champs |
+| à interpoler |
+---------------------------------------------------------------+
-| .. module:: SetTimeStepRank |
+| .. module:: GetFieldFileName |
| |
-| **SetTimeStepRank(TimeStep, Rank)** |
-| Définit les instants pour le champ |
+| **GetFieldFileName()** |
+| Retourne le nom du fichier MED des champs |
++---------------------------------------------------------------+
+
+Les instants pour le champ de pilotage
+--------------------------------------
+Si une seule occurence du champ de pilotage de l'adaptation est présente dans le fichier des champs, il est inutile de préciser le pas de temps. Sinon, il faut préciser quel pas de temps est retenu.
+
++---------------------------------------------------------------+
++---------------------------------------------------------------+
+| .. module:: SetTimeStep |
| |
-| Inutile si aucun instant n'est défini pour le champ |
+| **SetTimeStep(TimeStep)** |
+| Définit l'instant pour le champ de pilotage. Le numéro |
+| d'ordre sera ignoré. |
| |
-| Si un seul instant est défini pour le champ, il est pris |
-| par défaut. |
+| - ``TimeStep`` : l'instant où est pris le champ |
++---------------------------------------------------------------+
+| .. module:: SetTimeStepRank |
+| |
+| **SetTimeStepRank(TimeStep, Rank)** |
+| Définit l'instant et le numéro d'ordre pour le champ de |
+| pilotage |
| |
| - ``TimeStep`` : l'instant où est pris le champ |
| - ``Rank`` : le numéro d'ordre où est pris le champ |
| |
| **SetTimeStepRankLast()** |
| Précise que le dernier instant enregistré pour le champ |
-| est utilisé |
-+---------------------------------------------------------------+
-| .. module:: GetFieldFileName |
-| |
-| **GetFieldFileName()** |
-| Retourne le nom du fichier MED du champ |
+| de pilotage est utilisé |
+---------------------------------------------------------------+
| .. module:: GetTimeStep |
| |
| **GetTimeStep()** |
-| Retourne l'instant où est pris le champ |
+| Retourne l'instant où est pris le champ de pilotage |
+---------------------------------------------------------------+
| .. module:: GetRank |
| |
| **GetRank()** |
-| Retourne le numéro d'ordre où est pris le champ |
+| Retourne le numéro d'ordre où est pris le champ de |
+| pilotage |
+---------------------------------------------------------------+
Divers
Boucle_de_convergence
-===================================
+=====================
La boîte Boucle_de_convergence est une boucle de type WhileLoop. La condition est initialisée à 1 : le bloc interne Alternance_Calcul_HOMARD est exécuté. Au sein de ce bloc, on calcule et on adapte le maillage ; quand le processus doit s'arrêter soit par suite d'erreur, soit par convergence, la condition passe à 0. La boucle s'achève et on passe à la boîte suivante, Bilan.
.. image:: ../images/yacs_c_01.png