v7.20.102 HSNA102 - Validation des lois de séchage sur une éprouvette cylindrique en béton#

Résumé:

Ce cas test est destiné à valider le calcul du séchage du béton, développé dans l’opérateur SECH_NON_LINE . On teste ici les différentes lois de diffusion disponibles, à savoir SECH_GRANGER, SECH_MENSI, SECH_BAZANT, SECH_NAPPE et SECH_RFT. L’éventuelle dépendance à la température des modèles n’est cependant pas testée.

Il s’agit d’un cas test axisymétrique où la concentration en eau est appliquée directement sur la paroi extérieure. Les résultats sont comparés avec une résolution numérique des équations à l’aide de Scilab excepté pour SECH_RFT dont la solution de référence est donnée par un calcul avec SECH_NAPPE auquel est fournie une formule en python équivalente.

Solution de référence#

Méthode de calcul utilisée pour la solution de référence#

Les 2 solutions de référence sont obtenues par résolution de l’équation de séchage par différences finies à l’aide de Scilab. Le fichier de commande est donné en annexe pour pouvoir éventuellement tester de nouveaux modèles.

La discrétisation spatiale est la même que pour Aster à savoir des mailles de \(1\mathit{mm}\) . La discrétisation temporelle est de 3600 secondes pour l’équation de Mensi, et 60 secondes pour l’équation de Bazant.

Résultats de référence#

On s’intéresse à la concentration en eau dans l’éprouvette après 1h, 3j, 28j, 1.25 an, 3 ans et 5 ans. L’évolution des profils obtenus avec Scilab pour la loi de Mensi et la loi de Bazant est visible sur les [Figure 2.2-a] et [Figure 2.2-b].

Remarque:

La comparaison entre les solutions Scilab et Aster est visible en [§Annexe 2]: on montre les concentrations obtenues dans l’éprouvette après 1 heure et après 5 ans. On vérifie ainsi la bonne corrélation exceptée pour la solution obtenue avec Aster pour la loi de Mensi au bout d’une heure où on observe une oscillation qui fait beaucoup penser à une violation du principe du maximum observé en thermique (cf. [bib2]). Il serait donc intéressant de pouvoir utiliser les éléments lumpés lorsqu’on résout l’équation du séchage même si le phénomène est accentué ici du fait des conditions aux limites, puisqu’on impose directement la concentration en eau au lieu d’imposer un flux [bib3].

../../../../_images/10046C9800003F9A0000384783EA517DC0023D95.svg

Figure 2.2-a : Solution Scilab - loi de Mensi

../../../../_images/10046C4000003F9A0000384786F40A03315EB3D0.svg

Figure 2.2-a .2-b : Solution Scilab - loi de Bazant

Les TEST_RESU sont réalisés pour les 6 instants caractéristiques aux abscisses \(x=\mathrm{0mm}\) , \(x=40\mathit{mm}\) et \(x=60\mathit{mm}\) .

Références bibliographiques#

    1. GRANGER: « Comportement différé du béton dans les enceintes de centrales nucléaires » publié par le Laboratoire Central des Ponts et Chaussées (1996).

    1. MICHEL-PONNNELLE, A. RAZAKANAIVO: «Projet I7-01-08: Qualité des Etudes en Mécaniques des Solides – Etape n°4: étude des éléments finis», Note EDF: HT‑64/02/007/A, Juin 2002

    1. DEBRUYNE, B. CIREE: «Modélisation de la thermo-hydratation, du séchage et du retrait du béton», manuel de Référence Code_Aster , [R7.01.12] (2001).

Modélisation A#

Caractéristiques de la modélisation#

On utilise la loi de diffusion de Mensi.

Caractéristiques du maillage#

L’éprouvette est maillée à l’aide de 80 QUAD4 régulièrement répartis. Il n’y a qu’un élément dans la hauteur.

Nombre de nœuds : 162

Nombre de mailles et type : 80 QUAD4

Caractéristiques de la discrétisation temporelle#

Instant Initial ( \(s\) )

Instant Final ( \(s\) )

Nombre de pas de temps

0

3600

10

3600

259 200

10

259 200

2 419 200

10

2 419 200

39 420 000

10

39 420 000

94 608 000

10

94 608 000

1 57 680 000

10

Grandeurs testées et résultats#

