Atom topic feed | site map | contact | login | Protection des données personnelles | Powered by FluxBB | réalisation artaban
You are not logged in.
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
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
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
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.
失敗は成功のもと (L'échec est la base de la réussite)
Offline