v6.04.401 SSNV401 – Vérification de la loi de comportement BETON_RAG et BETON_BURGER : phénomène de fluage#

Résumé:

Ces tests valident la loi de comportement BETON_RAG sur un cube sollicité en compression avec le maintien soit d’une contrainte ou d’une déformation. La réponse du modèle est comparée à des solutions obtenues en résolvant analytiquement les équations qui régissent le comportement [R7.01.26] et à des modélisations identiques faites avec le modèle de comportement BETON_BÜRGER [r7.01.35].

Quatre modélisations sont proposées :

  • Modélisation A : essai de fluage en compression avec une contrainte imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement.

  • Modélisation B : essai de fluage en compression avec une déformation imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement.

  • Modélisation C : essai de fluage en compression avec une contrainte imposée sur un cube confiné (déformations transversales bloquées).

  • Modélisation D : essai de fluage en compression avec une déformation imposée sur un cube confiné (déformations transversales bloquées).

  • Modélisations E, F, G et H : respectivement les mêmes que A, B, C et D, mais en utilisant un modèle de viscosité irréversible non-linéaire.

Modélisation A#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une contrainte imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement. La viscosité irréversible est linéaire pour ce cas-test, ce qui permet de comparer avec une solution analytique.

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 3 Application du chargement - ssnv401a#
    CHMECA = AFFE_CHAR_MECA(
        MODELE   = MOMECA,
        PRES_REP = _F(GROUP_MA='HAUT' , PRES = 28.278256400E+06)
    )

    FCT = DEFI_FONCTION(
        NOM_PARA='INST' ,
        VALE=(0.0    , 0.0 ,
              1.0    , 1.0,
              1000.0 , 1.0
            ),
    )

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les relevés de vérification sont faits pendant les instants où le fluage est calculé. Les grandeurs observées sont les déformations latérales EPXX et EPYY qui sont égales.

Instant

Grandeurs

Référence

1.0000

EPXX EPYY

2.209239E-04

2.0000

EPXX EPYY

4.272966E-04

3.0000

EPXX EPYY

5.227288E-04

4.0000

EPXX EPYY

5.540552E-04

5.0000

EPXX EPYY

5.493796E-04

6.0000

EPXX EPYY

5.254736E-04

7.0000

EPXX EPYY

4.922619E-04

8.0000

EPXX EPYY

4.555396E-04

9.0000

EPXX EPYY

4.186186E-04

10.0000

EPXX EPYY

3.833239E-04

11.0000

EPXX EPYY

3.505963E-04

12.0000

EPXX EPYY

3.208560E-04

13.0000

EPXX EPYY

2.942216E-04

14.0000

EPXX EPYY

2.706420E-04

15.0000

EPXX EPYY

2.499747E-04

16.0000

EPXX EPYY

2.320326E-04

17.0000

EPXX EPYY

2.166109E-04

18.0000

EPXX EPYY

2.035028E-04

19.0000

EPXX EPYY

1.925081E-04

20.0000

EPXX EPYY

1.834380E-04

21.0000

EPXX EPYY

1.761166E-04

22.0000

EPXX EPYY

1.703821E-04

23.0000

EPXX EPYY

1.660861E-04

24.0000

EPXX EPYY

1.630934E-04

25.0000

EPXX EPYY

1.612809E-04

26.0000

EPXX EPYY

1.605371E-04

27.0000

EPXX EPYY

1.607604E-04

28.0000

EPXX EPYY

1.618592E-04

29.0000

EPXX EPYY

1.637502E-04

30.0000

EPXX EPYY

1.663581E-04

31.0000

EPXX EPYY

1.696148E-04

32.0000

EPXX EPYY

1.734585E-04

33.0000

EPXX EPYY

1.778335E-04

34.0000

EPXX EPYY

1.826891E-04

35.0000

EPXX EPYY

1.879796E-04

La grandeur observée est la déformation EPZZ.

Instant

Grandeur

Référence

1.0000

EPZZ

-8.836955E-04

2.0000

EPZZ

-1.661098E-03

3.0000

EPZZ

-2.184609E-03

4.0000

EPZZ

-2.550944E-03

5.0000

EPZZ

-2.819067E-03

6.0000

EPZZ

-3.025015E-03

7.0000

EPZZ

-3.190894E-03

8.0000

EPZZ

-3.330336E-03

9.0000

EPZZ

-3.451813E-03

10.0000

EPZZ

-3.560647E-03

11.0000

EPZZ

-3.660231E-03

12.0000

EPZZ

-3.752776E-03

13.0000

EPZZ

-3.839756E-03

14.0000

EPZZ

-3.922191E-03

15.0000

EPZZ

-4.000808E-03

16.0000

EPZZ

-4.076152E-03

17.0000

EPZZ

-4.148644E-03

18.0000

EPZZ

-4.218619E-03

19.0000

EPZZ

-4.286359E-03

20.0000

EPZZ

-4.352100E-03

21.0000

EPZZ

-4.416047E-03

22.0000

EPZZ

-4.478381E-03

23.0000

EPZZ

-4.539259E-03

24.0000

EPZZ

-4.598823E-03

25.0000

EPZZ

-4.657202E-03

26.0000

EPZZ

-4.714508E-03

27.0000

EPZZ

-4.770844E-03

28.0000

EPZZ

-4.826304E-03

29.0000

EPZZ

-4.880971E-03

30.0000

EPZZ

-4.934920E-03

31.0000

EPZZ

-4.988221E-03

32.0000

EPZZ

-5.040934E-03

33.0000

EPZZ

-5.093115E-03

34.0000

EPZZ

-5.144816E-03

35.0000

EPZZ

-5.196082E-03

../../../../_images/ssnv401a.svg

Fig. 698 Compression sur cube libre, contrainte imposée, comparaison entre code_aster et la solution analytique.#

Modélisation B#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une déformation imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement. La viscosité irréversible est linéaire pour ce cas-test, ce qui permet de comparer avec une solution analytique.

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 4 Application du chargement - ssnv401b#
CHMECA = AFFE_CHAR_MECA(
    MODELE   = MOMECA,
    DDL_IMPO = _F(GROUP_MA="HAUT", DZ = -1.0e-3)
)

FCT = DEFI_FONCTION(
    NOM_PARA='INST' ,
    VALE=(0.0   , 0.0  ,
         1.0    , -1.0,
         1000.0 , -1.0
         ),
)

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les relevés de vérification sont faits pendant les instants où le fluage est calculé. La première grandeur observée est la contrainte SIZZ.

