I- Théorème des cinq moments II- Poutre sur sol...

49
UNIVERSITÉ SAINT-JOSEPH Faculté d'ingénierie Ecole supérieure d'ingénieurs de Beyrouth Projet d’analyse numérique I- Théorème des cinq moments II- Poutre sur sol élastique Présenté par les étudiants de 1 ere année génie civil : KARAM Elias MAWAD Ass’ad Encadré par: Mr. Wassim RAPHAEL 2009

Transcript of I- Théorème des cinq moments II- Poutre sur sol...

UNIVERSITÉ SAINT-JOSEPH Faculté d'ingénierie

Ecole supérieure d'ingénieurs de

Beyrouth

Projet d’analyse numérique

I- Théorème des cinq moments

II- Poutre sur sol élastique

Présenté par les étudiants de 1

ere année génie civil :

KARAM Elias

MAWAD Ass’ad

Encadré par:

Mr. Wassim RAPHAEL

2009

1 | P a g e

Remerciements

Nous exprimons notre profonde reconnaissance à Mr. Wassim

RAPHAEL, qui nous a bien encadrés durant toute la durée du projet.

Mais surtout qui par son expérience et sa compétence, nous a toujours

poussé plus loin et nous a incité à réfléchir vis-à-vis de l’amélioration de

notre programme. Il a fait en sorte qu’aucune de nos rencontres ne soit

passive, et nous a donné l’avant gout des problèmes auxquels nous

pourrons faire face durant notre carrière d’ingénieur civil : il nous a

initiés à une nouvelle manière de penser et de voir les choses.

Nous tenons aussi à remercier Mr. Fouad KADDAH qui nous a aidés à

concevoir la traduction algorithmique de nos « solutions ».

2 | P a g e

Sommaire

Introduction………………………………………………………………3

I-Théorème des cinq moments…………………………………………..4

Théorie………………………………………………………………….4

Equation des 5 moments………………………………………………5

Modèle Mathématique………………………………………………….9

Interface et compilation……………………………………………….10

Algorithme……………………….……………………………………12

Graphs…………………………………………………………………15

Limitations et améliorations………………………………………….16

II-Poutre continue sur sol élastique…………………………………….17

Théorie………………………………………………………………..17

Solution de l’équation différentielle…………………………………19

Interface et compilation……………………………………………….22

Graphs…………………………………………………………………25

III-Correction pour la poutre continue sur sol élastique……………..26

Observations et explication de l’erreur……………………………..26

Correction par annulation de K……………………………………..27

Algorithme de la correction…………………………………………28

Proposition de correction par ajout de force……………………….30

Améliorations………………………………………………………....30

Conclusion…………………………………………………………….31

Annexes……………………………………………………………….32

3 | P a g e

Introduction

Le calcul numérique est un domaine de recherche à lui seul. De ce fait, une question

vient à l’esprit : Que vient faire cette science au bon début de notre cursus d’ingénieur

civil ?

Comme dans de nombreux domaines, la pratique joue un rôle essentiel dans la

maitrise du sujet. On ne peut raisonnablement pas espérer assimiler les méthodes

(apprises dans le premier semestre de l’année) sans les manipuler sur des exemples

concrets et connus. C’est dans ce sens que nous sommes amenés à réfléchir.

Il est vrai que la programmation des méthodes numériques peut sembler assez

difficile, mais il ne faut pas se perdre et oublier qu’elle est pour nous qu’un outil.

Souvent nous avons tendance à vouloir tout réinventer et réécrire les méthodes

standards, c’est une perte de temps. Il est cependant nécessaire de s’investir dans ce

domaine pour pouvoir y optimiser les résultats.

Notre projet vise la problématique directement, il forme la démarche indispensable

pour l’apprentissage et complète le calcul manuel appris en début d’année.

C’est dans cette perspective que l’écriture algorithmique des méthodes

numériques se présente comme un outil au service de l’ingénieur civil.

Pour un ingénieur, il est essentiel de savoir garder l’équilibre entre sa réflexion (et ses

estimations logiques) et l’emploi des résolutions numériques. La modélisation peut

parfois induire à des résultats réellement inconcevables. Notre projet – comme vous le

verrez par la suite – forme un bon exemple. Il appui aussi le fait, que l’utilisateur est

le meilleur programmeur. Nous voulons dire par la, que l’ingénieur utilisateur-

programmeur saura tirer la meilleur forme, adéquate, et qui répond directement à ses

besoins.

Ce document contient deux parties majeures :

D’abord l’étude d’une poutre sur appui élastique – Théorème des cinq moments.

Ensuite l’étude d’une poutre sur sol élastique suivie d’un « correction ».

Nous présenterons pour chacune l’étude théorique suivie d’un exemple qui servira

d’expliquer le fonctionnement de notre programme. Pour la deuxième partie, une

correction (optimisation du résultat) sera présenter et élaborer à la suite du

programme « intuitif ».

Nous ne prétendrons pas donner les meilleurs algorithmes, bien au contraire,

l’amélioration du programme reste possible du point de vue méthode de calculs,

écriture de l’algorithme, temps de calculs… C’est ce que nous avons-nous même

expérimenté durant la progression du projet : l’algorithme évoluait constamment !

4 | P a g e

ii-1 i+1

I. Théorème des cinq moments :

La Théorie :

Les appuis élastiques G i sont caractérises par une constante k i :

v i = - k i R i

Avec v i = déplacement vertical de l’appui G i

R i = réaction verticale de l’appui G i

k i = coefficient de souplesse

Or,

R i = Vd

i – Vg

i

Avec Vg

i =

g

idx

d

+

il

M - M 1-ii

Vd

i =

d

idx

d

+

1

i1i M - M

il

Donc,

R i =

d

idx

d

-

g

idx

d

+

1

i1i M - M

il -

il

M - M 1-ii

Où,

d

idx

d

-

g

idx

d

représente la réaction isostatique r i

On obtient : R i = r i + 1

i1i M - M

il -

il

M - M 1-ii

5 | P a g e

Equation des cinq moments :

r i = somme des réactions d’appui en G i des travées isostatiques associées à G 1i G i

et G i G 1i

R i = réaction d’appui en G i pour la poutre continue

On a:

R i = r i + 1

i1i M - M

il -

il

M - M 1-ii

D’où :

v i = - k i R i = - k i [r i + 1

i1i M - M

il -

il

M - M 1-ii ]

De même :

v 1i = - k 1i R 1i = - k 1i [r 1i + il

M - M 1-ii -1

2-i1-i M - M

il]

v 1i = - k 1i R 1i = - k 1i [r 1i + 2

1i2i M - M

il -

1

i1i M - M

il]

Le théorème des trois moments s’écrit :

b i M 1i + (c i + a 1i )M i + b 1i M 1i = θ'

1i - θ"

i + 1

i1i v- v

il -

il

v- v 1-ii

Soit compte tenu des dénivellations d’appui :

