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 :

Problème Fonction Bessel


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut Problème Fonction Bessel
    Bonjour,

    Mon problème se situe entre la programmation Matlba et les mathématiques.
    Je possède une équation faisant intervenir une somme infininie dans laquelle se trouve des fonctions de Bessel d'ordre 0 et 1.



    Mais là où se situe la difficulté c'est que les paramètres intervenant dans les fonctions de Bessel sont eux même les racines positives (an) de l'équation du type: J0(an)=0.

    je ne sais pas trop comment aborder le problème, j'écrirai bien quelque chose du genre: mais bon... ça ne risque pas de marcher aussi simplement!

    En fait la question sous jacente, c'est comment trouver les racines de cette équation faisant intervenir une fonction de bessel.(je sais pas si j'ai étais assez clair)

    Merci d'avance pour vos réponse
    -----------------------
    J'utilise matlab pour la modélisation dans l'industrie
    Version: 7.4.0.287 (R2007a)

  2. #2
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    hé!!! y-a un forum spécifique MATLAB: http://www.developpez.net/forums/forumdisplay.php?f=148

    je pense que c'est purement un problème de programmation Matlab, ou alors je n'ai pas compris...
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  3. #3
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut Fonctions de Bessel
    Salut !

    Depuis le temps que je joue à "Joséphine, ange gardien" avec des collègues qui se plantent sur un algorithme, je constate toujours le même phénomène: les gens qui ont pour tâche de résoudre un problème de calcul numérique commencent par le triturer et à le retourner en tous sens, de manière à transformer un problème abordable en un problème insoluble. Le seul moyen de les aider efficacement est de revenir en arrière, jusqu'au point de départ.

    C'est pourquoi, avant d'aller plus loin, je te prie de nous dire ce que tu cherches à faire, et comment tu es arrivé à cette horrible formule. De cette manière, je pense qu'on devrait arriver assez vite à résoudre ton problème.

    A tantôt.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut
    salut Jean-Marc j'ai bien aimé ta position face à mon problème!

    Donc ce que je cherche à faire c'est modéliser la chauffe d'un cylindre en dynamique (la source de chaleur varie en fonction du temps).
    Il s'agit donc de résoudre l'équation de Fourier en régime variable (je ne suis pas en stationnaire):



    Donc j'ai essayé avec des méthodes numériques, (discrétisation en éléments finis) avec Matlab et là ça diverge et je n'arrive pas à trouver pourquoi? Donc je suis coincé!

    Deuxième approche, j'ai cherché une solution analytique qui est l'équation précédemment donnée (trouvée dans un livre de référence avec les mêmes hypothèse de travail que dans mon cas):



    voilà


    PS (pour Nemerle): j'étais dans le forum Matlab et on m'a déplacé ici...

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Comme tu pouvais t'y attendre, j'ai des questions subsidiaires. Deux cas sont possibles:

    1) Ton cylindre est chauffé au travers de sa surface extérieure r = R. Dans ce cas, ton équation est bien celle de Fourier, mais une condition aux limites non homogène. Sans autre indication de ta part, elles dépend de l'angle phi, de l'altitude z et du temps t. La condition peut porter sur la température ou sur la densité de flux thermique.

    2) Tu as une source de chaleur interne (effet Joule, réaction chimique ou nucléaire). Dans ce cas, ton équation est de type hybride Poisson-Fourier. Sans autre indication de ta part, la puissance volumique dépend de la position radiale r, de l'angle phi, de l'altitude z et du temps t.

    Les deux cas peuvent d'ailleurs être combinés. J'attends donc tes précisions.

    A tantôt.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut Questions subsidaires
    re-bonjour,

    bien sûr, c'est le deuxième cas qui se rapproche le plus de mon cas réel car il y a une réaction chimique dans mon système.

    Mais j'ai tout d'abord commencé à m'intérésser au premier cas sans réaction, seule la chauffe par l'extérieure du cylindre (en r=R) est à prendre en compte (pour l'instant, laissons de côté le cas le plus compliqué pour plus tard..).

    Pour résoudre l'équation je rajoute deux conditions aux limites qui sont les suivantes:

    • La première condition limite est celle en r=R.(si on prend l'échelle radiale zéro au centre). On connait Θ(t,r=R) et on connait aussi l’évolution de la puissance de chauffe en r=R.
    • La deuxième condition limite concerne le centre du cylindre pour lequel le gradient est nul (quelque soit z), ce qui revient à écrire : Θ(t,r=0)= Θ(t,r=dr)

    De plus on considère le cylindre infiniment long et le Laplacien en coordonnées cylindriques avec la symétrie en z et phi, l'équation devient:



    Merci d'avance pour toute aide!

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut UP
    merci d'avance pour toute piste qui pourrait m'aider...

  8. #8
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Un peu de patience, ça vient mais ce n'est pas évident.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  9. #9
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Je suis en train de me pencher sur ton problème. Il est à la fois assez gros et assez général pour que je lui consacre un tutoriel. Pour cela, il me faudrait quelques précisions:
    • Ta condition aux limites en r=R décrit l'échange de chaleur entre ton cylindre et le monde extérieur. Est-ce une condition de Dirichlet (température de surface imposée), une condition de Neumann (densité de flux thermique imposée) ou une condition mixte (relation linéaire entre la température de surface et la densité de flux thermique)?
    • Cette condition est-elle constante ou varie-t-elle en fonction du temps?
    • Tu a une densité de source de chaleur dans ton cylindre. Cette densité est-elle uniforme (indépendante de r) ou dépend-elle de r?
    • Cette densité est-elle constante ou varie-t-elle en fonction du temps?
    • Cette densité est-elle influencée en chaque point par la température locale ou est-ce une donnée indépendante de l'évolution de cette température?

    Je te serais reconnaissant de me répondre sans faire, de ta propre initiative, des hypothèses simplificatrices qui nous conduiraient à résoudre un problème qui n'est pas le tien. Sans vouloir faire preuve d'autoritarisme, je tiens à décider moi-même de ce qu'un néglige et de ce qu'on ne néglige pas.

    A bientôt.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  10. #10
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Désolé, mais je n'ai pas encore fini avec mes questions:
    • La matière qui occupe l'intérieur de ton cylindre est-elle solide, liquide ou gazeuse?
    • Sec caractéristiques physiques (conductivité thermique, chaleur massique et masse volumique) sont elles des constantes (indépendantes de la position r et de la température T), ou dépendent-elles de l'une ou l'autre de ces deux variables?


    A bientôt.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut Pour FR119492
    Bonjour,
    je vais essayer de vous répondre sans faire d'approximation:

    • La condition aux limites en r=R décrit l'échange de chaleur entre le cylindre et le système de chauffe qui varie en fonction du temps. Je connais l'évolution de la température de la surface en fonction du temps (rampe et paliers).
    • Qu'entendez-vous par densité de source de chaleur? si vous entendez par là l'intensité de la source de chaleur interne à savoir la réaction chimique, cette densité de source de chaleur est uniforme sur r et dépend de la température (en clair du DelTa H de réaction) et donc comme la température varie en fonction du temps, elle varie aussi en fonction du temps.
    • La conductivité thermique, la chaleur massique et la masse volumique du solide dépendent légérement de la température.
    • la matière est solide principalement (avec des intermédiaires de réaction gazeux)


    A bientôt

  12. #12
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Par densité de source de chaleur, j'entends la chaleur produite par la réaction chimique par unité de temps et par unité de volume; elle s'exprime donc en watts par mètre cube.

    Il y a une contradiction dans ta réponse: si tu cherches la répartition de température dans ton cylindre, cela veut dire que celle-ci n'est pas uniforme; comme la densité de source de chaleur dépend de la température locale, il en résulte qu'elle ne peut pas être uniforme. Ton problème n'est donc pas linéaire et il n'est pas possible de trouver une solution analytique.

    Alors que faire dans ce cas? Je te suggère d'essayer tout d'abord de passer par la méthode des différences finies, qui te donnera un système d'équations différentielles ordinaires qui sera probablement assez "stiff". Pour l'intégrer pas à pas, tu devras donc utiliser une méthode comme celle d'Adams-Gear.

    Bonne chance.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut Re
    re-bonjour,

    oui effectivement la densité de source de chaleur interne n'est pas uniforme.

    Concernantla méthode des différences finies, c'est ce que j'avais commencé à faire, mais j'ai un soucis je pense aux niveaux des conditions limites et mon système diverge. Donc je suis un peu coincé...

    Et la boucle est rebouclée (cf mon premier message)...

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    depuis le temps je suis toujours coincé. Je me re-penche à nouveau sur le problème.
    Est-ce que vous avez de votre côté avancé sur la possibilité d'un tutoriel?

    Merci d'avance pour votre réponse.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Citation Envoyé par Franzis Voir le message
    • La condition aux limites en r=R décrit l'échange de chaleur entre le cylindre et le système de chauffe qui varie en fonction du temps. Je connais l'évolution de la température de la surface en fonction du temps (rampe et paliers).
    • Qu'entendez-vous par densité de source de chaleur? si vous entendez par là l'intensité de la source de chaleur interne à savoir la réaction chimique, cette densité de source de chaleur est uniforme sur r et dépend de la température (en clair du DelTa H de réaction) et donc comme la température varie en fonction du temps, elle varie aussi en fonction du temps.
    • La conductivité thermique, la chaleur massique et la masse volumique du solide dépendent légérement de la température.
    Une résolution d'un cas instationnaire (même 'seulement' 2D) de l'équation de la chaleur avec termes non-linéaires... franchement, avec un papier et un crayon je doute qu'on puisse aller bien loin (parce qu'il n'y a pas de solution analytique).
    Il faut clairement attaquer le problème par résolution numérique.

  16. #16
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    si c'est juste pour avoir les premiers zeros de J0 on peut les trouver sur des sites
    comme mathworld.wolfram.com ou bien les retrouver en cherchant les minima de la fonction abs(J0).

  17. #17
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Pas simple comme problème, mais je crois qu'on va y arriver.

    Dans un premier temps, tu reprends l'équation de ton message du 23.10 à 11h19, et tu la complètes comme suit:
    • Tu ajoutes le terme décrivant la production interne de chaleur P (en watts par mètre cube) due à ta réaction chimique.
    • Tu ajoutes (Theta) après chacune des grandeurs rho, Cp, lambda et P

    De cette manière, tu auras écrit correctement ton équation aux dérivées partielles, qui est non linéaire et comporte deux variables indépendantes r et t.

    Pour intégrer cette équation, je te suggère d'appliquer la différences finies selon r, ce qui te donnera un système différentiel dont les variables dépendantes seront Theta_k=Theta(r_k). Tu intégreras ce système par une méthode pas à pas.

    Si tu peux utiliser Simulink, je pense que ce sera le plus simple.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai repris toutes les équations à zéro mais sans production d'énergie interne au système (pour l'instant):

    L’espace est discrétisé sur M+1 point équidistants ri, i=0..M, le pas de discrétisation étant Dr=R/M. De la même manière le temps est discrétisé de manière équidistante à l’aide d’un pas de temps de Dt sur des instants tn, n=0,1..

    On définit :
    Θ(i,n)=la température à la position i et à l’instant n

    En utilisant la méthode des différences finies les dérivées première et seconde s’écrivent :


    l'équation devient alors:


    On a alors la relation de récurrence qui nous permet de trouver la température à l'instant t+1, à partir de l'instant t et des conditions limites.

    Les conditions aux limites étant:

    • température en r=0, quelque soit t connue
    • et en r=R, le gradient est nul

    J'ai alors écris le programme sous Matlab.

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function [y,T]=gradient(E,Geom,Chim,Num)
     
    %paramètres
    R=Geom(1);
    Cp=Chim(1);
    Rho=Chim(2);
    lambd=Chim(3);
    M=Num(1);
    dt=Num(2);
    nt=length(E);
     
    dr=R/M;     % pas d'espace
    a=lambd*dt/(Rho*Cp*dr^2);
    b=lambd*dt/(2*Rho*Cp*dr);
    %--------------------------------------------------------------------------
     
    % Reservation
    T=zeros(M-1,nt-1);
     
    % Boucle de récurence
    T(:,1)=20; % première colonne c'est l'état initial
     
    for k=1:nt-1 %on va générer la colonne suivante
        T(1,k+1)=(a-b/dr)*E(k)+(1-2*a)*T(1,k)+(a+b/dr)*T(2,k);
     
        for j=2:M-2
            T(j,k+1)=(a-b/(j*dr))*T(j-1,k)+(1-2*a)*T(j,k)+(a+b/(j*dr))*T(j+1,k);
        end
        T(M-1,k+1)=(a-b/((M-1)*dr))*T(M-2,k)+(1-2*a)*T(M-1,k)+(a+b/((M-1)*dr))*T(M-1,k);
     
    end
    % et pour avoir le profil général il faut compléter avec la première ligne
    % qui correspond à r=0
    T=[E;T];
     
    y=T(2,:);

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 2
    Points
    2
    Par défaut
    J'utilise ensuite cette fonction dans un autre programme. Et je fait un 'plot' de la température.

    Le soucis que je rencontre c'est qu'en fonction de mes paramètres et aussi du nombre de point de discrétisation (M) la solution diverge ou pas. Et je ne comprend pas pourquoi.

    Mon modèle ne représente pas la réalité et donne des résultats abbérents (quand ça ne diverge pas...)

    Est-ce que vous auriez des pistes pour m'aider?

    Question supplémentaire: j'ai Simulink mais je ne me souviens plus comment faire une dérivée par rapport à 'r'. Il me semble que le bloc '1/s', (transformé de Laplace) correspond à une dérivée par rapport au temps, non?

    Merci d'avance.

Discussions similaires

  1. Problème : Fonctions et commande Execute
    Par bubi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/11/2005, 11h01
  2. Problème fonction SDL
    Par seeme dans le forum SDL
    Réponses: 2
    Dernier message: 06/11/2005, 20h22
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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