Instant

Grandeur

Référence

1.0000

SIZZ

-3.200000E+07

2.0000

SIZZ

-1.410883E+07

3.0000

SIZZ

-9.897624E+06

4.0000

SIZZ

-8.709014E+06

5.0000

SIZZ

-8.209038E+06

6.0000

SIZZ

-7.883860E+06

7.0000

SIZZ

-7.618015E+06

8.0000

SIZZ

-7.383544E+06

9.0000

SIZZ

-7.171979E+06

10.0000

SIZZ

-6.979422E+06

11.0000

SIZZ

-6.803248E+06

12.0000

SIZZ

-6.641344E+06

13.0000

SIZZ

-6.491914E+06

14.0000

SIZZ

-6.353406E+06

15.0000

SIZZ

-6.224475E+06

16.0000

SIZZ

-6.103955E+06

17.0000

SIZZ

-5.990834E+06

18.0000

SIZZ

-5.884232E+06

19.0000

SIZZ

-5.783386E+06

20.0000

SIZZ

-5.687633E+06

21.0000

SIZZ

-5.596397E+06

22.0000

SIZZ

-5.509177E+06

23.0000

SIZZ

-5.425537E+06

24.0000

SIZZ

-5.345100E+06

25.0000

SIZZ

-5.267536E+06

26.0000

SIZZ

-5.192558E+06

27.0000

SIZZ

-5.119917E+06

28.0000

SIZZ

-5.049394E+06

29.0000

SIZZ

-4.980801E+06

30.0000

SIZZ

-4.913970E+06

31.0000

SIZZ

-4.848759E+06

32.0000

SIZZ

-4.785039E+06

33.0000

SIZZ

-4.722700E+06

34.0000

SIZZ

-4.661645E+06

35.0000

SIZZ

-4.601789E+06

Les deuxièmes grandeurs observées sont les déformations latérales EPXX et EPYY qui sont égales.

Instant

Grandeur

Référence

1.0000

EPXX EPYY

2.499994E-04

2.0000

EPXX EPYY

2.557395E-04

3.0000

EPXX EPYY

2.262342E-04

4.0000

EPXX EPYY

1.934200E-04

5.0000

EPXX EPYY

1.636899E-04

6.0000

EPXX EPYY

1.379311E-04

7.0000

EPXX EPYY

1.158951E-04

8.0000

EPXX EPYY

9.714428E-05

9.0000

EPXX EPYY

8.125045E-05

10.0000

EPXX EPYY

6.783196E-05

11.0000

EPXX EPYY

5.655564E-05

12.0000

EPXX EPYY

4.713222E-05

13.0000

EPXX EPYY

3.931085E-05

14.0000

EPXX EPYY

3.287409E-05

15.0000

EPXX EPYY

2.763349E-05

16.0000

EPXX EPYY

2.342573E-05

17.0000

EPXX EPYY

2.010927E-05

18.0000

EPXX EPYY

1.756146E-05

19.0000

EPXX EPYY

1.567600E-05

20.0000

EPXX EPYY

1.436082E-05

21.0000

EPXX EPYY

1.353611E-05

22.0000

EPXX EPYY

1.313277E-05

23.0000

EPXX EPYY

1.309092E-05

24.0000

EPXX EPYY

1.335869E-05

25.0000

EPXX EPYY

1.389116E-05

26.0000

EPXX EPYY

1.464946E-05

27.0000

EPXX EPYY

1.559989E-05

28.0000

EPXX EPYY

1.671333E-05

29.0000

EPXX EPYY

1.796454E-05

30.0000

EPXX EPYY

1.933169E-05

31.0000

EPXX EPYY

2.079592E-05

32.0000

EPXX EPYY

2.234090E-05

33.0000

EPXX EPYY

2.395251E-05

34.0000

EPXX EPYY

2.561857E-05

35.0000

EPXX EPYY

2.732855E-05

../../../../_images/ssnv401b.svg

Fig. 699 Compression sur cube libre, déformation imposée, comparaison entre code_aster et la solution théorique.#

Modélisation C#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une contrainte imposée sur un cube confiné (déformations transversales bloquées). La viscosité irréversible est linéaire pour ce cas-test, ce qui permet de comparer avec une solution analytique.

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 5 Application du chargement - ssnv401c#
    CHMECA = AFFE_CHAR_MECA(
        MODELE=MOMECA,
        PRES_REP = _F(GROUP_MA='HAUT', PRES = 36.187984804E+06),
    )

    FCT = DEFI_FONCTION(
        NOM_PARA='INST' ,
        VALE=(0.0    , 0.0 ,
              1.0    , 10.0,
              1000.0 , 10.0
            ),
    )

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les grandeurs observées sont les contraintes latérales SIXX et SIYY qui sont égales.

Instant

Grandeur

Référence

1.0000

SIXX SIYY

-1.206266E+07

2.0000

SIXX SIYY

-1.280766E+07

3.0000

SIXX SIYY

-1.156627E+07

4.0000

SIXX SIYY

-1.020692E+07

5.0000

SIXX SIYY

-9.096532E+06

6.0000

SIXX SIYY

-8.254653E+06

7.0000

SIXX SIYY

-7.633033E+06

8.0000

SIXX SIYY

-7.180231E+06

9.0000

SIXX SIYY

-6.854129E+06

10.0000

SIXX SIYY

-6.622442E+06

11.0000

SIXX SIYY

-6.460919E+06

12.0000

SIXX SIYY

-6.351462E+06

13.0000

SIXX SIYY

-6.280597E+06

14.0000

SIXX SIYY

-6.238296E+06

15.0000

SIXX SIYY

-6.217103E+06

16.0000

SIXX SIYY

-6.211471E+06

17.0000

SIXX SIYY

-6.217277E+06

18.0000

SIXX SIYY

-6.231455E+06

19.0000

SIXX SIYY

-6.251726E+06

20.0000

SIXX SIYY

-6.276397E+06

21.0000

SIXX SIYY

-6.304209E+06

22.0000

SIXX SIYY

-6.334229E+06

23.0000

SIXX SIYY

-6.365763E+06

24.0000

SIXX SIYY

-6.398299E+06

25.0000

SIXX SIYY

-6.431454E+06

26.0000

SIXX SIYY

-6.464949E+06

27.0000

SIXX SIYY

-6.498574E+06

28.0000

SIXX SIYY

-6.532178E+06

29.0000

SIXX SIYY

