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

You are not logged in.

#1 2017-01-31 15:40:33

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

[SOLVED] mfront and ssnl117b test case trouble

hello

trying to run the test case ssnl117b
i get the following error related to mfront

plasticity.so: cannot open shared object file: No such file or directory
   
   !-----------------------------------------------------------------!
   ! <F> <FERMETUR_13>                                               !
   !                                                                 !
   ! La bibliothèque MFRONT n'a pas pu être chargée.                 !
   !                                                                 !
   ! Nom de la bibliothèque : plasticity.so                          !
   !                                                                 !
   ! Conseil : Vérifiez que l'environnement est correctement défini, !
   !           notamment la variable LD_LIBRARY_PATH.                !
   !                                                                 !
   !                                                                 !
   ! Cette erreur est fatale. Le code s'arrête.                      !
   !-----------------------------------------------------------------!

what is the trouble?

jean pierre aubry

Last edited by jeanpierreaubry (2017-02-02 10:00:43)

Offline

#2 2017-01-31 17:07:58

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

rechercher l'emplacement de plasticity.so et faire LD_LIBRARY_PATH=/emplacement:$LD_LIBRARY_PATH en mode console

Last edited by bbd (2017-01-31 17:11:22)

Offline

#3 2017-01-31 18:18:20

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

oui je croyais avoir compris cela!
mais ce fichier n'existe nulle part il semble ne pas être crée
à l'éxécution,
par ces lignes dans le fichier .coom

os.system("mfront --obuild ssnl117b.mfront --interface=aster")
os.system("cp src/libAsterBehaviour.so plasticity.so")

Offline

#4 2017-02-01 11:43:49

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

en ligne de commande vous pouvez taper :
mfront --obuild --interface=aster ssnl117b.mfront
que se passe-t-il?

Offline

#5 2017-02-01 13:38:14

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Bonjour,

avez-vous rajouté dans ASTK le fichier .so ?

Vous pouvez également:
1) soit spécifier le chemin absolu vers la librairie
2) soit utiliser la variable LD_LIBRARY_PATH

Cordialement

Helfer Thomas

Offline

#6 2017-02-01 14:34:02

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

mieux vaut s'adresser à Dieu que ses saints. Merci Thomas

Offline

#7 2017-02-01 15:13:40

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

bonjour

et merci pour ses réponses
pour l'instant je partais des fichiers ssnl117b, .export compris

tout semble être rentré dans l'ordre il y avait une erreur d'affectation R au lieu de D pour le fichier ssnl117b.mfront

il reste quand même que je ne vois aucun fichier .so crée après le calcul,
est il détruit ?

le maniement de mfront dans Code_Aster est pour le moins mal documenté
est ce voulu ?

@bbd
je veux bien taper cette ligne de commande ?
dans une console ?
depuis quel répertoire ?
à ma connaissance mfront n'est pas une commande en dehors de l'environnement aster

jean pierre aubry

Offline

#8 2017-02-01 15:19:08

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

"à ma connaissance mfront n'est pas une commande en dehors de l'environnement aster"
si

dans le répertoire d'install de mfront par exemple ou avec un path adapté

Last edited by bbd (2017-02-01 15:19:48)

Offline

#9 2017-02-01 15:54:50

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

chez moi ça donne ceci

.....:/opt/aster133/public/mfront-2.0.3/bin$ ./mfront
./mfront: error while loading shared libraries: libMFrontLogStream.so: cannot open shared object file: No such file or directory

en supposant que cela fonctionne cela fait quoi
par rapport à l'appel depuis un fichier .comm
et ou se trouve le fichier qui devrait être crée ?

Offline

#10 2017-02-01 16:15:36

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

vous avez bien un fichier ssnl117b.mfront ? (fichier ascii comprenant les instructions de la loi de comportement dont le nom est spécifié après l'identificateur @Behaviour )
la commande compile la loi et créée la bibliothéque compatible code_aster si j'ai bien compris

Last edited by bbd (2017-02-01 16:17:47)

Offline

#11 2017-02-01 16:57:43

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

bonjour

thomas.helfer wrote:

Bonjour,

avez-vous rajouté dans ASTK le fichier .so ?

Vous pouvez également:
1) soit spécifier le chemin absolu vers la librairie
2) soit utiliser la variable LD_LIBRARY_PATH

Cordialement

Helfer Thomas

je ne comprends presque pas un mot de ce que vous voulez dire

pour l'instant je part des fichiers ssnl117b, .export compris

tout semble être rentré dans l'ordre il y avait une erreur d'affectation R au lieu de D pour le fichier ssnl117b.mfront

mais il reste que ce sujet est mal documenté
je n'aime pas ne pas comprendre ce que je fais !

