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

You are not logged in.

#1 2020-06-30 12:27:17

Romuald
Member
From: France, Lille
Registered: 2020-06-24
Posts: 22

Mesh formulation for hyperelastic case

Hello,

I wondering which mesh formulation to be used for hyper elastic materials, with large displacement :

In the document U2.04.02, paragraph 1.2, we must use *_INCO_UP and *_INCO_UPG.
But when I read the validation case v6.04.189 SSNV227 (I haven't check all cases at this time), a saw that "3D" is used.

So I do not understand well how to input correct data to the solver.

Thanks in advance,
Romuald


PS : I read the documentation (U2.04.01, U2.04.02, etc.) and I thank all the people (if they read this topic) who wrote them for their quality.

Offline

#2 2021-09-14 21:12:41

Romuald
Member
From: France, Lille
Registered: 2020-06-24
Posts: 22

Re: Mesh formulation for hyperelastic case

Auto-réponse au cas où d'autres personnes se poseraient aussi cette question :

La formulation "3D" semble être un bon couteau suisse pour tous les cas 3d que j'ai étudié jusqu'à présent.
Il doit y avoir des limitations mais je ne les ai pas encore comprises du coup. Je laisse la communauté me corriger si j'écris une grossière erreur.

Offline

#3 2021-09-24 09:05:55

AsterO'dactyle
Administrator
Registered: 2007-11-29
Posts: 416

Re: Mesh formulation for hyperelastic case

Bonjour,

Question récurrente des copains de Lille qui font de la bio-mécanique

Les matériaux hyper-élastiques ont souvent un comportement incompressible.

En toute rigueur, on devrait donc utiliser une formulation adaptée pour éviter les problèmes de verrouillage numérique: sous-intégration (3D_SI), formulations mixtes (UP, UPO, UPG) voire HHO

Mais ELAS_HYPER dans aster n'est pas branché sur les formulations mixtes type UP, UPO, UPG, non pas à cause de l’incompressibilité mais parce qu'il s'agit de grandes déformations de type "GROT_GDEP" qui ne sont pas le modèle de référence (GDEF_LOG ou SIMO_MIEHE).

Mais comme le terme volumique est pénalisé dans sa formulation, en général, ça fonctionne quand même assez bien en 3D primal. Si ça commence à verrouiller, le 3D_SI est une bonne option

Ce défaut va probablement disparaître dans quelques temps d'ailleurs.


Code_Asterの開発者

Offline

#4 2021-09-30 09:46:51

Romuald
Member
From: France, Lille
Registered: 2020-06-24
Posts: 22

Re: Mesh formulation for hyperelastic case

Merci, c'était très instructif.

Petit hors sujet pour AsterO'dactyle :
Je serai intéressé de discuter ou rencontrer ces chercheurs de Lille (je travaille aussi dans cette agglomération). Je pense qu'il y a de fortes similitudes entre la bio-mécanique et le caoutchouc et les échanges pourraient être enrichissants pour les 2 partis.

Offline

#5 2022-07-15 12:14:34

jlucas
Member
Registered: 2021-12-15
Posts: 12

Re: Mesh formulation for hyperelastic case

Hello,

I have a very similar problem.  But recently, I've found a test example ssnv187e which uses MFRONT to define an hyperelastic material law with SIMO_MIEHE type of deformation. Then with this type of deformation it is possible to use the mixed formulation type of elements (INCO_UPG).

However I did not manage to make this work with code-aster version 14.6 only with 15.4 from the singularity container.

If you need to run the simulation through the command line, the following works with me:

$ singularity run -B  /tmp:/local00/tmp  salome_meca-lgpl-2021.0.0-2-20211014-scibian-9.sif shell -- as_run --run study.export

Basically you need to copy the mfront file "SignoriniSimoMiehe.mfront", located in the examples folder (also attached) into your simulations folder and add the following line into the corresponding*export file:

F libr [path_to_simulation_folder/]SignoriniSimoMiehe.mfront D  38

In the command file:

DEBUT();

# to compile the mfront material file use:
CREA_LIB_MFRONT(UNITE_MFRONT=38,UNITE_LIBRAIRIE=39)
[...]

# define the material using the mfront material law as:             
# change coefficients to material model values...
mat = DEFI_MATERIAU(ELAS_HYPER=_F(C10=_C10,C01=_C01,C20=_C20,K=_K,RHO=1000.),
                       MFRONT=_F( LISTE_COEF=[_C01,_C10,_C20,_K]),
);

[...]
STAT_NON_LINE(
                              [...]
                              COMPORTEMENT=(    _F( RELATION='MFRONT',
                                                                        DEFORMATION='SIMO_MIEHE',
                                                                        NOM_ROUTINE     = 'astersignorini',
                                                                        UNITE_LIBRAIRIE = 39,
                                                                        RESI_INTE_MAXI  = 1e-11,
                                                                        [...]
                                                                      ),),
                                [...]
);
[...]
FIN()

========
I am still verifying results, so can not give any assurance about this procedure, but so far it seems to perform well.

If you go through this procedure, please let me know if you find any unexpected/unattended results, or any other difficulty, so to take caution.

Regards,
Jorge

Offline