-6.565649E+06

30.0000

SIXX SIYY

-6.598904E+06

31.0000

SIXX SIYY

-6.631885E+06

32.0000

SIXX SIYY

-6.664549E+06

33.0000

SIXX SIYY

-6.696865E+06

34.0000

SIXX SIYY

-6.728814E+06

35.0000

SIXX SIYY

-6.760381E+06

La grandeur observée est la déformation EPZZ.

Instant

Grandeur

Référence

1.0000

EPZZ

-9.412582E-04

2.0000

EPZZ

-1.726573E-03

3.0000

EPZZ

-2.308513E-03

4.0000

EPZZ

-2.751558E-03

5.0000

EPZZ

-3.094285E-03

6.0000

EPZZ

-3.363114E-03

7.0000

EPZZ

-3.577216E-03

8.0000

EPZZ

-3.750553E-03

9.0000

EPZZ

-3.893639E-03

10.0000

EPZZ

-4.014204E-03

11.0000

EPZZ

-4.118028E-03

12.0000

EPZZ

-4.209380E-03

13.0000

EPZZ

-4.291451E-03

14.0000

EPZZ

-4.366622E-03

15.0000

EPZZ

-4.436649E-03

16.0000

EPZZ

-4.502853E-03

17.0000

EPZZ

-4.566204E-03

18.0000

EPZZ

-4.627437E-03

19.0000

EPZZ

-4.687088E-03

20.0000

EPZZ

-4.745558E-03

21.0000

EPZZ

-4.803150E-03

22.0000

EPZZ

-4.860083E-03

23.0000

EPZZ

-4.916524E-03

24.0000

EPZZ

-4.972598E-03

25.0000

EPZZ

-5.028396E-03

26.0000

EPZZ

-5.083985E-03

27.0000

EPZZ

-5.139416E-03

28.0000

EPZZ

-5.194730E-03

29.0000

EPZZ

-5.249951E-03

30.0000

EPZZ

-5.305101E-03

31.0000

EPZZ

-5.360198E-03

32.0000

EPZZ

-5.415251E-03

33.0000

EPZZ

-5.470270E-03

34.0000

EPZZ

-5.525261E-03

35.0000

EPZZ

-5.580231E-03

../../../../_images/ssnv401c.svg

Fig. 700 Compression sur cube confiné, contrainte imposée, comparaison entre code_aster et la solution analytique#

Modélisation D#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une déformation imposée sur un cube confiné (déformations transversales bloquées). La viscosité irréversible est linéaire pour ce cas-test, ce qui permet de comparer avec une solution analytique.

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 6 Application du chargement - ssnv401d#
CHMECA = AFFE_CHAR_MECA(
    MODELE   = MOMECA,
    DDL_IMPO = _F(GROUP_MA="HAUT", DZ = -1.0e-3)
)

FCT = DEFI_FONCTION(
    NOM_PARA='INST' ,
    VALE=(0.0   , 0.0  ,
         1.0    , -1.0,
         1000.0 , -1.0
         ),
)

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

La grandeur observée est la contrainte SIZZ.

Instant

Grandeur

Référence

1.0000

SIZZ

-3.839997E+07

2.0000

SIZZ

-1.742873E+07

3.0000

SIZZ

-1.142057E+07

4.0000

SIZZ

-9.522896E+06

5.0000

SIZZ

-8.837034E+06

6.0000

SIZZ

-8.530239E+06

7.0000

SIZZ

-8.347847E+06

8.0000

SIZZ

-8.208190E+06

9.0000

SIZZ

-8.084195E+06

10.0000

SIZZ

-7.966685E+06

11.0000

SIZZ

-7.852500E+06

12.0000

SIZZ

-7.740531E+06

13.0000

SIZZ

-7.630378E+06

14.0000

SIZZ

-7.521886E+06

15.0000

SIZZ

-7.414987E+06

16.0000

SIZZ

-7.309642E+06

17.0000

SIZZ

-7.205822E+06

18.0000

SIZZ

-7.103502E+06

19.0000

SIZZ

-7.002661E+06

20.0000

SIZZ

-6.903277E+06

21.0000

SIZZ

-6.805327E+06

22.0000

SIZZ

-6.708792E+06

23.0000

SIZZ

-6.613649E+06

24.0000

SIZZ

-6.519879E+06

25.0000

SIZZ

-6.427462E+06

26.0000

SIZZ

-6.336377E+06

27.0000

SIZZ

-6.246606E+06

28.0000

SIZZ

-6.158129E+06

29.0000

SIZZ

-6.070927E+06

30.0000

SIZZ

-5.984981E+06

31.0000

SIZZ

-5.900273E+06

32.0000

SIZZ

-5.816785E+06

33.0000

SIZZ

-5.734499E+06

34.0000

SIZZ

-5.653397E+06

35.0000

SIZZ

-5.573462E+06

Les grandeurs observées sont les contraintes latérales SIXX et SIYY qui sont égales.

Instant

Grandeur

Référence

1.0000

SIXX SIYY

-1.280000E+07

2.0000

SIXX SIYY

-6.155129E+06

3.0000

SIXX SIYY

-3.130910E+06

4.0000

SIXX SIYY

-1.929959E+06

5.0000

SIXX SIYY

-1.478392E+06

6.0000

SIXX SIYY

-1.311218E+06

7.0000

SIXX SIYY

-1.247904E+06

8.0000

SIXX SIYY

-1.221742E+06

9.0000

SIXX SIYY

-1.208699E+06

10.0000

SIXX SIYY

-1.200232E+06

11.0000

SIXX SIYY

-1.193331E+06

12.0000

SIXX SIYY

-1.186939E+06

13.0000

SIXX SIYY

-1.180688E+06

14.0000

SIXX SIYY

-1.174451E+06

15.0000

SIXX SIYY

-1.168185E+06

16.0000

SIXX SIYY

-1.161877E+06

17.0000

SIXX SIYY

-1.155524E+06

18.0000

SIXX SIYY

-1.149127E+06

19.0000

SIXX SIYY

-1.142688E+06

20.0000

SIXX SIYY

-1.136208E+06

21.0000

SIXX SIYY

-1.129691E+06

22.0000

SIXX SIYY

-1.123137E+06

23.0000

SIXX SIYY

-1.116551E+06

24.0000

SIXX SIYY

-1.109933E+06

25.0000

SIXX SIYY

-1.103285E+06

26.0000

SIXX SIYY

-1.096611E+06

27.0000

