Anda di halaman 1dari 49

UNIVERSIT SAINT-JOSEPH

Facult d'ingnierie
Ecole suprieure d'ingnieurs de
Beyrouth








Projet danalyse numrique



I- Thorme des cinq moments
II- Poutre sur sol lastique


Prsent par les tudiants de 1
ere
anne gnie civil :
KARAM Elias
MAWAD Assad





Encadr par:
Mr. Wassim RAPHAEL




2009

1 | P a g e

Remerciements









Nous exprimons notre profonde reconnaissance Mr. Wassim
RAPHAEL, qui nous a bien encadrs durant toute la dure du projet.
Mais surtout qui par son exprience et sa comptence, nous a toujours
pouss plus loin et nous a incit rflchir vis--vis de lamlioration de
notre programme. Il a fait en sorte quaucune de nos rencontres ne soit
passive, et nous a donn lavant gout des problmes auxquels nous
pourrons faire face durant notre carrire dingnieur civil : il nous a
initis une nouvelle manire de penser et de voir les choses.


Nous tenons aussi remercier Mr. Fouad KADDAH qui nous a aids
concevoir la traduction algorithmique de nos solutions .
















2 | P a g e

Sommaire
Introduction3

I-Thorme des cinq moments..4
Thorie.4
Equation des 5 moments5
Modle Mathmatique.9
Interface et compilation.10
Algorithme.12
Graphs15
Limitations et amliorations.16

II-Poutre continue sur sol lastique.17
Thorie..17
Solution de lquation diffrentielle19
Interface et compilation.22
Graphs25

III-Correction pour la poutre continue sur sol lastique..26
Observations et explication de lerreur..26
Correction par annulation de K..27
Algorithme de la correction28
Proposition de correction par ajout de force.30

Amliorations....30
Conclusion.31
Annexes.32
3 | P a g e


I ntroduction

Le calcul numrique est un domaine de recherche lui seul. De ce fait, une question
vient lesprit : Que vient faire cette science au bon dbut de notre cursus dingnieur
civil ?

Comme dans de nombreux domaines, la pratique joue un rle essentiel dans la
maitrise du sujet. On ne peut raisonnablement pas esprer assimiler les mthodes
(apprises dans le premier semestre de lanne) sans les manipuler sur des exemples
concrets et connus. Cest dans ce sens que nous sommes amens rflchir.
Il est vrai que la programmation des mthodes numriques peut sembler assez
difficile, mais il ne faut pas se perdre et oublier quelle est pour nous quun outil.
Souvent nous avons tendance vouloir tout rinventer et rcrire les mthodes
standards, cest une perte de temps. Il est cependant ncessaire de sinvestir dans ce
domaine pour pouvoir y optimiser les rsultats.
Notre projet vise la problmatique directement, il forme la dmarche indispensable
pour lapprentissage et complte le calcul manuel appris en dbut danne.

Cest dans cette perspective que lcriture algorithmique des mthodes
numriques se prsente comme un outil au service de lingnieur civil.

Pour un ingnieur, il est essentiel de savoir garder lquilibre entre sa rflexion (et ses
estimations logiques) et lemploi des rsolutions numriques. La modlisation peut
parfois induire des rsultats rellement inconcevables. Notre projet comme vous le
verrez par la suite forme un bon exemple. Il appui aussi le fait, que lutilisateur est
le meilleur programmeur. Nous voulons dire par la, que lingnieur utilisateur-
programmeur saura tirer la meilleur forme, adquate, et qui rpond directement ses
besoins.


Ce document contient deux parties majeures :
Dabord ltude dune poutre sur appui lastique Thorme des cinq moments.
Ensuite ltude dune poutre sur sol lastique suivie dun correction .

Nous prsenterons pour chacune ltude thorique suivie dun exemple qui servira
dexpliquer le fonctionnement de notre programme. Pour la deuxime partie, une
correction (optimisation du rsultat) sera prsenter et laborer la suite du
programme intuitif .
Nous ne prtendrons pas donner les meilleurs algorithmes, bien au contraire,
lamlioration du programme reste possible du point de vue mthode de calculs,
criture de lalgorithme, temps de calculs Cest ce que nous avons-nous mme
expriment durant la progression du projet : lalgorithme voluait constamment !




