L’itération

Les variables sont décrites dans L’itération.

Méthodes de la classe homard

 
GetIteration(iter_name)

Retourne l’instance de la classe iteration connue par son nom

  • iter_name : le nom de l’itération
GetAllIterationsName()
Retourne la liste des noms de toutes les itérations créées

Méthodes communes aux classes cas et iteration

Voir également dans Le cas.

 
NextIteration(iter_name)

Retourne une instance de la classe iteration après sa création. Elle suit immédiatement :

  • pour un cas : l’itération initiale, correspondant au maillage définissant le cas
  • pour une itération : l’itération courante

Par défaut, le maillage produit a le même nom que l’itération

  • iter_name : le nom à donner à la nouvelle itération
LastIteration()

Retourne une instance de la classe iteration. C’est la dernière créée dans la descendance de :

  • pour un cas : l’itération initiale du cas
  • pour une itération : l’itération courante

C’est celle qui est sans fille. Il y a erreur s’il existe plus d’une branche dans la descendance.

Méthodes de la classe iteration

Généralités

 
Compute(option1, option2)

Calcule le maillage correspondant à l’itération

  • option1 : un entier précisant ce qui se passe quand des fichiers de résultats existent déjà

    • 0 : arrêt en erreur
    • 1 : écrasement des anciens fichiers
  • option2 : un entier précisant ce qui est fait des résultats

    • 1 : aucune action particulière
    • 2 : publication dans le module SMESH
Retourne un entier :
  • 0 : adaptation réussie
  • autre valeur : problème
GetName()
Retourne le nom de l’itération
GetNumber()

Retourne le numéro de l’itération.

L’itération 0 est celle associée au maillage initial. Ensuite, une itération de numéro N est issue de l’adaptation d’une itération de numéro N-1.

GetIterParent()
Retourne l’itération mère
AssociateHypo(hypo_name)

Associe une hypothèse à l’itération

  • hypo_name : le nom de l’hypothèse à associer
GetHypoName()
Retourne le nom de l’hypothèse associée
GetCaseName()
Retourne le nom du cas associé
GetState()

Retourne l’état de l’itération

  • 2 : itération calculée correctement
  • 1 : itération non calculée
  • <=0 : itération initiale à ne pas calculer, de numéro valant la valeur absolue de l’état
GetLogFile()
Retourne le nom du fichier retraçant le déroulement de l’exécution de HOMARD
GetFileInfo()
Retourne le nom du fichier contenant l’analyse du maillage
GetDirName()
Retourne le nom du répertoire des résutats associé à l’itération
Delete(option)

Detruit l’itération et toutes ses filles éventuelles.

  • option : un entier précisant ce qui est fait des fichiers de maillage associés

    • 0 : les fichiers sont conservés
    • 1 : les fichiers sont détruits
Retourne un entier :
  • 0 : destruction réussie
  • autre valeur : problème

Informations sur les maillages

 
SetMeshName(mesh_name)

Définit le nom du maillage produit

  • mesh_name : le nom du maillage produit
GetMeshName()
Retourne le nom du maillage produit
SetMeshFile(mesh_file)

Définit le fichier MED du maillage produit

  • mesh_file : le nom du fichier MED qui contiendra le maillage produit
GetMeshFile()
Retourne le nom du fichier MED du maillage produit
MeshInfo(Qual, Diam, Conn, Tail, Inte)

Donne des informations sur le maillage. Pour chaque option, le choix 0 correspond à ne rien faire, alors que le choix 1 active l’option.

  • Qual : qualité des mailles
  • Diam : diamètre des mailles
  • Conn : connexité du domaine ; en un seul morceau, combien de trous, etc.
  • Tail : tailles des constituants du domaine, groupe par groupe
  • Inte : interpénétration des mailles, par dimension

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 les champs : champ de pilotage de l’adaptation ou champs à interpoler
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.

 
SetTimeStep(TimeStep)

Définit l’instant pour le champ de pilotage. Le numéro d’ordre sera ignoré.

  • TimeStep : l’instant où est pris le champ
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 de pilotage est utilisé
GetTimeStep()
Retourne l’instant où est pris le champ de pilotage
GetRank()
Retourne le numéro d’ordre où est pris le champ de pilotage

Les instants pour les champs à interpoler

Les champs à interpoler sont définis dans l’hypothèse (voir L’hypothèse). 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.

 
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
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
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

 
SetInfoCompute(MessInfo)

Précise des options d’informations sur le déroulement du calcul de l’itération

  • MessInfo : entier pilotant des écritures, sous la forme d’un entier multiple de 2, 3 et 5

    • 1 : aucune écriture (défaut)
    • 2x : temps de calcul
    • 3x : fichiers MED
    • 5x : mémoire
GetInfoCompute()
Retourne les options d’informations sur le déroulement du calcul de l’itération

Exemple

Pour la création de la première itération, on part de celle qui correspond au maillage initial. C’est celle contenue dans le cas.

iter_name = "Iteration_1"
iter_1 = case_1.NextIteration(iter_name)
iter_1.SetField(field_file)
iter_1.SetTimeStepRank( 0, 0)
iter_1.SetMeshName("maill_01")
iter_1.SetMeshFile("/local00/M.01.med")
iter_1.AssociateHypo("HypoField")
codret = iter_1.Compute(1, 2)

Ensuite, on crée une itération suivante à l’itération parent de laquelle on part.

iter_name = "Iteration_2"
iter_2 = iter_1.NextIteration(iter_name)
iter_2.SetField(field_file)
iter_2.SetTimeStepRank( 1, 1)
iter_2.SetMeshName("maill_02")
iter_2.SetMeshFile("/local00/M.02.med")
iter_2.AssociateHypo("HypoField")
codret = iter_2.Compute(1, 2)

Saisie graphique correspondante

Consulter L’itération