SIXX SIYY

-1.089912E+06

28.0000

SIXX SIYY

-1.083189E+06

29.0000

SIXX SIYY

-1.076446E+06

30.0000

SIXX SIYY

-1.069683E+06

31.0000

SIXX SIYY

-1.062903E+06

32.0000

SIXX SIYY

-1.056108E+06

33.0000

SIXX SIYY

-1.049298E+06

34.0000

SIXX SIYY

-1.042476E+06

35.0000

SIXX SIYY

-1.035644E+06

../../../../_images/ssnv401d.svg

Fig. 701 Compression sur cube confiné, déformation imposée, comparaison entre code_aster et la solution théorique#

Modélisation E#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une contrainte imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement. La viscosité irréversible est non-linéaire pour ce cas-test, donc le résultat du calcul est comparé avec celui de BETON_BÜRGER [r7.01.35].

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 7 Application du chargement - ssnv401e#
    CHMECA = AFFE_CHAR_MECA(
        MODELE   = MOMECA,
        PRES_REP = _F(GROUP_MA='HAUT' , PRES = 28.278256400E+06)
    )

    FCT = DEFI_FONCTION(
        NOM_PARA='INST' ,
        VALE=(0.0    , 0.0 ,
              1.0    , 1.0,
              1000.0 , 1.0
            ),
    )

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les relevés de vérification sont faits pendant les instants où le fluage est calculé. Les grandeurs observées sont les déformations latérales EPXX et EPYY qui sont égales.

Instant

Grandeurs

Référence

1.0000

EPXX EPYY

2.209239E-04

2.0000

EPXX EPYY

4.254368E-04

3.0000

EPXX EPYY

5.168955E-04

4.0000

EPXX EPYY

5.430672E-04

5.0000

EPXX EPYY

5.324745E-04

6.0000

EPXX EPYY

5.021166E-04

7.0000

EPXX EPYY

4.620566E-04

8.0000

EPXX EPYY

4.181811E-04

9.0000

EPXX EPYY

3.738655E-04

10.0000

EPXX EPYY

3.309806E-04

11.0000

EPXX EPYY

2.905015E-04

12.0000

EPXX EPYY

2.528742E-04

13.0000

EPXX EPYY

2.182379E-04

14.0000

EPXX EPYY

1.865574E-04

15.0000

EPXX EPYY

1.577033E-04

16.0000

EPXX EPYY

1.314989E-04

17.0000

EPXX EPYY

1.077480E-04

18.0000

EPXX EPYY

8.625132E-05

19.0000

EPXX EPYY

6.681478E-05

20.0000

EPXX EPYY

4.925468E-05

21.0000

EPXX EPYY

3.339978E-05

22.0000

EPXX EPYY

1.909202E-05

23.0000

EPXX EPYY

6.186510E-06

24.0000

EPXX EPYY

-5.449035E-06

25.0000

EPXX EPYY

-1.593501E-05

26.0000

EPXX EPYY

-2.538081E-05

27.0000

EPXX EPYY

-3.388569E-05

28.0000

EPXX EPYY

-4.153960E-05

29.0000

EPXX EPYY

-4.842407E-05

30.0000

EPXX EPYY

-5.461290E-05

31.0000

EPXX EPYY

-6.017292E-05

32.0000

EPXX EPYY

-6.516460E-05

33.0000

EPXX EPYY

-6.964268E-05

34.0000

EPXX EPYY

-7.365667E-05

35.0000

EPXX EPYY

-7.725137E-05

La grandeur observée est la déformation EPZZ.

Instant

Grandeur

Référence

1.0000

EPZZ

-8.836955E-04

2.0000

EPZZ

-1.652088E-03

3.0000

EPZZ

-2.155766E-03

4.0000

EPZZ

-2.496264E-03

5.0000

EPZZ

-2.734710E-03

6.0000

EPZZ

-2.908312E-03

7.0000

EPZZ

-3.039877E-03

8.0000

EPZZ

-3.143498E-03

9.0000

EPZZ

-3.227962E-03

10.0000

EPZZ

-3.298817E-03

11.0000

EPZZ

-3.359626E-03

12.0000

EPZZ

-3.412726E-03

13.0000

EPZZ

-3.459691E-03

14.0000

EPZZ

-3.501620E-03

15.0000

EPZZ

-3.539304E-03

16.0000

EPZZ

-3.573340E-03

17.0000

EPZZ

-3.604190E-03

18.0000

EPZZ

-3.632228E-03

19.0000

EPZZ

-3.657765E-03

20.0000

EPZZ

-3.681062E-03

21.0000

EPZZ

-3.702348E-03

22.0000

EPZZ

-3.721822E-03

23.0000

EPZZ

-3.739659E-03

24.0000

EPZZ

-3.756016E-03

25.0000

EPZZ

-3.771033E-03

26.0000

EPZZ

-3.784836E-03

27.0000

EPZZ

-3.797537E-03

28.0000

EPZZ

-3.809240E-03

29.0000

EPZZ

-3.820035E-03

30.0000

EPZZ

-3.830005E-03

31.0000

EPZZ

-3.839227E-03

32.0000

EPZZ

-3.847768E-03

33.0000

EPZZ

-3.855689E-03

34.0000

EPZZ

-3.863047E-03

35.0000

EPZZ

-3.869890E-03

../../../../_images/ssnv401e.svg

Fig. 702 Compression sur cube libre, contrainte imposée, comparaison entre Beton_RAG et Beton_Bürger.#

Modélisation F#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une déformation imposée sur un cube libre de se déformer dans la direction perpendiculaire au chargement. La viscosité irréversible est non-linéaire pour ce cas-test, donc le résultat du calcul est comparé avec celui de BETON_BÜRGER [r7.01.35].

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 8 Application du chargement - ssnv401f#
CHMECA = AFFE_CHAR_MECA(
    MODELE   = MOMECA,
    DDL_IMPO = _F(GROUP_MA="HAUT", DZ = -1.0e-3)
)

FCT = DEFI_FONCTION(
    NOM_PARA='INST' ,
    VALE=(0.0   , 0.0  ,
         1.0    , -1.0,
         1000.0 , -1.0
         ),
)

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les relevés de vérification sont faits pendant les instants où le fluage est calculé. La première grandeur observée est la contrainte SIZZ.

Instant

Grandeur

Référence

1.0000

SIZZ

-3.200000E+07

2.0000

SIZZ

-1.432650E+07

3.0000

SIZZ

-1.032767E+07