4 | P a g e

i i-1
i+1
I . Thorme des cinq moments :

La Thorie :








Les appuis lastiques G
i
sont caractrises par une constante k
i
:

v
i
= - k
i
R
i


Avec v
i
= dplacement vertical de lappui G
i

R
i
= raction verticale de lappui G
i

k
i
= coefficient de souplesse


Or,
R
i
= V
d
i
V
g
i


Avec V
g
i
=
g
i
dx
d
|
.
|

\
|
+
i
l
M - M
1 - i i

V
d
i
=
d
i
dx
d
|
.
|

\
|
+
1
i 1 i
M - M
+
+
i
l


Donc,
R
i
=
d
i
dx
d
|
.
|

\
|
-
g
i
dx
d
|
.
|

\
|
+
1
i 1 i
M - M
+
+
i
l
-
i
l
M - M
1 - i i



O,
d
i
dx
d
|
.
|

\
|
-
g
i
dx
d
|
.
|

\
|
reprsente la raction isostatique r
i



On obtient : R
i
= r
i
+
1
i 1 i
M - M
+
+
i
l
-
i
l
M - M
1 - i i



5 | P a g e

Equation des cinq moments :


r
i
= somme des ractions dappui en G
i
des traves isostatiques associes G
1 i
G
i

et G
i
G
1 + i


R
i
= raction dappui en G
i
pour la poutre continue


On a:
R
i
= r
i
+
1
i 1 i
M - M
+
+
i
l
-
i
l
M - M
1 - i i



Do :
v
i
= - k
i
R
i
= - k
i
[r
i
+
1
i 1 i
M - M
+
+
i
l
-
i
l
M - M
1 - i i
]


De mme :

v
1 i
= - k
1 i
R
1 i
= - k
1 i
[r
1 i
+
i
l
M - M
1 - i i
-
1
2 - i 1 - i
M - M
i
l
]
v
1 + i
= - k
1 + i
R
1 + i
= - k
1 + i
[r
1 + i
+
2
1 i 2 i
M - M
+
+ +
i
l
-
1
i 1 i
M - M
+
+
i
l
]


Le thorme des trois moments scrit :

b
i
M
1 i
+ (c
i
+ a
1 + i
)M
i
+ b
1 + i
M
1 + i
=
'
1 + i
-
"
i
+
1
i 1 i
v - v
+
+
i
l
-
i
l
v - v
1 - i i


Soit compte tenu des dnivellations dappui :


b
i
M
1 i
+ (c
i
+ a
1 + i
)M
i
+ b
1 + i
M
1 + i
=
'
1 + i
-
"
i
-
1
1
+ i
l
[ k
1 + i
r
1 + i
- k
i
r
i
+ k
1 + i
2
1 i 2 i
M - M
+
+ +
i
l
- (k
1 + i
+ k
i
)
1
i 1 i
M - M
+
+
i
l
+ k
i
i
l
M - M
1 - i i
] +
i
l
1
[ k
i
r
i
- k
1 i
r
1 i
+ k
i
1
i 1 i
M - M
+
+
i
l
- (k
i
+ k
1 i
)
i
l
M - M
1 - i i
+ k
1 i
1
2 - i 1 - i
M - M
i
l
]



6 | P a g e

En regroupant les moments gauche et droite du signe =, il vient:
[
1 i
1 - i
k
i
l l
] M
2 i

+ [b
i
-
1 i
i
k
+ i
l l
-
2
1 - i i
k k
i
l
+
-
1 i
1 - i
k
i
l l
] M
1 i

+ [c
i
+ a
1 + i
+
2
1
1 i i
k k
+
+
+
i
l
+
1 i
i
2k
+ i
l l
+
2
1 - i i
k k
i
l
+
] M
i

+ [b
1 + i
-
2 1
1 i
k
+ +
+
i i
l l
-
2
1
1 i i
k k
+
+
+
i
l
-
1 i
i
k
+ i
l l
] M
1 + i

+ [
2 1
1 i
k
+ +
+
i i
l l
] M
2 + i

=
'
1 + i
-
"
i
-
i
l
1 i
k