b i M 1i + (c i + a 1i )M i + b 1i M 1i = θ'

1i - θ"

i - 1

1

il[ k 1i r 1i - k i r i + k 1i

2

1i2i M - M

il - (k 1i + k i )

1

i1i M - M

il + k i

il

M - M 1-ii ] + il

1[ k i r i - k 1i r 1i + k i

1

i1i M - M

il - (k i + k 1i )

il

M - M 1-ii + k 1i

1

2-i1-i M - M

il]

6 | P a g e

En regroupant les moments à gauche et à droite du signe =, il vient:

[1i

1-i k

ill] M 2i

+ [b i - 1i

i k

ill -

2

1-ii kk

il

-

1i

1-i k

ill] M 1i

+ [c i + a 1i + 2

1

1ii kk

il+

1i

i 2k

ill +

2

1-ii kk

il

] M i

+ [b 1i - 21

1ik

ii ll -

2

1

1ii kk

il -

1i

i k

ill] M 1i

+ [21

1ik

ii ll] M 2i

= θ'

1i - θ"

i - il

1ik r 1i + k i (1

1

il +

il

1) r i -

1

1ik

ilr 1i

D’où en ordonnant les termes entre crochets :

[1i

1-i k

ill] M 2i

+ [b i - i

i k

l(

1

1

il +

il

1) -

i

1-i k

l(

il

1 +

1

1

il)] M 1i

+ [c i + a 1i + 2

1i k

il

+ k i (il

1 +

1

1

il)

2 +

2

1

1i k

il] M i

+ [b 1i - 1

i k

il(

il

1 +

1

1

il) -

1

1i k

il(

1

1

il+

2

1

il)] M 1i

+ 21

1ik

ii llM 2i

= θ'

1i - θ"

i - il

1ik r 1i + k i (1

1

il +

il

1) r i -

1

1ik

ilr 1i

Pour simplifier les écritures nous posons :

α i = c i + a 1i + 2

1i k

il

+ k i (il

1 +

1

1

il)

2 +

2

1

1i k

il

β i = b i - i

1-i k

l(

il

1 +

1

1

il) -

i

i k

l(

1

1

il +

il

1)

γ i = 1i

i k

ill

Ω i = θ'

1i - θ"

i - il

1ik r 1i + k i (1

1

il +

il

1) r i -

1

1ik

ilr 1i

7 | P a g e

D’où l’expression du théorème des cinq moments :

γ 1i M 2i + β i M 1i + α i M i + β 1i M 1i + γ 1i M 2i = Ω i

Remarques :

1) Pour une poutre continue sur appuis fixes :

v i = - k i R i = 0

R i ≠ 0

Donc k i = 0 pour tout i

Les coefficients de l’équation des 5 moments deviennent :

α i = c i + a 1i

β i = b i

γ i = 0

Ω i = θ'

1i - θ"

i

D’où le théorème des 5 moments a pour équation :

b i M 1i + (c i + a 1i )M i + b 1i = θ'

1i - θ"

i

soit l’expression établie pour le théorème des 3 moments.

2) En appliquant la relation des 5 moments à chacun des appuis d’une poutre

continue à n appuis, on obtient un système linéaire de n équations à n

inconnues (M0, M1, … Mn-1, Mn)

Cas des abouts de poutre :

Pour les premières travées de la poutre

i = 0 α0M0 + β1M1 + α1M2 = Ω0

i = 1 β1M0 + α1M1 + β1M2 + γ2M3 = Ω1

i = 2 γ1M0 + β2M1 + α2M2 + β3M3 + γ3M4 = Ω2

Pour les dernières travées de la poutre

i = n – 2 γn-3Mn-4 + βn-2Mn-3 + αn-2Mn-2 + βn-1Mn-1 = Ωn-2

i = n – 1 γn-2Mn-3 + βn-1Mn-2 + αn-1Mn-1 + βnMn = Ωn-1

i = n γn-1Mn-2 + βnMn-1 + αnMn = Ωn

8 | P a g e

Encastrements élastiques sur appuis de rive – encastrement partiel

Pour i = 0, α i s’écrit :

α0 = c0 + a1 + 2

0

1 k

l

+ k 0 (0

1

l +

1

1

l)

2 +

2

1

1 k

l

Comme il n’y a pas de travée d’indice 0 :

α0 = c0 + a1 + 2

1

10 kk

l

En remarquant qu’un moment M0 appliqué à l’appui 0 peut être obtenu

en considérant une travée soumise à un moment sur l’appui de droite

valant M0 :

ω"

0 = θ"

0 + b0M-1 + c0M0

or, M-1 = 0 et θ"

0 = 0

ω"

0 = c0M0 = h0M0

c0 = h0

h0 étant la souplesse de l’encastrement partiel.

Pour i = n :

ω'

1n = θ'

1n - a 1n M n - b 1n M 1n

M 1n = 0

θ'

1n = 0

ω'

1n = - a 1n M n = - h n M n

a 1n = h n

Donc, les coefficients de la relation des 5 moments peuvent être

déterminés en faisant intervenir h0 et hn caractérisant les encastrements

élastiques sur appuis de rive :

Donc pour les premiers coefficients :

α0 = h0 + a1 + 2

1

10 kk

l

α1 = c1 + a2 + 2

1

0 k

l + k1(

1

1

l +

2

1

l)

2 +

2

2

2 k

l

β1 = b1 - 2

1

0 k

l -

1

1 k

l(

1

1

l +

2

1

l)

γ1 = 21

1 k

ll

Ω0 = θ'

1 + 1

0 k

lr0 -

1

1 k

lr1

9 | P a g e

Pour les derniers coefficients :

αn = cn + hn + 2

n1-n kk

nl

βn = bn - nl

k 1-n (1

1

nl +

nl

1) -

2

n k

nl

γn = nll 1-n

1-n k

Ωn = - θ"

n + n

1-n k

lrn-1 -

n

n k

lrn

NB : Vous trouverez en ANNEXE la définition de Ks, ainsi que le formulaire pour

une poutre sur deux appuis simples.

Le modèle mathématique :

Ainsi la matrice à résoudre devient :

0 0 0

0 0

1 1 0 0

1 0 2 0 0

3 2 2 1 1

2 1 1

1

0 0 0 0 0

0 0 0 0

0 0 0

0*

0

0 0 0

0 0 0 0

0 0 0 0 0

n n n n n

n n n n

n n

n n n

M

M

Donc le problème est rendu à un système linéaire de n équations à n inconnue.

Pour résoudre un tel problème on fait intervenir les méthodes numériques. Plusieurs

méthodes s’applique dessus (méthode de Gauss, Méthodes LS,…)

Dans la suite nous vous exposons l’algorithme de gauss que nous avons choisi dans

notre programme pour résoudre cette matrice. L’algorithme de Gauss étant le plus

facile et le plus rapide pour des matrices de petite dimension.

Les conditions aux limites du programmes seront indiquées par l’utilisateur, qui ne