jean pierre aubry

Last edited by jeanpierreaubry (2017-02-01 17:02:50)

Offline

#12 2017-02-01 17:10:18

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

j'essayais d'expliquer justement à quoi servait l'instruction mfront dans mon post.
Vous n'avez pas compris?
Je parle sous le contrôle de Thomas Helfer. J'ai compris que Mfront un frontal pour créer des lois de comportement pour divers code EF en utilisant un langage commun. Vous écrivez les lois désirées (en respectant la syntaxe propre à Mfront et l'organisation des données, variables etc. C'est le contenu du fichier ssnl117b dans votre cas). Ensuite vous compilez avec en option le choix de votre code EF et il génère automatiquement les bibliothèques compatibles que vous pouvez utiliser par la suite dans vos fichiers de commande (.comm)
Une des difficultés est d'indiquer à code_aster ou se trouvent les bibliothèques créées dans toute votre arborescence.
C'est plus clair ?
les instructions données par Thomas servent à résoudre ces difficultés de diverses manières. gestion des chemins dans astk ou directement via les variables d'environnement linux.

Last edited by bbd (2017-02-01 17:14:53)

Offline

#13 2017-02-01 17:21:12

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

pour moi rien n'est bien documenté
:-)
je ne m'y retrouve pas mieux dans code_aster même si la doc est sous assurance qualité d'après ce que j'ai compris.
c'est peut-etre rigoureux comme doc mais très très lourd à s'approprier du fait de la structure imbriquée et hierarchisée.
c'est pourquoi votre livre est utile. Rien de tel que d'apprendre par les études de cas.

Offline

#14 2017-02-01 18:00:43

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

sur le cas test qui semble fonctionner

je semble créer une bibliothéque nommée plasticity.so dans les premières lignes du fichier de commande

os.system("mfront --obuild --interface=aster ssnl117b.mfront")
os.system("cp src/libAsterBehaviour.so plasticity.so")

je l'appelle ensuite dans le STAT_NON_LINE

COMPORTEMENT=(
                         _F( GROUP_MA = 'BC',
                                RELATION='MFRONT',
                                NOM_ROUTINE='asterplasticity',
                                LIBRAIRIE='plasticity.so',

le problème se résout sans erreurs ni alarmes
il y a des résultats, excellents, c'est le moins que l'on puisse attendre d'un cas test

or après l'exécution du programme je ne trouve sur mon ordinateur aucune bibliothèque sous le nom de plastictity.so

c'est de la magie à laquelle je ne comprends rien
et je n'aime pas ne pas comprendre

petite remarque sur la doc
je n'ai pas trouvé que c'était beaucoup mieux avec Nastran ou Samcef dès qu'on sort des sentiers battus
mais dans ce cas précis Code_Aster est bien en dessous de ce qu'il fait d'habitude !

Last edited by jeanpierreaubry (2017-02-01 18:07:28)

Offline

#15 2017-02-01 18:12:08

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Bonjour,

pardon si je n'ai pas été assez clair.

Il faut comprendre comment fonctionne Code_Aster d'une part et le chargement des librairies générées par MFront d'autre part. Il y a ensuite des pratiques propres à chacun.

La première chose à savoir est que Code_Aster travaille dans un répertoire différent du répertoire courant: il copie donc tout les fichiers indiqués dans ASTK (et/ou dans le fichier export si vous le manipulez directement) dans son répertoire de travail.

Les instructions suivantes sont donc exécutées dans les répertoire de travail:

os.system("mfront --obuild ssnl117b.mfront --interface=aster")
os.system("cp src/libAsterBehaviour.so plasticity.so")

ce qui signifie que le fichier ssnl117b.mfront doit y être présent, c'est à dire qu'il faut le déclarer dans ASTK ou dans le fichier export avec la syntaxe ad hoc. La librairie générée par MFront lors de la première commande est ensuite renommée en plasticity.so.

Apparemment, la première ligne devait échouer dans votre cas puisque le fichier .mfront n'était visiblement pas copié dans le répertoire de travail.

Passons au chargement des librairies dynamiques (les .so) qui fonctionnent ainsi:
1) si l'on spécifie le chemin absolu vers la librairie, alors on sait où la trouver.
2) si l'on spécifie un chemin relatif, alors on commence par rechercher dans le répertoire courant, puis dans l'ensemble des répertoires listées dans  la variable d'environnement LD_LIBRARY_PATH, puis dans les répertoires système.

Est-ce plus clair ?

Cordialement,
Helfer Thomas

Offline

#16 2017-02-01 23:54:27

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Bonjour,