r
1 i
+ k
i
(
1
1
+ i
l
+
i
l
1
) r
i
-
1
1 i
k
+
+
i
l
r
1 + i


Do en ordonnant les termes entre crochets :
[
1 i
1 - i
k
i
l l
] M
2 i

+ [b
i
-
i
i
k
l
(
1
1
+ i
l
+
i
l
1
) -
i
1 - i
k
l
(
i
l
1
+
1
1
i
l
)] M
1 i

+ [c
i
+ a
1 + i
+
2
1 i
k
i
l

+ k
i
(
i
l
1
+
1
1
+ i
l
)
2
+
2
1
1 i
k
+
+
i
l
] M
i

+ [b
1 + i
-
1
i
k
+ i
l
(
i
l
1
+
1
1
+ i
l
) -
1
1 i
k
+
+
i
l
(
1
1
+ i
l
+
2
1
+ i
l
)] M
1 + i

+
2 1
1 i
k
+ +
+
i i
l l
M
2 + i

=
'
1 + i
-
"
i
-
i
l
1 i
k

r
1 i
+ k
i
(
1
1
+ i
l
+
i
l
1
) r
i
-
1
1 i
k
+
+
i
l
r
1 + i


Pour simplifier les critures nous posons :



i
= c
i
+ a
1 + i
+
2
1 i
k
i
l

+ k
i
(
i
l
1
+
1
1
+ i
l
)
2
+
2
1
1 i
k
+
+
i
l


i
= b
i
-
i
1 - i
k
l
(
i
l
1
+
1
1
i
l
) -
i
i
k
l
(
1
1
+ i
l
+
i
l
1
)

i
=
1 i
i
k
+ i
l l


i
=
'
1 + i
-
"
i
-
i
l
1 i
k

r
1 i
+ k
i
(
1
1
+ i
l
+
i
l
1
) r
i
-
1
1 i
k
+
+
i
l
r
1 + i



7 | P a g e

Do lexpression du thorme des cinq moments :


1 i
M
2 i
+
i
M
1 i
+
i
M
i
+
1 + i
M
1 + i
+
1 + i
M
2 + i
=
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 lquation des 5 moments deviennent :

i
= c
i
+ a
1 + i


i
= b
i


i
= 0

i
=
'
1 + i
-
"
i


Do le thorme des 5 moments a pour quation :
b
i
M
1 + i
+ (c
i
+ a
1 + i
)M
i
+ b
1 + i
=
'
1 + i
-
"
i

soit lexpression tablie pour le thorme des 3 moments.

2) En appliquant la relation des 5 moments chacun des appuis dune poutre
continue n appuis, on obtient un systme linaire de n quations n
inconnues (M
0
, M
1
, M
n-1
, M
n
)



Cas des abouts de poutre :


- Pour les premires traves de la poutre
i = 0
0
M
0
+

1
M
1
+
1
M
2
=
0

i = 1
1
M
0
+
1
M
1
+
1
M
2
+
2
M
3
=
1

i = 2
1
M
0
+
2
M
1
+
2
M
2
+
3
M
3
+
3
M
4
=
2


- Pour les dernires traves de la poutre
i = n 2
n-3
M
n-4
+
n-2
M
n-3
+
n-2
M
n-2
+
n-1
M
n-1
=
n-2

i = n 1
n-2
M
n-3
+
n-1
M
n-2
+
n-1
M
n-1
+
n
M
n
=
n-1

i = n
n-1
M
n-2
+
n
M
n-1
+
n
M
n
=
n
8 | P a g e


- Encastrements lastiques sur appuis de rive encastrement partiel
Pour i = 0,
i
scrit :


0
= c
0
+ a
1
+
2
0
1
k
l

+ k
0
(
0
1
l
+
1
1
l
)
2
+
2
1
1
k
l

Comme il ny a pas de trave dindice 0 :


0
= c
0
+ a
1
+
2
1
1 0
k k
l
+

En remarquant quun moment M
0
appliqu lappui 0 peut tre obtenu
en considrant une trave soumise un moment sur lappui de droite
valant M
0
:

"
0
=
"
0
+ b
0
M
-1
+ c
0
M
0

or, M
-1
= 0 et
"
0
= 0

"
0
= c
0
M
0
= h
0
M
0