Concentration en eau au point \(x=0.0\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

2.21 10-14

après 3 jours

128.80

128.80

-2.21 10-14

après 28 jours

128.80

128.80

-3.67 10-5

après 1.25 an

117.49

117.76

0.231

après 3 ans

105.06

105.38

0.307

après 5 ans

96.77

97.09

0.332

Concentration en eau au point \(x=0.04\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

1.31 10-13

après 3 jours

128.80

128.80

-1.77 10-13

après 28 jours

128.61

128.66

0.038

après 1.25 an

117.74

112.35

0.543

après 3 ans

99.43

100.06

0.634

après 5 ans

91.39

91.99

0.661

Concentration en eau au point \(x=0.06\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

2.53 10-11

après 3 jours

128.80

128.80

0.002

après 28 jours

124.98

125.67

0.552

après 1.25 an

101.32

102.42

1.089

après 3 ans

89.60

90.64

1.158

après 5 ans

82.33

83.27

1.140

Commentaires#

On vérifie ici que l’erreur commise est faible puisqu’inférieure à \(\text{1.5\%}\) , ce qui est tout à fait correct étant donné la discrétisation temporelle relativement grossière utilisée, notamment en fin de calcul.

Modélisation B#

Caractéristiques de la modélisation#

On utilise la loi de diffusion de Granger

Caractéristiques du maillage#

L’éprouvette est maillée à l’aide de 80 QUAD4 régulièrement répartis. Il n’y a qu’un élément dans la hauteur.

Nombre de nœuds : 162

Nombre de mailles et type : 80 QUAD4

Caractéristiques de la discrétisation temporelle#

Instant Initial ( \(s\) )

Instant Final ( \(s\) )

Nombre de pas de temps

0

3600

10

3600

259 200

10

259 200

2 419 200

10

2 419 200

39 420 000

10

39 420 000

94 608 000

10

94 608 000

1 57 680 000

10

Grandeurs testées et résultats#

Concentration en eau au point \(x=0.0\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

2.21 10-14

après 3 jours

128.80

128.80

-2.21 10-14

après 28 jours

128.80

128.80

-3.67 10-5

après 1.25 an

117.49

117.76

0.231

après 3 ans

105.06

105.38

0.307

après 5 ans

96.77

97.09

0.332

Concentration en eau au point \(x=0.04\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

1.31 10-13

après 3 jours

128.80

128.80

-1.77 10-13

après 28 jours

128.61

128.66

0.038

après 1.25 an

117.74

112.35

0.543

après 3 ans

99.43

100.06

0.634

après 5 ans

91.39

91.99

0.661

Concentration en eau au point \(x=0.06\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

2.53 10-11

après 3 jours

128.80

128.80

0.002

après 28 jours

124.98

125.67

0.552

après 1.25 an

101.32

102.42

1.089

après 3 ans

89.60

90.64

1.158

après 5 ans

82.33

83.27

1.140

Commentaires#

On retrouve exactement la même solution que la loi de Mensi.

Modélisation C#

Caractéristiques de la modélisation#

On utilise la loi de diffusion SECH_NAPPE, pour laquelle on rentre simplement la loi de diffusion de Mensi.

Caractéristiques du maillage#

L’éprouvette est maillée à l’aide de 80 QUAD4 régulièrement répartis. Il n’y a qu’un élément dans la hauteur.

Nombre de nœuds : 162

Nombre de mailles et type : 80 QUAD4

Caractéristiques de la discrétisation temporelle#

Instant Initial ( \(s\) )

Instant Final ( \(s\) )

Nombre de pas de temps

0

3600

10

3600

259 200

10

259 200

2 419 200

10

2 419 200

39 420 000

10

39 420 000

94 608 000

10

94 608 000

1 57 680 000

10

Résultats de la modélisation C#

Valeurs testées#

Concentration en eau au point \(x=0.0\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

1.32 10-13

après 3 jours

128.80

128.80

8.83 10-14

après 28 jours

128.80

128.80

-4.35 10-5

après 1.25 an

117.49

117.51

0.012

après 3 ans

105.06

105.04

-0.021

après 5 ans

96.77

96.73

-0.037

Concentration en eau au point \(x=0.04\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

1.32 10-13

après 3 jours

128.80

128.80

-4.41 10-13

après 28 jours

128.61

128.65

0.029

après 1.25 an

117.74

112.11

0.328

après 3 ans

99.43

99.74

0.318

après 5 ans

91.39

91.68

0.319

Concentration en eau au point \(x=0.06\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

2.45 10-11

après 3 jours

128.80

128.80

0.002

après 28 jours

124.98

125.57

0.471

après 1.25 an

101.32

102.18

0.856

après 3 ans

89.60

90.35

0.843

après 5 ans

82.33

82.99

0.798

Commentaires#

On voit ici que l’erreur est inférieure à \(\text{1\%}\) .

Modélisation D#

Caractéristiques de la modélisation#

On utilise la loi de diffusion de Bazant.

Caractéristiques du maillage#

L’éprouvette est maillée à l’aide de 80 QUAD4 régulièrement répartis. Il n’y a qu’un élément dans la hauteur.

Nombre de nœuds : 162

Nombre de mailles et type : 80 QUAD4

Caractéristiques de la discrétisation temporelle#

Instant Initial ( \(s\) )

Instant Final ( \(s\) )

Nombre de pas de temps

0

3600

10

3600

259 200

20

259 200

2 419 200

20

2 419 200

39 420 000

20

39 420 000

94 608 000

10

94 608 000

1 57 680 000

10

Résultats de la modélisation D#

Valeurs testées#

Concentration en eau au point \(x=0.0\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

après 3 jours

128.80

128.80

-3.70 10-7

après 28 jours

118.42

118.63

0.175

après 1.25 an

70.36

70.51

2.227

après 3 ans

63.63

63.76

0.210

après 5 ans

60.67

60.73

0.102

Concentration en eau au point \(x=0.04\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

-2.21 10-14

après 3 jours

128.66

128.70

0.031

après 28 jours

105.89

106.80

0.853

après 1.25 an

68.25

68.53

0.415

après 3 ans

62.24

62.40

0.259

après 5 ans

60.06

60.13

0.119

Concentration en eau au point \(x=0.06\) :

Identification

Référence

Aster

\(\text{\%}\) différence

après 1 heure

128.80

128.80

-1.18 10-11

après 3 jours

120.99

122.47

1.225

après 28 jours

92.11

93.21

1.192

après 1.25 an

65.16

64.80

0.563

après 3 ans

60.62

60.76

0.234

après 5 ans

59.43

59.49

0.097

Commentaires#

On vérifie ici que l’erreur commise est faible puisqu’inférieure à \(\text{1.5\%}\) .

Modélisation E#

Caractéristiques de la modélisation#

Cette modélisation est la même que la modélisation A avec les éléments « lumpés » AXIS_DIAG. Les résultats sont quasiments identiques.

Modélisation F#

Caractéristiques de la modélisation#

On utilise la loi de diffusion SECH_RFT avec les paramètres matériaux suivants :

  • BETON_DESORP
    • LEVERETT : “OUI”

    • PORO : 2.91

    • VG_PR : 9.33427661 Pa

    • VG_N : 0.38923339

    • ATH : 10.160105601

    • TEMP_0_C : 20°C

  • SECH_RFT
    • PERM_IN : 1.175e-20 \(m^2\)

    • QSR_K : 9918.698 K

    • A_MIL : 2.607

    • B_MIL : 7.0

    • VG_M_P : 2.91

Référence de la modélisation#

Dans cette modélisation, on effectue deux calculs. Le premier utilise le comportement SECH_NAPPE avec une fonction python équivalente à SECH_RFT. Ce premier calcul constitue la référence pour le second. Le second calcul utilise le comportement SECH_RFT.

Caractéristiques du maillage#

L’éprouvette est maillée à l’aide de 80 QUAD4 régulièrement répartis. Il n’y a qu’un élément dans la hauteur.

Nombre de nœuds : 162

Nombre de mailles et type : 80 QUAD4

Caractéristiques de la discrétisation temporelle#

Instant Initial ( \(s\) )

Instant Final ( \(s\) )

Nombre de pas de temps

0

3600

10

3600

259 200

10

259 200

2 419 200

10

2 419 200

39 420 000

10

39 420 000

94 608 000

10

94 608 000

1 57 680 000

10

Grandeurs testées et résultats#

Concentration en eau au point \(x=0.0\) :

Identification

Référence

Précision en %**

après 1 heure

128.80

1e-4

après 3 jours

128.80

1e-4

après 28 jours

128.45

1e-4

après 1.25 an

105.11

1e-4

après 3 ans

93.22

1e-4

après 5 ans

86.24

1e-4

Concentration en eau au point \(x=0.04\) :

Identification

Référence

Précision en %**

après 1 heure

128.80

1e-4

après 3 jours

128.80

1e-4

après 28 jours

126.22

1e-4

après 1.25 an

100.88

1e-4

après 3 ans

89.27

1e-4

après 5 ans

82.48

1e-4

Concentration en eau au point \(x=0.06\) :

Identification

Référence

Précision en %**

après 1 heure

128.80

1e-4

après 3 jours

128.45

1e-4

après 28 jours

120.00

1e-4

après 1.25 an

93.26

1e-4

après 3 ans

82.24

1e-4

après 5 ans

75.90

1e-4

Commentaires#

Les résultats obtenus avec SECH_RFT sont les mêmes que ceux obtenus avec SECH_NAPPE.

Modélisation G#

Il s’agit d’une copie de la modélisation F dans laquelle le maillage est agrandi pour travailler en mm. Le paramètre PERM_IN est adapté en conséquence. On effectue 3 calculs en changeant à chaque fois l’unité de temps du problème (minutes, heures et jours). Ce test permet de valider la bonne prise en compte des mots-clés UNITE_TEMPS et UNITE_LONGUEUR de SECH_RFT. Les résultats de concentraction en eau obtenus sont à chaque fois les mêmes que ceux de la modélisation F.

Synthèse des résultats#

Pour les modélisations A à E, on obtient un écart entre la solution SCILAB et la solution Code_Aster inférieur à \(\text{1.5 \%}\) ce qui permet de valider l’implémentation des différentes lois de séchage dans le code. Notons simplement qu’on observe une violation du principe du maximum au début de la simulation avec Aster pour la loi de Mensi. Ceci peut s’expliquer (par analogie avec la thermique) par le «chochydrique» important dû à la façon d’imposer les conditions aux limites (concentration en eau imposée). Ce problème devrait pouvoir être résolu par l’utilisation des éléments lumpés de la même façon qu’en thermique.

Pour la modélisation F, on peut conclure que la loi SECH_RFT est équivalente à la loi SECH_NAPPE avec la formule python fournie.

Fichier de commande Scilab

Main.sci:

getf(“/home/xxxx/librairie.sci”) ;

// PARAMETRES DE LA SIMULATION NUMERIQUE

//

// discretisation de la largeur

x0 = 0.08 ;

x = [-0.080:0.001:+0.080] ; [n1 n2] = size(x) ;

// teneur en eau initiale

Cinit = 128.8 ;

Ci = Cinit*ones(1,n2) ;

// conditions aux limites à 50%HR

CL = [58.8 58.8] ;.

Ci(1) = CL(1) ; Ci($) = CL(2) ;

Ci_bazant = Ci ;

// pas de temps

dt = 60 ; // [s]

// coefficients de la loi de Bazant

D1 = 3.0E-10 ; //[m2/s]

a = 0.04 ;

n = 6;

TMAX = 5 ; // années

//______________________________________________________________________

//

// SIMULATION NUMERIQUE

//

j = 0 ;

u=file(“open”,”resultat_g”,”unknown”);

for annee = 0:TMAX,

annee

for jour = 0:364,

for heure = 0:23,

minute = 0 ;

for minute = 0:59,

D_bazant = diffusion_bazant(D1,a,n,Cinit,58.8,Ci_bazant,293,293*ones(Ci),4700);

Ci_bazant = linear_drying(D_bazant,Ci_bazant,CL,dt,x, »polar ») ;

if( (annee == 0 & jour == 0 & heure == 1 & minute == 0) | …

(annee == 0 & jour == 3 & heure == 0 & minute == 0) | …

(annee == 0 & jour == 28 & heure == 0 & minute == 0) | …

(annee == 1 & jour == 91 & heure == 0 & minute == 0) | …

(annee == 3 & jour == 0 & heure == 0 & minute == 0) | …

(annee == 5 & jour == 0 & heure == 0 & minute == 0) ) then,

annee, jour, heure

t=81:1:161;

for tk=t,

fprintf(u,”%6.3f %6.3f”,x(tk),Ci_bazant(tk)) ;

end,

end, // if

end, // for minute

end, // for heure

end, // for jour

end, // for annee

file(“close”,u) ;

Librairie.sci:


//

// COEFFICIENT DE DIFFUSION NON LINEAIRE POUR LES SECHAGE DU BETON

// LOI DE MENSI D(C) = a.exp(b.C)

// ACTIVATION THERMIQUE D(C,T) = D(C,T0).(T/T0).exp[-Q/R*(1/T-1/T0)]

//

// a coefficient de la loi de Mensi

// b coefficient de la loi de Mensi

// C vecteur des teneurs en eau [-]

// T0 température de référence [K]

// T vecteur des températures [K]

// Q_R Q/R (valant 4700 K)

function D = diffusion_mensi(a,b,C,T0,T,Q_R),

D = a*ones(C).*exp(b*C) ;

D = D.*(T./(T0*ones(T))) ;

D = D.*exp(Q_R*((ones(T)./T0)-(ones(T)./T))) ;

endfunction,

//

// ________________________________________________________________

//

// COEFFICIENT DE DIFFUSION NON LINEAIRE POUR LES SECHAGE DU BETON

// LOI DE BAZANT

// ACTIVATION THERMIQUE D(C,T) = D(C,T0).(T/T0).exp[-Q/R*(1/T-1/T0)]

//

// D1 coefficient de la loi de Bazant

// a coefficient de la loi de Bazant(alpha)

// n coefficient de la loi de Bazant

// C0 teneur en eau à 100%HR

// Cext teneur en eau du milieu environnant

// C vecteur des teneurs en eau [-]

// T0 température de référence [K]

// T vecteur des températures [K]

// Q_R Q/R (valant 4700 K-1)

function D = diffusion_bazant(D1,a,n,C0,Cext,C,T0,T,Q_R),

h = ones(C)-0.5*((C-C0*ones(C))/(Cext-C0))**2 ;

D = (((1-a)*ones(C)./(ones(C)+(4**n)*(ones(C)-h)**n))+a*ones(C))*D1 ;

D = D.*(T./(T0*ones(T))) ;

D = D.*exp(Q_R*((ones(T)./T0)-(ones(T)./T))) ;

endfunction,

// ________________________________________________________________

//

// DIFFUSION

// Résolution par la méthode des différences finies

//

// D vecteur des coefficients de diffusion

// Ci vecteur des teneurs en eau à l’instant j [-]

// CL condition aux limites en xmin et xmax de type Dirichlet (C=C0)

// dt pas de temps [s]

// x vecteur des abscisses [m]

// mode_ polaire/cartesien

function Cf = linear_drying(D,Ci,CL,dt,x,mode_),

[n1,n2] = size(Ci) ;

dx_ = zeros(1,n2-2) ; dx_(1:$) = (x(3:$)-x(1:$-2))*0.5 ;

// Cf_ = (D*dt*(ones(dx_)./(dx_**2)).*(Ci(3:$)-2*Ci(2:$-1)+Ci(1:$-2)))+Ci(2:$-1);

dx3 = ( ( …

(x(2:$-1)-x(1:$-2)).* …

(x(3:$ )-x(1:$-2)) …

).* …

(x(3:$)-x(2:$-1)) …

) ;

d2C_dx2 = 2*( Ci(3:$ ).*( x(2:$-1)-x(1:$-2) ) …

-Ci(2:$-1).*( x(3:$ )-x(1:$-2) ) …

+Ci(1:$-2).*( x(3:$ )-x(2:$-1) ) ) ;

d2C_dx2 = d2C_dx2./dx3 ;

if (mode_ == « polar ») then,

dC_dx = ( Ci(3:$ ).*( x(2:$-1)-x(1:$-2) )**2 …

-Ci(1:$-2).*( x(3:$ )-x(2:$-1) )**2 ) ;

// -Ci(2:$-1).*((x(2:$-1)-x(1:$-2) )**2 - (x(3:$ )-x(2:$-1))**2 )…

dD_dx = ( D(3:$ ).*( x(2:$-1)-x(1:$-2) )**2 …

  • D(1:$-2).*( x(3:$ )-x(2:$-1) )**2 ) ;

// - D(2:$-1).*((x(2:$-1)-x(1:$-2) )**2 - (x(3:$ )-x(2:$-1))**2 )…

dC_dx = dC_dx./dx3 ;

dD_dx = dD_dx./dx3 ;

i = find(x==0) ; [k1 k2] = size(i) ;

if(~(k1==0)) then, x(i) = x(i+1)/10, end,

// printf(« 1er ordre %s ; 2ème ordre %s »,string(min(dC_dx)),string(min(d2C_dx2)));

d2C_dx2 = d2C_dx2 + dC_dx./x(2:$-1) ;

end,

Cf_ = Ci(2:$-1)+dt*(D(2:$-1).*d2C_dx2) ;

if(mode_ == « polar ») then,

Cf_ = Cf_ +dt*(dD_dx.*dC_dx) ;

end,

Cf = zeros(1,n2) ; Cf(2:$-1) = Cf_ ; Cf(1) = CL(1) ; Cf($) = CL(2) ;

endfunction,

//

// ________________________________________________________________

//

Comparaison Aster/Scilab

A2.1 SECH_MENSI/ SECH_GRANGER/SECH_NAPPE

../../../../_images/10012C0E00003F9A00002AF98ADB245BC26FFA0A.svg ../../../../_images/1002CFB200003F9A00002AF9AC5F84FD3F0A0409.svg

A2.2 SECH_BAZANT

../../../../_images/1000A65800003FBA00002B18540144C59F410010.svg ../../../../_images/10014EF800003FBA00002B1814619BCC3E120D1A.svg