From ba14a0351e1afaea289f6e17e96e7dbdeadb73a8 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 21 Oct 2013 15:51:10 +0000 Subject: [PATCH] interpolation des champs --- doc/en/tui_create_hypothese.rst | 106 ++++++++++++++++++++++++++--- doc/en/tui_create_iteration.rst | 43 +++++++++++- doc/fr/tui_create_hypothese.rst | 115 +++++++++++++++++++++++++++++--- doc/fr/tui_create_iteration.rst | 41 ++++++++++++ doc/fr/tui_create_zone.rst | 2 - 5 files changed, 282 insertions(+), 25 deletions(-) diff --git a/doc/en/tui_create_hypothese.rst b/doc/en/tui_create_hypothese.rst index 146187a7..957eadf7 100644 --- a/doc/en/tui_create_hypothese.rst +++ b/doc/en/tui_create_hypothese.rst @@ -99,30 +99,30 @@ General methods | * other value: problem | +---------------------------------------------------------------+ -The field and the thresholds -============================ +The driving field and the thresholds +==================================== +---------------------------------------------------------------+ +---------------------------------------------------------------+ | .. module:: SetField | | | -| **SetField(field_name)** | -| Gives the name of a field to the hypothesis | +| **SetField(FieldName)** | +| Gives the name of a driving field to the hypothesis | | | -| - ``field_name``: the name of the field | +| - ``FieldName``: the name of the driving field | +---------------------------------------------------------------+ | .. module:: GetFieldName | | | | **GetFieldName()** | -| Returns the name of the field | +| Returns the name of the driving field | +---------------------------------------------------------------+ | .. module:: SetUseField | | | | **SetUseField(use_field)** | -| Gives the usage of the field for the hypothesis | +| Gives the usage of the driving field | | | -| - ``use_field``: integer that defines how the field is | -| used | +| - ``use_field``: integer that defines how the driving | +| field is used | | | | * 0: value by element (default) | | * 1: jump between an element and its neighbours | @@ -171,8 +171,8 @@ The field and the thresholds +---------------------------------------------------------------+ -The components of the field -=========================== +The components of the driving field +=================================== +---------------------------------------------------------------+ +---------------------------------------------------------------+ @@ -236,6 +236,7 @@ The zones | | | **GetZones()** | | Returns the list of the used zones with their uses | +| | | Warning: the use is stored as a string in the list and | | not as an integer. | | | @@ -274,6 +275,87 @@ The filtering by the groups | filtering | +---------------------------------------------------------------+ +Interpolation of fields +======================= + ++---------------------------------------------------------------+ ++---------------------------------------------------------------+ +| .. module:: SetTypeFieldInterp | +| | +| **SetTypeFieldInterp(typefieldinterp)** | +| | +| - ``typefieldinterp``: integer that defines if some fields| +| are interpolated or not | +| | +| * 0: no field (default) | +| * 1: every field is interpolated | +| * 2: some fields are interpolated; automatically set | +| after using AddFieldInterp or AddFieldInterpType | ++---------------------------------------------------------------+ +| .. module:: GetTypeFieldInterp | +| | +| **GetTypeFieldInterp()** | +| Returns the integer that defines if some fields are | +| interpolated or not | ++---------------------------------------------------------------+ +| .. module:: AddFieldInterp | +| | +| **AddFieldInterp(FieldName)** | +| | +| - ``FieldName``: the name of the field to interpolate | +| | +| The interpolation type is automatically deduced by | +| HOMARD; it corresponds to the type 0 of AddFieldInterpType| ++---------------------------------------------------------------+ +| .. module:: AddFieldInterpType | +| | +| **AddFieldInterpType(FieldName, type_interp)** | +| | +| - ``FieldName``: the name of the field to interpolate | +| - ``type_interp``: integer that defines the type of | +| interpolation | +| | +| For a field over the nodes: | +| | +| * 0: the field will be interpolated in degree 1 or 2 | +| depending on its baseframe. | +| * 1: interpolation en degree 1 | +| * 2: interpolation en degree 2 | +| * 3: interpolation iso-P2 | +| | +| For a field over the elements: | +| | +| * 0: the field will be interpolated as an intensive | +| variable | +| * 1: the field will be interpolated as an extensive | +| variable | ++---------------------------------------------------------------+ +| .. module:: GetFieldInterps | +| | +| **GetFieldInterps()** | +| Returns the list of the interpolated fields with their use| +| | +| Warning: the use is stored as a string in the list and | +| not as an integer. | +| | +| Example: ['DEPL', '0', 'Mass', '1', 'Density', '0'] | ++---------------------------------------------------------------+ +| .. module:: SupprFieldInterp | +| | +| **SupprFieldInterp(FieldName)** | +| Eliminates a field from the hypothesis | +| | +| - ``FieldName``: name of a field to eliminate | ++---------------------------------------------------------------+ +| .. module:: SupprFieldInterps | +| | +| **SupprFieldInterps()** | +| Eliminates all the fields from the hypothesis | ++---------------------------------------------------------------+ + +.. note:: + The file and the time steps for the fiels are defined with the iteration; see :ref:`tui_create_iteration`. + Advanced options ================ @@ -352,6 +434,8 @@ The creation of the object hypo_1 is done as follows: hypo_1.AddComp("INDX") hypo_1.AddComp("INDZ") hypo_1.SetRefinThr(1, 80.) + hypo_1.AddFieldInterp("DEPL") + hypo_1.AddFieldInterpType("MASS", 1) Similar graphical input diff --git a/doc/en/tui_create_iteration.rst b/doc/en/tui_create_iteration.rst index d75c4cb9..c424f047 100644 --- a/doc/en/tui_create_iteration.rst +++ b/doc/en/tui_create_iteration.rst @@ -284,6 +284,47 @@ If no time step is defined for the field or if a single time step is defined for | Returns the selected rank for the driving field | +---------------------------------------------------------------+ +The time steps for the fields to interpolate +-------------------------------------------- + +The choice of the fields to interpolated are defined in the hypothesis (see :ref:`tui_create_hypothese`). +For a given field, if nothing is declared, every single time step will be considered. +If some time steps are wanted, they must be defined as follows. + ++---------------------------------------------------------------+ ++---------------------------------------------------------------+ +| .. module:: SetFieldInterpTimeStep | +| | +| **SetFieldInterpTimeStep(FieldName, TimeStep)** | +| Defines the time step for the interpolation of the field. | +| The rank will be ignored. | +| | +| - ``FieldName``: the name of the field to interpolate | +| - ``TimeStep``: the selected time step | ++---------------------------------------------------------------+ +| .. module:: SetFieldInterpTimeStepRank | +| | +| **SetFieldInterpTimeStepRank(FieldName, TimeStep)** | +| Defines the time step and the rank for the interpolation | +| of the field. | +| | +| - ``FieldName``: the name of the field to interpolate | +| - ``TimeStep``: the selected time step | +| - ``Rank``: the selected rank | ++---------------------------------------------------------------+ +| .. module:: GetFieldInterpsTimeStepRank | +| | +| **GetFieldInterpsTimeStepRank()** | +| Returns the information (name of the field, time step, | +| rank) | +| | +| Warning: the time step and the rank are stored as strings | +| in the list and not as integers. | +| | +| Example: ['DEPL', '1', '1', 'DEPL', '2', '1', 'Mass', | +| '2', '0', 'Mass', '3', '0'] | ++---------------------------------------------------------------+ + Miscellenaous ============= @@ -294,7 +335,7 @@ Miscellenaous | **SetInfoCompute(MessInfo)** | | Defines options to track the computation of the iteration | | | -| - ``MessInfo`` : integer that drives prints, as a multiple| +| - ``MessInfo``: integer that drives prints, as a multiple | | of 2, 3 and 5 | | | | * 1 : nothing (default) | diff --git a/doc/fr/tui_create_hypothese.rst b/doc/fr/tui_create_hypothese.rst index f05480ca..2b5d0303 100644 --- a/doc/fr/tui_create_hypothese.rst +++ b/doc/fr/tui_create_hypothese.rst @@ -33,7 +33,14 @@ M | | | **GetAllHypothesesName()** | | Retourne la liste des noms de toutes les hypothèses créées| ++---------------------------------------------------------------+ +| .. module:: GetZone | +| | +| **GetZone(zone_name)** | +| Retourne l'instance de la classe ``zone`` connue par | +| son nom | | | +| - ``zone_name`` : le nom de la zone | +---------------------------------------------------------------+ Méthodes de la classe hypothese @@ -96,27 +103,27 @@ G | * autre valeur : problème | +---------------------------------------------------------------+ -Le champ et les seuils -====================== +Le champ de pilotage de l'adaptation et les seuils +================================================== +---------------------------------------------------------------+ +---------------------------------------------------------------+ | .. module:: SetField | | | -| **SetField(field_name)** | -| Attribue un nom de champ à l'hypothèse | +| **SetField(FieldName)** | +| Attribue un nom de champ de pilotage à l'hypothèse | | | -| - ``field_name`` : le nom du champ | +| - ``FieldName`` : le nom du champ de pilotage | +---------------------------------------------------------------+ | .. module:: GetFieldName | | | | **GetFieldName()** | -| Retourne le nom du champ | +| Retourne le nom du champ de pilotage | +---------------------------------------------------------------+ | .. module:: SetUseField | | | | **SetUseField(use_field)** | -| Attribue un mode d'usage du champ à l'hypothèse | +| Attribue un mode d'usage du champ de pilotage | | | | - ``use_field`` : entier précisant l'usage du champ | | | @@ -166,15 +173,15 @@ Le champ et les seuils +---------------------------------------------------------------+ -Les composantes du champ -======================== +Les composantes du champ de pilotage +==================================== +---------------------------------------------------------------+ +---------------------------------------------------------------+ | .. module:: AddComp | | | | **AddComp(comp_name)** | -| Ajoute une composante du champ à considérer | +| Ajoute une composante du champ de pilotage à considérer | | | | - ``comp_name`` : nom d'une composante à prendre en | | compte | @@ -231,7 +238,8 @@ Les zones | | | **GetZones()** | | Retourne la liste des zones utilisées avec leur usage. | -| Attention, l'usage est stocké sous forme de chaîne de | +| | +| Attention : l'usage est stocké sous forme de chaîne de | | caractères et non pas d'entier dans la liste. | | | | Exemple : ['Zone_A', '1', 'Zone_B', '1', 'Zone_C', '1'] | @@ -268,6 +276,89 @@ Le filtrage par les groupes | Retourne la liste des groupes utilisés pour le filtrage | +---------------------------------------------------------------+ + +Les champs à interpoler +======================= + ++---------------------------------------------------------------+ ++---------------------------------------------------------------+ +| .. module:: SetTypeFieldInterp | +| | +| **SetTypeFieldInterp(typefieldinterp)** | +| | +| - ``typefieldinterp`` : entier précisant si des champs | +| sont a interpoler | +| | +| * 0 : aucun champ n'est à interpoler (défaut) | +| * 1 : tous les champs sont interpolés | +| * 2 : certains champs sont interpolés ; implicitement | +| affecté après usage de AddFieldInterp ou | +| AddFieldInterpType | ++---------------------------------------------------------------+ +| .. module:: GetTypeFieldInterp | +| | +| **GetTypeFieldInterp()** | +| Retourne l'entier précisant si des champs sont à | +| interpoler | ++---------------------------------------------------------------+ +| .. module:: AddFieldInterp | +| | +| **AddFieldInterp(FieldName)** | +| | +| - ``FieldName`` : le nom du champ à interpoler | +| | +| Le mode d'interpolation sera choisi automatiquement par | +| HOMARD ; cela correspond au mode 0 de AddFieldInterpType | ++---------------------------------------------------------------+ +| .. module:: AddFieldInterpType | +| | +| **AddFieldInterpType(FieldName, type_interp)** | +| | +| - ``FieldName`` : le nom du champ à interpoler | +| - ``type_interp`` : entier précisant le type | +| d'interpolation du champ | +| | +| Pour un champ aux noeuds : | +| | +| * 0 : le champ sera interpolé en degré 1 ou 2 selon | +| son support. | +| * 1 : interpolation en degré 1 | +| * 2 : interpolation en degré 2 | +| * 3 : interpolation iso-P2 | +| | +| Pour un champ aux éléments : | +| | +| * 0 : le champ sera interpolé en le considérant comme | +| une variable intensive. | +| * 1 : le champ sera interpolé en le considérant comme | +| une variable extensive. | ++---------------------------------------------------------------+ +| .. module:: GetFieldInterps | +| | +| **GetFieldInterps()** | +| Retourne la liste des champs à interoler avec leur usage. | +| | +| Attention : l'usage est stocké sous forme de chaîne de | +| caractères et non pas d'entier dans la liste. | +| | +| Exemple : ['DEPL', '0', 'Masse', '1', 'Densite', '0'] | ++---------------------------------------------------------------+ +| .. module:: SupprFieldInterp | +| | +| **SupprFieldInterp(FieldName)** | +| Supprime un champ à interpoler de l'hypothèse | +| | +| - ``FieldName`` : nom du champ à supprimer | ++---------------------------------------------------------------+ +| .. module:: SupprFieldInterps | +| | +| **SupprFieldInterps()** | +| Supprime tous les champs à interpoler de l'hypothèse | ++---------------------------------------------------------------+ + +.. note:: + Le fichier et les instants où sont pris les champs sont définis dans l'itération ; voir :ref:`tui_create_iteration`. + Les options avancées ==================== @@ -344,6 +435,8 @@ La cr hypo_1.AddComp("INDX") hypo_1.AddComp("INDZ") hypo_1.SetRefinThr(1, 80.) + hypo_1.AddFieldInterp("DEPL") + hypo_1.AddFieldInterpType("MASSE", 1) Saisie graphique correspondante diff --git a/doc/fr/tui_create_iteration.rst b/doc/fr/tui_create_iteration.rst index d8b87619..fce47b00 100644 --- a/doc/fr/tui_create_iteration.rst +++ b/doc/fr/tui_create_iteration.rst @@ -281,6 +281,47 @@ Si une seule occurence du champ de pilotage de l'adaptation est pr | pilotage | +---------------------------------------------------------------+ +Les instants pour les champs à interpoler +----------------------------------------- + +Les champs à interpoler sont définis dans l'hypothèse (voir :ref:`tui_create_hypothese`). +Pour un champ donné, si aucune mention de pas de temps n'est précisé, tous les pas de temps seront pris en compte. +Si on souhaite limiter l'interpolation à un ou plusieurs pas de temps, il faut le préciser ici. + ++---------------------------------------------------------------+ ++---------------------------------------------------------------+ +| .. module:: SetFieldInterpTimeStep | +| | +| **SetFieldInterpTimeStep(FieldName, TimeStep)** | +| Définit un instant pour le champ à interpoler. Le numéro | +| d'ordre sera ignoré. | +| | +| - ``FieldName`` : le nom du champ à interpoler | +| - ``TimeStep`` : l'instant où est pris le champ | ++---------------------------------------------------------------+ +| .. module:: SetFieldInterpTimeStepRank | +| | +| **SetFieldInterpTimeStepRank(FieldName, TimeStep)** | +| Définit l'instant et le numéro d'ordre pour le champ à | +| interpoler. | +| | +| - ``FieldName`` : le nom du champ à interpoler | +| - ``TimeStep`` : l'instant où est pris le champ | +| - ``Rank`` : le numéro d'ordre où est pris le champ | ++---------------------------------------------------------------+ +| .. module:: GetFieldInterpsTimeStepRank | +| | +| **GetFieldInterpsTimeStepRank()** | +| Retourne l'ensemble des triplets (nom du champ, pas de | +| temps, numéro d'ordre) | +| | +| Attention : l'usage est stocké sous forme de chaîne de | +| caractères et non pas d'entier dans la liste. | +| | +| Exemple : ['DEPL', '1', '1', 'DEPL', '2', '1', 'Masse', | +| '2', '0', 'Masse', '3', '0'] | ++---------------------------------------------------------------+ + Divers ====== diff --git a/doc/fr/tui_create_zone.rst b/doc/fr/tui_create_zone.rst index 57e4d884..d622cbe3 100644 --- a/doc/fr/tui_create_zone.rst +++ b/doc/fr/tui_create_zone.rst @@ -123,8 +123,6 @@ Ces m maillage est 2D, dans un des plans de coordonnées. - - +---------------------------------------------------------------+ +---------------------------------------------------------------+ | .. module:: GetZone | -- 2.39.2