Suite à votre remarque sur l'absence de documentation, j'ai mis à jour la page du site concernant l'utilisation de MFront dans Code_Aster. J'espère que cela pourra vous aider. N'hésitez pas à me faire un retour.

http://tfel.sourceforge.net/aster.html

Cordialement,

Helfer Thomas

Offline

#17 2017-02-02 07:27:17

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

@thomas.helfer
merci

cette fois c'est assez clair
et comme j'aime comprendre ce que je fais

je connaissais ce fonctionnement de Code_Aster,
mes déclarations dans Astk étaient correctes
la première ligne se passait bien une fois la correction (faute de frappe) D en place de R faite
et le problème se résout correctement

je croyais que le fichier plasticity.so était crée de manière permanente et non dans le répertoire de travail

pour ce qui est du fonctionnement d'une bibliothèque .so c'est bien clair, et je savais cela aussi, mais il s'agit là des bibliothèque préexistantes dans $ASTER_ROOT/public/mfront+2.0.3/lib par exemple

maintenant une question concernant cette ligne de commande

mfront --obuild --interface=aster ssnl117b.mfront

depuis ou doit elle être exécutée ?
créée t elle la bibliothèque de manière permamente ?
qu'apporte t elle par rapport à la ligne en préambule  du fichier .comm

pour la doc je vais regarder cela

PS
je crois que la traduction correcte de  Library est bibliothèque et non librairie
stop à l'internet engliche !!

encore merci

jean pierre aubry

Offline

#18 2017-02-02 08:10:58

bbd
Member
From: Vandoeuvre, F
Registered: 2016-09-30
Posts: 189
Website

Re: [SOLVED] mfront and ssnl117b test case trouble

si vous parlez de la commande : os.system("mfront --obuild ssnl117b.mfront --interface=aster")
c'est la même chose.
os.system signifie exécuter une commande externe
je ne vois pas l'intérêt de la lancer à chaque calcul. Une fois que la bibliothèque est créée inutile de la recréer.
vous pouvez l’exécuter depuis le répertoire d'install de mfront
updatedb
locate mfront
ou créer un chemin qui vous dirige automatiquement vers ce répertoire.

Offline

#19 2017-02-02 09:03:19

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

@thomas.helfer
@bbd

ce document
http://tfel.sourceforge.net/aster.html
est excellent et répond à toute mes questions

en ce qui me concerne
je ne surcharge pratiquement jamais les variables globales *PATH
j'écris des scripts avec des chemins complets
c'est pourquoi j'aime bien savoir qui est qui et ou il habite
le document répond à cette question

merci

Offline

#20 2017-02-02 09:24:18

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Bonjour,

@jeanpierreaubry

Créer la bibliothèque dynamique (sorry for the frenglish smile) avant la simulation ou pendant la simulation (dans le .comm) est un choix de l'utilisateur. Les deux cas ont leurs avantages et inconvénients.

Pour ma part, je préfère créer mes bibliothèques matériau avant:

- on ne compile qu'une fois (peut-être un gros gain de temps)
- la correction d'erreur dans le fichier MFront est plus simple
- on peut tester sa loi hors Code_Aster, par exemple avec MTest sur point matériel, ce qui est très vivement conseillé quand on implémente ses propres lois.

Tout cela est décrit (demain hier) à la page:

http://tfel.sourceforge.net/aster.html

Pour les autres questions:

il reste quand même que je ne vois aucun fichier .so crée après le calcul,
est il détruit ?

Oui. Code_Aster travaille dans une répertoire temporaire qui est détruit après le calcul. La commande mfront lancée depuis le fichier .comm (os.system....) est exécutée dans ce répertoire et les bibliothèques seront générées dans ce répertoire.

le maniement de mfront dans Code_Aster est pour le moins mal documenté
est ce voulu ?

Non, ce n'est pas voulu smile

Avec Jean-Michel Proix, nous avons écrit le tutoriel qui décrit comment écrire une loi MFront et l'utiliser dans Code_Aster.

http://tfel.sourceforge.net/documents/t … toriel.pdf

Le problème est que quand on l'a fait un fois, c'est assez simple (quand on connaît un peu le fonctionnement de Code_Aster et de MFront), donc on a peut-être pas fait assez d'efforts de pédagogie.

De plus Code_Aster évolue et l'intégration des lois MFront dans les versions 13.x s'est grandement améliorée, mais cela a changé la syntaxe d'appel.

Je vais essayer de compléter la page ci-dessus en fonctions des difficultés des utilisateurs. N'hésitez pas à m'en faire un retour critique.

@bbd
je veux bien taper cette ligne de commande ?
dans une console ?
depuis quel répertoire ?
à ma connaissance mfront n'est pas une commande en dehors de l'environnement aster