4.0000

SIZZ

-9.315253E+06

5.0000

SIZZ

-8.977453E+06

6.0000

SIZZ

-8.805360E+06

7.0000

SIZZ

-8.683965E+06

8.0000

SIZZ

-8.585248E+06

9.0000

SIZZ

-8.500857E+06

10.0000

SIZZ

-8.427214E+06

11.0000

SIZZ

-8.362144E+06

12.0000

SIZZ

-8.304058E+06

13.0000

SIZZ

-8.251718E+06

14.0000

SIZZ

-8.204137E+06

15.0000

SIZZ

-8.160524E+06

16.0000

SIZZ

-8.120244E+06

17.0000

SIZZ

-8.082779E+06

18.0000

SIZZ

-8.047714E+06

19.0000

SIZZ

-8.014708E+06

20.0000

SIZZ

-7.983483E+06

21.0000

SIZZ

-7.953813E+06

22.0000

SIZZ

-7.925509E+06

23.0000

SIZZ

-7.898416E+06

24.0000

SIZZ

-7.872405E+06

25.0000

SIZZ

-7.847366E+06

26.0000

SIZZ

-7.823210E+06

27.0000

SIZZ

-7.799857E+06

28.0000

SIZZ

-7.777242E+06

29.0000

SIZZ

-7.755307E+06

30.0000

SIZZ

-7.734004E+06

31.0000

SIZZ

-7.713290E+06

32.0000

SIZZ

-7.693125E+06

33.0000

SIZZ

-7.673477E+06

34.0000

SIZZ

-7.654316E+06

35.0000

SIZZ

-7.635615E+06

Les deuxièmes grandeurs observées sont les déformations latérales EPXX et EPYY qui sont égales.

Instant

Grandeur

Référence

1.0000

EPXX EPYY

2.500000E-04

2.0000

EPXX EPYY

2.616261E-04

3.0000

EPXX EPYY

2.432731E-04

4.0000

EPXX EPYY

2.228375E-04

5.0000

EPXX EPYY

2.054813E-04

6.0000

EPXX EPYY

1.915878E-04

7.0000

EPXX EPYY

1.806503E-04

8.0000

EPXX EPYY

1.720920E-04

9.0000

EPXX EPYY

1.654190E-04

10.0000

EPXX EPYY

1.602332E-04

11.0000

EPXX EPYY

1.562186E-04

12.0000

EPXX EPYY

1.531257E-04

13.0000

EPXX EPYY

1.507573E-04

14.0000

EPXX EPYY

1.489581E-04

15.0000

EPXX EPYY

1.476055E-04

16.0000

EPXX EPYY

1.466028E-04

17.0000

EPXX EPYY

1.458737E-04

18.0000

EPXX EPYY

1.453582E-04

19.0000

EPXX EPYY

1.450090E-04

20.0000

EPXX EPYY

1.447889E-04

21.0000

EPXX EPYY

1.446686E-04

22.0000

EPXX EPYY

1.446251E-04

23.0000

EPXX EPYY

1.446403E-04

24.0000

EPXX EPYY

1.447001E-04

25.0000

EPXX EPYY

1.447934E-04

26.0000

EPXX EPYY

1.449116E-04

27.0000

EPXX EPYY

1.450479E-04

28.0000

EPXX EPYY

1.451971E-04

29.0000

EPXX EPYY

1.453551E-04

30.0000

EPXX EPYY

1.455187E-04

31.0000

EPXX EPYY

1.456857E-04

32.0000

EPXX EPYY

1.458542E-04

33.0000

EPXX EPYY

1.460227E-04

34.0000

EPXX EPYY

1.461903E-04

35.0000

EPXX EPYY

1.463561E-04

../../../../_images/ssnv401f.svg

Fig. 703 Compression sur cube libre, déformation imposée, comparaison entre Beton_RAG et Beton_Bürger.#

Modélisation G#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une contrainte imposée sur un cube confiné (déformations transversales bloquées). La viscosité irréversible est non-linéaire pour ce cas-test, donc le résultat du calcul est comparé avec celui de BETON_BÜRGER [r7.01.35].

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 9 Application du chargement - ssnv401g#
    CHMECA = AFFE_CHAR_MECA(
        MODELE=MOMECA,
        PRES_REP = _F(GROUP_MA='HAUT', PRES = 36.187984804E+06),
    )

    FCT = DEFI_FONCTION(
        NOM_PARA='INST' ,
        VALE=(0.0    , 0.0 ,
              1.0    , 10.0,
              1000.0 , 10.0
            ),
    )

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

Les grandeurs observées sont les contraintes latérales SIXX et SIYY qui sont égales.

Instant

Grandeur

Référence

1.0000

SIXX SIYY

-1.206266E+07

2.0000

SIXX SIYY

-1.246726E+07

3.0000

SIXX SIYY

-1.054579E+07

4.0000

SIXX SIYY

-8.416588E+06

5.0000

SIXX SIYY

-6.548707E+06

6.0000

SIXX SIYY

-5.003699E+06

7.0000

SIXX SIYY

-3.748657E+06

8.0000

SIXX SIYY

-2.735266E+06

9.0000

SIXX SIYY

-1.918764E+06

10.0000

SIXX SIYY

-1.261504E+06

11.0000

SIXX SIYY

-7.327169E+05

12.0000

SIXX SIYY

-3.074896E+05

13.0000

SIXX SIYY

3.428472E+04

14.0000

SIXX SIYY

3.088167E+05

15.0000

SIXX SIYY

5.291713E+05

16.0000

SIXX SIYY

7.058765E+05

17.0000

SIXX SIYY

8.474164E+05

18.0000

SIXX SIYY

9.606280E+05

19.0000

SIXX SIYY

1.051021E+06

20.0000

SIXX SIYY

1.123036E+06

21.0000

SIXX SIYY

1.180253E+06

22.0000

SIXX SIYY

1.225554E+06

23.0000

SIXX SIYY

1.261266E+06

24.0000

SIXX SIYY

1.289262E+06

25.0000

SIXX SIYY

1.311052E+06

26.0000

SIXX SIYY

1.327853E+06

27.0000

SIXX SIYY

1.340647E+06

28.0000

SIXX SIYY

1.350224E+06

29.0000

SIXX SIYY

1.357220E+06

30.0000

SIXX SIYY

1.362150E+06

31.0000

SIXX SIYY

1.365427E+06

32.0000

SIXX SIYY

1.367383E+06

33.0000

SIXX SIYY

