2. Structure#
2.1. Étapes#
La macro-commande CALC_EUROPLEXUS se décompose en trois principales étapes:
lecture des données d’entrée et traduction;
lancement du calcul EPX;
récupération et mise en forme des résultats.
Lors de l’ajout d’une fonctionnalité les deux étapes concernées sont 1) et 3).
2.1.1. Lecture des données et traduction#
Cette étape correspond exactement à l’utilisation de CALC_EUROPLEXUS avec LANCEMENT=”NON”. Elle produit le fichier de commande EPX et le maillage MED (comportant éventuellement un état initial).
Modules dédiés
Le corps de la macro (calc_europlexus_ops.py) traite successivement les différentes entrées (modèle, caractéristiques élémentaires, comportement et matériaux, chargements, …). Dans la plupart des cas, les traitements effectifs sont faits dans des modules python dédiés. Ces modules se trouvent dans le répertoire Calc_epx/.
calc_epx_geom.py |
Traitement du modèle |
calc_epx_mate.py |
Traitement des matériaux et comportements |
calc_epx_cara.py |
Traitement des caractéristiques élémentaires |
calc_epx_char.py |
Traitement des chargements |
calc_epx_poutre.py |
Traitement spécial des orientations des poutres et discrets |
Écriture du fichier de commande
Le fichier de commande EPX est un fichier texte fonctionnant par mot-clé de quatre caractères. Il possède une structure assez régulière (bien que de nombreuses exceptions existent). Le module calc_epx_struc.py a été créé pour uniformiser au maximum la mise en donnée EPX en cherchant les plus petites unités régulières possibles pour remonter jusqu’aux directives (mots-clés principaux). Différents objets ont été créés pour faciliter le développement de la macro et produire un fichier de commande lisible et structuré.
2.1.2. Récupération et mise en forme des résultats#
Les résultats issus d’EPX sont contenus dans un fichier MED. La lecture de ce fichier et la mise en forme des résultats dans un objet evol_noli est faite par une seconde macro-commande: LIRE_EUROPLEXUS appelée par CALC_EUROPLEXUS. On précise toutefois que cette macro-commande peut être appelée de manière indépendante de CALC_EUROPLEXUS.
2.2. Catalogue de traduction#
Le catalogue de traduction (calc_epx_cata.py) est le module central de CALC_EUROPLEXUS et LIRE_EUROPLEXUS du point de vue d’un développeur souhaitant ajouter une fonctionnalité. C’est dans ce fichier que sont détaillées toutes les fonctionnalités autorisées ainsi que leur traduction EPX (dans la mesure du possible).
L’ajout de toute fonctionnalité commence donc par l’édition de ce fichier.