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 :

[PETSC] système linéaire


Sujet :

Mathématiques

  1. #1
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Points : 87
    Points
    87
    Par défaut [PETSC] système linéaire
    Salut,

    je dois résoudre le système suivant :

    B(x,y) - a*laplacien(B(x,y)) = S(x,y)

    'a' est une constante positive.

    la grille est régulière. les conditions limites sur les bords x=cte et y=cte sont soit neumann soit dirichlet (au choix).

    Pour le moment j'ai codé un petit solveur multigrille tout bête avec un smoother gauss-seidel tout simple.


    Je travaille avec une grille de 1024x1024 points au maximum, et mon code est trop lent (15sec environ pour inverser mon systeme vectoriel (B et S sont des vecteurs a 3 composantes)). Vous allez me dire, 15 secondes c'est pas long, mais quand vous le faites 50000 fois, si.


    J'aimerais le passer en parallèle, mais je suis pas spécialiste et j'ai pas trop le temps de réinventer la roue...

    j'ai trouvé la bibliotheque PETSC, qui semble assez évoluée pour résoudre ce genre de trucs.


    ma question est la suivante, quelle méthode pensez-vous qu'il est préférable pour moi de choisir ? Je n'ai pas trop en tête les différents avantages/désavantages des méthodes de krylov, des préconditionneurs... ou alors choisir un solveur multigrille ? rapidité, mémoire ... que me conseillez vous ?


    Merci
    A+
    --
    Heimdall

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 34
    Points
    34
    Par défaut Templates for the solution of linear systems
    Bonjour,
    je pense que le document ci-après http://www.netlib.org/templates/templates.pdf répond à vos questions.
    Je crois que pour le genre de problèmes que vous considérez, vous pourriez gagner pas mal de temps (facteur deux ?) à utiliser la méthode du gradient conjugué (+ préconditionnement de la matrice).
    En ce qui concerne la parallélisation, il y a des éléments dans le document que je vous ai indiqué.
    J'espère que cela vous aidera,
    Sébastien

  3. #3
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Points : 87
    Points
    87
    Par défaut
    J'ai des conditions limites différentes pour chaque bord (ex : dirichlet sur x=cte et neumann sur y=cte), ma matrice n'est donc plus symmétrique non ?

    ou bien j'ai Dirichlet(y=cte) Périodique (X=cte)
    ou encore Neumann(y=cte) Périodique (X=cte)

    Je dis ça car j'ai cru comprendre que CG ne marchait que pour des matrices symétriques.
    --
    Heimdall

  4. #4
    Membre régulier
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Points : 87
    Points
    87
    Par défaut
    Salut,


    j'ai écris un petit pdf résumant mon problème.
    Est-ce que quelqu'un peut me dire s'il est d'accord avec les matrices exemples que j'ai écris ?

    http://nau.cetp.ipsl.fr/matrixinertia.pdf

    Je lis le template.pdf pour me former aux différentes méthodes, mais je manque de vocabulaire pour tout comprendre correctement.

    A+
    --
    Heimdall

Discussions similaires

  1. Résolution d'un système linéaire
    Par souheyeb dans le forum Mathématiques
    Réponses: 4
    Dernier message: 14/02/2008, 18h53
  2. Résolution système linéaire mais avec paramètre
    Par feynman dans le forum Scilab
    Réponses: 7
    Dernier message: 03/10/2007, 06h55
  3. Réponses: 4
    Dernier message: 10/03/2007, 17h45
  4. Vérification de système linéaire, avec tableaux
    Par lenny_ dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 13/06/2006, 17h51

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