Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2017-01-03 12:00:58

nicoh
Member
Registered: 2012-04-26
Posts: 118

Batch Code_Aster, lancer plusieurs calculs

Bonjour à tous,

je souhaite définir une boucle de calculs avec Code_Aster en modifiant mon fichier de maillage en Python.
Mais je rencontre le problème suivant, lorsque je lance mon calcul, mon fichier de maillage .mail est chargé en mémoire via astk, et bien que je modifie le fichier en Python, le fichier chargé en mémoire reste le fichier initial.

Donc, comment puis-je effectuer ce type de calcul itératif en modifiant le maillage dans un seul et même .comm, en seul et même macro-calcul ?

D'avance, merci.

NH

Offline

#2 2017-01-16 21:57:48

sébastien meunier
Member
From: EDF Lab Les Renardières
Registered: 2007-12-02
Posts: 286

Re: Batch Code_Aster, lancer plusieurs calculs

Bonjour,

Cela me paraît difficile à première vue. Que voulez-vous faire au juste sur votre maillage ? Il existe une commande d'adaptation de maillages (macr_adap_mail) qui permet de raffiner/déraffiner facilement le maillage. Ne peut-elle pas vous convenir ?

Cordialement


Sébastien Meunier - EDF Lab Les Renardières

Offline

#3 2017-01-18 10:40:08

jlf
Member
Registered: 2007-11-22
Posts: 245

Re: Batch Code_Aster, lancer plusieurs calculs

Bonjour,

Peut-être qu'en allant voir "src/bibpyt/Utilitai/partition.py" et la "class MAIL_PY" cela va répondre à vos questions.
Cf explication dans le fichier
!!! dans l'exemple on fait  "from Utilitai.Partition" ce n'est pas un 'P' mais 'p'

# Pour charger le module dans le fichier de commande Aster (à faire une seule fois)
from Utilitai.partition import *

# On peut faire des choses comme cela
mail=LIRE_MAILLAGE()
mm = MAIL_PY() # initialisation de la classe
mm.FromAster(mail)
===> Accès en lecture et écriture dans des objets python
===> modification du maillage
# Écriture dans un fichier, et transfert dans l'espace Aster
# Si le nom du concept Aster doit rester "mail" il faut détruire le précédent
DETRUIRE(CONCEPT=_F(NOM=mail))
unite = mm.ToAster()
mail = LIRE_MAILLAGE(UNITE=unite)

Bonne continuation

Offline

#4 2020-05-11 08:14:01

konyaro
Member
From: Genève
Registered: 2016-04-02
Posts: 255

Re: Batch Code_Aster, lancer plusieurs calculs

Bonjour,
je n'arrive pas à lire le maillage créé avec ToAster(), j'obtiens l'erreur suivante:
"soit le fichier n'existe pas, soit c'est une mauvaise version de HDF (utilise par MED). "

Mon code est très simple:

DEBUT(PAR_LOT='NON', LANG='FR',)
from Utilitai import partition

mesh = LIRE_MAILLAGE(FORMAT='MED',
                       UNITE=2)

mesht = partition.MAIL_PY()
mesht.FromAster('mesh')
unite = mesht.ToAster()
mesh0 = LIRE_MAILLAGE(UNITE=unite)

FIN()

Toute aide est la bienvenue,

Konyaro

ps. ci-joint le fichier comm avec un maillage tout simple.


Attachments:
lire_maillage.zip, Size: 2.21 KiB, Downloads: 55

失敗は成功のもと (L'échec est la base de la réussite)

Offline