représentent que les types d’appuis aux extrémités (console, encastrement, appuis

rotule). Dans notre cas on suppose que les appuis sont fixes (appuis rotules) et les

moments aux appuis (M0, Mn) sont nuls, par suite le système se ramène a n-2

équations à résoudre.

10 | P a g e

Interface et compilation du programme

Dans ce qui suit, nous allons expliquer l’utilisation

du programme et le fonctionnement de l’algorithme

utilisé.

Notre programme peut calculer au maximum un

problème de 10 travées.

Ce programme peut facilement être étendu à 100

travées en considérant des méthodes et des

algorithmes plus avancés que nous citerons dans la

partie amélioration.

Saisir les donnes :

1- Choisir les Conditions initiales (figure 1):

2- Les données du programme

(figure 2) :

3

5

4

1-2

Figure 1

1- L’unité de la force (KN

dans le SI)

2- L’unité de la longueur (m

dans le SI)

3- Le module de Young

4- Le nombre de travée

5- Le type des appuis aux

extrémités

1- Entrer la longueur et

l’inertie de chaque travée

2- Entrer le coefficient de

tassement de chaque

appuis

Figure 2

1

2

1

2

11 | P a g e

-100

-50

0

50

100

150

0 20 40 60 80 100 120 140 160 180

3-Les forces appliquées sur les travées (figure 3) :

Une visualisation de la travée, de la force repartie, de la force ponctuelle, et du couple

apparaissent sur un schéma dans l’interface.

Cliquer sur le bouton calcul des moments pour lancer le programme.

Vous pouvez à n’importe quel instant cliquer sur le bouton résultat pour aller à la

page des résultats, et le bouton graph pour voir les graphs demandés (après y avoir

cliqué sur calcul des moments). Le bouton reset est disponible à n’importe quel

instant pour remettre à zéro les valeurs du tableau.

1- Choisir le nombre de

chargement par travée

2- Le module de chargement(en

respectant les conventions de

la figure 4)

3- La travée sur laquelle le

chargement est appliqué et la

distance d’application de cette

charge par rapport à l’appui

gauche de la travée Figure 3

Figure 4

12 | P a g e

L’algorithme :

On a vu dans la partie théorique que le problème est rendu à une matrice de n

équations à n inconnues. La résolution d’un système AX=B se fait numériquement en

utilisant divers méthodes, dans notre algorithme nous utilisons la méthode de

GAUSS.

La méthode d’élimination de Gauss transforme le système à résoudre en un système

équivalent à matrice triangulaire supérieure dont la solution est facile à obtenir.

On élimine u1 des équations 2,3…n en se servant de la première équation ;

Puis on élimine u2 des équations 3,4,…n en se servant de la deuxième équation

modifiée…ainsi de suite, jusqu'à éliminer u(n-1) de l’équation n.

L’écriture algorithmique est la suivante :

‘Remplissage de la matrice :

mat(0, 0) = alpha(0) mat(0, 1) = beta(1) mat(0, 2) = gamma(1) mat(1, 0) = beta(1) mat(1, 1) = alpha(1) mat(1, 2) = beta(2) mat(1, 3) = gamma(2) For i = 2 To nbr - 2 mat(i, i - 2) = gamma(i - 1) mat(i, i - 1) = beta(i) mat(i, i) = alpha(i) mat(i, i + 1) = beta(i + 1) mat(i, i + 2) = gamma(i + 1) Next i mat(nbr, nbr) = alpha(nbr) mat(nbr, nbr - 1) = beta(nbr) mat(nbr, nbr - 2) = gamma(nbr - 1) mat(nbr - 1, nbr) = beta(nbr) mat(nbr - 1, nbr - 1) = alpha(nbr - 1) mat(nbr - 1, nbr - 2) = beta(nbr - 1) mat(nbr - 1, nbr - 3) = gamma(nbr - 2)

avec alpha(i), beta(i), gamma(i), sont les coefficients recherchés dans la partie théorique.

13 | P a g e

La matrice B est remplie par les seconds termes de l’inégalité : Omega(i) L’algorithme de gauss : Système de la forme AX=B ‘Aboutir a la matrice triangulaire supérieure :

For k = 1 To n - 1 For i = k + 1 To n Step 1 factor = a(i, k) / a(k, k) For j = k + 1 To n a(i, j) = a(i, j) - factor * a(k, j) Next j b(i) = b(i) - factor * b(k) Next i Next k ‘On remplace les équations par une marche

inverse :

x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 sum = 0 For j = n To i + 1 Step -1 'or j=i+1 to n sum = sum + a(i, j) * x(j) Next j x(i) = (b(i) - sum) / a(i, j) Next i

14 | P a g e

La résolution du système donne la matrice X qui n’est autre que la matrice solution des moments aux appuis de la travée. La feuille résultat indique tous les résultats finals de l’étude pour une poutre continue par le théorème des 5 moments.

Dans le tableau (figure 7) vous

trouvez le maximum et le

minimum des moments de flexion

et de l’effort tranchant avec leur

abscisse absolue sur les travées

ainsi qu’un tableau de résultats

qui donne pour différentes

abscisses le moment fléchissant

et l’effort tranchant.

Figure 5

Dans le tableau (figure 6) vous

trouvez

les moments sur les appuis dans la

2eme

ligne,

les réactions dans la 3eme

ligne,

les tassements dans la 4eme

ligne. Figure 6

Figure 7

15 | P a g e

Les Graphs:

Dans la section des graphs vous trouvez : un graph des travées avec leur chargement, un graph des moments fléchissant, un graph de l’effort tranchant, en signalant le maximum et le minimum sur le graph. De plus un tableau des valeurs maximal et minimal précédemment expliquer.

Vous pouvez à n’importe quel moment cliquer sur les boutons suivant :

Résultat pour revenir à la page résultat

Graph pour aller à la page Graph

Donnée pour aller à la page des Données

Reset pour remettre à Zéro.

De plus vous pouvez déterminer les

sollicitations(2) pour une abscisse

déterminée X (1)

2

X

Figure 9

Figure 8

16 | P a g e

Limites et Améliorations de la Méthode et de l’Algorithme :

La méthode :

A priori la méthode des cinq moments, qui n’est autre que dérivée de la méthode des trois moments, est la plus rapide pour le cas d’un système de travée continue. Mais cette méthode ce trouve inutile dans les problèmes de cadre, de torsion…

Limitations algorithmiques :

Signalons que notre programme peut être facilement élargit à un nombre très grand de travée mais les limitations de mémoire due au compilateur(Excel) s’avère grave, de plus une résolution d’une plus grande matrice devient plus lente avec l’algorithme de gauss. Pour cela on peut passer au compilateur C++ au détriment de la belle interface que présente Excel. Cela en effet dépend des demandes de l’utilisateur. Changer l’algorithme de gauss est aussi important pour des grandes matrices, plusieurs méthodes sont mises au point : Cours d’Analyse Numérique enseigne par Mr. Fouad KADDAH: A titre d’exemple : Méthode LS Méthode de Runge-Kutta

