IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Algorithme de Newmark et éléments finis


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Algorithme de Newmark et éléments finis
    Bonjour,

    Je vous écris car ça fait environ 20h que je passe pour un problème que je dois faire pour les cours, en apparence simple et pourtant je ne trouve toujours pas la solution et je commence à en avoir marre ...

    Bref, je dois écrire un code matlab pour résoudre le prolème 1D suivant:
    Une barre (au sens RDM du terme, hypothèses 1D, etc) est encastrée dans un mur. A t=0, on applique une force F à l'extrémité libre de la barre jusqu'au temps tl. Une onde de pression (un créneau de longueur c*tl, où c est la vitesse de l'onde, dépendant des caractéristiques mécaniques de la barre) se propage dans la barre, se réfléchit sur l'extremité encastrée et repart dans l'autre sens.

    On nous demande de résoudre le problème par un algorithme de Newmark. Rien de compliqué a priori, il suffit d'écrire le système matricielle MU''+KU=F obtenu par éléments finis, obtenus en assemblant des matrices masses et raideur élémentaires, etc ...

    J'ai implémenté le tout en matlab et fait des tests et là ... ça m****. En gros:
    1) Je suis a priori sur que les caractéristiques mécaniques de la barre sont telles que l'on peut "voir" quelque chose, le pas de temps et le maillage sont corrects, etc
    2) J'ai testé mon schéma de Newmark sur un cas simple (système masse-ressort 1D) et les résultats sont corrects
    3) Ayant passé du temps sur mon problème sans rien trouver, j'ai essayé de résoudre avec un schéma de Runge-Kutta d'ordre 4 ... et ça marche (en tout cas ça a l'air

    Avec des paramètres tels que la solution numérique devrait donner une bonne approximation (bruitée, puisqu'on tente d'approcher un créneau par des solutions constantes par morceaux, mais correcte quand même), j'obtiens bien une "onde" qui semble se propager à la même vitesse que le créneau, mais en même temps la contrainte augmente à l'extrémité encastrée alors qu'elle devrait être nulle, ce qui fait que ma solution numérique est complètement "fausse". (il suffit de faire tourner le programme barre_1D en PJ pour le voir). En gros ce qui m'embête le plus c'est cette espèce de "contrainte parasite" qui apparaît à l'extrémité encastrée de la barre, vu que l'onde semble se propager correctement.


    Par rapport aux points soulevés ci-dessus, le 2) semble suggérer que mon schéma de Newmark est bien posé et donc que ma formulation EF est fausse, mais le 3 semble dire le contraire ... Après je pense qu'il est plus facile de se tromper sur la formulation EF que sur le schéma de newmark, mais là je coince vraiment .

    Bref, je mets mon code en PJ, en espérant qu'un âme charitable daignera s'intéresser à mon problème ... le programme principal est "barre_1D", après je pense que le code est pas trop mal écrit et facile à comprendre, donc j'espère vraiment que quelqu'un pourra m'aider ...

    Merci d'avance!

    PS: Je précise que j'ai tenue compte de l'encastrement en résolvant un système réduit. Si U est le vecteur des déplacements aux noeuds de ma barre, l'encastrement est au dernier noeud, donc je résous un système réduit en enlevant les dernière lignes/colonnes de K, M et U
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Bonjour,

    il faut valider ton code étape par étape avec des solutions analytiques quitte à considérer des problèmes plus simples (Laplace, Helmholtz) pour vérifier tes matrices de masse et de raideur. Soit ton problème continu est facile à résoudre à la main, ce qui est le cas à mon avis, et alors tu valides en comparant la solution calculée à la solution exacte; soit tu choisis a priori une solution arbitraire (cosinus, sinus, exponentielle, combinaison de tout cela) et tu valides à partir du problème correspondant en modifiant les conditions aux limites. C'est ta méthode de validation qui est en cause ici.

    Bon courage

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/02/2010, 18h04
  2. cours calcul des poutres en éléments finis
    Par nadim22 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 29/12/2009, 16h12
  3. algorithme pour inverser les éléments d'un tableau
    Par nitch01 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 19/11/2009, 18h37
  4. [Doc] Solveur éléments finis
    Par plegat dans le forum Mathématiques
    Réponses: 2
    Dernier message: 02/02/2006, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo