3-8-3 Calcul de la solution
Une fois la géométrie saisie, on peut
calculer les matrices de rigidité et de masse assemblées. On
crée une fonction << truss2dKM » (annexe 3-i) pour les deux
matrices et à la fois. Les variables d'entrée communes aux deux
matrices sont : la hauteur, la base, l'en tête, la pression à 10
mètres, la charge en tête, la masse des antennes, le tableau des
cornières, le coefficient de site et la direction du vent
On ajoute les modules d'élasticité pour la
matrice de rigidité et les masses volumiques pour la matrice de
masse.
Il est à remarquer qu'on initialise les
matrices de rigidité et de masse avec des matrices creuses (sparse).
L'avantage qu'offre les matrices creuses est que seuls les
éléments non nuls sont sauvegardés en mémoire.
MATLAB est équipé d'une structure de données et de
plusieurs fonctions pour prendre en charge toutes les opérations
matricielles sur ce type de matrices et d'une façon pratiquement
imperceptible pour l'utilisateur. Pour la construction de ces matrices, on
introduit ici une table de localisation Li qu'on calcule avec la fonction
<< localise » (annexe 3- b) et qu'on utilise à la place de la
table des connectivités pour l'assemblage des matrices. Pour le calcul
des matrices élémentaires << fonction truss2dke »
(annexe 3-h), on a besoin de connaitre les coordonnées des noeuds, leurs
sections, la densité de l'acier et le module de Young. La longueur et
les cosinus directeurs de l'élément sont calculés à
partir des coordonnées de ses noeuds, ces longueurs, cosinus et sinus
sont par la fonction << etlen » (annexe 3-c)
3-8-3-1 Résolution du système
discret
a. Système linéaire KU =F
Les conditions d'appuis sont l'ensemble des
déplacements nuls aux niveaux des appuis. La matrice K initialement est
singulière. Le vecteur << nul » dans le fichier de
données est utilisé pour spécifier les degrés de
liberté à bloquer. Pour appliquer cette condition, on
élimine les lignes et les colonnes des matrices de rigidité et de
masse ainsi que du vecteur force puisque le
Chapitre3 : Formulation des éléments finis
chargement est saisi pour tous les noeuds y compris ceux d'appuis.
Cette opération rend la matrice K régulière. Voir fonction
« deldofs » (annexe 3-d)
La factorisation de Cholesky, consiste, pour la
matrice symétrique définie positive K, à déterminer
une matrice triangulaire inférieure L telle que : K=LLT. La
matrice L est en quelque sorte une « racine carrée » de A.
Nous nous servons de la fonction matlab « chol » pour
décomposer la matrice K en un produit de fonction triangulaire
inférieure et supérieure. Soit K=L*LT, il suffit de
résoudre successivement les systèmes linéaires
triangulaires supérieures et inférieures directement, une fois la
solution calculée, il faut ajouter les déplacements des noeuds
bloqués, voir fonction « addfos » (annexe 3-e).
b. Calcul des forces aux noeuds
Une fois les déplacements obtenus, il faut
parcourir toutes les barres en multipliant ces déplacements par les
matrices de rigidités élémentaires correspondantes. Cette
fonction s'appelle « Trussforces » (annexe 3-f).
|