17 | P a g e

q(x)

r(x)

q(x)

v(x)

ligne moyenne

q(x)

v(x)

II- Poutre Continue sur Sol Elastique :

La Théorie :

Equation différentielle:

q(x) : charge appliquée

r(x) : réaction du point d’abscisse x

v(x) : flèche

r(x) = - k v(x)

D’autre part EI

M

dx

vd

2

2

Donc V = 3

3

dx

vdEI

dx

dM

Or dx

dV- p(x) = - (q(x) – r(x))

Equilibre des forces verticales sur un élément dx infiniment petit.

Donc p(x) = q(x) – r(x) = q(x) + k v(x)

18 | P a g e

Tout ceci implique :

4

4

dx

vd-

EI

xkvxq )()(

D’où , l’équation différentielle :

4

4

dx

vd + 4γ

4 v(x) =

EI

xq )(

Avec γ4 =

EI

k

4

On en déduit les sollicitations à partir de v(x) :

3

3

2

2

)(

)(

dx

vdEIxV

dx

vdEIxM

Rappels mathématiques:

On pose : φ(γx) = e

-γx [cos γx + sin γx]

Par dérivation : φ’(γx) = γe

-γx [- cos γx – sin γx – sin γx + cos γx]

On pose : φ’(γx) = - 2γ ξ(γx)

ξ(γx) = e-γx

sin γx

En dérivant une seconde fois :

ξ'(γx) = γe

-γx [– sin γx + cos γx]

On pose : ξ'(γx) = γ ψ(γx)

ψ (γx) = e-γx

[cos γx - sin γx]

En dérivant une troisième fois :

ψ'(γx) = γe

-γx [ - cos γx + sin γx - sin γx - cos γx]

On pose : ψ'(γx) = - 2γ θ(γx)

θ'(γx) = e

-γx cos γx

En dérivant une quatrième fois :

θ'(γx) = γe

-γx [- cos γx - sin γx]

On a donc : θ'(γx) = - γ φ(γx)

19 | P a g e

Solution de l’équation différentielle :

Solution générale

)(sincossincos)( xvxDexeCxBexAexv xxxx

)(xv Solution particulière de l’équation avec second membre qui dépend donc du

chargement q(x).

Poutre infinie soumise a une charge concentrée P

Le travail sera effectué en considérant le repère d’origine O en P (charge concentrée).

Par symétrie du chargement :

V(x) = V (-x)

V (0+ε) = - V (0-ε)

Or V (0+ε) = V (0-ε) – P

V (0+ε) = 2

P

V(0-ε)

V(0+ε)

v

P

20 | P a g e

La solution de l’équation différentielle (de la déformée) s’écrit :

q(x) = 0 )(xv 0

xDexeCxBexAexv xxxx sincossincos)(

A partir des conditions aux limites, nous allons pouvoir déterminer A, B, C, D :

0)(lim

xvx

A = B = 0 et xDexeCxv xx sincos)(

Par raison de symétrie :

0)0( xdx

dv (pente)

Comme ]cossinsincos[ xDxCxDxCedx

dv x

]sin)(cos)[( xCDxCDedx

dv x

On obtient :

0)()0( CDxdx

dv D = C et v(x) = C e

-γx [cos γx + sin γx]

Soit : v (x) = C φ (γx)

Par raison de symétrie :

2)0()0(

3

3 Px

dx

vdEIxV

v (x) = C φ (γx)

dx

dv = - 2 γ C ξ (γx)

2

2

dx

vd = - 2 γ

2 C ψ (γx)

3

3

dx

vd = 4 γ

3 C θ (γx)

21 | P a g e

Il vient : 2

]cos[4)0( )0(

3

3

3 PxeCEIx

dx

vdEI x

x

2

4 3 PCEI

38 EI

PC

D’autre part : EI

k

4

4 k

PC

2

Les expressions précédentes deviennent :

)(2

)( xk

Pxv

)(2

xk

P

dx

dv

EI 2

2

dx

vd = M = )(

4x

P

EI 3

3

dx

vd = V = )(

2x

P

Dans le cas où x<0, on utilisera :

)()(

)()(

)()(

)()(

xVxV

xMxM

xdx

dvx

dx

dv

xvxv

22 | P a g e

Interface et compilation

Dans ce qui suit nous allons

expliquer l’utilisation du

programme et le fonctionnement

de l’algorithme utilisé.

Notre programme compile les

valeurs réelles ou la solution de

l’équation trouvée dans la partie

théorique, ainsi que la résolution

de la matrice du maillage trouve

dans la partie précédente, ainsi

pour aller plus loin on propose

des valeurs correctives dont la

théorie est discutée

précédemment.

1- Position du Problème :

1-Choisir les unités

convenables

2-Entrer les données du

problème (longueur de la

poutre, Charge Applique, K,

E, I)

3-On discutera dans ce qui

suit le choix du nombre de

pas (on suggère le nombre

optimum des pas)

23 | P a g e

2- Boutons et fonctions :

L’algorithme :

‘Remplissage de la matrice B

matb(0) = -p * pas ^ 3 / e / ine ‘On divise par le pas

car on considère que la

force est repartie

‘Remplissage de la matrice A

mat(0, 0) = 6 + pas ^ 4 * 4 * g ^ 4

mat(0, 1) = -8

mat(0, 2) = 2

mat(1, 0) = -4

mat(1, 1) = 7 + pas ^ 4 * 4 * g ^ 4

mat(1, 2) = -4

mat(1, 3) = 1

Cliquer sur les boutons :

Calculer la flèche : Calcule

de la flèche réelle, par

discrétisation, Correction

Reset : remettre à zéro le

programme

Résultat : les résultats de

l’analyse

Graph : les graphiques de

l’analyse

24 | P a g e

For i = 2 To nbr - 2

mat(i, i - 2) = 1

mat(i, i - 1) = -4

mat(i, i) = 6 + pas ^ 4 * 4 * g ^ 4

mat(i, i + 1) = -4

mat(i, i + 2) = 1

Next i

mat(nbr, nbr - 2) = 2

mat(nbr, nbr - 1) = -8

mat(nbr, nbr) = 6 + pas ^ 4 * 4 * g ^ 4

mat(nbr - 1, nbr - 3) = 1

mat(nbr - 1, nbr - 2) = -4

mat(nbr - 1, nbr - 1) = 7 + pas ^ 4 * 4 * g ^ 4

mat(nbr - 1, nbr) = -4

Avec : Longueur de la poutre

Nbr de pasPas

4

4

Kg

EI

Pour résoudre ce système de la forme AX=B on applique la méthode de

Gauss déjà traite dans la 1ere

partie (Théorème des cinq moments)

La résolution du système donne la matrice X qui n’est autre que la

déformation en un point donné.

La feuille résultat indique tous les résultats finaux de l’étude d’une poutre

continue sur un sol élastique.

De même vous trouvez dans

cette feuille un tableau de

résultat pour différentes

abscisses :

les valeurs réelle,

de discrétisation,

et la correction,

un autre tableau affiche le

maximum et le minimum

des trois cas précédemment

cités avec leur abscisse.

25 | P a g e

Les graph:

Dans la section des graphs vous trouvez

deux graphes identiques à deux échelles

différentes :

Le 1er

graph amplifie la hauteur pour

mètre en évidence les oscillations du

système

Le 2nd

graph est forme de 3

courbes :

La déformée réelle

La déforme par

discrétisation

La déforme correcte

Ainsi qu’un tableau de

valeur maximale et

minimale pour chacun

des cas.

Vous pouvez à n’importe quel moment cliquer sur les boutons :

Résultat pour revenir a la page résultat

Graph pour aller a la page Graph

Donnée pour aller à la page des Donnée

Reset pour remettre a Zéro.

De plus vous pouvez déterminer les 3

types de déformations pour une abscisse

déterminée X (1)

26 | P a g e

III-Correction

Poutre Continue sur Sol Elastique :

Observations et explication de l’erreur : La poutre continue sur sol élastique, peut être modélisée par une poutre

appuyée sur des appuis ponctuels élastiques successifs (ou par une

succession de ressorts).

La poutre sur appui élastique continu…

…doit être modélisée sur des appuis ponctuels élastiques

Au début, avant tout chargement, l’analogie entre la poutre sur sol élastique et la poutre appuyée sur une succession de ressorts est respectée.

Quand on place le chargement, la poutre va se déformer suivant une sinusoïde qui diminue d’amplitude en s’éloignant du point d’application de la charge.

Dans le cas de la poutre sur les ressorts, la déformation va entraîner que les ressorts se trouvant sous la flèche négative soient comprimés, alors que les ressorts se trouvant sous la flèche positive soient tendus.

27 | P a g e

Nous aurons des réactions d’appui r(x) / r(x) = -kv(x) où k : constante de raideur du ressort. Dans le cas de la poutre continue, le sol sous la flèche négative est comprimée d’où on a la même réaction d’appui, mais sous la flèche positive, puisque le sol n’agit pas en traction, elle ne va pas remonter avec la poutre.

Correction par annulation de K:

La correction à laquelle nous avions eu recours est de « couper » les ressorts qui travaillent en traction. En d’autre terme, nous avons annulé K.

Ce qui mène au schéma suivant :

Pour y remédier numériquement, nous avons localisé l’endroit où il y a une flèche positive. A ces endroits là, nous avons annulé K.

Le programme est itératif, le même procédé est répété jusqu'à ce que la différence entre deux points consécutifs présentant des flèches positives soit nulle.

C’est ainsi que la correction est faite, la déformée observée est maintenant juste et logique.

Algorithme de la correction :

For aa = 0 To 500 'nbr d'iteration For i = 1 To nbr If v(i) > 0 Then mat(i, i) = 6 '+ pas ^ 4 * 4 * g ^ 4 'matb(i) = k * v(i) * pas ^ 4 / e / ine End If Next i

28 | P a g e

'Lecture de a et b For i = 1 To n For j = 1 To n a(i, j) = mat(i - 1, j - 1) Next j b(i) = matb(i - 1) Next i 'Elimination For k = 1 To n - 1 For i = k + 1 To n Step 1 factor = a(i, k) / a(k, k) For j = k + 1 To n a(i, j) = a(i, j) - factor * a(k, j) Next j b(i) = b(i) - factor * b(k) Next i Next k 'Substitution x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 Sum = 0 For j = n To i + 1 Step -1 'or j=i+1 to n Sum = Sum + a(i, j) * x(j) Next j x(i) = (b(i) - Sum) / a(i, j) Next i 'Output x For i = 1 To n ' Cells(19 + i, 10) = x(i) v(i - 1) = x(i) Next i Next aa

29 | P a g e

Proposition d’une autre correction:

Cette méthode consiste a ajouter une force qui éliminera l’effet de la réaction par traction du sol.

Dans notre modélisation, nous avons considéré une réaction d’appui partout sur la poutre, or en réalité, ceci n’est pas vrai alors l’analogie entre la poutre continue sur sol élastique et la poutre sur les ressorts n’est plus valable. Le sol ne fonctionne pas en traction.

Pour corriger cela numériquement, nous proposons :

Trouver l’endroit où il y a une flèche positive, ajouter à l’équation une force de norme égale à la réaction et de sens opposé pour annuler r. et on dessine la nouvelle figure qu’on obtient. Par itération, le programme répète le même calcul, jusqu’à ce que la différence entre 2 points consécutifs soit nulle.

De cette façon la déformée devient juste.

NB : Nous n’avons pas abouti à un bon résultat en résolvant le problème par

cette méthode. Cependant le raisonnement nous a semblé logique et nous voulions le mentionner.

30 | P a g e

Améliorations : Nos programmes étaient en constamment améliorés. Nous voulons dire

par amélioration : -Optimisation des résultats, c'est-à-dire, un rapprochement continuel des valeurs réelles. -Optimisation du temps de calculs, et cela en correspondant l’écriture

algorithmique la plus adaptée avec la méthode numérique la plus rapide. -Optimisation du pas de discrétisation : En effet, le choix du pas influence énormément les résultats. En menant nos recherches nous avons trouvé une méthode de calculer le maillage le plus adéquat. Le calcul se fait automatiquement comme suit : Exemple :

Largeur de la poutre en m 1,5

Hauteur en m 0.50

Longueur en m 12

Module E en kN/m2 20000000

k sol en kN/m2/m 10000

Résultat pour : L maillage en m

0.226

Résultat pour : Nbre optimum d'appuis 54

On s'aperçoit que la finesse de maillage varie en fonction de la rigidité de la poutre. Si la poutre se déforme localement le maillage doit être de plus en plus fin. Si la déformation est globale, le maillage peut être grossier. -Optimisation de la méthode de calcul : Pour le Theoreme des cinq moments: on peut facilement elargir notre programme à une nombre très grand de travée mais la résolution devient plus lente pour cela on utilise des méthodes plus efficaces pour la résolution: méthodes LS, Runge Kutta (cours analyse)... Pour la poutre: de même, nous pouvons employer des méthodes numériques (LS, Runge kutta) qui donneront une correction plus précise. -Optimisation du logiciel : A notre niveau, Excel permet de faire tous les calculs, les graphiques et présente une belle interface. Pour une plus grande mémoire, C++ -par exemple- s’avère plus performant…

31 | P a g e

Conclusion

Si nous avons commencé notre projet par une problématique qui peut

sembler de prime abord loin du contenu de ce document, ce n’est pas par

hasard !

Nous nous la reposons à la fin de ce dossier avec plus de certitude qu’elle

est bien une finalité en soit :

Que vient faire cette science (l’analyse numérique) au bon début de notre

cursus d’ingénieur civil ?

Nous répondons plus fermement, que si nos programmes peuvent être en

constante évolution, et si les méthodes peuvent être multiples pour

accomplir la même tache, l’initiation à cette science en début de cursus

est primordiale pour pouvoir optimiser nos résultats. En effet,

l’amélioration est toujours présente mais il faut cependant cibler la

finalité.

Profiter de cet essor dans le monde de la programmation est plus que

jamais indispensable dans ce nouveau monde très compétitif. La

connaissance dans la programmation des méthodes numériques n’est

plus un PLUS, c’est une nécessité puisque comprendre la base

aujourd’hui nous permettra de pouvoir manipuler et s’adapter aux

évolutions rapides dans la pratique de l’Ingénierie civil.

32 | P a g e

ANNEXES

33 | P a g e

Annexe 1.Coefficients de réaction Ks des sols :

Définition : On appelle coefficient de réaction Ks le quotient de la

pression de contact en un point de l’interface d’une semelle par le

tassement considéré :

Ks= -σs/v (le sens de v est ascendant)

D’où le coefficient d’élasticité des appuis :

σs= R/(B.L) où BxL= dimension en plan de la semelle (B≤L)

V=-k.R

Donc, V=-R/(Ks.B.L) avec k=1/(Ks.B.L)

Nous distinguons de forme de Ks, l’une pour les sols sans cohésion et

l’autre pour les argiles consistantes.

Annexe 2.Matrice résolue pour la poutre continue sur sol

élastique :

4 4

34 4

0

4 4

4 4

4 4

4 4

4 4

6 4 8 2 0 0 0 0 0

4 7 4 4 1 0 0 0 0

1 4 6 4 4 1 0 0 0 0

0 1 4 6 4 4 1 0 0

*

0 0 1 4 6 4 4 1 0

0 0 0 0 1 4 7 4 4 0

0 0 0 0 0 2 8 6 4

n

x

P xVxEI

x

x

x

Vx

x

34 | P a g e

35 | P a g e

Annexe 4 - Etude d’une poutre sur deux appuis simple avec charge uniforme q :

Les réactions d'appuis se déterminent aisément en

formulant l'équilibre des moments autour de A une fois et

autour de B une deuxième fois :

donne

donne

Ensuite on coupe la poutre en la position x, on remplace la

partie coupée par les efforts intérieurs N, V et de M, les

appuis par les réactions d'appui et on formule l'équilibre :

N(x) = 0

ce qui donne, avec ,

Diagramme des efforts de cohésion

Les efforts normaux N(x) sont nuls tout le long de la poutre.

L'effort de cisaillement est maximal aux appuis :

, respectivement

. Entre ces deux valeurs, V(x) est linéaire,

avec .

Le moment M(x) décrit une fonction parabolique le long de la poutre. Sa

valeur est maximale en ou elle vaut

36 | P a g e

Annexe 5 - L’algorithme

Algorithme Théorème des 5 moments

Sub matrice() Sheets("calcul").Select Dim a(20) As Double Dim b(20) As Double Dim c(20) As Double Dim l(20) As Double Dim ine(20) As Double Dim k(20) As Double Dim alpha(20) As Double Dim beta(20) As Double Dim gamma(20) As Double Dim omega(20) As Double Dim mat(20, 20) As Double Dim moment(20) As Double Dim reaction(20) As Double Dim tassement(20) As Double Dim nbr As Integer Dim ss As Integer Sheets("Calcul").Select range("A20:N32000").Select Selection.ClearContents range("A1").Select nbr = range("B3") e = range("B1") For i = 1 To nbr l(i) = Cells(9, i + 3) ine(i) = Cells(10, i + 3) Next i For i = 0 To nbr k(i) = Cells(16, i + 3) Next i

37 | P a g e

For i = 1 To nbr a(i) = l(i) / (3 * e * ine(i)) b(i) = a(i) / 2 c(i) = a(i) Next i alpha(0) = a(1) + (k(0) + k(1)) / l(1) ^ 2 alpha(nbr) = c(nbr) + (k(nbr - 1) + k(nbr)) / l(nbr) ^ 2 beta(1) = b(1) - k(0) / l(1) ^ 2 - k(1) * (1 / l(1) + 1 / l(2)) ^ 2 beta(nbr) = b(nbr) - k(nbr - 1) * (1 / l(nbr - 1) + 1 / l(nbr)) / l(nbr) - k(nbr) / l(nbr) ^ 2 omega(0) = Cells(18, 4) + k(0) * Cells(17, 3) / l(1) - k(1) * Cells(17, 4) / l(1) omega(nbr) = -Cells(19, nbr + 3) - k(nbr - 1) * Cells(17, nbr + 2) / l(nbr) + k(nbr) * Cells(17, nbr + 3) / l(nbr) For i = 1 To nbr - 1 alpha(i) = c(i) + a(i + 1) + k(i - 1) / l(i) ^ 2 + k(i) * (1 / l(i) + 1 / l(i + 1)) ^ 2 + k(i + 1) / l(i + 1) ^ 2 gamma(i) = k(i) / l(i) / l(i + 1) omega(i) = Cells(18, i + 4) - Cells(19, i + 3) - Cells(16, i + 2) * Cells(17, i + 2) / Cells(9, i + 3) + Cells(16, i + 3) * (1 / Cells(9, i + 3) + 1 / Cells(9, i + 4)) - Cells(16, i + 4) * Cells(17, i + 4) / Cells(9, i + 4) Next i For i = 2 To nbr - 1 beta(i) = b(i) - k(i - 1) * (1 / l(i - 1) + 1 / l(i)) / l(i) - k(i) * (1 / l(i) + 1 / l(i + 1)) / l(i) Next i For i = 0 To nbr Cells(45, 2 + i) = alpha(i) Cells(46, 2 + i) = beta(i) Cells(47, 2 + i) = gamma(i) Cells(48, 2 + i) = omega(i) Next i mat(0, 0) = alpha(0) mat(0, 1) = beta(1) mat(0, 2) = gamma(1) mat(1, 0) = beta(1) mat(1, 1) = alpha(1) mat(1, 2) = beta(2) mat(1, 3) = gamma(2) For i = 2 To nbr - 2 mat(i, i - 2) = gamma(i - 1) mat(i, i - 1) = beta(i)

38 | P a g e

mat(i, i) = alpha(i) mat(i, i + 1) = beta(i + 1) mat(i, i + 2) = gamma(i + 1) Next i mat(nbr, nbr) = alpha(nbr) mat(nbr, nbr - 1) = beta(nbr) mat(nbr, nbr - 2) = gamma(nbr - 1) mat(nbr - 1, nbr) = beta(nbr) mat(nbr - 1, nbr - 1) = alpha(nbr - 1) mat(nbr - 1, nbr - 2) = beta(nbr - 1) mat(nbr - 1, nbr - 3) = gamma(nbr - 2) For i = 0 To nbr Cells(24, i + 2) = alpha(i) Cells(25, i + 2) = beta(i) Cells(26, i + 2) = gamma(i) Cells(27, i + 2) = omega(i) Next i For i = 0 To nbr For j = 0 To nbr Cells(i + 29, j + 1) = mat(i, j) Cells(i + 29, nbr + 3) = omega(i) Next j Next i Dim mata(20, 20) As Double, matb(20) As Double Dim factor As Double Dim x(20) As Double, sum As Double n = nbr - 1 'number of equations ‘Lecture a et b For i = 1 To n For j = 1 To n mata(i, j) = mat(i, j) Next j matb(i) = omega(i) Next i 'Forward Elimination For k1 = 1 To n - 1 For i = k1 + 1 To n Step 1 factor = mata(i, k1) / mata(k1, k1) For j = k1 + 1 To n mata(i, j) = mata(i, j) - factor * mata(k1, j) Next j

39 | P a g e

matb(i) = matb(i) - factor * matb(k1) Next i Next k1 'Back1 Substitution x(n) = matb(n) / mata(n, n) For i = n - 1 To 1 Step -1 sum = 0 For j = n To i + 1 Step -1 'or j=i+1 to n sum = sum + mata(i, j) * x(j) Next j x(i) = (matb(i) - sum) / mata(i, j) Next i 'Output x For i = 1 To n moment(i) = x(i) Next i moment(0) = 0 moment(nbr) = 0 reaction(0) = Cells(17, 3) + (moment(1) - moment(0)) / Cells(9, 4) - moment(0) / Cells(9, 4) tassement(0) = -Cells(16, 3) * reaction(0) reaction(nbr) = Cells(17, nbr + 3) - (moment(nbr) - moment(nbr - 1)) / Cells(9, nbr + 3) tassement(nbr) = -Cells(16, 3 + nbr) * reaction(nbr) For i = 1 To nbr - 1 reaction(i) = Cells(17, i + 3) + (moment(i + 1) - moment(i)) / Cells(9, i + 4) - (moment(i) - moment(i - 1)) / Cells(9, i + 3) tassement(i) = -Cells(16, i + 3) * reaction(i) Next i Cells(33 + nbr, 1) = "moment" Cells(34 + nbr, 1) = "reaction" Cells(35 + nbr, 1) = "tassement" For i = 0 To nbr Cells(32 + nbr, i + 2) = i Cells(33 + nbr, i + 2) = moment(i) Cells(34 + nbr, i + 2) = reaction(i) Cells(35 + nbr, i + 2) = tassement(i) Next i Sheets("Resultat").Select range("B1:L4").Select Selection.ClearContents range("A1").Select

40 | P a g e

For i = 0 To nbr Cells(1, i + 2) = i Cells(2, i + 2) = moment(i) Cells(3, i + 2) = reaction(i) Cells(4, i + 2) = tassement(i) Next i Call momentsub End Sub Sub momentsub() Dim mtotal(1000, 10) As Double Dim vtotal(1000, 10) As Double Dim x(1000) As Double Dim lpoutre(20) As Double Dim mponctuel(1000, 10) As Double Dim vponctuel(1000, 10) As Double Dim muniforme(1000, 10) As Double Dim vuniforme(1000, 10) As Double Dim mcouple(1000, 10) As Double Dim vcouple(1000, 10) As Double Dim moment(20) As Double Dim m(1000) Dim v(1000) Sheets("Calcul").Select range("A63:AX693").Select Selection.ClearContents range("A1").Select nbr = Cells(3, 2) about = Cells(11, nbr + 3) For i = 1 To nbr lpoutre(i) = Cells(9, i + 3) Next i For i = 0 To nbr moment(i) = Cells(33 + nbr, i + 2) Next i nbrcharge = range("q6") For j = 1 To nbr For i = 0 To nbrcharge If Cells(9 + i, 19) = j Then l = Cells(9 + i, 21)

41 | P a g e

p = -Cells(9 + i, 18) a = Cells(9 + i, 20) For k = 0 To l If k < a Then mponctuel(k, j) = mponctuel(k, j) + p * (l - a) * k / l vponctuel(k, j) = vponctuel(k, j) + p * (l - a) / l Else mponctuel(k, j) = mponctuel(k, j) + p * a * (1 - k / l) vponctuel(k, j) = vponctuel(k, j) - p * a / l End If Next k End If Next i Next j nbrcharge = range("q22") For j = 1 To nbr For i = 0 To nbrcharge If Cells(25 + i, 19) = j Then p = Cells(25 + i, 17) l = Cells(25 + i, 24) b = Cells(25 + i, 22) a = Cells(25 + i, 20) c = l - Cells(25 + i, 21) For k = 0 To a - 1 muniforme(k, j) = muniforme(k, j) - p * b * (b + 2 * c) * k / (2 * l) vuniforme(k, j) = vuniforme(k, j) - p * b * (b + 2 * c) / (2 * l) Next k For k = a To a + b muniforme(k, j) = muniforme(k, j) - p * b * (b + 2 * c) * k / (2 * l) + p * (k - a) ^ 2 / 2 vuniforme(k, j) = vuniforme(k, j) - p * b * (b + 2 * c) / (2 * l) + p * (k - a) Next k For k = a + b To c muniforme(k, j) = muniforme(k, j) - p * b * (2 * a + b) * (l - k) / (2 * l) vuniforme(k, j) = vuniforme(k, j) - p * b * (2 * a + b) / (2 * l) Next k End If Next i Next j nbrcharge = range("q38") For j = 1 To nbr For i = 0 To nbrcharge If Cells(41 + i, 18) = j Then

42 | P a g e

c = Cells(41 + i, 17) l = Cells(41 + i, 20) a = Cells(41 + i, 19) For k = 0 To l If k < a Then mcouple(k, j) = mcouple(k, j) + c * k / l vcouple(k, j) = vcouple(k, j) + c / l Else mcouple(k, j) = mcouple(k, j) - c * (l - k) / l vcouple(k, j) = vcouple(k, j) + c / l End If Next k End If Next i Next j For j = 1 To nbr l = lpoutre(j) For i = 0 To l mtotal(i, j) = mponctuel(i, j) + muniforme(i, j) + mcouple(i, j) + moment(j - 1) * (1 - i / l) + moment(j) * i / l vtotal(i, j) = vponctuel(i, j) + vuniforme(i, j) + vcouple(i, j) + (moment(j) - moment(j - 1)) / l Next i Next j mtotal(0, 1) = moment(0) + mcouple(0, 1) mtotal(about, nbr) = moment(nbr) + mcouple(about, nbr) 'vtotal(0, 1) = 0 k = 0 For j = 1 To nbr For i = 0 To lpoutre(j) m(k) = mtotal(i, j) + m(k) v(k) = v(k) - vtotal(i, j) k = k + 1 Next i Next j v(about + 1) = 0 m(0) = 0 m(about) = 0 For k = 0 To about x(k) = k Next k x(about + 1) = x(about) v(about + 1) = 0

43 | P a g e

m(0) = 0 m(about) = 0 m(about + 1) = 0 For i = 0 To about 'Cells(60 + i + nbr, 2) = m(i) 'Cells(60 + i + nbr, 3) = v(i) Next i Sheets("Resultat").Select range("B9:D32000").Select Selection.ClearContents range("A1").Select For i = 0 To about + 1 Cells(9 + i, 2) = x(i) Cells(9 + i, 3) = m(i) Cells(9 + i, 4) = v(i) Next i End Sub

44 | P a g e

Algorithme Sol élastique

Sub deforme() Dim mat(1000, 1000) As Double Dim matb(1000) As Double Dim a(1000, 1000) As Double Dim b(1000) As Double Dim v(1000) As Double Dim x(1000) As Double Dim q(1000) As Double Sheets("Calcul").Select l = Range("B1") p = Range("B2") k = Range("B3") g = Range("F1") nbr = Range("c6") pas = Range("B9") e = Range("B4") ine = Range("B5") 'g = (k / 4 / e / ine) ^ 0.25 matb(0) = -p * pas ^ 3 / e / ine mat(0, 0) = 6 + pas ^ 4 * 4 * g ^ 4 mat(0, 1) = -8 mat(0, 2) = 2 mat(1, 0) = -4 mat(1, 1) = 7 + pas ^ 4 * 4 * g ^ 4 mat(1, 2) = -4 mat(1, 3) = 1 For i = 2 To nbr - 2 mat(i, i - 2) = 1 mat(i, i - 1) = -4 mat(i, i) = 6 + pas ^ 4 * 4 * g ^ 4 mat(i, i + 1) = -4 mat(i, i + 2) = 1 Next i mat(nbr, nbr - 2) = 2 mat(nbr, nbr - 1) = -8 mat(nbr, nbr) = 6 + pas ^ 4 * 4 * g ^ 4 mat(nbr - 1, nbr - 3) = 1 mat(nbr - 1, nbr - 2) = -4

45 | P a g e

mat(nbr - 1, nbr - 1) = 7 + pas ^ 4 * 4 * g ^ 4 mat(nbr - 1, nbr) = -4 Sheets("Calcul").Select n = nbr 'number of equations 'For i = 1 To n 'For j = 1 To n 'Cells(19 + i, j) = mat(i - 1, j - 1) 'Next j 'Cells(19 + i, n + 2) = matb(i - 1) 'Next i 'Reading A and b For i = 1 To n For j = 1 To n a(i, j) = mat(i - 1, j - 1) Next j b(i) = matb(i - 1) Next i 'Forward Elimination For k = 1 To n - 1 For i = k + 1 To n Step 1 factor = a(i, k) / a(k, k) For j = k + 1 To n a(i, j) = a(i, j) - factor * a(k, j) Next j b(i) = b(i) - factor * b(k) Next i Next k 'Outputing A and b after forward elimination 'For i = 1 To n 'For j = 1 To n 'Cells(n + 1 + i, j).Value = a(i, j) 'Next j 'Cells(n + 1 + i, n + 1) = b(i) 'Next i 'Back Substitution x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 Sum = 0 For j = n To i + 1 Step -1 'or j=i+1 to n Sum = Sum + a(i, j) * x(j) Next j x(i) = (b(i) - Sum) / a(i, j)

46 | P a g e

Next i 'Output x For i = 1 To n ' Cells(19 + i, 10) = x(i) v(i - 1) = x(i) Next i Sheets("Resultat").Select j = 0 For i = l / 2 To 0 Step -pas Cells(2 + j, 3) = v(nbr - j) Cells(2 * nbr + 2 - j, 3) = v(nbr - j) j = j + 1 Next i If i > -pas Then Cells(2 + j, 3) = v(nbr - j) End If For aa = 0 To 500 For i = 1 To nbr 'matb(i) = 0 Next i test = 0 For i = 1 To nbr If v(i) > 0 Then mat(i, i) = 6 '+ pas ^ 4 * 4 * g ^ 4 'matb(i) = k * v(i) * pas ^ 4 / e / ine test = 1 End If Next i 'Reading A and b For i = 1 To n For j = 1 To n a(i, j) = mat(i - 1, j - 1) Next j b(i) = matb(i - 1) Next i 'Forward Elimination For k = 1 To n - 1 For i = k + 1 To n Step 1 factor = a(i, k) / a(k, k) For j = k + 1 To n

47 | P a g e

a(i, j) = a(i, j) - factor * a(k, j) Next j b(i) = b(i) - factor * b(k) Next i Next k 'Outputing A and b after forward elimination 'For i = 1 To n 'For j = 1 To n 'Cells(n + 1 + i, j).Value = a(i, j) 'Next j 'Cells(n + 1 + i, n + 1) = b(i) 'Next i 'Back Substitution x(n) = b(n) / a(n, n) For i = n - 1 To 1 Step -1 Sum = 0 For j = n To i + 1 Step -1 'or j=i+1 to n Sum = Sum + a(i, j) * x(j) Next j x(i) = (b(i) - Sum) / a(i, j) Next i 'Output x For i = 1 To n ' Cells(19 + i, 10) = x(i) v(i - 1) = x(i) Next i Next aa Sheets("Resultat").Select j = 0 For i = l / 2 To 0 Step -pas Cells(2 + j, 4) = v(nbr - j) Cells(2 * nbr + 2 - j, 4) = v(nbr - j) j = j + 1 Next i If i > -pas Then Cells(2 + j, 4) = v(nbr - j) End If End Sub Sub defomereelle()

48 | P a g e

Dim v(10000) As Double Dim x(10000) As Double Sheets("Calcul").Select l = Cells(1, 2) p = Cells(2, 2) k = Cells(3, 2) g = Range("f1") nbrm = Range("b6") pas = Range("B9") nbr = Range("C9") 'RoundUp(l / (2 * pas), 0) c = -p * g / (2 * k) j = 0 For i = 0 To l / 2 Step pas x(j) = i v(j) = c * Exp(-g * i) * (Cos(g * i) + Sin(g * i)) j = j + 1 Next i If i <> l / 2 Then x(j) = l / 2 v(j) = c * Exp(-g * l / 2) * (Cos(g * l / 2) + Sin(g * l / 2)) j = j + 1 End If v(j - 1) = 0 Sheets("Resultat").Select Range("A2:D32000").Select Selection.ClearContents Range("A1").Select j = 0 For i = l / 2 To 0 Step -pas Cells(2 + j, 2) = v(nbr - j) Cells(2 + j, 1) = -x(nbr - j) Cells(2 * nbr + 2 - j, 1) = x(nbr - j) Cells(2 * nbr + 2 - j, 2) = v(nbr - j) j = j + 1 Next i If i > -pas Then Cells(2 + j, 2) = v(nbr - j) Cells(2 + j, 1) = -x(nbr - j) End If Call deforme End Sub