Dans l'ordre logique:

1) pour utiliser la version de mfront livrée avec Code_Aster, il faut mettre à jour les variables d'environnement pour trouver l'exécutable mfront et les bibliothèques dont il dépend (c'est pour cela que quand vous taper le chemin complet par mfront il y a une erreur disant que la bibliothèque MFrontLogStream est introuvable).

Supposons que vous ayez installer Code_Aster dans /home/bbd/codes/aster/13.3.0/install, je procède comme cela

$ export ASTER_ROOT=/home/bbd/codes/aster/13.3.0/install
$ export PATH=$ASTER_ROOT/public/mfront-2.0.3/bin:$PATH
$ export LD_LIBRARY_PATH=$ASTER_ROOT/public/mfront-2.0.3/lib:$LD_LIBRARY_PATH

En pratique, je mets les lignes précédentes dans le un fichier nommé env-mfront.sh que je place dans le répertoire $ASTER_ROOT. Ensuite, *à chaque fois* que je veux utiliser la version de mfront livrée avec Code_Aster, je tape:

source /home/bbd/codes/aster/13.3.0/install/env-mfront.sh

Après ça, mfront devrait être en état de fonctionner. Si je tape mfront, j'ai cette sortie

MFront::exe: no file name specified and nothing to be done
Usage: mfront [options] [files]

2) Maintenant, je peux taper la ligne de commande donnée par @bbd dans le répertoire qui contient le fichier .mfront

3) Je dois permettre à Code_Aster de trouver la bibliothèque générée, sachant que Code_Aster travaillera dans un répertoire temporaire.  Plusieurs techniques sont possibles:

- ajouter la bibliothèque comme une dépendance du calcul: elle sera copiée dans le répertoire temporaire (fichiers marqués avec un D dans le fichier export)
- ajouter le chemin vers la bibliothèque dans le LD_LIBRARY_PATH
- mettre dans le fichier .comm le chemin complet vers la bibliothèque

Cordialement,

Thomas

Offline

#21 2017-02-02 09:36:38

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Bonjour, mon post étant un peu long, nos réponses se sont croisées.

ce document ...
http://tfel.sourceforge.net/aster.html
est excellent et répond à toute mes questions

Merci, pour ce retour. Je vais le soumettre aux développeurs de Code_Aster pour avis.

en ce qui me concerne
je ne surcharge pratiquement jamais les variables globales *PATH
j'écris des scripts avec des chemins complets
c'est pourquoi j'aime bien savoir qui est qui et ou il habite
le document répond à cette question

En pratique, les variables *PATH peuvent être une source de flexibilité extrêmement importante.

En particulier, quand on devient un peu habitué à manipulé des bibliothèques de comportement matériau, on les partage très vite entre ces différentes études. Dans une équipe, on peut mettre des lois à disposition sur un répertoire partagé.

Last but not least, on peut commencer à construire des projets de capitalisation des connaissances matériau. Dans ce dernier cas, on ne traitera jamais de lois génériques de type "Chaboche", mais une loi décrivant "le comportement en fatigue de l'acier 304SS développée et identifiée en 2003 par le professeur Tournesol du laboratoire de génie des matériaux de l'université de Touraine". On voit que la perspective est complètement différente des lois habituellement livrée avec Code_Aster (ou les autres codes) qui sont paramétrables depuis le jeu de données (donc on duplique les informations physiques à chaque simulation), ce qui rend l'AQ  plus difficile à mon sens. En pratique (et pour retenir ceux que le mot AQ a fait fuir), ce type de projet, quand il est bien mener, peut simplifier de manière considérable la vie des ingénieurs.

Il est important qu'un code puisse permettre ces deux approches, et MFront a été créé pour cela.

Cordialement,

Helfer Thomas

Last edited by thomas.helfer (2017-02-02 09:38:49)

Offline

#22 2017-02-02 09:59:53

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 3,616

Re: [SOLVED] mfront and ssnl117b test case trouble

excellent !!

je marque la question comme SOLVED

en fait c'est principalement la curiosité intellectuelle qui me poussait
je ne me vois pas vraiment utiliser mfront en  "production " dans un proche avenir
ni a fortiori écrire des lois matériaux

Offline

#23 2017-02-02 10:02:06

thomas.helfer
Member
Registered: 2013-09-26
Posts: 106

Re: [SOLVED] mfront and ssnl117b test case trouble

Une partie des lois natives de Code_Aster a été remplacée par des lois MFront. Peut-être les utiliserez-vous sans le savoir.
La curiosité est une bonne chose. D'autant que vos questions de "candide" ont mis en lumière le manque de clarté de la documentation, ce pour quoi je vous remercie.

Offline