probleme numerique en physique
Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

probleme numerique en physique



  1. #1
    invite9c7554e3

    probleme numerique en physique


    ------

    Bonjour tous,

    j'ai un petit soucis car je travail actuellement avec des ordres de grandeur très différent et j'aimerai savoir comment faire
    pour programmer ce que je souhaite faire.

    je souhaite programmer cette multiplication matricielle :



    le soucis est que dans mon probleme j'ai des ordre de grandeur très différent !

    Par exemple :
    ,
    les valeur de et sont liées à ces valeurs de
    si est très grand c'est la meme chose pour

    Ce que je cherche
    je cherche une petite technique mathématique pour ramener ceci à une equation qui manipule des ordres de grandeurs equivalent
    mais je ne sais pas trop comment faire sur ce cas simple.

    ps: la derniere fois on a parlé avec obi de preconditionnement mais je ne sais pas trop commetn faire en pratique sur ce cas simple...

    -----

  2. #2
    invite6dffde4c

    Re : probleme numerique en physique

    Bonjour.
    Dans quel langage travaillez-vous ?
    Tous les langages scientifiques permettent de travailler en "double precision", ce qui donne largement assez de précision pour presque tous les cas.
    Au revoir.

  3. #3
    invite9c7554e3

    Re : probleme numerique en physique

    c'est du C.

    en fait si je fais 1e30-1e-24 le resultat va etre exactement 1e30...

  4. #4
    invite6dffde4c

    Re : probleme numerique en physique

    Re.
    Déclarez les variables comme:
    double x, y, z;
    et si cela ne vous suffit pas déclarez-les comme:
    long double x, y, z;
    A+

    EDIT: et faites attention à la façon dont vous imprimez les valeurs. Si vous n'indiquez pas le nombre de décimales qu'il faut, le programme imprimera en faisant l'arrondi au nombre de décimales par défaut (6). Et vous ne verrez pas la différence.

  5. A voir en vidéo sur Futura
  6. #5
    invitecaafce96

    Re : probleme numerique en physique

    Bonjour,
    Mais vous vous rendez bien compte de ce que vous demandez ? vous voulez le résultat en pour cent exact au 52 ème chiffre derriére la virgule ?
    Mais QUI utilise des précisions pareilles ...

  7. #6
    obi76

    Re : probleme numerique en physique

    La physique des plasmas par exemple
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  8. #7
    invitecaafce96

    Re : probleme numerique en physique

    Je connais un peu, mais je ne vois pas l'application possible ...

  9. #8
    invite6dffde4c

    Re : probleme numerique en physique

    Re.
    Mais je ne pense pas qu'il y ait un problème de physique qui ait besoin de 54 chiffres significatifs.
    Dans une mole de gaz cela correspond au 10^-28 ème de molécule.
    A+

  10. #9
    invite6dffde4c

    Re : probleme numerique en physique

    Citation Envoyé par obi76 Voir le message
    La physique des plasmas par exemple
    Bonjour Obi.
    Non. Je ne le pense pas. Même en physique des plasmas.
    Dans un problème où la masse du plasma serait de 266 fois la masse de la terre, cela correspondrait à compter la totalité des particules à la particule près.
    Ça n'a pas de sens.
    Cordialement,

  11. #10
    invite1c6b0acc

    Re : probleme numerique en physique

    Bonjour,
    en imaginant que membreComplexe12 ait vraiment besoin d'une telle précision, des solutions existent.
    Par exemple : http://gmplib.org/
    A+

  12. #11
    obi76

    Re : probleme numerique en physique

    Re,

    Citation Envoyé par LPFR Voir le message
    Non. Je ne le pense pas. Même en physique des plasmas.
    Dans un problème où la masse du plasma serait de 266 fois la masse de la terre, cela correspondrait à compter la totalité des particules à la particule près.
    je confirme : les ordres de grandeur (en terme de concentration) vont de 10-23 à 10+30, sachant que chaque espèce catalysant d'autres réactions (avec des coefficients d'Arrhénius ayant aussi plusieurs ordres de grandeurs entre eux), on a bien 50 ordres de grandeur (à peu près) à simuler. Pour le moment il existe un code qui arrive à résoudre en 0D ce type de plasma dense, et un des défi actuel est de paralléliser l'inversion de la matrice, celle-ci étant non creuse (j'avais commence à m'y attaquer, j'ai arrêté, faute de temps...). On est dans un régime très hautement non linéaire, chaotique, et le comportement du plasma si on se permet de mettre à 0 des éléments minoritaires empêchera certaines catalyses et impactera automatiquement la chaîne de réaction.

    Les solutions sont par exemple en python où une librairie permet des calcul à précision quelconque, mais les inversions de matrice dans ce cas sont extrêmement complexes, du moins avec des méthodes plus originales et performantes que le pivot de Gauss...

    La solution que j'ai proposé à membreComplexe12 est d'utiliser une librairie spécialisée pour ce type de cas : DVODE (un inverseur double précision de matrice très haute précision). Le préconditionnement est intégré dedans, mais il nécessite de connaître la Jacobienne associée à vos équations. Je vous suggère de regarder ici par exemple : https://computation.llnl.gov/casc/od...pack_home.html
    Dernière modification par obi76 ; 18/12/2012 à 17h12.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  13. #12
    invite6dffde4c

    Re : probleme numerique en physique

    Re-bonjour Obi.
    Je ne doute pas qu'il ait des choses différentes avec des rapports aussi grands. Quoi qu'avec un rapport aussi grand il faut un plasma avec une masse plus importante que celle de plusieurs terres pour chaque atome de catalyseur. Combien de Tokamaks ou des Iters pour un atome de catalyseur ? Au dessous d'un certain rapport, le nombre d'atomes catalyseurs est simplement nul.
    Mais surtout je ne pense pas que la grandeur physique qui compte physiquement soit la somme ou la différence entre deux grandeurs physiques d'un tel rapport.
    C'est un problème encore plus absurde que la mémoire de l'eau de Benveniste.

    Sincèrement je pense qu'on a oublié la physique et on est en train de s'empêtrer dans le calcul numérique. Chaque fois que cela m'est arrivé, la solution n'était pas dans le programme, mais dans le problème physique, les conditions initiales, etc.
    Cordialement,

  14. #13
    obi76

    Re : probleme numerique en physique

    Re,

    là je parle bien de plasmas denses, typiquement plasmas d'entrée atmosphériques, où on atteint localement des conditions de pression et de températures gigantesques, et des rapports de masse / de temps caractéristique assez élevés aussi (les électrons sont pris en compte). Pour les tokamaks la problématique n'est pas là dessus, sauf cas très particuliers sur lesquels je ne m'étendrai pas.

    Et de toutes façons, même si on descend à un rapport de grandeur de 20 (en étant très gentil), le double précision ne permet pas de stocker 20 décimales... Le problème se posera de toutes façons Ce que vous soulevez comme remarque est certainement justifié dans certains cas, mais de part le chaotisme inhérent à de tels systèmes, ainsi que la conservation de la masse, on ne le fait pas. Et puis spontanément, on peut avoir des grandeurs à 10-20 qui montent à 10+10 puis qui redescendent, c'est par exemple le cas des flammes froides où les réactions sont très nombreuses, sont extrêmement sensibles aux conditions initiales, et où la proportion au début et à la fin de certains radicaux est nulle... mais atteint des pics très importants durant la combustion (qui n'est même pas exothermique durant cette phase d'ailleurs ^^). Je vois courament des valeurs à 10-7 qui qugmentens jusqu'à des 10^5, et si la moindre approximation est faite sur le 10^-7, les résultats sont très différents. Une erreur faite sur les plus petites valeurs est cumulative à chaque itération... Et des iterations, il y en a beaucoup beaucoup (pour les plasmas denses au touche la centaine de millions).

    PS : j'ai encore des contacts dans cette équipe, je peux leur demander des publis justifiant du transport de grandeurs aussi faibles si vous voulez...
    Dernière modification par obi76 ; 18/12/2012 à 18h25.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  15. #14
    coussin

    Re : probleme numerique en physique

    Il s'agit ici de multiplication de matrice, pas d'inversion. Il n'y a donc aucun problème numérique.
    Dans mon domaine, j'ai déjà codé en précision arbitraire avec Mathematica. Je fais parfois des calculs avec 500 chiffres significatifs (une résolution d'un système très très mal conditionné...)

  16. #15
    obi76

    Re : probleme numerique en physique

    Dans ce cas, soit le problème n'est pas le même que la dernière fois, soit il y a micmac...

    membreComplexe12, dans l'autre discussion lorsque je parlais de préconditionnement, c'était bien pour une inversion de matrice, comme le dis coussin pas de problème pour une multiplication...
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  17. #16
    invite9c7554e3

    Re : probleme numerique en physique

    bonjour tous,

    1° petite precision : Obi à cité des applications proche de ce que je fais.

    2) vous êtes sûr que dans le cas de multiplication il n'y a pas de problemes ?
    si je fais la multiplication je vais avoir par exemple pour l'eq.1 quelque chose du genre :

    x1=a.X10+b.X20

    si x10>>>x20 alors mon resultat x1 ne prendra pas du tout en compte b.X20

    --> en fait je vais essayer de contourner ce probleme en reformulant mes equations d'une autre maniere et je pense tomber sur un systeme plus cool.
    mais quand même par curiosité si je vais regarder les preconditionneur car je risque d'avoir à faire à ce genre de choses dans le futur.

    ps: je cherche plus une solution mathematique (type preconditionneur) qu'une solution informatique (long double)

    merci de votre aide

    A+

    Citation Envoyé par obi76 Voir le message
    Dans ce cas, soit le problème n'est pas le même que la dernière fois, soit il y a micmac...
    membreComplexe12, dans l'autre discussion lorsque je parlais de préconditionnement, c'était bien pour une inversion de matrice, comme le dis coussin pas de problème pour une multiplication...
    c'est pratiquement le meme cas que l'autre fois mais j'ai inversé la matrice manuellement

  18. #17
    coussin

    Re : probleme numerique en physique

    En double précision, tu as environ 15 chiffres significatifs. N'importe quoi plus petit que 10^-16 en valeur absolue est zéro.

  19. #18
    coussin

    Re : probleme numerique en physique

    Si tu tiens absolument à ce que 10^-20 ne soit pas négligeable devant 10^30, il te faut absolument 50 chiffres significatifs. Je ne vois pas de manière de contourner ça…

    http://en.wikipedia.org/wiki/Preconditioner
    Dernière modification par coussin ; 18/12/2012 à 19h22.

  20. #19
    obi76

    Re : probleme numerique en physique

    Dans le cas d'une multiplication, ce n'est pas physique, comme l'a dit LPFR. Dans le cas d'une inversion de matrice où les ordres de grandeurs co-existent dans la matrice, alors pour l'inversion il faut des algorithmes dédiés. Je ne parle pas de transporter un truc du type 10^20+10^-30 (physiquement on peut admettre que c'est 10^20), mais quand on a des variables à 10^20 ET des variables à 10^-30, alors le double précision peut rendre compte des deux, et dans certains cas l'inversion de la matrice DOIT rendre compte de ces deux ordres de grandeur.

    Dire que 10^-20 n'est pas négligeable devant 10^30, il te faudra 50 chiffres significatifs, mais lorsque plusieurs variables ont ce genre d'ordre de grandeur entre elles, pas besoin d'avoir 50 chiffres significatifs...
    Dernière modification par obi76 ; 18/12/2012 à 19h27.
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  21. #20
    coussin

    Re : probleme numerique en physique

    Citation Envoyé par obi76 Voir le message
    Dire que 10^-20 n'est pas négligeable devant 10^30, il te faudra 50 chiffres significatifs, mais lorsque plusieurs variables ont ce genre d'ordre de grandeur entre elles, pas besoin d'avoir 50 chiffres significatifs...
    S'il y a des opération à virgules flottantes faites avec des 10^30 et des 10^-20, sans garder 50 chiffres significatifs dès le début il va y avoir de sacrées erreurs d'arrondis (tout simplement parce que 10^30+10^-20=10^30 en double précision par exemple…)

  22. #21
    obi76

    Re : probleme numerique en physique

    Voilà tout le problème de ce type d'inversion de matrices, et voilà pourquoi un bon préconditionnement est nécessaire...

    Enfin visiblement ce n'est pas le sujet...
    \o\ \o\ Dunning-Kruger encore vainqueur ! /o/ /o/

  23. #22
    invite9c7554e3

    Re : probleme numerique en physique

    merci tous pour votre participation, j'ai bien compris, je me suis un peu mélangé les pinceaux en fait je viens de remarquer avec mon precedent probleme

Discussions similaires

  1. problème 2005 de physique agrégation de physique
    Par invite92876ef2 dans le forum Physique
    Réponses: 4
    Dernier message: 21/10/2010, 22h59
  2. Base numérique en physique
    Par stefjm dans le forum Physique
    Réponses: 22
    Dernier message: 03/11/2009, 19h05
  3. Physique : Simulation numérique
    Par invite18e20825 dans le forum Orientation après le BAC
    Réponses: 4
    Dernier message: 27/10/2008, 09h27
  4. physique : fluide/granu et simulation numérique
    Par invite2c6a0bae dans le forum Orientation après le BAC
    Réponses: 3
    Dernier message: 24/03/2008, 09h32
  5. physique numérique
    Par invitef2ea68d7 dans le forum Physique
    Réponses: 0
    Dernier message: 05/12/2005, 17h41