c
0
= h
0


h
0
tant la souplesse de lencastrement partiel.

Pour i = n :

'
1 + n
=
'
1 + n
- a
1 + n
M
n
- b
1 + n
M
1 + n

M
1 + n
= 0

'
1 + n
= 0

'
1 + n
= - a
1 + n
M
n
= - h
n
M
n

a
1 + n
= h
n


Donc, les coefficients de la relation des 5 moments peuvent tre
dtermins en faisant intervenir h
0
et h
n
caractrisant les encastrements
lastiques sur appuis de rive :

Donc pour les premiers coefficients :

0
= h
0
+ a
1
+
2
1
1 0
k k
l
+


1
= c
1
+ a
2
+
2
1
0
k
l
+ k
1
(
1
1
l
+
2
1
l
)
2
+
2
2
2
k
l


1
= b
1
-
2
1
0
k
l
-
1
1
k
l
(
1
1
l
+
2
1
l
)

1
=
2 1
1
k
l l


0
=
'
1
+
1
0
k
l
r
0
-
1
1
k
l
r
1


9 | P a g e

Pour les derniers coefficients :

n
= c
n
+ h
n
+
2
n 1 - n
k k
n
l
+


n
= b
n
-
n
l
k
1 - n
(
1
1
n
l
+
n
l
1
) -
2
n
k
n
l


n
=
n
l l
1 - n
1 - n
k


n
= -
"
n
+
n
1 - n
k
l
r
n-1
-
n
n
k
l
r
n



NB : Vous trouverez en ANNEXE la dfinition de Ks, ainsi que le formulaire pour
une poutre sur deux appuis simples.

Le modle mathmatique :

Ainsi la matrice rsoudre 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
o | o
| o |
| o |
| o |
| o |
| o

O
=
O











Donc le problme est rendu un systme linaire de n quations n inconnue.
Pour rsoudre un tel problme on fait intervenir les mthodes numriques. Plusieurs
mthodes sapplique dessus (mthode de Gauss, Mthodes LS,)
Dans la suite nous vous exposons lalgorithme de gauss que nous avons choisi dans
notre programme pour rsoudre cette matrice. Lalgorithme de Gauss tant le plus
facile et le plus rapide pour des matrices de petite dimension.

Les conditions aux limites du programmes seront indiques par lutilisateur, qui ne
reprsentent que les types dappuis aux extrmits (console, encastrement, appuis
rotule). Dans notre cas on suppose que les appuis sont fixes (appuis rotules) et les
moments aux appuis (M
0
, M
n
) sont nuls, par suite le systme se ramne a n-2
quations rsoudre.




10 | P a g e

Interface et compilation du programme

Dans ce qui suit, nous allons expliquer lutilisation
du programme et le fonctionnement de lalgorithme
utilis.

Notre programme peut calculer au maximum un
problme de 10 traves.

Ce programme peut facilement tre tendu 100
traves en considrant des mthodes et des
algorithmes plus avancs que nous citerons dans la
partie amlioration.

Saisir les donnes :
1- Choisir les Conditions initiales (figure 1):



2- Les donnes du programme
(figure 2) :

3
5
4
1-2
Figure 1
1- Lunit de la force (KN
dans le SI)
2- Lunit de la longueur (m
dans le SI)
3- Le module de Young
4- Le nombre de trave
5- Le type des appuis aux
extrmits
1- Entrer la longueur et
linertie de chaque trave
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 appliques sur les traves (figure 3) :
















Une visualisation de la trave, de la force repartie, de la force ponctuelle, et du couple
apparaissent sur un schma dans linterface.





Cliquer sur le bouton calcul des moments pour lancer le programme.
Vous pouvez nimporte quel instant cliquer sur le bouton rsultat pour aller la
page des rsultats, et le bouton graph pour voir les graphs demands (aprs y avoir
cliqu sur calcul des moments). Le bouton reset est disponible nimporte quel
instant pour remettre zro les valeurs du tableau.


1- Choisir le nombre de
chargement par trave
2- Le module de chargement(en
respectant les conventions de
la figure 4)
3- La trave sur laquelle le
chargement est appliqu et la
distance dapplication de cette
charge par rapport lappui
gauche de la trave Figure 3
Figure 4
12 | P a g e