1.368288E+06

34.0000

SIXX SIYY

1.368356E+06

35.0000

SIXX SIYY

1.367762E+06

La grandeur observée est la déformation EPZZ.

Instant

Grandeur

Référence

1.0000

EPZZ

-9.423954E-04

2.0000

EPZZ

-1.735775E-03

3.0000

EPZZ

-2.344856E-03

4.0000

EPZZ

-2.827379E-03

5.0000

EPZZ

-3.214296E-03

6.0000

EPZZ

-3.526205E-03

7.0000

EPZZ

-3.778382E-03

8.0000

EPZZ

-3.982693E-03

9.0000

EPZZ

-4.148530E-03

10.0000

EPZZ

-4.283384E-03

11.0000

EPZZ

-4.393258E-03

12.0000

EPZZ

-4.482971E-03

13.0000

EPZZ

-4.556396E-03

14.0000

EPZZ

-4.616654E-03

15.0000

EPZZ

-4.666256E-03

16.0000

EPZZ

-4.707228E-03

17.0000

EPZZ

-4.741204E-03

18.0000

EPZZ

-4.769502E-03

19.0000

EPZZ

-4.793186E-03

20.0000

EPZZ

-4.813118E-03

21.0000

EPZZ

-4.829993E-03

22.0000

EPZZ

-4.844373E-03

23.0000

EPZZ

-4.856714E-03

24.0000

EPZZ

-4.867384E-03

25.0000

EPZZ

-4.876682E-03

26.0000

EPZZ

-4.884851E-03

27.0000

EPZZ

-4.892088E-03

28.0000

EPZZ

-4.898553E-03

29.0000

EPZZ

-4.904375E-03

30.0000

EPZZ

-4.909661E-03

31.0000

EPZZ

-4.914498E-03

32.0000

EPZZ

-4.918955E-03

33.0000

EPZZ

-4.923092E-03

34.0000

EPZZ

-4.926955E-03

35.0000

EPZZ

-4.930583E-03

../../../../_images/ssnv401g.svg

Fig. 704 Compression sur cube confiné, contrainte imposée, comparaison entre Beton_RAG et Beton_Bürger.#

Modélisation H#

Caractéristiques de la modélisation#

Cette modélisation est un essai de compression avec une déformation imposée sur un cube confiné (déformations transversales bloquées). La viscosité irréversible est non-linéaire pour ce cas-test, donc le résultat du calcul est comparé avec celui de BETON_BÜRGER [r7.01.35].

Le chargement est imposé sur la face HAUT suivant DZ :

Code source 10 Application du chargement - ssnv401h#
CHMECA = AFFE_CHAR_MECA(
    MODELE   = MOMECA,
    DDL_IMPO = _F(GROUP_MA="HAUT", DZ = -1.0e-3)
)

FCT = DEFI_FONCTION(
    NOM_PARA='INST' ,
    VALE=(0.0   , 0.0  ,
         1.0    , -1.0,
         1000.0 , -1.0
         ),
)

Pendant l’intervalle de temps [0, 1], le chargement croît, mais le fluage est encore désactivé.

Pendant l’intervalle de temps [1, 35], le chargement est gardé constant, et le fluage est activé.

Grandeurs testées et résultats#

La grandeur observée est la contrainte SIZZ.

Instant

Grandeur

Référence

1.0000

SIZZ

-3.840000E+07

2.0000

SIZZ

-1.759001E+07

3.0000

SIZZ

-1.167941E+07

4.0000

SIZZ

-9.838403E+06

5.0000

SIZZ

-9.207387E+06

6.0000

SIZZ

-8.961060E+06

7.0000

SIZZ

-8.843940E+06

8.0000

SIZZ

-8.772590E+06

9.0000

SIZZ

-8.718665E+06

10.0000

SIZZ

-8.672228E+06

11.0000

SIZZ

-8.629675E+06

12.0000

SIZZ

-8.589629E+06

13.0000

SIZZ

-8.551514E+06

14.0000

SIZZ

-8.515043E+06

15.0000

SIZZ

-8.480044E+06

16.0000

SIZZ

-8.446394E+06

17.0000

SIZZ

-8.413990E+06

18.0000

SIZZ

-8.382745E+06

19.0000

SIZZ

-8.352581E+06

20.0000

SIZZ

-8.323427E+06

21.0000

SIZZ

-8.295221E+06

22.0000

SIZZ

-8.267904E+06

23.0000

SIZZ

-8.241424E+06

24.0000

SIZZ

-8.215731E+06

25.0000

SIZZ

-8.190781E+06

26.0000

SIZZ

-8.166534E+06

27.0000

SIZZ

-8.142952E+06

28.0000

SIZZ

-8.120000E+06

29.0000

SIZZ

-8.097645E+06

30.0000

SIZZ

-8.075859E+06

31.0000

SIZZ

-8.054613E+06

32.0000

SIZZ

-8.033882E+06

33.0000

SIZZ

-8.013641E+06

34.0000

SIZZ

-7.993869E+06

35.0000

SIZZ

-7.974544E+06

Les grandeurs observées sont les contraintes latérales SIXX et SIYY qui sont égales.

Instant

Grandeur

Référence

1.0000

SIXX SIYY

-1.280000E+07

2.0000

SIXX SIYY

-6.228962E+06

3.0000

SIXX SIYY

-3.239993E+06

4.0000

SIXX SIYY

-2.041937E+06

5.0000

SIXX SIYY

-1.588399E+06

6.0000

SIXX SIYY

-1.421842E+06

7.0000

SIXX SIYY

-1.361887E+06

8.0000

SIXX SIYY

-1.340689E+06

9.0000

SIXX SIYY

-1.333332E+06

10.0000

SIXX SIYY

-1.330797E+06

11.0000

SIXX SIYY

-1.329855E+06

12.0000

SIXX SIYY

-1.329371E+06

13.0000

SIXX SIYY

-1.328955E+06

14.0000

SIXX SIYY

-1.328487E+06

15.0000

SIXX SIYY

-1.327937E+06

16.0000

SIXX SIYY

-1.327305E+06

17.0000

SIXX SIYY

-1.326602E+06

18.0000

SIXX SIYY

-1.325838E+06

19.0000

SIXX SIYY

-1.325024E+06

20.0000

SIXX SIYY

-1.324170E+06

21.0000

SIXX SIYY

-1.323282E+06

22.0000

SIXX SIYY

-1.322367E+06

23.0000

SIXX SIYY