Lalgorithme :

On a vu dans la partie thorique que le problme est rendu une matrice de n
quations n inconnues. La rsolution dun systme AX=B se fait numriquement en
utilisant divers mthodes, dans notre algorithme nous utilisons la mthode de
GAUSS.

La mthode dlimination de Gauss transforme le systme rsoudre en un systme
quivalent matrice triangulaire suprieure dont la solution est facile obtenir.
On limine u1 des quations 2,3n en se servant de la premire quation ;
Puis on limine u2 des quations 3,4,n en se servant de la deuxime quation
modifieainsi de suite, jusqu' liminer u(n-1) de lquation n.

Lcriture 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 recherchs dans la
partie thorique.

13 | P a g e

La matrice B est remplie par les seconds termes de lingalit :
Omega(i)


Lalgorithme de gauss :


Systme de la forme AX=B


Aboutir a la matrice triangulaire suprieure :

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 rsolution du systme donne la matrice X qui nest autre que la matrice solution
des moments aux appuis de la trave.

La feuille rsultat indique tous les rsultats finals
de ltude pour une poutre continue par le
thorme des 5 moments.






















Dans le tableau (figure 7) vous
trouvez le maximum et le
minimum des moments de flexion
et de leffort tranchant avec leur
abscisse absolue sur les traves
ainsi quun tableau de rsultats
qui donne pour diffrentes
abscisses le moment flchissant
et leffort tranchant.
Figure 5
Dans le tableau (figure 6) vous
trouvez
les moments sur les appuis dans la
2
eme
ligne,
les ractions dans la 3
eme
ligne,
les tassements dans la 4
eme
ligne.
Figure 6
Figure 7
15 | P a g e

Les Graphs:

Dans la section des graphs vous trouvez :
un graph des traves avec leur chargement,
un graph des moments flchissant,
un graph de leffort tranchant,
en signalant le maximum et le minimum sur
le graph.
De plus un tableau des valeurs maximal et
minimal prcdemment expliquer.
















Vous pouvez nimporte quel moment cliquer sur les boutons suivant :
Rsultat pour revenir la page rsultat
Graph pour aller la page Graph
Donne pour aller la page des Donnes
Reset pour remettre Zro.



De plus vous pouvez dterminer les
sollicitations(2) pour une abscisse
dtermine X (1)
2
X
Figure 9
Figure 8
16 | P a g e

Limites et Amliorations de la Mthode et de lAlgorithme :


La mthode :


A priori la mthode des cinq moments, qui nest autre que drive de la mthode des trois
moments, est la plus rapide pour le cas dun systme de trave continue. Mais cette
mthode ce trouve inutile dans les problmes de cadre, de torsion



Limitations algorithmiques :


Signalons que notre programme peut tre facilement largit un nombre trs grand
de trave mais les limitations de mmoire due au compilateur(Excel) savre grave,
de plus une rsolution dune plus grande matrice devient plus lente avec
lalgorithme de gauss. Pour cela on peut passer au compilateur C++ au dtriment de
la belle interface que prsente Excel. Cela en effet dpend des demandes de
lutilisateur.


Changer lalgorithme de gauss est aussi important pour des grandes matrices,
plusieurs mthodes sont mises au point :
Cours dAnalyse Numrique enseigne par Mr. Fouad KADDAH:
A titre dexemple :
Mthode LS
Mthode de Runge-Kutta

















17 | P a g e

q(x)
r(x)
q(x)
v(x)
ligne moyenne
q(x)
v(x)
I I - Poutre Continue sur Sol Elastique :


La Thorie :

Equation diffrentielle:





q(x) : charge applique
r(x) : raction du point dabscisse x
v(x) : flche


r(x) = - k v(x)


Dautre part
EI
M
dx
v d
=
2
2



Donc V =
3
3
dx
v d
EI
dx
dM
=

Or =
dx
dV
- p(x) = - (q(x) r(x))
Equilibre des forces verticales sur un lment 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
v d
-
EI
x kv x q ) ( ) ( +


Do , lquation diffrentielle :

4
4
dx
v d
+ 4
4
v(x) =
EI
x q ) (

Avec
4
=
EI
k
4


On en dduit les sollicitations partir de v(x) :

3
3
2
2
) (
) (
dx
v d
EI x V
dx
v d
EI x M
=
=



Rappels mathmatiques:

On pose : (x) = e
-x
[cos x + sin x]

Par drivation :

(x) = e
-x
[- cos x sin x sin x + cos x]

On pose :

(x) = - 2 (x)
(x) = e
-x
sin x

En drivant une seconde fois :

'
(x) = e
-x
[ sin x + cos x]

On pose :
'
(x) = (x)
(x) = e
-x
[cos x - sin x]

En drivant une troisime fois :

'
(x) = e
-x
[ - cos x + sin x - sin x - cos x]

On pose :
'
(x) = - 2 (x)

'
(x) = e
-x
cos x

En drivant une quatrime fois :

'
(x) = e
-x
[- cos x - sin x]

On a donc :
'
(x) = - (x)



19 | P a g e






Solution de lquation diffrentielle :

Solution gnrale

) ( sin cos sin cos ) ( x v x De x e C x Be x Ae x v
x x x x
+ + + + =





= ) (x v Solution particulire de lquation avec second membre qui dpend donc du
chargement q(x).



Poutre infinie soumise a une charge concentre P















Le travail sera effectu en considrant le repre dorigine O en P (charge concentre).

Par symtrie 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 lquation diffrentielle (de la dforme) scrit :

q(x) = 0 = ) (x v 0

x De x e C x Be x Ae x v
x x x x


sin cos sin cos ) (

+ + + =


A partir des conditions aux limites, nous allons pouvoir dterminer A, B, C, D :


- 0 ) (
lim
=

x v
x
A = B = 0 et x De x e C x v
x x


sin cos ) (

+ =


- Par raison de symtrie :


0 ) 0 ( = = x
dx
dv
(pente)

Comme ] cos sin sin cos [ x D x C x D x C e
dx
dv
x


+ =


] sin ) ( cos ) [( x C D x C D e
dx
dv
x


+ =


On obtient :

0 ) ( ) 0 ( = = = C D x
dx
dv
D = C et v(x) = C e
-x
[cos x + sin x]

Soit : v (x) = C (x)


- Par raison de symtrie :


2
) 0 ( ) 0 (
3
3
P
x
dx
v d
EI x V

= = = =
+


v (x) = C (x)

dx
dv
= - 2 C (x)
2
2
dx
v d
= - 2
2
C (x)
3
3
dx
v d
= 4
3
C (x)
21 | P a g e


Il vient :
2
] cos [ 4 ) 0 (
) 0 (
3
3
3
P
x e C EI x
dx
v d
EI
x
x

= = =
=





2
4
3
P
C EI

=
3
8 EI
P
C

=

Dautre part :
EI
k
4
4
=
k
P
C
2

=



Les expressions prcdentes deviennent :

) (
2
) ( x
k
P
x v

=
) (
2
x
k
P
dx
dv

=
EI
2
2
dx
v d
= M = ) (
4
x
P


EI
3
3
dx
v d
= V = ) (
2
x
P
u


Dans le cas o x<0, on utilisera :


) ( ) (
) ( ) (
) ( ) (
) ( ) (
x V x V
x M x M
x
dx
dv
x
dx
dv
x v x v
=
=
=
=





22 | P a g e

Interface et compilation


Dans ce qui suit nous allons
expliquer lutilisation du
programme et le fonctionnement
de lalgorithme utilis.


Notre programme compile les
valeurs relles ou la solution de
lquation trouve dans la partie
thorique, ainsi que la rsolution
de la matrice du maillage trouve
dans la partie prcdente, ainsi
pour aller plus loin on propose
des valeurs correctives dont la
thorie est discute
prcdemment.


1- Position du Problme :













1-Choisir les units
convenables
2-Entrer les donnes du
problme (longueur de la
poutre, Charge Applique, K,
E, I)
3-On discutera dans ce qui
suit le choix du nombre de
pas (on suggre le nombre
optimum des pas)
23 | P a g e

2- Boutons et fonctions :

























Lalgorithme :



Remplissage de la matrice B

matb(0) = -p * pas ^ 3 / e / ine On divise par le pas
car on considre 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 flche : Calcule
de la flche relle, par
discrtisation, Correction

Reset : remettre zro le
programme

Rsultat : les rsultats de
lanalyse

Graph : les graphiques de
lanalyse

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 pas
Pas =
4
4
K
g
EI
=


Pour rsoudre ce systme de la forme AX=B on applique la mthode de
Gauss dj traite dans la 1
ere
partie (Thorme des cinq moments)

La rsolution du systme donne la matrice X qui nest autre que la
dformation en un point donn.

La feuille rsultat indique tous les rsultats finaux de ltude dune poutre
continue sur un sol lastique.

De mme vous trouvez dans
cette feuille un tableau de
rsultat pour diffrentes
abscisses :
les valeurs relle,
de discrtisation,
et la correction,
un autre tableau affiche le
maximum et le minimum
des trois cas prcdemment
cits avec leur abscisse.


25 | P a g e



Les graph:

Dans la section des graphs vous trouvez
deux graphes identiques deux chelles
diffrentes :

Le 1
er
graph amplifie la hauteur pour
mtre en vidence les oscillations du
systme

Le 2
nd
graph est forme de 3
courbes :
La dforme relle
La dforme par
discrtisation
La dforme correcte








Ainsi quun tableau de
valeur maximale et
minimale pour chacun
des cas.





Vous pouvez nimporte quel moment cliquer sur les
boutons :

Rsultat pour revenir a la page rsultat
Graph pour aller a la page Graph
Donne pour aller la page des Donne
Reset pour remettre a Zro.



De plus vous pouvez dterminer les 3
types de dformations pour une abscisse
dtermine X (1)
26 | P a g e

I I I -Correction
Poutre Continue sur Sol Elastique :


Observations et explication de lerreur :

La poutre continue sur sol lastique, peut tre modlise par une poutre
appuye sur des appuis ponctuels lastiques successifs (ou par une
succession de ressorts).



La poutre sur appui lastique continu

doit tre modlise sur des appuis ponctuels lastiques

Au dbut, avant tout chargement, lanalogie entre la poutre sur sol lastique
et la poutre appuye sur une succession de ressorts est respecte.

Quand on place le chargement, la poutre va se dformer suivant une
sinusode qui diminue damplitude en sloignant du point dapplication de la
charge.


Dans le cas de la poutre sur les ressorts, la dformation va entraner que les
ressorts se trouvant sous la flche ngative soient comprims, alors que les
ressorts se trouvant sous la flche positive soient tendus.
27 | P a g e

Nous aurons des ractions dappui r(x) / r(x) = -kv(x) o k : constante de
raideur du ressort. Dans le cas de la poutre continue, le sol sous la flche
ngative est comprime do on a la mme raction dappui, mais sous la
flche positive, puisque le sol nagit 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 dautre terme, nous avons annul K.
Ce qui mne au schma suivant :


Pour y remdier numriquement, nous avons localis lendroit o il y a une
flche positive. A ces endroits l, nous avons annul K.
Le programme est itratif, le mme procd est rpt jusqu' ce que la
diffrence entre deux points conscutifs prsentant des flches positives soit
nulle.
Cest ainsi que la correction est faite, la dforme observe 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 dune autre correction:

Cette mthode consiste a ajouter une force qui liminera leffet de la
raction par traction du sol.

Dans notre modlisation, nous avons considr une raction dappui partout
sur la poutre, or en ralit, ceci nest pas vrai alors lanalogie entre la poutre
continue sur sol lastique et la poutre sur les ressorts nest plus valable. Le
sol ne fonctionne pas en traction.
Pour corriger cela numriquement, nous proposons :
Trouver lendroit o il y a une flche positive, ajouter lquation une force de
norme gale la raction et de sens oppos pour annuler r. et on dessine la
nouvelle figure quon obtient. Par itration, le programme rpte le mme
calcul, jusqu ce que la diffrence entre 2 points conscutifs soit nulle.
De cette faon la dforme devient juste.

NB : Nous navons pas abouti un bon rsultat en rsolvant le problme par
cette mthode. Cependant le raisonnement nous a sembl logique et nous
voulions le mentionner.



30 | P a g e

Amliorations :

Nos programmes taient en constamment amliors. Nous voulons dire
par amlioration :

-Optimisation des rsultats, c'est--dire, un rapprochement continuel des
valeurs relles.

-Optimisation du temps de calculs, et cela en correspondant lcriture
algorithmique la plus adapte avec la mthode numrique la plus rapide.

-Optimisation du pas de discrtisation :
En effet, le choix du pas influence normment les rsultats. En menant nos
recherches nous avons trouv une mthode de calculer le maillage le plus
adquat. 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



Rsultat pour : L maillage en m

0.226

Rsultat pour : Nbre optimum d'appuis 54


On s'aperoit que la finesse de maillage varie en fonction de la rigidit de la
poutre. Si la poutre se dforme localement le maillage doit tre de plus en
plus fin. Si la dformation est globale, le maillage peut tre grossier.

-Optimisation de la mthode de calcul :
Pour le Theoreme des cinq moments: on peut facilement elargir notre
programme une nombre trs grand de trave mais la rsolution devient plus
lente pour cela on utilise des mthodes plus efficaces pour la rsolution:
mthodes LS, Runge Kutta (cours analyse)...
Pour la poutre: de mme, nous pouvons employer des mthodes numriques
(LS, Runge kutta) qui donneront une correction plus prcise.

-Optimisation du logiciel : A notre niveau, Excel permet de faire tous les
calculs, les graphiques et prsente une belle interface. Pour une plus grande
mmoire, C++ -par exemple- savre plus performant


31 | P a g e

Conclusion



Si nous avons commenc notre projet par une problmatique qui peut
sembler de prime abord loin du contenu de ce document, ce nest pas par
hasard !

Nous nous la reposons la fin de ce dossier avec plus de certitude quelle
est bien une finalit en soit :
Que vient faire cette science (lanalyse numrique) au bon dbut de notre
cursus dingnieur civil ?

Nous rpondons plus fermement, que si nos programmes peuvent tre en
constante volution, et si les mthodes peuvent tre multiples pour
accomplir la mme tache, linitiation cette science en dbut de cursus
est primordiale pour pouvoir optimiser nos rsultats. En effet,
lamlioration est toujours prsente 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 trs comptitif. La
connaissance dans la programmation des mthodes numriques nest
plus un PLUS, cest une ncessit puisque comprendre la base
aujourdhui nous permettra de pouvoir manipuler et sadapter aux
volutions rapides dans la pratique de lIngnierie civil.


32 | P a g e




ANNEXES

33 | P a g e

Annexe 1.Coefficients de raction Ks des sols :

Dfinition : On appelle coefficient de raction Ks le quotient de la
pression de contact en un point de linterface dune semelle par le
tassement considr :
Ks= -s/v (le sens de v est ascendant)
Do le coefficient dlasticit des appuis :
s= R/(B.L) o BxL= dimension en plan de la semelle (BL)
V=-k.R
Donc, V=-R/(Ks.B.L) avec k=1/(Ks.B.L)
Nous distinguons de forme de Ks, lune pour les sols sans cohsion et
lautre pour les argiles consistantes.







Annexe 2.Matrice rsolue pour la poutre continue sur sol
lastique :




4 4
3
4 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 x
V x
EI
x
x
x
V x
x

+ A
A
+ A
+ A
+ A
=
+ A
+ A
+ A



34 | P a g e



35 | P a g e

Annexe 4 - Etude dune poutre sur deux appuis simple avec charge uniforme q :

Les ractions d'appuis se dterminent aisment en
formulant l'quilibre des moments autour de A une fois et
autour de B une deuxime fois :
- donne
- donne
Ensuite on coupe la poutre en la position x, on remplace la
partie coupe par les efforts intrieurs N, V et de M, les
appuis par les ractions d'appui et on formule l'quilibre :
- N(x) = 0
-
-
-
ce qui donne, avec ,


Diagramme des efforts de cohsion
- 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 linaire,
avec .
- Le moment M(x) dcrit une fonction parabolique le long de la poutre. Sa
valeur est maximale en ou elle vaut

36 | P a g e

Annexe 5 - Lalgorithme


Algorithme Thorme 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

Anda mungkin juga menyukai