-1.321431E+06

24.0000

SIXX SIYY

-1.320478E+06

25.0000

SIXX SIYY

-1.319512E+06

26.0000

SIXX SIYY

-1.318536E+06

27.0000

SIXX SIYY

-1.317553E+06

28.0000

SIXX SIYY

-1.316565E+06

29.0000

SIXX SIYY

-1.315575E+06

30.0000

SIXX SIYY

-1.314583E+06

31.0000

SIXX SIYY

-1.313592E+06

32.0000

SIXX SIYY

-1.312601E+06

33.0000

SIXX SIYY

-1.311614E+06

34.0000

SIXX SIYY

-1.310629E+06

35.0000

SIXX SIYY

-1.309649E+06

../../../../_images/ssnv401h.svg

Fig. 705 Compression sur cube confiné, déformation imposée, comparaison entre Beton_RAG et Beton_Bürger.#

Synthèse des résultats#

Les cas tests permettent de tester le fluage mais aussi le phénomène de relaxation. La résolution numérique du système d’équation différentielles par les transformées de Laplace montre une parfaite coïncidence avec les résultats de code_aster.

En ce qui concerne les simulations avec non-linéarité visqueuse, l’accord entre BETON_RAG et BETON_BÜRGER est satisfaisant, malgré une légère perte de précision des résultats de BETON_BÜRGER due à la discrétisation temporelle trop grossière.

Annexes#

Cette annexe retrace les codes ayant permis de générer les solutions analytiques des modélisations [A], [B], [C], et [D].

Les bibliothèques Python qui sont utilisées pour l’obtention des solutions analytiques et leur calcul sont : numpy, sympy et inspect.

Code source 11 Importation des bibliothèques nécessaires#
import numpy as np
import sympy
import inspect

Les paramètres constants utilisés sont définis dans l’extrait de code suivant :

Code source 12 Paramètres numériques#
nu = 0.25                                   # Module de Poisson
E                       = 32.0e9            # Module d'élasticité
eta_i_dev,eta_i_sph     = 5.0e11, 1.0e12    # Viscosités irréversibles
eta_r_dev, eta_r_sph    = 2.4e10, 8.0e10    # Viscosités réversibles
k_r_dev  , k_r_sph      = 1.2e10, 8.0e9     # Rigidité de fluage réversible

sig0 = -3.6187984804e07 # Contrainte appliquée pour A, C
eps0 = -0.001           # Déplacement appliqué pour B, D
Remarque :

Pour les cas-tests C et D, le module de rigidité k_r_sph doit être multiplié par deux.

L’obtention des solutions analytiques repose sur les transformées de Laplace du module sympy. Pour cela, il faut définir les variables de Laplace, et les symboles utilisés :

Code source 13 Définition des symboles pour sympy#
sympy.init_printing()
p = sympy.symbols("p")                  # Variable de Laplace
t = sympy.symbols('t', positive=True)   # Temps

# Fonction réalisant la transformée de Laplace
L    = lambda f: sympy.laplace_transform(f, t, p, noconds=True)
# Fonction réalisant la transformée de Laplace inverse
invL = lambda F: sympy.inverse_laplace_transform(F, p, t)

Le cas-test ssnv401a [Mod_lisation_A] est suffisamment simple pour obtenir la solution analytique peut être obtenue à la main. Sous contrainte uniaxiale constante \(\sigma_0\), la déformation est la superposition des solutions élastiques et des solutions transitoires dues au fluage. Les solutions élastiques sont données à l’équation (4965).

(4965)#\[ \begin{align}\begin{aligned}{\varepsilon}^{él}_{sph} = \frac{E}{1-2\nu}\frac{{\sigma}_0}{3}\\{\varepsilon}^{él}_{dev,\,x} = -\frac{E}{1+\nu}\frac{{\sigma}_0}{3}\\{\varepsilon}^{él}_{dev,\,y} = -\frac{E}{1+\nu}\frac{{\sigma}_0}{3}\\{\varepsilon}^{él}_{dev,\,z} = \frac{E}{1+\nu}\frac{2{\sigma}_0}{3}\end{aligned}\end{align} \]

Les solutions transitoires sont données à l’équation (4966)

(4966)#\[ \begin{align}\begin{aligned}{\varepsilon}_{sph}^{f}(t)=\sigma_0\left(\frac{t}{\eta_{sph,\,irr}} - \frac{1}{k_{sph,\,r}}\left[exp\left(-\frac{k_{sph,\,r}t}{\eta_{sph,\,r}}\right)-1\right]\right)\\{\varepsilon}_{dev,\,x}^{f}(t)=\frac{-\sigma_0}{3}\left(\frac{t}{\eta_{dev,\,irr}} - \frac{1}{k_{dev,\,r}}\left[exp\left(-\frac{k_{dev,\,r}t}{\eta_{dev,\,r}}\right)-1\right]\right)\\{\varepsilon}_{dev,\,y}^{f}(t)=\frac{-\sigma_0}{3}\left(\frac{t}{\eta_{dev,\,irr}} - \frac{1}{k_{dev,\,r}}\left[exp\left(-\frac{k_{dev,\,r}t}{\eta_{dev,\,r}}\right)-1\right]\right)\\{\varepsilon}_{dev,\,z}^{f}(t)=\frac{2\sigma_0}{3}\left(\frac{t}{\eta_{dev,\,irr}} - \frac{1}{k_{dev,\,r}}\left[exp\left(-\frac{k_{dev,\,r}t}{\eta_{dev,\,r}}\right)-1\right]\right)\end{aligned}\end{align} \]

Pour obtenir la solution analytique sur une composante \(i\in\lbrace{x,y,z}\rbrace\), il suffit de sommer les composantes sphérique et déviatorique \(i\) des participations élastiques de l’équation (4965) et transitoires de l’équation (4966).

Code source 14 Obtention de la solution analytique du cas-test ssnv401a#
def solution_analytique(t, sig, E, nu, eta_i_sph, k_r_sph, eta_r_sph, eta_i_dev, k_r_dev, eta_r_dev):
    n = len(t)

    # Listes des déformations sous contrainte imposée uniaxiale
    epx = []
    epy = []
    epz = []

    # Modules élastiques sphérique et déviatorique
    E_sph = E / (1 - 2 * nu)
    E_dev = E / (1 + nu)

    # Pression et contraintes sixx_dev, siyy_dev, et sizz_dev (déviatoriques)
    p = sig / 3
    sigx = -sig / 3
    sigy = -sig / 3
    sigz = 2 * sig / 3
    for i in range(n):
        # Déformation sphérique : élastique + fluage
        ep = p / E_sph + p / eta_i_sph * t[i] - p / k_r_sph * (exp(-k_r_sph / eta_r_sph * t[i]) - 1)

        # Déformations déviatoriques : élastique + fluage
        ex = (sigx / E_dev + sigx / eta_i_dev * t[i] - sigx / k_r_dev * (exp(-k_r_dev / eta_r_dev * t[i]) - 1))
        ey = (sigy / E_dev + sigy / eta_i_dev * t[i] - sigy / k_r_dev * (exp(-k_r_dev / eta_r_dev * t[i]) - 1))
        ez = (sigz / E_dev + sigz / eta_i_dev * t[i] - sigz / k_r_dev * (exp(-k_r_dev / eta_r_dev * t[i]) - 1))

        # Mise dans les listes
        epx.append(ep + ex)
        epy.append(ep + ey)
        epz.append(ep + ez)

    return epx, epy, epz

Pour ce qui est des solutions analytiques des modélisations [B], [C], et [D], les conditions aux limites, la partition du fluage en partie sphérique et déviatorique et l’application d’un chargement en déformation constante compliquent la recherche d’une solution analytique à la main. Pour lever ce problème, le paquet sympy est utilisé. Cela passe par l’écriture des fonctions de transfert dans le domaine de Laplace, et par la transformation inverse de Laplace.

Pour la Modélisation B, le Code source 15 permet de calculer et d’afficher une fonction permettant de calculer la solution analytique.

Code source 15 Obtention de la solution analytique du cas-test ssnv401b#
# Echelon de Heaviside, d'amplitude eps0
eps = eps0/p

# Fonction de transfert sigma -> epsilon_z
eps_sur_sig = 1/E + 1/3 * (1/(p*eta_i_sph) + 1/(k_r_sph + p*eta_r_sph)) + 2/3 * (1/(p*eta_i_dev) + 1/(k_r_dev + p*eta_r_dev))
eps_sur_sig_fact = sympy.factor(eps_sur_sig)

# On inverse la fonction de transfert pour obtenir epsilon_z -> sigma
sig_sur_eps = 1/eps_sur_sig_fact

# On récupère le numérateur et le dénominateur
num, denum = sympy.fraction(sig_sur_eps)

# Avant d'appliquer la transformée inverse, on rassemble tous les termes du dénominateur
collected_denum = sympy.collect(denum, p)

# On simplifie la fraction rationnelle
cancelled_fract = sympy.cancel(eps*num/denum)

# On divise rationnellement les polynômes, ce qui donne une somme de polynômes dont la transformée de Laplace inverse est connue
reponse = sympy.polys.apart(cancelled_fract, x=p, full=True).doit()

# Calcul de la déformation suivant x
sig_z = reponse
eps_x = sig_z*(-nu/E + 1/3*(1/(p*eta_i_sph) + 1/(k_r_sph + p*eta_r_sph)) - 1/3*(1/(p*eta_i_dev) + 1/(k_r_dev + p*eta_r_dev)))
rep_eps_x = sympy.apart(eps_x, x=p, full=True).doit()

# On applique la transformée de Laplace inverse
reponse_t = invL(reponse)
eps_x_t = invL(rep_eps_x)

# On transforme reponse_t en fonction de t, calculable en donnant les instants de calcul
rep       = sympy.lambdify((t), reponse_t, modules = "numpy", cse = True)
rep_eps = sympy.lambdify((t), eps_x_t, modules = "numpy", cse = True)

print(inspect.getsource(rep))
print(inspect.getsource(rep_eps))

De la même manière, les Code source 16 et Code source 17 permettent d’afficher le code de la solution analytique des modélisation [C] et [D].

Code source 16 Obtention de la solution analytique du cas-test ssnv401c#
sigz = sig0/p

Hd = 1/(eta_i_dev*p) + 1/(k_r_dev + eta_r_dev*p)
Hs = 1/(eta_i_sph*p) + 1/(k_r_sph + eta_r_sph*p)

sigx = sigz*(Hd/3 - Hs/3 + nu/E)/((1-nu)/E + 2/3*Hs + Hd/3)
sigx = sympy.factor(sigx)
num, denum = sympy.fraction(sigx)
cancelled_fract = sympy.cancel(num/denum)

reponse_sigx = sympy.polys.apart(cancelled_fract, x=p, full=True).doit()
reponse_epsz = sigz/E - 2*nu/E*sigx + Hs*(sigz+2*sigx)/3 + Hd*2/3*(sigz-sigx)
reponse_epsz = sympy.polys.apart(sympy.cancel(reponse_epsz), x=p).doit()
reponse_t = invL(reponse_sigx)
reponse_epsz_t = invL(reponse_epsz)
rep       = sympy.lambdify((t), reponse_t, modules = "numpy")
rep_epsz = sympy.lambdify((t), reponse_epsz_t, modules = "scipy")
print(inspect.getsource(rep))
print(inspect.getsource(rep_epsz))
Code source 17 Obtention de la solution analytique du cas-test ssnv401d#
epsz = eps0/p

Hd = 1/(eta_i_dev*p) + 1/(k_r_dev + eta_r_dev*p)
Hs = 1/(eta_i_sph*p) + 1/(k_r_sph + eta_r_sph*p)

H_sig = (-Hs/3 + Hd/3 + nu/E)/(2/3*Hs + Hd/3 + (1-nu)/E)
H_sig = sympy.cancel(sympy.factor(H_sig))
sigz = epsz/(1/E + 2*(Hs/3 - Hd/3 - nu/E)*H_sig + Hs/3 + 2*Hd/3)
sigz = sympy.factor(sigz)
num, denum = sympy.fraction(sigz)
cancelled_fract = sympy.cancel(num/denum)

reponse_sigz = sympy.polys.apart(cancelled_fract, x=p, full=True).doit()
reponse_sigx = sigz * H_sig
reponse_sigx = sympy.polys.apart(sympy.cancel(reponse_sigx), x=p, full=True).doit()
reponse_t = invL(reponse_sigz)
reponse_sigx_t = invL(reponse_sigx)
rep       = sympy.lambdify((t), reponse_t, modules = "numpy", cse = True)
rep_sigx = sympy.lambdify((t), reponse_sigx_t, modules = "numpy", cse = True)
print(inspect.getsource(rep))
print(inspect.getsource(rep_sigx))