211
MINISTERUL INVATAMANTULUI Maître de conférence RADU POPA Université "Politehnica" Bucarest INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX DIFFÉRENTIELLES avec 30 problèmes et programmes de calcul Série coordonnée par Prof. J. P. CARBONNEL Université "Pierre et Marie Curie", Paris Prof. R. DROBOT Université Technique de Construction, Bucarest dans le projet Tempus JEP 3801 "Sciences de l'eau et environnement" Editura Didactica si Pedagogica R.A. Bucuresti, 1995

INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

MINISTERUL INVATAMANTULUI

Maître de conférence RADU POPA Université "Politehnica" Bucarest

INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX DIFFÉRENTIELLES

avec 30 problèmes et programmes de calcul

Série coordonnée par Prof. J. P. CARBONNEL Université "Pierre et Marie Curie", Paris Prof. R. DROBOT Université Technique de Construction,

Bucarest dans le projet Tempus JEP 3801 "Sciences de l'eau et environnement"

Editura Didactica si Pedagogica R.A. Bucuresti, 1995

Page 2: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ISBN 973-30-4208-0

Redactor : Iuliana Arhanghelschi Tehnoredactor : Anca Pe¡a Coperta : Dumitru ªmalenic

Page 3: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

PRÉFACE Ce livre s'adresse aux étudiants ingénieurs qui suivent un cours de

"Méthodes numériques" dans les classes préparatoires de l'enseignement universitaire. Mais aussi, le document didactique sera utile aux étudiants-chercheurs - sans connaissances particuliéres dans ce domaine - qui suivent des études approfondies.

En fait, le contenu du présent fascicule se réfère à la deuxième partie d'un cours général sur les méthodes numériques, à savoir le traitement numérique des équations aux différentielles ordinaires et des équations aux dérivées partielles. La pénurie relative d'ouvrages traitant de ces domaines de façon suffisamment amples a déterminé un tel ordre de parution.

Plutôt qu'un manuel d'analyse numérique, ce livre veut présenter à l'étudiant quelques algorithmes de base des méthodes numériques largement répandues de nos jours pour la résolution de problèmes techniques sur ordinateur. Dans une large mesure, les démonstrations formelles sont éliminées afin de mettre en place un nombre de problèmes intégralement résolus par programmes en Pascal.

Ces problèmes appartiennent aux différents domaines techniques (mécanique des fluides, thermotechnique, électrotechnique, dynamique, résistance des matériaux, acoustique, hydraulique technique etc.) en vue de démontrer l'utilité générale des méthodes numériques. D'autre part, chaque problème est résolu par un algorithme différent ou par une solution de programmation différente, en vue de familiariser les étudiants aux diverses manières d'aborder le sujet.

Beaucoup de livres de méthodes numériques qui ont précédé ce matériel l'ont influencé; leurs auteurs méritent tous nos remerciements. Mais la parution de ce livre aurait été impossible sans le support du projet Tempus JEP 3801 "Sciences de l'eau et environnement" (coordonné par le Prof. J. P. Carbonnel de l'Université "Pierre et Marie Curie", Paris et le Prof. R. Drobot de l'Université Technique de Construction, Bucarest) et de la Chaire UNESCO des Sciences Techniques, le programme "Énergie-Environnement", de l'Université "Politehnica", Bucarest (coordonnée par le Prof. A. Leca ).

RADU POPA, Maître de Conférence Chaire d'Hydraulique, U.P. Bucarest

Page 4: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

DE LA PART DES COORDINATEURS: L'organisation d'un programme de mis à jour des connaissances scientifiques dans le domaine des eaux et de l'environnement a été évoquée au cours de l'année 1990 par les universitaires et techniciens roumains à l'occasion des premières visites après 1989 des collègues français à Bucarest. Ce projet a pu prendre forme grâce au soutien financier du programme TEMPUS - PHARE initié par la Communauté Européenne pour aider les pays de l'Europe d'Est à restructurer leur enseignement supérieur. Le programme organisé selon les principes du D.E.A. français a débuté effectivement durant l'année universitaire 1992/1993 et a regroupé des partenaires de France (l'Université "Pierre et Marie Curie", qui a été le coordinateur du programme), de Belgique (l'Université de Liège), d'Italie (Università degli Studi di Genova) et évidemment de Roumanie (l'Université Technique de Construction Bucarest et l'Université de Bucarest); dès le début, l'industrie roumaine (représentée par la Régie Autonome "Apele Române", l'Institut National de Météorologie et d'Hydrologie, l'Institut pour les Recherches sur l'Environnement) a soutenu activement le déroulement du programme, qui a été dénommé SCIENCES DE L'EAU ET ENVIRONNEMENT (S.E.E.). Un nombre important de professeurs et chercheurs de très haut niveau scientifique de France, Belgique, Italie et Roumanie ont donné des cours en français ou en roumain pour une cinquantaine des jeunes chercheurs et ingénieurs pendant les trois ans du programme. Le coordinateur et les responsables roumains de ce programme ont jugé pourtant qu'on pourrait faire plus pour la formation des spécialistes dans le domaine des sciences de l'eau et de l'environnement et ont décidé de promouvoir au plus haut niveau possible les connaissances enseignées dans le cadre de ce TEMPUS. Une série de 10 (dix) livres dans le domaine de l'Hydrologie, de l'Hydrogéologie, ou des connaissances de base constitue le résultat de cette valorisation. Dans l'espoir que cette série sera utile aux étudiants de deuxième ou de troisième cycle, ainsi qu'aux spécialistes, les coordinateurs expriment leur intention de continuer cette activité pour couvrir le plus largement possible le domaine des sciences de l'eau et de l'environnement. Coordinateurs: Jean-Pierre CARBONNEL et Radu DROBOT

Page 5: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

TABLE DES MATIÈRES

Préface 3 Chapitre 1 - Notions sur la formulation mathématique de phénomènes physiques. 9 Chapitre 2 - Intégration numérique des équations aux différentielles ordinaires 16 2.1. Introduction 16 2.2. Intégration numérique des équations différentielles du premier ordre, avec des conditions initiales 17 2.2.1. Méthodes directes d'intégration pour l'équation du premier ordre avec condition initiale. 18 Problème 2.1. - Régime transitoire dans une résistance chauffante 22 Problème 2.2. - Écoulement permanent dans un canal découvert 25 Problème 2.3. - Compression quasistatique, nonadiabatique 27 2.2.2. Méthodes indirectes d'intégration pour l'équation du premier ordre avec condition initiale 30 Problème 2.4. - Méthode de Milne 32 2.3. Intégration numérique d'un système d'équations différentielles du premier ordre, avec des conditions initiales 35 2.3.1. Méthodes directes d'intégration pour des systèmes explicites 36 2.3.2. Méthodes directes d'intégration pour des systèmes implicites 37 Problème 2.5. - Pendule simple en milieu résistant 38 Problème 2.6. - Oscillation amortie d'une colonne liquide 41 Problème 2.7. - Fusée à masse variable, en milieu résistant 45 Problème 2.8. - Oscillations en masse dans une chambre d'équilibre. 50 Problème 2.9. - Chute d'une goutte d'eau dans une atmosphère humide. 54 Problème 2.10. - Autre solution pour Problème 2.3. 59 Problème 2.11. - Tir réactif dans l'atmosphère . 61 Problème 2.12. - Saut d'une balle dans un demicylindre . 67

5

Page 6: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

2.4. Intégration numérique des équations différentielles avec conditions aux limites 72 2.4.1. Méthodes d'essais et erreurs 72 2.4.2. Méthodes des différences finies 73 2.4.3. Méthodes des différences finies pour l'équation différentielle linéaire avec conditions aux limites 74 Problème 2.13. - Distribution de température dans un disque métallique 78 Problème 2.14. - Echangeur de chaleur à contre - courant 83 Problème 2.15. - Écoulement dans la couche limite 88 Problème 2.16. - Capteur solaire plan, en régime permanent 93 Chapitre 3 - Traitement numérique des équations aux dérivées partielles 102 3.1. Introduction 102 3.2. Traitement numérique des équations aux dérivées partielles du type elliptique 105 3.2.1. Expressions analytiques et domaines physiques d'intérêt 105 3.2.2. Approximation des dérivées partielles par des expressions aux différences finies 107 3.2.3. Exemple sur un domaine rectangulaire 111 3.2.4. Opérateurs de différence au voisinage des limites du domaine 113 3.2.5. Tracé des équipotentielles et des lignes de champ en bidimensionnel 114 Problème 3.1. - Régime thermique permanent dans une plaque plane 116 Problème 3.2. - Nervure de refroidissement en régime permanent 118 Problème 3.3. - Fil de garde pour protéger les lignes haute - tension 122 Problème 3.4. - Écoulement potentiel dans un bassin carré 128 Problème 3.5. - Flexion d'une plaque uniformément chargée 133 3.3. Traitement numérique des équations aux dérivées partielles du type parabolique 137 3.3.1. Expressions analytiques et domaines physiques d'intérêt 137 3.3.2. Solution numérique des équations paraboliques unidimensionnelles 139 3.3.2.1. Schémas explicites 140 3.3.2.2. Schémas implicites 143 3.3.3. Méthode implicite pour des problèmes bidimensionnels 144

6

Page 7: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.3.4. Solution des problèmes non-linéaires 146 Problème 3.6. - Variation de la température dans un mûr infini 147 Problème 3.7. - Distribution de la température dans une conduite chauffée 150 Problème 3.8. - Chauffage d'une longue barre à section carrée 153 Problème 3.9. - Pollution thermique d'une rivière 159 Problème 3.10. - Formation du pont de glace à la surface d'un lac 164 3.4. Traitement numérique des équations aux dérivées partielles du type hyperbolique 170 3.4.1. Expressions analytiques et domaines physiques d'intérêt 170 3.4.2. Solution numérique des équations hyperboliques unidimensionnelles 174 3.4.3. Solution d'un système d'équations aux dérivées partielles du premier ordre, du type hyperbolique, par la méthode des caractéristiques 180 3.4.3.1. Notion de caractéristique d'une équation aux dérivées partielles du premier ordre 180 3.4.3.2. Généralisation au cas d'un système à deux équations aux dérivées partielles, du premier ordre 182 Problème 3.11. - Propagation du son dans un tuyau 185 Problème 3.12. - Onde stationnaire sur une corde vibrante 188 Problème 3.13. - Coup de bélier dans une conduite en charge 193 Problème 3.14. - Onde de crue dans un canal découvert 201 Bibliographie 210

7

Page 8: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

CHAPITRE 1

NOTIONS SUR LA FORMULATION MATHÉMATIQUE DES PHÉNOMÈNES PHYSIQUES

De façon théorique, l'activité des ingénieurs est consacrée à l'étude des

phénomènes se déroulant en différents systèmes physiques, plus ou moins complexes. Tout système physique a une structure hiérarchique, étant decomposable en

sous - systèmes ou éléments dont le nombre et la nature peuvent varier largement en fonction du système et du problème considérés. Chacun de ces éléments possède une caractéristique ou un paramètre, de sorte que la réponse ( la donnée de sortie ) à des excitations ou perturbations extérieures (les donnés d'entrée) peut être prédéterminée.

Les excitations ont d'habitude une certaine forme énergétique (mécanique, électrique, chimique, rayonnante, thermique etc.), tandis que les réponses se manifestent - sous la même forme énergétique ou dans une forme transformée - en régime permanent ou transitoire , à l'intérieur du système et à ses frontières.

À partir de ces notions, on peut faire une classification des problèmes de

l'ingénieur en trois types, à savoir : instrumentation, analyse et synthèse. Le premier type de problème suppose à déterminer l'excitation (la donnée

d'entrée), en connaissant la réponse (la donnée de sortie) et la structure du système. De tels problèmes impliquent généralement une solution expérimentale, mais en quelques cas particuliers il est nécessaire de faire appel à des méthodes numériques (par exemple - approximation d'une fonction en utilisant les résultats des mesures expérimentales).

La plus fréquente catégorie de problèmes correspond aux problèmes dans lesquels sont connus l'excitation et la structure du système et il faut déterminer la réponse du système à cette excitation. Les problèmes d'analyse impliquent des solutions essentiellement basées sur différentes méthodes analytiques ou numériques.

Dans le troisième cas on doit déterminer la structure du système physique, alors que sont imposées les excitations et les réponses. Il s'agit donc, dans un problème de synthèse, de choisir - parmi les systèmes possibles - ceux qui correspondent à un optimum donné en fonction d'objectifs bien précisés. De tels problèmes impliquent généralement une catégorie de méthodes mathématiques appartenant aux méthodes de la recherche opérationnelle.

Pour analyser un système physique quelconque il devra, dans une première

étape, de "traduire" le comportement de ce système sous la forme d'un modèle mathématique, lequel pourra être puis abordé par les méthodes générales d'analyse théorique.

De façon très générale, les systèmes physiques peuvent appartenir à l'une des deux catégories suivantes :

- Si le flux énergétique associé aux excitations et aux réponses est contraint de s'écouler selon des canaux ou des branches bien définis, le système est de type circuit (ou réseau).

- Si une telle restriction n'existe pas, le système est de type champ.

9

Page 9: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

La distinction entre ces deux types réside dans le fait que les problèmes de

circuit impliquent généralement des modéles mathématiques plus simples. Du point de vue mathématique, la plus complexe analyse d'un problème de

circuit en régime permanent suppose, d'habitude, à résoudre un système d'équations algèbriques non linéaires (par exemple le régime hydraulique dans un réseau d'alimentation à l'eau). En régime transitoire, le problème peut revenir à intégrer un système d'équations différentielles ordinaires ou, en des situations spéciales, à intégrer un système d'équations aux dérivées partielles.

Au contraire, les problèmes de champ reviennent généralement à résoudre une équation ou un système d'équations aux dérivées partielles. En tout cas, dans l'analyse du champ, les coordonnées d'espace ont une signification précise, tandis que pour un circuit ces coordonnées peuvent souvent être négligées.

Les problèmes d'analyse sont grandement simplifiés si les éléments

constituant le système peuvent être définis comme étant à constantes (ou à paramètres) localisées (ou concentrés).

Un tel élément a un comportement bien défini, en fonction d'une relation connue entre l'excitation et la réponse existant à ses limites (c'est-à-dire, on connait la manière d'utilisation qu'il fait de l'énergie circulant entre ses liaisons aux autres éléments du système ou à l'extérieur). Du point de vue mathématique, le comportement d'un système à constantes localisées est décrit, en régime transitoire, par une équation ou un système d'équations différentielles ordinaires.

Par opposition, un élément dit à constantes (ou à paramètres) réparties (ou distribués) n'implique pas des relations connues excitation - réponse pour l'ensemble de l'élément, mais pour l'ensemble des sous-éléments (structure hiérarchique) de cet élément. Les systèmes physiques modelés comme systèmes à constantes réparties, sont représentés par des équations aux dérivées partielles.

Du point de vue du comportement de l'ensemble du système analysé, la concentration des paramètres - appliquée à un système physique à paramètres distribués - n'implique pas nécessairement une erreur ou une approximation intolérables ; la perte d'informations qui résulte de la concentration des constantes conduit à une perte d'informations sur l'évolution détaillée de l'énergie (particulièrement l'énergie qui disparaît) en des points intérieurs de l'élément.

Au contraire, du point de vue mathématique, la localisation des paramètres est toujours souhaitable du fait que les équations différentielles ordinaires (décrivant le comportement d'un tel système) comportent une seule variable indépendante, tandis que n'importe quelle serait l'équation aux dérivées partielles (décrivant le comportement d'un système à paramètres distribués), celle-ci comporte plusieurs variables indépendantes. Or, de ce fait il résulte une simplification mathématique remarquable dans le premier cas.

En ce qui concerne la notion de variable apparaissant dans une équation quelconque d'un modèle mathématique, on doit préciser les suivantes.

Les variables dont l'évolution est fonction d'une ou plusieurs autres variables seront dénommées dépendantes, tandis que les grandeurs par rapport auxquelles évoluent les variables dépendantes sont appelées variables indépendantes.

10

Page 10: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Dans le cas de systèmes à paramètres concentrés, la variable indépendante est,

d'habitude (mais non exclusivement), la variable temporelle. Pour les systèmes à paramètres distribués, ces variables peuvent inclure une ou plusieurs variables d'espace et parfois la variable temporelle.

D'autre part, les variables dépendantes d'un problème donné doivent apparaître sous autant de formes physiques que le nécessite la structure et la nature du système modelé. De telles variables seront soit référencées, soit non référencées. Les premières rapportent un certain état physique d'un point du système à l'état d'un autre point du même système ou à un niveau arbitraire de référence (différence de potentiel en électrotechnique, température en thermotechnique, différence de pression ou de charge en hydraulique etc.). Dans la deuxième catégorie sont inclues les variables dont la mesure n'implique pas un niveau de référence (le courant électrique, le flux thermique, le débit etc.).

Heureusement, les équations représentatives du comportement d'un système

appartenant aux différents disciplines techniques impliquent un petit nombre de types différents d'équations mathématiques auxquelles il est nécessaire d'avoir recours. Cette réalité doit être mise à profit par l'ingénieur, en lui permettant d'être capable à résoudre tel ou tel problème de n'importe quel domaine technique à condition de connaître les méthodes numériques appropriées pour ce petit nombre de types différents d'équations. Plus exactement, le comportement des systèmes à constantes localisées est, de façon systématique, représenté par des équations ou des systèmes d'équations différentielles du premier ou tout au plus du second ordre, alors que les systèmes à paramètres distribués sont représentés, soit par des équations aux dérivées partielles du type elliptique, soit par des équations aux dérivées partielles du type parabolique, soit par des équations aux dérivées partielles du type hyperbolique.

Cette constatation fondamentale peut être mieux soutenue en détaillant la notion de paramètre ou élément d'un système physique.

Les paramètres ou éléments d'un tel système peuvent être caractérisés par la

manière dont ils utilisent l'énergie qui leur est appliquée, et il est possible - d'une façon très générale - de les classifier en trois types, à savoir : dissipateurs d'énergie, accumulateurs d'énergie potentielle et respectivement accumulateurs d'énergie cinétique. De plus, les paramètres d'un système physique donné réalisent une connexion biunivoque entre les variables référencées et celles non référencées (par exemple : si l'excitation apparaît sous forme de variable référencée,la structure du système permettra de définir la nature et l'amplitude de la variable non référencée constituant la réponse, et réciproquement).

Un entendement plus facile des différents types de paramètres pourraît être

remporté dans le cas des systèmes à constantes localisées. Les exemples suivants seront donc dédiés à cette catégorie de systèmes.

Les paramètres dits de dissipation énergétique dissiperont une partie de l'énergie appliquée au système physique étudié. En électrotechnique, l'élément dissipateur d'énergie est la résistance électrique R ; il relie la variable référencée V (tension électrique) à la variable non référencée I (courant) au moyen de la relation V

11

Page 11: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

t

= R·I. En mécanique des fluides, le paramètre dissipateur d'énergie est la viscosité dynamique η, reliant la différence de pression ∆P (variable référencée) au débit Q (variable non référencée) par la relation de Poiseuille ∆P = η·Q. En thermotechnique, la résistance thermique Rt relie la température T au flux thermique q, par l'équation T = Rt·q. En dynamique, l'amortisseur visqueux K relie la force F à la vitesse V par F = K·V. Il est donc possible de dire que dans tout système physique modelé comme système à paramètres concentrés, l'élément ou paramètre dissipateur d'énergie, d, est le quotient de la variable référencée de potentiel, ϕ, par la variable non référencée de flux, f, à savoir : ϕ = d·f.

En considérant l'énergie potentielle comme l'énergie que possède un système en vertu de la position ou des caractéristiques statiques de ses éléments, on peut définir le paramètre dit accumulateur d'énergie potentielle, p, comme l'élément tendant à s'opposer à tout variation de la variable référencée. De façon générale, il est possible de dire que dans n'importe quel système à constantes localisées, l'élément ou paramètre accumulateur d'énergie potentielle est tel que, multiplié par la variable référencée de potentiel, il soit égal à l'intégrale par rapport au temps de la variable non référencée de flux, à savoir :

p f dt

⋅ = ⋅∫ϕ0

.

Par example, en électrotechnique, la capacité électrique C s'oppose à la variation du potentiel électrique V (variable référencée). La conservation de la charge électrique, a la forme dq = C·dV = I·dt, de laquelle - sous forme intégrale - on obtient:

C V I dtt

⋅ = ⋅∫0

.

En thermotechnique, la conservation de l'énergie thermique prend la forme intégrale suivante:

c T q dtp

t

⋅ = ⋅∫0

,

dans laquelle la capacité calorifique cp est le paramètre accumulateur d'énergie potentielle.

En dynamique, la rigidité du ressort, C, s'oposse à la variation de la force F, de sorte que:

C F v dtt

⋅ = ⋅∫0

,

òu v est la variable non référencée (vitesse). L'énergie cinétique peut être définie comme l'énergie que possède un système

en vertu du mouvement ou des caractéristiques dynamiques de ses éléments. Les paramètres dits accumulateurs d'énergie cinétique tendent à s'opposer à tout variation de flux. Si un tel paramètre, c, est multiplié par la dérivée par rapport au temps de la variable non référencée de flux, f, il doit que le résultat soit égal à la variable référencée de potentiel, ϕ, à savoir :

12

Page 12: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ϕ = ⋅c dfdt

.

L'inductance L, le courant électrique I et le potentiel électrique V sont reliées par une telle relation :

V L dIdt

= ⋅

.

L'inertie thermique, β, définie comme l'inverse du produit entre la diffusivité thermique et le coefficient de transfert de chaleur à la surface, s'oppose à la variation du flux thermique par la relation :

T dqdt

= ⋅β

.

Quelques définitions supplémentaires pourraient être utiles dans un essai

d'analyser le comportement d'un système physique à constantes localisées. Un élément est dit linéaire si l'excitation appliquée et la réponse fournie sont

directement proportionnelles dans toute gamme de valeurs d'intérêt. La résistance d'un conducteur électrique est d'habitude acceptée comme un paramètre linéaire. Au contraire, la résistance hydraulique d'une conduite, r, correspond - en régime turbulent - à un paramètre non linéaire, parce que la relation entre les deux types de variables dépendantes - référencée (la différence de pression) et non référencée (le débit) - a la forme non linéaire suivante ∆P = r·Q2.

Un élément est dit bilatéral si la relation entre excitation et réponse est indépendante de la manière de laquelle il est connecté aux éléments voisins ou à la source d'excitation. Les conducteurs électriques, représentés par leurs résistances, sont considérés comme des éléments bilatéraux, alors qu'une diode sera un élément unilatéral. De même, une conduite est assimilable à un élément bilatéral, tandis qu'un clapet by-pass - à un élément unilatéral.

Si un système ne fait que dissiper ou accumuler d'énergie, il est de type passif. Un système incorporant des sources d'énergie (pompes dans un réseau hydraulique, par example) est de type actif.

En tenant compte de ces considérations sur la nature possible des paramètres d'un systéme physique donné, la traduction mathématique de son comportement prendra des différentes formes, en fonction de nombre et de type des éléments qu'il constitue. De plus, le développement d'un modèle mathématique suppose faire appel aux principes de base et aux théorèmes fondamentaux du domaine physique considéré. La base d'analyse dans tous les domaines est généralement constituée par les principes de conservation et de continuité. Le principe de conservation doit être appliqué en fonction de la nature du système (pour la charge électrique dans un système électrodynamique ; pour la quantité de mouvement en mécanique ; pour l'énergie calorifique dans un système thermique etc.). Le principe de continuité s'applique aux variables non référencées des systèmes physiques.

Dans le cas des systèmes à paramètres distribués, les notions ci-dessus

présentées seront plus complexes. Les systèmes physiques prennent différentes formes de champs. Les variables référencées correspondent à la différence entre le potentiel

13

Page 13: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

scalaire en deux points du champ, alors que la variable non référencée est généralement un vecteur.

Les trois catégories de paramètres (ou éléments) sont définies en appelant au gradient du potentiel scalaire. L'élément dissipateur d'énergie, d, obéit à la relation :

grad n d d fσ

ϕ σ∫∫ ⋅ ⋅ = − ⋅r

,

dans laquelle ϕ est la variable référencée, n représente le vecteur unitaire normal à la surface σ et f - la variable non référencée du flux à travers de σ. Le paramètre accumulateur d'énergie potentielle, p, est défini par l'équation :

grad n dp

f dtt

σϕ σ∫∫ ∫⋅ ⋅ = − ⋅r 1

0

,

et celui susceptible d'accumuler d'énergie cinétique, c, par la relation :

grad n d c ftσ

ϕ σ∂∂∫∫ ⋅ ⋅ = − ⋅

r .

La nature des paramètres (ou éléments) constituant le système physique detérmine le type de l'équation aux dérivées partielles décrivant son comportement. Les systèmes dont les éléments constitutifs sont d'un seul type (soit dissipateur, soit accumulateur d'une sorte d'énergie) peuvent être représentés par des équations aux dérivées partielles du type elliptique (Laplace ou Poisson). Si le système contient deux types de paramètres, (à savoir : d'une part - un dissipateur d'énergie, et d'autre part - soit un accumulateur d'énergie potentielle, soit un accumulateur d'énergie cinétique), son comportement est régi d'un équation aux dérivées partielles du type parabolique. Enfin, les équations aux dérivées partielles du type hyperbolique représentent le comportement des champs caractérisés par la présence simultanée des deux types d'éléments accumulateurs d'énergie (la réponse étant sous forme oscillatoire), ou par la présence des tous types d'éléments (la réponse oscillatoire étant amortie).

Brièvement, la discussion ci-dessus, suggérée par [7], a essayé de mettre en

relief certaines des catégories de problèmes mathématiques dérivant de l'analyse des systèmes physiques dont le comportement doit être élucidé dans l'activité des ingénieurs. En même temps, la présentation poursuit à relever la généralité de telle ou telle catégorie, par rapport à différents domaines techniques.

On paraît que l'importance du traitement numérique - des équations différentielles ordinaires, et - des équations aux dérivées partielles

ne nécessite aucune justification supplémentaire. D'ailleurs, ces deux catégories de problèmes mathématiques font le sujet des chapitres suivants.

Il convient toutefois d'insister sur le fait que la solution de telles équations implique, généralement, la connaissance des autres catégories de problèmes mathématiques, soit comme instrument direct ( par example : la résolution d'un système d'équations algébriques dans le cas d'une équation différentielle ordinaire du deuxième ordre avec conditions aux limites), soit pour aider l'affichage des résultats (par example: l'interpolation linéaire bidimensionnelle à tracé des lignes de champ et des équipotentielles dans le cas d'une équation aux dérivées partielles du type elliptique) ou n'importe quelle autre opération auxiliaire. Une classification possible de ces catégories 14

Page 14: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

pourrait être la suivante:

- l'approximation et l'interpolation des fonctions ; - l'intégration numérique et le calcul numérique des dérivées d'une fonction ; - la résolution des équations algébriques ou transcendantes ; - les méthodes numériques pour problèmes aux matrices ; etc. Ces catégories de méthodes feront le sujet d'un autre fascicule.

15

Page 15: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

CHAPITRE 2

INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX DIFFÉRENTIELLES ORDINAIRES

2.1. Introduction L'évolution de nombreux processus physiques - particulièrement ceux qui

supposent certaines modifications en temps et decrivent le comportement des systèmes à constantes localisées - est souvent régie par des équations différentielles ordinaires.

Bien qu'il existe diverses méthodes analytiques pour résoudre quelques classes importantes de telles équations, il y a de nombreuses situations où diverses équations différentielles à signification physique ne sont pas abordables par ces méthodes, et il est nécessaire de faire appel aux méthodes numériques d'intégration.

Une équation différentielle ordinaire d'ordre n a la forme générale :

F x y dydx

d ydx

d ydx

n

n, , , ,..., ,2

2 0⎛⎝⎜

⎞⎠⎟ = (2.1)

où y = y(x) est une function de la variable indépendante x. On dit que l'équation (2.1) est d'ordre n parce qu'elle contient dans son

expression la dérivée d'ordre n de la fonction y par rapport à la variable indépendante, comme la dérivée de plus grand ordre.

On dit que l'équation (2.1) est ordinaire parce que dans son expression apparaissent seulement les dérivées totales de la fonction y (et il n'existe pas des dérivées partielles - c'est-à-dire qu'il y a une seule variable indépendante, x).

La fonction y(x) qui satisfait la relation (2.1) s'appelle la solution de l'équation différentielle. Sûrement, y(x) doit être dérivable au moins n fois pour pouvoir être la solution de l'équation (2.1).

Pour obtenir une solution unique (en général il y a plusieurs fonctions y(x) qui satisfont l'équation (2.1)), il est nécessaire de disposer d'informations supplémentaires, à savoir de connaître les valeurs de la fonction y(x) et/ou de ses dérivées à certaines valeurs specifiées de la variable indépendante x. Pour une équation d'ordre n, n conditions pour fournir une solution unique sont suffisantes.

Si toutes les n conditions sont précisées à la même valeur x (x0 par example), le problème s'appelle avec valeurs initiales (ou avec conditions initiales). Si,d'autre part, la variable dépendante et ses dérivées sont connues en plus d'un seul point x, le problème s'appelle avec valeurs aux frontières (ou avec conditions aux limites).

On sait que l'équation différentielle d'ordre n peut être écrite sous la forme d'un système de n équations simultanées du premier ordre, par l'introduction des (n-1) nouvelles variables.

Il est donc bien évident qu'il est très important de présenter d'abord quelques méthodes numériques d'intégration d'équation différentielle du premier ordre, et puis de généraliser ces méthodes aux cas des systèmes d'équations du premier ordre ou d'ordre supérieur.

16

Page 16: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

En ce qui concerne les démonstrations mathématiques, les détails sur convergence, stabilité, erreurs etc. - le lecteur est invité à consulter les textes spécialisés [1; 3; 6; 8; 15; 16 etc.]

2.2. Intégration numérique des équations différentielles du premier ordre, avec des conditions initiales Par définition, l'équation différentielle du premier ordre a la forme:

( )F x y dydx

F x y y, , , , ' ,⎛⎝⎜

⎞⎠⎟= = 0 (2.2)

ou respectivement:

(dydx

y f x y= =' , ) (2.3)

et on désire trouver une solution y(x) qui satisfasse (2.3) avec une condition initiale imposée, comme:

( )y x y0 0= . (2.4) On admet que la solution exacte de l'équation existe et il est unique, ce qui

implique que f(x,y) doit être continue, et sa dérivée par rapport à x doit exister et être bornée.

Généralement, il n'est pas possible de déterminer une solution analytique pour y(x). En échange, n'importe quelle méthode numérique pour l'intégration d'une telle équation fournira des valeurs approchées de la solution exacte, en certains points x, en utilisant seulement des opérations élémentaires (addition, soustraction, multiplication et division) et des évaluations de la fonction f.

L'intervalle de la variable indépendante sur lequel on cherche la solution y(x) - soit x∈[x0 = a ; b] - est discrétisé avec un pas constant h, dans une suite de n segments égaux (c'est-à-dire h = (b - a) / n), il en résulte un nombre de (n+1) valeurs discrètes xi = x0 + ih , i = 0,1,...,n. La méthode numérique d'intégration fournira le tableau :

xi x0 = a x1 x2 ........ xn = b yi y0 y1 y2 ........ yn

la solution y étant calculée seulement pour les valeurs discrètes xi. Il s'agit en effet de remplacer la fonction continue y(x) par une suite discrète de valeurs approchées, calculées numériquement. Initialement, de ce tableau on connaît seulement le couple des valeurs (x0,y0).

Les méthodes numériques pour la résolution des équations aux différentielles totales peuvent être classées en deux catégories distinctes :

- des méthodes directes (ou à mise en route autonome) dans lesquelles la solution yi au point xi est calculée directement, sans itérations, en utilisant seulement des informations connues au point antérieur xi-1 ; parmi ces méthodes, la classe dite de Runge - Kutta sera commentée plus en détail (ayant en vue leur intérêt pratique) ;

17

Page 17: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- des méthodes indirectes (ou à mise en route non autonome) dans lesquelles la solution yi est déterminée après quelques itérations; ces méthodes sont du type prédiction-correction, en impliquant moins d'évaluations de la fonction f(x,y), mais en utilisant les informations de plusieurs pas de calcul précédents.

2.2.1. Méthodes directes d'intégration pour l'équation du premier ordre avec condition initiale Pour relever les mérites des méthodes de Runge - Kutta parmi celles de cette

catégorie, on présente au début une autre méthode directe, 2.2.1.1. Méthode utilisant les développements en séries de Taylor On suppose que la solution y(x) de l'équation (2.3) peut être développée en

séries deTaylor autour d'un point discret quelconque xk sous la forme :

( ) ( ) ( ) ( ) ( )y x y x x x y xx x

y xkk

kk

k= +−

⋅ +−

⋅ +1 2

2

!'

!" .... (2.5)

Evidemment, si la valeur de la solution y(x) est connue dans le point xk, en utilisant la fonction f(x,y), qui précise l'équation différentielle (2.3), on peut calculer les dérivées successives de n'importe quel ordre de la variable dépendante y(x) au point xk. En effet, il résulte directement:

( ) ( ) ( )( )y x f x y f x y xk x x y y kk k' , ,;= == = k (2.6)

et parce que:

( ) ( )y x fx

fy

dydx

fx

fy

y x" '= + ⋅ = + ⋅∂∂

∂∂

,∂∂

∂∂

on obtient:

( ) ( )( ) ( )( ) ( )( )y x f x y x f x y x f x y xk x k k y k k k k" , , ,= + ⋅ , (2.7)

dans laquelle ffxx =∂

∂ et f

fyy =∂

∂ . Les dérivées d'ordre supérieur sont obtenues de la

même manière. En faisant x = xk+1 dans la relation (2.5) et en tenant compte que

xk+1 - xk = h , il vient:

( ) ( ) ( )( ) ( )( ) ( )( ) ( )( )[ ]y x y x h f x y x h f x y x f x y x f x y xk k k k x k k y k k k k+ = + + + ⋅ +1

2

1 2!,

!, , , ...

(2.8) donc une relation directe pour calculer la solution y(x) dans le noeud courant xk+1, seulement à partir de la solution obtenue au pas immédiatement précédant xk et de valeurs de la fonction f(x,y) et de ses dérivées à ce pas.

Il apparaît que la méthode utilisant les développements en séries de Taylor réclame l'évaluation des dérivées de la fonction f dans les points discrets. Dans beaucoup d'applications relatives aux problèmes pratiques, il est difficile ou pratiquement

18

Page 18: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

impossible d'obtenir les expressions de ces dérivées, surtout pour les dérivées partielles d'ordre supérieur. Cet aspect apparaît comme l'un des inconvénients principaux de cette méthode, mais l'application des séries de Taylor reste virtuellement à la base de la plupart des méthodes numériques.

Il en est ainsi, par exemple, pour la méthode d'Euler, qui consiste à retenir seulement les premiers deux termes de la formule (2.8), à savoir:

( )y y h f x y k nk k k k+ = + ⋅ = −1 0 1 1, ; , ,..., (2.9) et qui n'a pas besoin d'évaluer les dérivées du f.

Cette méthode ne fournit pas une précision satisfaisante, mais permet une interprétation géometrique pour la construction de la solution (fig. 2.1). Dans ce graphique, si y(x) est la solution exacte et M0(x0,y0) correspond à la condition initiale, on constate que la solution approchée M1, M2, ... est obtenue en traçant de M0 la droite à coefficient angulaire m0 = y'0 = f(x0,y0) jusqu'au point M1 à l'intersection avec la verticale de x1; puis de M1 la droite à coefficient m1 = y'1 = f(x1,y1) etc.

Il est bien évident que plus le domaine d'intégration est grand, plus la solution approchée sera écartée par rapport à la solution exacte (si le pas h reste constant).

En ce qui concerne la précision, la méthode d'Euler est une méthode de premier ordre, ayant une erreur de troncature proportionnelle à h2 (à laquelle s'additionnent, sûrement, les erreurs de l'arrondissement).

2.2.1.2. Méthodes de Runge - Kutta À la différence des méthodes utilisant les développements en séries de Taylor,

les méthodes de Runge - Kutta évitent le calcul des dérivées partielles de f(x,y) (en effet, la méthode d'Euler présentée au-dessus s'intègre dans cette catégorie, étant une méthode de Runge - Kutta du premier ordre).

En échange, les méthodes de Runge - Kutta utilisent des évaluations de la fonction f(x,y) aux valeurs intermédiaires de la variable indépendante c'est-à-dire, pour déterminer y(xk+1), on doit calculer f(x,y) aussi pour d'autres valeurs x contenues entre xk et xk+1 .

La méthode d'Euler améliorée est donnée par l'expresion : (y y h x y hk k k k+ = + ⋅1 ϕ , , ) , (2.10)

dans laquelle ϕ a la formule:

( ) ( ) ( )[ ]ϕ x y h f x y f x h y h yk k k k k k k, , , , '= + + + ⋅12

, (2.11)

19

Page 19: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

avec y'k = f(xk,yk), et on peut prouver qu'elle est identique aux séries de Taylor jusqu'au terme en h2 - donc impliquant une erreur de troncature d'ordre h3. Il est facile d'observer en (2.11) que ϕ représente la pente moyenne entre ces valeurs aux points consécutifs (xk,yk) et (xk+h,yk+h·y'k). La méthode suppose, pour chaque pas d'intégration, deux évaluations de f(x,y).

- Une autre approximation possible de ϕ est par la pente calculée en un point moyen entre deux points discrets consécutifs, à savoir

( )ϕ x y h f x h y h yk k k k k, , , '= + + ⋅⎛⎝⎜

⎞⎠⎟2 2

(2.12)

et dans ce cas l'algorithme (2.10) - (2.12) s'appelle d'Euler modifié, ayant une erreur de troncature de même ordre que le précédent.

On constate que les deux méthodes ont des relations pour calculer yk+1, qui sont comparables en forme, mais différentes pour l'allure de ϕ, et qui peut être écrite plus généralement:

( ) ( ) ( )ϕ x y h a f x y a f x b h y b h yk k k k k k k, , , , '= ⋅ + ⋅ + ⋅ + ⋅ ⋅1 2 1 2 (2.13) Si a1 = a2 = 1/2 et b1 = b2 = 1 , il en résulte la méthode d'Euler améliorée, et

pour a1 = 0 , a2 = 1 , et b1 = b2 = 1/2 , on obtient la méthode d'Euler modifiée. Il est clair que ces résultats peuvent être généralisés pour déduire une

méthode de Runge - Kutta du second ordre sous la forme:

( ) ( ) ( )y y h f x y f x h y h f x yk k k k k k k k+ = + − ⋅ + ⋅ + + ⋅⎡⎣⎢

⎤⎦⎥⎫⎬⎭

⎧⎨⎩

1 12 2

ω ωω ω

, , ,

) ,

2

.

(2.14)

avec 0 ≤ ω ≤ 1. Si ω = 1/2, il en résulte la relation (2.11), et pour ω = 1, on trouve (2.12), mais

d'autres combinaisons sont possibles. Pour ce qui suit, on peut entrevoir la manière d'obtenir une telle formule.

On accepte la forme générale : (y y h x y hk k k k+ = + ⋅1 ϕ , , (2.15)

où on choisit pour ϕ - qui représente une approximation convenable de f(x,y) sur l'intervalle xk ≤ x ≤ xk+1 - une expression pondérée:

ϕ = ⋅ + ⋅a k b k1 , (2.16) avec k1 et k2 étant deux évaluations du y' sur [xk ; xk+1], comme, par exemple :

( )( )[ ]

k f x y

k f x p h y q h f x yk k

k k k k

1

2

=

= + ⋅ + ⋅ ⋅

,

, , (2.17)

Les paramètres a, b, p et q seront déterminés ultérieurement. Le développement du k2 en séries de Taylor comme une fonction de deux

variables, autour d'un point (xk , yk), s'écrit:

( ) ( ) ( ) ( ) ( )k f x y p h f x y q h f x y f x y o hk k x k k y k k k k22= + ⋅ ⋅ + ⋅ ⋅ ⋅ +, , , , . (2.18)

Avec les formules (2.16) - (2.18), la relation (2.15) devient: ( ) ( ) ( ) ( ) ( )[ ] ( )y y a b h f x y h b p f x y b q f x y f x y o hk k k k x k k y k k k k+ = + + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅ +1

2 2, , , , (2.19) 20

Page 20: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

et on constate - par rapport à (2.8) - qu'il faut que:

a b

b p b q

+ =

⋅ = ⋅ =

⎧⎨⎪

⎩⎪

112

ou a b

p qb

+ =

= =⋅

⎧⎨⎪

⎩⎪

11

2 . (2.20)

Les trois équations (2.20) contiennent quatre inconnues et donc l'une de

celles-ci peut être choisie arbitrairement. Avec b = 1/2, on obtient : a = 1/2 , p = q = 1 (c'est-à-dire les relations (2.10) -

(2.11)), et pour b = 1 , on trouve : a = 0 , p = q = 1/2 (les formules (2.10) - (2.12)). Dans une manière analogue mais plus approfondie on obtient les formules de

méthodes de Runge - Kutta du 3e ordre, du 4e ordre, etc. , en fonction du nombre de termes de l'équation de base du développement en séries de Taylor qui sont retenus et identifiés par les termes d'une relation numérique comme (2.15), mais de plus en plus compliquée. Pour ces méthodes, les erreurs de troncature sont proportionnelles à h4 et respectivement à h5. Évidemment,plus l'ordre de la méthode est élevé, plus l'erreur faite à chaque pas est faible et plus la complexité des calculs nécessaires est grande.

Un exemple d'une formule de Runge - Kutta du 3e ordre est donné par :

( )y y k kk k+ = + +1 114

3 ,3

dans laquelle

( )k h f x y

k h f x h y k

k h f x h y k

k k

k k

k k

1

21

32

3 323

23

= ⋅

= ⋅ + +⎛⎝⎜

⎞⎠⎟

= ⋅ + +⎛⎝⎜

⎞⎠⎟

,

,

,

(2.21)

et une autre formule possible de même ordre serait la suivante:

( )y y k k kk k+ = + + +1 1 216

4 ,3

avec ( )

( )

k h f x y

k h f x h y k

k h f x h y k k

k k

k k

k k

1

21

3 2

2 22

= ⋅

= ⋅ + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + −

,

,

, 1

(2.22)

Une formule de Runge - Kutta du 4e ordre, très fréquemment utilisée, est donnée par l'expression:

21

Page 21: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )y y k k k kk k+ = + + + +1 1 2 316

2 2 4 ,

dans laquelle: ( )

( )

k h f x y

k h f x h y k

k h f x h y k

k h f x h y k

k k

k k

k k

k k

1

21

32

4 3

2 2

2 2

= ⋅

= ⋅ + +⎛⎝⎜

⎞⎠⎟

= ⋅ + +⎛⎝⎜

⎞⎠⎟

= ⋅ + +

,

,

,

,

(2.23)

En pratique, les méthodes de Runge - Kutta d'ordre supérieur à 4 sont

rarement employées. Un aspect important de ces méthodes directes d'intégration est le choix de la

longueur du pas h. D'une part, il est souhaitable que h soit le plus réduit possible (en vue d'obtenir une solution plus précise) mais, d'autre part, l'accumulation des erreurs d'arrondissement (qui dépend du nombre d'opérations arithmétiques réalisées) impose que ce pas soit aussi large que possible .

L'erreur de troncature est contrôlable par l'ordre de la formule de Runge - Kutta adoptée en calcul.

De plus, dans l'évaluation des différents procédés d'intégration numérique, on doit considérer avec soin le phénomène d'instabilité de calcul qui consiste en la croissance d'une erreur introduite à un pas donné, dans les pas suivants (et ceci jusqu'à ce que l'erreur cumulative devienne suffisamment élevée pour rendre la solution incorrecte).

Le compromis entre ces tendances doit être basé sur une étude préalable approfondie, qui dépasse le contexte de ce livre.

PROBLÈME 2.1

* Régime transitoire dans une résistance chauffante

Soit une résistance métallique ayant le coefficient de température de la

resistivité α = 0,001 K-1 et la capacité calorifique du matériel c = 2 J·K-1. On admet que la résistance électrique dépend de la température T selon la relation R(T) = R0[1+α(T-T0)], et la puissance thermique transmise au milieux extérieur a la forme Pt(T) = β(T-T0), avec β un coefficient de transfert de chaleur (W·K-1) et T0 - la température ambiante.

Sachant que le régime permanent est atteint à une température de la résistance Tf = 800 K, sous une tension U = 220 V et pour une puissance dissipée P = 500 W, déterminer la variation de la température en temps si T0 = 300 K [13]. ♦ Solution:

On posera Θ = T - T0. En régime permanent il faut que :

22

Page 22: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )P U

RP

ft f=

+= =

2

0 1 αΘβΘ ,

et on en déduit : β = = ⋅ −P WKfΘ

1 1 et

( )R U

P f0

2

164 53=

+=

αΘ, Ω .

En régime non permanent, l'équation du bilan énergétique (puissance électrique = puissance nécessaire pour le propre chauffage + puissance thermique dissipée) conduit à:

( )U

Rc d

dt

2

0 1+= ⋅ + ⋅

αΘβ

ΘΘ ,

c'est-à-dire l'équation différentielle du premier ordre:

( ) ( )ddt

UcR c

f tΘΘ Θ=

+− ⋅ =

2

0 1 αΘβ , ,

) .

(1)

avec la condition initiale Θt=0 = 0. L'équation (1) s'intègre numériquement en utilisant la méthode d'Euler (2.9),

avec un pas ∆t convenablement choisi. Donc la solution au moment de temps ti+1 = ti + ∆t est donnée par:

(Θ Θ ∆ Θi i i it f t+ = + ⋅1 , (2)

L'arrêt de calcul est prévu quand P P Wt ti i+− <

10 05, .

Tableau 2.1

Temps (s) T (K) Pt (W) R (Ω) 0 300 0 64,53 0,5 455,8 155,8 74,58 1,0 559,9 259,9 81,30 1,5 631,3 331,3 85,91 2,0 680,9 380,9 89,11 2,5 715,7 415,7 91,35 3,0 740,2 440,2 92,94 3,5 757,2 457,2 94,05 4,0 769,8 469,8 94,85 4,5 778,5 478,5 95,41 5,0 784,7 484,7 95,81

Le programme P21 contient : - la fonction "ecdif" pour évaleur f(t,Θ) à une valeur Θ donnée ; - la procédure "Euler" pour calculer la solution à un pas de temps - la

relation générale (2.9). Les données d'entrée sont déclarées comme constantes, mais le pas ∆t doit

être spécifié à l'exécution du programme. Avec ∆t = 0,05 s, la condition d'arrêt s'atteint

23

Page 23: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

aprés 12,5 s et les résultats sont affichés de dix en dix pas ∆t. Pour les premiers 5 secondes on obtient les résultats du tableau 2.1.

Program P21;

Probleme 2.1: Regime transitoire dans une resistance chauffante const R0=64.53; U=220.0; T0=300.0; c=2.0; alfa=0.001; beta=1.0; var put,r,t,dt,dtemp,dput:real; i,j:integer; kont:boolean;

function ecdif(t,teta:real):real; begin ecdif:=sqr(u)/c/r0/(1+alfa*teta)-beta/c*teta; end; Procedure Euler(h:real; var x,y:real); begin y:=y+h*ecdif(x,y); x:=x+h; end; BEGIN t:=0; dtemp:=0; put:=0; i:=0; j:=0; kont:=false; write('pas d-integration(s) dt='); readln(dt); writeln(' t(s) T(gr.K) P(W) R(Ohm)'); repeat i:=i+1; Euler(dt,t,dtemp); if (i mod 10) = 0 then begin j:=j+1; dput:=abs(put-beta*dtemp); put:=beta*dtemp; r:=r0*(1+alfa*dtemp); writeln(t:5:1,t0+dtemp:10:1,put:9:1,r:10:2); if dput <= 0.05 then kont:=true; if (j mod 20) = 0 then begin writeln('pause - ENTER !'); readln; end; end; until kont; writeln('Fin du programme - ENTER !'); readln; END.

24

Page 24: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

PROBLÈME 2.2

* Écoulement permanent dans un canal découvert

Soit un canal de section transversale rectangulaire et largeur B = 10 m. La

pente du fond est i0 = 0,0004 et le coefficient de rugosité de Manning a une valeur n = 0,025. Dans l'extrémité avale, l'écoulement est barré par un déversoir ayant l'ouverture égale à la largeur B, la crête placée à un niveau yc = 2,65 m au-dessus du lit et une relation niveau - débit de la forme Q = 1,5B h3/2, avec h - la hauteur de la lame déversante au-dessus de la crête.

Sachant que le débit transité est Q = 10,8 m3 s-1, déterminer la ligne de la surface de l'eau jusqu'à 2 km en amont du déversoir.

♦ Solution:

Schématiquement, le probléme est présenté en figure 2.2.

Le bilan de l'énergie totale (exprimée comme charge totale) le long d'une distance élémentaire dx, conduit à l'équation différentielle [4] :

( )dydx

i iQ Bg A

f x yf=−

−⋅

=02

31, , (1)

où : if est pente de la ligne d'énergie ( = Q2n2/A2R4/3 ) ; A - surface de la section perpendiculaire à la direction du courant : R - rayon hydraulique ( = A/P ) ; P - périmètre mouillé

La variation en espace (selon x - la variable indépendante) de la profondeur du courant y (la variable dépendante) est régie par l'équation (1), dans laquelle la fonction f est d'une certaine complexité.

De la relation niveau - débit au déversoir, on déduit h = (Q/1,5·B)2/3 et donc, la condition initiale pour intégrer (1) sera :

( )y x y y hc= = = +0 0 . (2) Plus explicitement, la fonction f(x,y) s'écrit :

25

Page 25: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )

( )f x y

Q nB

B yy

i

QgB y

,/

/

/

=⋅

+−

− ⋅

2 2

10 3

10 3

10 3 0

2

2 3

2

1 1, (3)

en tenant compte que : A = B y et P = B + 2y. La solution est obtenue avec une méthode de Runge - Kutta du second

ordre comme la relation (2.14) où ω = 1/2 (par exemple). Le pas ∆x est choisi d'ordre à 200 ÷ 400 m. Dans le programme P22 sont inclus : - la fonction "ecdif" pour évaluer f(x,y) sous la forme (3), à une valeur y

donnée ; - la procédure "RK2" pour calculer la solution à un pas d'espace - la relation

générale (2.14). Les données d'entrée sont déclarées comme constantes. La variation de la profundeur y vers l'amont est donnée dans le tableau 2.2. Tableau 2.2

x(m) 0 400 800 1200 1600 2000 y(m) 3,453 3,303 3,154 3,006 2,860 2,717

Program P22;

Probleme 2.2: Ecoulement permanent dans un canal ouvert const c103=3.333; c43=1.333; b=10.0; i0=0.0004; n=0.025; yc=2.65; cd=1.5; q=10.8; dx=400.0; xfin=2000.0; var x,y,a5,a6,h:real; function ecdif(x,y:real):real;

begin ecdif:=(a5*exp(c43*ln(b+2*y))/exp(c103*ln(y))-i0)/(1-a6/y/sqr(y)); end; Procedure RK2(h:real; var x,y:real); const omega=0.5; var yp1,yp2:real; begin yp1:=ecdif(x,y); yp2:=ecdif(x+h/2/omega,y+h*yp1/2/omega); y:=y+h*((1-omega)*yp1+omega*yp2); x:=x+h; end;

26

Page 26: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Begin a5:=sqr(q*n)/exp(c103*ln(b)); a6:=sqr(q/b)/9.81; h:=exp(0.667*ln(q/cd/b)); x:=0; y:=yc+h; writeln('Dist.vers amont (m) Profondeur (m)'); writeln(' ',x:8:1,' ',y:8:4); repeat RK2(dx,x,y); writeln(' ',x:8:1,' ',y:8:4);

until x >= xfin; writeln(' ENTER !'); readln; End.

PROBLÈME 2.3

* Compression quasistatique, nonadiabatique

Soit un cylindre muni d'un piston mobile et contenant un gaz supposé parfait

dont on connaît le rapport k des chaleurs spécifiques (k = cp/cv = 1,4). Le gaz est comprimé suffisamment lentement pour que la température des parois à l'intérieur soit acceptée égale à la température instantanée T du gaz. Le système cède au milieu extérieur (étant à la température T0 = 300 K) une puissance thermique égale à β(T-T0) où le coefficient de transfert β est 1 WK-1 [13].

Si la capacité calorifique du matériel est c = 100 JK-1 et les conditions initiales du gaz sont : pression P0 = 100 kPa , volume V0 = 10 l et température T0 = 300 K , déterminer numériquement la variation des paramètres P et T en temps pour les lois V(t) suivantes :

1) V = V0(1-u t) , 0 < t ≤ t1 V = V1 , t > t1 avec V1 = 2 l , t1 = 10 s et donc u = 0,08 ls-1

2) V = V0(1-u t) , 0 < t ≤ t1 V = V0[1+u(t-2t1)] , t1 < t ≤ 2t1

♦ Solution: La variation de l'énergie interne d'une masse m de gaz s'écrit ∆q = m·δq où

δq = cv.dT + P dv correspond à l'unité de masse, avec v = V / m le volume spécifique et donc ∆q = mcv dT + P dV.

D'autre part, cette valeur doit égaler la chaleur cédée à l'extérieur et pour chauffage des parois, c'est-à-dire ∆q = -β(T - T0) dt - c dT ; il en résulte l'équation:

( ) ( )− ⋅ − − ⋅ = ⋅ + ⋅P dV T T dt m c c dTvβ 0 . (1)

27

Page 27: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Parce que

mRPVT

P VT

const= = =0 0

0.

et

cR

kv = −1 , on obtient

( )mc mR

kP VT kv = −

= ⋅−11

10 0

0

, et l'équation (1) devient:

( ) ( )− ⋅ ⋅ − − =

−+

⎣⎢

⎦⎥

P VT

TV

dVdt

T T P VT k

c dTdt

0 0

00

0 0

0 1β . (2)

1) Pour la première loi, la dérivée dV/dt sera : dV/dt = -uV0 à t ≤ t1 et

respectivement dV/dt = 0 à t > t1 . Par conséquence :

- à t ≤ t1 :

( ) ( ) ( )

( )

dTdt

P VT

u Tu t

T T f t T

T T

avec P VT k

c

t

=⋅

− ⋅− −

⎣⎢

⎦⎥ =

=

=

−+

⎪⎪⎪⎪

⎪⎪⎪⎪

=

γ β

γ

0 0

00

0 0

0 0

0

1

1

1

,

(3)

- à t > t1: ( ) ( )dT

dtT T g t T

T Tt t

= − − =

=

⎧⎨⎪

⎩⎪ =

γβ 0 1

11

,

obtenu avec (3) à temps t=t1 (4)

2) Pour la deuxième loi, à t1< t ≤ 2t1 la dérivée dV/dt = uV0 , et au lieu de

(4) on obtient:

- à t > t1 : ( ) ( )[ ] ( )dT

dtT T P V

Tu T

u t tg t T

T Tt t

= − − +⋅

+ −

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪=

=

⎨⎪⎪

⎩⎪⎪ =

γ β 00 0

0 12

1

1 2

1

, (5)

L'intégration numérique de l'équation différentielle sous la forme (3) - (4) ou

(3) - (5) est réalisée avec la formule de Runge - Kutta du 4e ordre (2.23). Dans le programme, il a été utilisé la variable "caz" pour spécifier, à

demande, le cas d'analyse souhaité. La fonction "ecdif" et la procédure "RK4" ont les mêmes tàches comme dans les exemples précédents.

Les données d'entrée seront fournies - dans les unités de l'énoncé par un fichier dénommé "p23.dat". La condition d'arrêt est t > tf.

28

Page 28: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

L'intervalle d'étude tf et le pas temporel ∆t sont précisées par l'utilisateur, à l'exécution du programme.

Les résultats obtenus en premier cas (1), pour tf = 15 s et ∆t = 0,1 s , sont inclus dans le tableau 2.3.

Tableau 2.3

Temps (s)

V (l)

T (K)

P (kPa)

Temps (s)

V (l)

T (K)

P (kPa)

0 10 300 100 8 3,6 309,28 286,37 1 9,2 300,77 108,97 9 2,8 311,59 370,94 2 8,4 301,60 119,68 10 2 314,65 524,41 3 7,6 302,51 132,68 11 2 314,51 524,18 4 6,8 303,52 148,78 12 2 314,38 523,96 5 6,0 304,65 169,25 13 2 314,25 523,74 6 5,2 305,94 196,12 14 2 314,11 523,52 7 4,4 307,46 232,92 15 2 313,99 523,31

Program P23_Var1;

Probleme 2.3 - Compression quasistatique, non adiabatique var ia,ja,caz:integer; fis:text; t0,v0,c,beta,ka,u,tp,tf,gama,mR,dt,t,tk,v,p0:real; Function ecdif(t,temp:real):real; begin if t <= tp then

ecdif:=gama*(mR*temp*u/(1-u*t)-beta*(temp-t0)); if (caz = 1) and (t > tp) then ecdif:=-gama*beta*(temp-t0); if (caz = 2) then begin if (t > tp ) and (t <= 2*tp) then ecdif:=-gama*(mR*temp*u/(1+u*(t-2*tp))+beta*(temp-t0)) else ecdif:=-gama*beta*(temp-t0); end; end; Procedure RK4(h:real; var x,y:real); var yp1,yp2,yp3,yp4:real; Begin yp1:=ecdif(x,y); yp2:=ecdif(x+h/2,y+h/2*yp1); yp3:=ecdif(x+h/2,y+h/2*yp2); yp4:=ecdif(x+h,y+h*yp3); y:=y+h*(yp1+2*yp2+2*yp3+yp4)/6; x:=x+h; end;

29

Page 29: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

BEGIN assign(fis,'p23.dat'); reset(fis); readln(fis,v0,t0,p0,c,beta,ka); readln(fis,u,tp,tf); v0:=v0/1000; p0:=1000*p0; mR:=p0*v0/t0; gama:=1/(c+mR/(ka-1)); write('pas d-integration(s) dt='); readln(dt); write('Cas d-etude (1 ou 2)='); readln(caz); t:=0; tk:=t0; ia:=0; ja:=0;

writeln('temps(s) vol(l) temp(K) pres(kPa)'); repeat ia:=ia+1; RK4(dt,t,tk); if (ia mod 10) = 0 then begin ja:=ja+1; if t <= tp then v:=v0*(1-u*t); if (caz = 1) and (t > tp) then v:=v0*(1-u*tp); if (caz = 2) then if (t > tp) and (t <= 2*tp) then v:=v0*(1+u*(t-2*tp)) else v:=v0; writeln(t:5:2,v*1000:10:3,tk:9:2,tk*mR/v/1000:11:2); if (ja mod 20) = 0 then begin writeln('Pause - ENTER !'); readln; end; end; until t > tf; write('Fin du programme - ENTER !'); readln; END.

2.2.2. Méthodes indirectes d'intégration pour l'équation du premier ordre, avec condition initiale Ces méthodes - comme le montre leurs dénominations - consistent en

plusieurs étapes pour faire l'intégration sur un pas discret de la variable indépendante. A partir de l'observation que, pour deux noeuds discrets consécutifs, on peut

écrire :

( )y y y dx y f x y dxk kx

x

kx

x

k

k

k

k

+ = + ⋅ = + ⋅+ +

∫ ∫1

1 1

' , , (2.24)

on constate que dans les méthodes directes, la fonction qu'il faut intégrer (en effet la dérivée de la solution) est approchée dans une certaine manière n'impliquant pas la valeur inconnue de yk+1.

30

Page 30: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Parmi les méthodes indirectes, les plus utilisées sont celles du type prédiction - correction qui supposent :

- une formule de prédiction pour obtenir une premiére valeur approchée de la solution yk+1 ;

- une formule de correction à l'aide de laquelle l'estimation initiale de yk+1 est améliorée.

Les diverses méthodes de prédiction-correction diffèrent par la forme de deux relations de calcul.

En méthode d'Euler améliorée, ces formules sont : - pour l'étape de prédiction: y y h yk k k+ = + ⋅1 ' (2.25) - pour l'étape de correction :

(y y h y yk k k k+ = + +1 2' ' )+1

(2.26)

où ( )′ =+ +y f x yk k k1 1, +1 est obtenu utilisant le résultat du (2.25). Evidemment, ces relations constituent une autre forme d'expression des formules (2.10) - (2.11).

La relation de correction (2.26) a été obtenue en approchant l'intégrale de (2.24) par la méthode des trapèzes, c'est-à-dire:

( ) ( ) ( )[ ]y dx h y y h f x y f x yx

x

k k k k k k

k

k

' ' ' , ,⋅ ≅ + = ++

∫ + +

1

2 21 1 .+1

La formule de correction sera itérativemment répétée, jusqu'à la réalisation d'une condition d'arrêt imposée. Donc, plus correctement, les relations s'écrivent :

( )

( ) ( )( )[ ]y y h y

y y h y y j

k k k

kj

k k kj

+

+ +−

= + ⋅

= + + =

10

1 11

21 2

'

' ' , , ,... (2.27)

( )( ) ( )[y f x ykj

k kj' + +=1 1 ], +1 et j = l'index d'itération,

jusqu'à la condition: ( ) ( )y yk

jkj

+ +−− ≤1 1

1 ε , avec ε donné.

La méthode de Milne utilise les équations suivantes : - pour l'étape de prédiction :

( ) ( )y y h y y yk k k k+ − − −= + ⋅ − + ⋅10

3 2 143

2 2' ' 'k (2.28)

- pour l'étape de correction : ( ) ( )( )[y y h y y yk

jk k

jk k+ − +

−−= + + +1 1 1

113

4' ' ]' (2.29)

et cette dernière relation a été déduite en approchant l'intégrale de (2.24) par la méthode de Simpson sur l'intervalle [xk-1,xk+1] (ce qu'implique l'approximation de y' par un polynôme d'interpolation de Newton du second degré sur intervalle).

31

Page 31: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Une telle méthode diffère essentiellement d'une formule de Runge - Kutta par le fait que les deux équations (2.28) - (2.29) nécessitent de connaître la solution de plusieurs pas de calcul précédents. Comme ces grandeurs ne sont pas connues au départ du calcul, il est donc nécessaire de faire précéder l'application d'une méthode indirecte par l'application d'une méthode à mise en route autonome, pour la détermination des quantités y1, y2 et y3 qui apparaissent, à côté de y0, dans l'équation de prédiction de y4.

La formule de correction doit être répétée jusqu'à ce que deux valeurs successives de yk+1 soient suffisamment semblables.

Une autre paire d'équations prédiction-correction est celle de la méthode d'Adams :

( ) ( )

( ) ( )( )[ ]y y h y y y y

y y h y y y

k k k k k k

kj

k kj

k k k

+ −

+ +−

− −

= + ⋅ − + −

= + + − +

10

1 2

1 11

1 2

2455 59 37 9

249 19 5

' ' ' '

' ' ' y

− −3

' (2.30)

et on constate qu'elle présente le même problème en ce qui concerne la mise en route de l'algorithme.

On peut démontrer que les deux méthodes précédentes sont du 4e ordre [3]. Les méthodes du type prédiction - correction utilisant le même pas que les

méthodes directes sont plus précises parce qu'elles mettent en valeur, plus raisonnablement, les valeurs déjà calculées de la solution aux pas d'intégration précédant le pas courant.

Différentes autres méthodes de cette catégorie sont présentées dans les livres de spécialité (méthode de Milne du 6e ordre, méthode de Moulton, méthode Adams - Bashforth, méthode de Hamming etc.) [ 3 ,15, etc.].

Mais le programme de calcul d'une telle méthode est plus complexe par rapport à celui d'une méthode directe . Il doit contenir non seulement les lignes d'instructions pour préciser les deux équations de prédiction-correction, mais aussi les instructions employées par une méthode à mise en route autonome du type de Runge - Kutta (pour les quatre premières valeurs de y et y'), les instructions contrôlant le processus itératif de correction et la condition d'arrêt, etc.

L'exemple suivant confirme ces affirmations.

PROBLÈME 2.4

* Méthode de Milne

Soit le problème de Cauchy [15] :

( )

( )

y dydx

x y f x y

y yx

' ,= = − + =

= =

⎧⎨⎪

⎩⎪ =

1 4

10 0

(1)

Rédiger un programme pour déterminer la solution numérique du problème (1) sur l'intervalle x ∈ [0;1], en utilisant la méthode de Runge - Kutta du 4e ordre et la méthode de Milne avec deux et respectivement trois itérations de correction. Comparer les résultats avec la solution exacte pour h = 0,1 et 0,05, en sachant que:

32

Page 32: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )y x x e x= − +14

316

1916

4 .

♦ Solution:

Dans cet exemple sont utilisées les relations (2.23) en procédure "RK4" (voir Problème 2.3) et les relations (2.28) - (2.29) en procédure "Milne". Cette dernière procédure n'est pas générale, mais plutôt adaptée à ce problème, en accord avec le programme principal.

Parce que sur chaque pas on appelle la procédure "RK4", dans laquelle s'incrémente la valeur de x à xk+1, il a été nécessaire d'avoir en vue cette chose dans les deux appellations suivantes (sur le même pas) de la procédure "Milne". Les deux tableaux ya2 et ya3 contiennent les valeurs yk-3, yk-2, yk-1 et yk, calculées avec deux et respectivement trois itérations de correction. La procédure restitue la valeur de yk+1 sous le nom y. La condition d'arrêt est réalisée en introduisant pour h une valeur < 0,01.

Les résultats ci-dessous (à h = 0,1) démontrent les différences de précision - par rapport à la solution exacte - pour une méthode directe, et respectivement pour une méthode itérative avec 2 et 3 itérations de correction.

Tableau 2.4 x y-exact y-RK4 y-Milne2 y-Milne3 0.100 1.609042 1.608933 1.608933 1.608933 0.200 2.505330 2.505006 2.505006 2.505006 0.300 3.830139 3.829415 3.829415 3.829415 0.400 5.794226 5.792785 5.793719 5.793857 0.500 8.712004 8.709318 8.711292 8.711577 0.600 13.052522 13.047713 13.052212 13.052888 0.700 19.515518 19.507148 19.515587 19.516845 0.800 29.144880 29.130609 29.146284 29.148649 0.900 43.497903 43.473954 43.501503 43.505650 1.000 64.897803 64.858107 64.905793 64.913006

Program P24;

Probleme 2.4 - Methode indirecte de Milne type vect=array[0..3]of real; var n,i,j:integer; x0,xf,y0,h,yrk,ym2,ym3,x:real; kont:boolean; ya2,ya3:vect; Function ye(x:real):real; Solution exacte

begin ye:=0.25*x-(3-19*exp(4*x))/16;

33

Page 33: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

end;

Function ecdif(x,y:real):real; begin ecdif:=1-x+4*y; end; Procedure RK4(... voir Probleme 2.3 ...); .........................................

Procedure Milne(ic:integer; h,x:real; ya:vect; var y:real); var i:integer; ypr,term,ypm0,ypm1,ypm2:real; begin ypm2:=ecdif(x-3*h,ya[1]); ypm1:=ecdif(x-2*h,ya[2]); ypm0:=ecdif(x-h,ya[3]); ypr:=ya[0]+4*h/3*(2*ypm2-ypm1+2*ypm0); term:=ya[2]+h/3*(4*ypm0+ypm1); i:=0; repeat i:=i+1;

y:=term+h/3*ecdif(x,ypr); ypr:=y; until i=ic; end; Begin x0:=0; xf:=1; y0:=1; kont:=false; h:=0.1; repeat writeln('Solutions pour h=',h:6:4); writeln(' x y-exact y-RK4 y-Milne2 y-Milne3');

n:=round((xf-x0)/h); x:=x0; yrk:=y0; ya2[0]:=y0; ya3[0]:=y0; for i:=1 to n do begin RK4(h,x,yrk); if i <= 3 then begin ya2[i]:=yrk; ya3[i]:=yrk; ym2:=yrk; ym3:=yrk; end else begin Milne(2,h,x,ya2,ym2); Milne(3,h,x,ya3,ym3); for j:=1 to 3 do begin

34

Page 34: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ya2[j-1]:=ya2[j]; ya3[j-1]:=ya3[j];

end; ya2[3]:=ym2; ya3[3]:=ym3; end; writeln(x:6:3,ye(x):12:6,yrk:12:6,ym2:12:6,ym3:12:6); end; writeln('Arret pour h < 0.01 !'); write('Specifier un autre h='); readln(h); if h < 0.01 then kont:=true; until kont;

End. 2.3. Intégration numérique d'un système d'équations différentiells du premier ordre, avec des conditions initiales. Comme il a été déjà mentionné, une équation différentielle d'ordre n peut être

remplacée par un système de n équations du prémier ordre, en utilisant (n-1) nouvelles variables. De ce fait et en tenant compte que beaucoup de processus physiques sont gouvernés par des équations différentielles d'ordre supérieur avec des conditions initiales, il est très utile de présenter quelques-unes des méthodes d'intégration numérique de tels systèmes.

De plus, on peut montrer que les systèmes d'équations d'ordre supérieur reviennent aussi aux systèmes d'équations du premier ordre. A titre d'exemple, soit le système :

( )( )

F x y y y z z z

G x y y y z z z

, , ' , " , , ' , "

, , ' , " , , ' , "

=

=

⎧⎨⎪

⎩⎪

0

0 (2.31)

ayant la variable indépendante x, les variables dépendantes y et z et les conditions initiales :

( ) ( )( ) ( )

y x y y x u

z x z z x v0 0 0

0 0 0

= =

= =

'

'0

0

)

(2.32)

Si on introduit les nouvelles variables dépendantes u = y' et v = z' , le problème prend la forme :

(( )

y uz vF x y u u z v v

G x y u u z v v

''

, , , ' , , , '

, , , ' , , , '

==

=

=

⎨⎪⎪

⎩⎪⎪

0

0

(2.33)

avec les conditions initiales :

35

Page 35: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( ) ( )( ) ( )

y x y u x u

z x z v x v0 0 0 0

0 0 0 0

= =

= = .

Bien évidemment, pour l'intégration numérique d'un tel système d'équations

on peut généraliser les méthodes directes et indirectes antérieurement décrites. En ce qui suit, seront presentées seulement celles de première catégorie.

2.3.1. Méthodes directes d'integration pour des systèmes explicites. Soit le système d'équations différentielles du premier ordre:

( )( )

y f x y z

z g x y z

' , ,

' , ,

=

=

⎧⎨⎪

⎩⎪ (2.34)

avec les conditions initiales connues : ( ) ( )y x y z x z0 0 0= =; .0 Le plus simple algorithme est obtenu par la généralisation de la méthode

d'Euler, c'est-à-dire :

à

( )( )

y y h f x y z

z z h g x y zx x h i

i i i i i

i i i i i

i i

+

+

+

= + ⋅

= + ⋅

= + =

1

1

1 0 1 2

, ,

, ,, , , ,....

Les méthodes de Runge - Kutta supérieures à l'unité prennent la forme - par exemple :

- Formules de Runge - Kutta du 3e ordre :

avec:

( )

( )

y y a a

z z b b i

i i

i i

+

+

= + +

= + + =

1 1 3

1 1 3

14

3

14

3 0 1 2, , , ,... (2.36)

( ) ( )a h f x y z b h g x y z

a h f x h y a z b b h g x h y a z b

a h f x h y a z b b h g x h y a z b

i i i i i i

i i i i i i

i i i i i i

1 1

21 1

21 1

32 2

32 2

3 3 3 3 3 323

23

23

23

23

23

= ⋅ = ⋅

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

, , , ,

, , , ,

, , , ,

- Formules de Runge - Kutta du 4e ordre :

( )

( )

y y a a a a

z z b b b b i

i i

i i

+

+

= + + + +

= + + + + =

1 1 2 3 4

1 1 2 3 4

16

2 2

16

2 2 0 1 2, , , ,...

(2.37)

36

Page 36: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où:

( ) ( )

( )

a h f x y z b h g x y z

a h f x h y a z b b h g x h y a z b

a h f x h y a z b b h g x h y a z b

a h f x h y a z b b h g x

i i i i i i

i i i i i i

i i i i i i

i i i

1 1

21 1

21 1

32 2

32 2

4 3 3 4

2 2 2 2 2 2

2 2 2 2 2 2

= ⋅ = ⋅

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + +⎛⎝⎜

⎞⎠⎟

= ⋅ + + + = ⋅

, , , ,

, , , ,

, , , ,

, , ( )i i ih y a z b+ + +, ,3 3

De la même manière on peut déduire le groupe de relations pour résoudre un système de trois équations différentielles du premier ordre ou plus, en utilisant de nouveaux coefficients ci , di etc.

2.3.2. Méthodes directes d'intégration pour des systèmes implicites Si le système d'équations différentielles prend la forme générale suivante

a dydx

a dydx

a dydx

b

a dydx

a dydx

a dydx

b

a dydx

a dydx

a dydx

b

nn

nn

n n nnn

n

111

122

1 1

211

222

2

11

22

+ + + =

+ + + =

+ + + =

⎪⎪⎪⎪

⎪⎪⎪⎪

....

....

...................................................

....

2 (2.38)

où yi(x) , i = 1, ...., n sont des variables dépendantes et les coefficients aij et les termes bi sont fonctions connues de la variable indépendante x et de y1, y2, ... , yn , le problème à résoudre devient plus complexe parce que les dérivées des variables dépendantes n'ont pas de relations explicites.

En notation matricielle, on peut écrire :

( ) ( )( ) ( )

A Y Y B Y

Y Y

x x

x

, ' ,⋅ =

=

⎧⎨⎪

⎩⎪ 0 0 les conditions initiales (2.39)

avec : Y et Y' sont les vecteurs de variables dépendantes et de leurs dérivées ; A - la matrice de coefficients aij ; B - le vecteur du terme droit.

C'est bien évidemment que, pour des valeurs données x* et yi* , i = 1,..., n, tous les coefficients aij et les termes bi ont des valeurs numériques bien précisées, de sorte que les valeurs correspondantes des dérivées dyi/dx peuvent être trouvées par la résolution du système d'équations algébriques linéaires (2.39) avec une méthode numérique acceptable. Seulement comme notation, soit:

( ) ( ) ( )Y Y A Y B Y' *, * *, * *, *x x x= ⋅−1 (2.40) une telle solution (en effet, la matrice inverse A-1 n'est jamais calculée dans une méthode numérique d'un tel type).

37

Page 37: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Ayant en vue ces aspects, la généralisation d'une méthode de Runge - Kutta à

l'intégration d'un système d'équations implicites de la façon (2.38) est très dirècte : - Si on connaît la solution Yk, à la valeur xk de la variable indépendante. - alors la solution à xk+1 = xk + h s'obtient avec la relation matricielle

(Y Y C C C Ck kh

+ = + + + +1 1 2 362 2 )4 , (2.41)

où les vecteurs C sont donnés par :

( ) ( )C A Y B Y

C A Y C B Y C

11

21

1 12 2 2 2

= ⋅

= + +⎛⎝⎜

⎞⎠⎟⋅ + +⎛⎝⎜

⎞⎠⎟

x x

x h h x h hk k k k

k k k k

, ,

, ,

( ) ( )

C A Y C B Y C

C A Y C B Y C

31

2 2

41

3 3

2 2 2 2= + +⎛

⎝⎜⎞⎠⎟⋅ + +⎛⎝⎜

⎞⎠⎟

= + + ⋅ + +

x h h x h h

x h h x h h

k k k k

k k k k

, ,

, , (2.42)

et ils sont obtenus par la résolution successive des systèmes comme (2.39), avec la matrice A et le vecteur B évaluées, successivement, à des valeurs x* , Y* specifiées en (2.42).

Les relations au-dessus correspondent à la méthode de Runge - Kutta du 4e ordre.

PROBLÈME 2.5

* Pendule simple en milieu résistant

Rédiger un programme pour représenter les oscillations d'un pendule simple

de masse m=0,1 kg, suspendu au bout d'une tige de longueur R = 1 m, si la force de frottement à l'air est modélisée comme Ff = k|v| et dirigée vers la tangente à la trajectoire, opposée au mouvement (k = 0,01 kg s-1).

♦ Solution: Avec la position du pendule repérée par l'angle

Θ entre la tige et la verticale, l'équation différentielle du mouvement projetée sur l'axe de la tangente s'écrit :

m dvdt

m g Ff= − ⋅ ⋅ −sin ,Θ

où: v R= ⋅•Θ.

Alors on obtient:

m Rddt

m g k Rddt

⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ =2

2 0Θ

ΘΘ

sin

Page 38: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

38

où: ddt

km

ddt

gR

2

2 0Θ Θ

Θ+ ⋅ + =sin (1)

qui est une équation différentielle du 2e ordre ayant les conditions initiales : Θ

Θt

t

ddt

vR

=

=

=

⎛⎝⎜

⎞⎠⎟

= =

0

00

0

α

ϕ . (2)

En introduisant la variable dépendante, supplémentaire ϕ = dΘ/dt, on obtient le système de deux équations différentielles du premier ordre suivant

( )

( )

ddt

f t

ddt

gR

km

f t

ΘΘ

Θ Θ

Θ= =

= − ⋅ − ⋅ =

⎨⎪⎪

⎩⎪⎪

ϕ ϕ

ϕϕ ϕϕ

, ,

sin , , , (3)

avec les conditions initiales : Θt tv

R= = = =0 00α ϕ; .

Ce système s'intègre numériquement par la méthode d'Euler - les relations (2.35) - où les fonctions f et g correspondent aux fonctions fΘ et fϕ du système (3) et donc:

( )( )

Θ Θ Θ

ΘΘ

Θ

i i i i

i i i i i

h f t

h f t+

+

= + ⋅

= + ⋅

⎧⎨⎪

⎩⎪1

1

, ,

, ,

ϕ

ϕ ϕ ϕi

(4)

à ti+1 = ti + h.. Le programme figurera seulement le pendule en oscillation, pendant la durée

de dix périodes de petites oscillations, de 5 à 5 pas ∆t, pour des valeurs ∆t, α et v0 specifiées à demande. Les fonctions "fy" et "fz" introduisent les deux fonctions du système (3), mais la procédure "Euler_sist2" peut être utilisée dans n'importe quel programme correctement construit.

Program P25; Probleme 2.5 - Pendule simple en milieu resistant uses crt,graph; const r=1.0; masa=0.1; kat=0.01; var alfa,v0,dt,per,t,tet,dtet:real; gd,gm,i,x0,ya,xp,yp:integer; Function fy(t,teta,fi:real):real;

Page 39: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

begin fy:=fi; end

39

Function fz(t,teta,fi:real):real;

begin fz:=-9.81/r*sin(teta)-kat/masa*fi; end; Procedure Euler_sist2(h:real; var x,y,z:real); begin y:=y+h*fy(x,y,z); z:=z+h*fz(x,y,z); x:=x+h; end; BEGIN

write('alfa(degre)='); readln(alfa); alfa:=Pi*alfa/180; write('v0 (m/s) ='); readln(v0); write('pas dt(s) ='); readln(dt); clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setbkcolor(white); setcolor(2); circle(300,210,8); setfillstyle(1,2); floodfill(300,210,2); per:=2*Pi*sqrt(r/9.81); t:=0; tet:=alfa; dtet:=v0/r; i:=0; x0:=300; ya:=410; xp:=x0+round(200*sin(tet)); yp:=ya-round(200*(1-cos(tet))); setcolor(1); circle(xp,yp,10); setfillstyle(1,1); floodfill(xp,yp,1); setcolor(red); line(xp,yp,x0,210); repeat i:=i+1; Euler_sist2(dt,t,tet,dtet); if (i mod 5) = 0 then begin delay(400); setcolor(15); circle(xp,yp,10); setfillstyle(1,15); floodfill(xp,yp,15); line(xp,yp,x0,210); xp:=x0+round(200*sin(tet)); yp:=ya-round(200*(1-cos(tet))); setcolor(1); circle(xp,yp,10); setfillstyle(1,1); floodfill(xp,yp,1); setcolor(red); line(xp,yp,x0,210); end; until t > 10*per; repeat until keypressed; closegraph;

Page 40: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

END.

40

PROBLÈME 2.6

* Oscillation amortie d'une colonne liquide

Soit un tube de verre en forme de U, ayant le diamètre interieur D = 20 mm et

la rugosité absolue des parois k = 0,0025 mm. Une colonne liquide de longueur L = 2 m a subi - au moment initial - une dénivellation H = 0,8 m entre les niveaux libres dans les deux branches. On suppose une relation explicite pour le coefficient de frottement λ, sous la forme:

λ =

⋅+⎛

⎝⎜⎞⎠⎟

⎣⎢

⎦⎥

1 3255

3 715 74

0 9

2,

ln,

,Re ,

kD

(1)

et la viscosité cinématique s'admet ν= 10-6 m2 s-1. Rédiger un programme - en utilisant les résultats d'intégration numérique

d'équations différentielles qui régissent les oscillations de la colonne - pour figurer sur l'écran cette colonne liquide en mouvement et tracer le graphique de variation en temps de la surface libre d'une branche, par rapport à l'origine fixée dans la position de repos et ayant l'axe Oz dirigé en haut. ♦ Solution:

La relation de Bernoulli (conservation de l'énergie) écrite entre deux points sur les surfaces libres des deux branches prend la forme:

p

gZ p

gZ L

gdvdt

ha afρ ρ⋅

+ =⋅

+ + +1 2 , (2)

avec la perte de charge:

hLv v

gDf = ⋅2

λ ,

où le coefficient λ a l'expression (1), dans laquelle le nombre de Reynolds est Re = v D/ν et v - la vitesse de la colonne. Parce que la différence entre les charges de position s'écrit comme Z1 - Z2 = 2z, l'équation différentielle (2) devient:

Page 41: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )dvdt

gL

zv v

Df t v z= − =

22

λ , , ,

à laquelle s'attache la condition cinématique (3)

(dzdt

v g t v z= − = , , ) (ici g dénote la deuxième fonction).

Le système d'équations différentielles du premier ordre (3) s'intègre avec les

conditions initiales : z H vt t= == =0 02 0/ , .

41

Pour éviter la division par zéro dans l'expression de λ, on admettra que λ = 0 si Re < 10-6.

Le programme contient la procédure "RK3sist2" qui transpose l'algorithme (2.36) de la méthode de Runge - Kutta du 3e ordre , correspondant à un système de deux équations différentielles.

La fonction "funcf" inclut une autre fonction "lamda" pour calculer λ à une vitesse donnée et la fonction"funcg" reproduit la condition cinématique de système (3).

Les données d'entrée sont spécifiées comme constantes. La durée d'analyse, tmax, sera fixée à une valeur multiple de 6 s et le pas du temps ∆t doit être précisé a une valeur raisonnablement petite (environ 0,05 s dans ce problème), pour ne pas affecter l'animation graphique par l'accumulation des erreurs. Une image de l'écran se trouve en figure 2.5.

Fig. 2.5

Page 42: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Program P26;

Probleme 2.6 - Oscillation amortie d'une colonne liquide uses crt,graph; const dd=20.0; l=2.0; h=0.8; kk=0.0025; niu=1.e-6; var gd,gm,i,j,isv,isn,id,xev,xen,nx,xe:integer; z0,z,dt,t,vit,tmax,dta,d,k:real; text:string[3];

42

Function funcf(t,v,z:real):real;

function lamda(v:real):real; var re:real; begin re:=v*d/niu; if re > 1.e-6 then lamda:=1.3255/sqr(ln(k/3.71/d+5.74/exp(0.9*ln(re)))) else lamda:=0; end; begin

funcf:=19.622*z/l-0.5/d*v*abs(v)*lamda(abs(v)); end; Function funcg(t,v,z:real):real; begin funcg:=-v; end; Procedure RK3sist2(h:real;var x,f,g:real); var f1,f2,f3,g1,g2,g3:real; begin f1:=funcf(x,f,g); g1:=funcg(x,f,g); f2:=funcf(x+h/3,f+h/3*f1,g+h/3*g1); g2:=funcg(x+h/3,f+h/3*f1,g+h/3*g1); f3:=funcf(x+2*h/3,f+2*h/3*f2,g+2*h/3*g2); g3:=funcg(x+2*h/3,f+2*h/3*f2,g+2*h/3*g2); f:=f+h*(f1+3*f3)/4; g:=g+h*(g1+3*g3)/4; x:=x+h; end; BEGIN d:=dd/1000; z0:=h/2; z:=z0; k:=kk/1000; write('pas dt(s)='); readln(dt); write('temps d-etude tmax(s)='); readln(tmax); t:=0; vit:=0; clrscr;

Page 43: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setbkcolor(white); setcolor(2); arc(90,300,180,360,50); line(40,10,40,300); line(140,10,140,300); arc(90,300,180,360,30); line(60,10,60,300); line(120,10,120,300); rectangle(180,30,540,270); line(180,150,540,150); outtextxy(180,20,'Z/Zo'); outtextxy(542,150,'t(s)'); outtextxy(170,30,'1'); outtextxy(170,150,'0'); outtextxy(165,270,'-1'); nx:=6; dta:=tmax/nx; setlinestyle(1,1,1);

43

for i:=1 to nx do

begin xe:=180+round(i*dta*360/tmax); str(round(i*dta):2,text); outtextxy(xe,278,text); if i < nx then line(xe,30,xe,270); end; setlinestyle(0,1,1); outtextxy(190,350,'Probleme 2.6 - '); outtextxy(190,370,'Oscillation amortie en tube U'); setcolor(red); arc(90,300,180,360,49);

line(41,30,41,300); line(139,270,139,300); line(41,30,59,30); arc(90,300,180,360,29); line(121,270,121,300); line(59,30,59,300); line(121,270,139,270); setfillstyle(1,red); floodfill(45,35,2); putpixel(90,150,1); setcolor(1); outtextxy(65,155,'orig.z'); line(90,150,90,20); delay(1000); isv:=150-round(120*z/z0); id:=150+round(120*z/z0); xev:=180+round(t*12); repeat RK3sist2(dt,t,vit,z); isn:=150-round(120*z/z0); xen:=180+round(t*360/tmax); setcolor(red); line(xev,isv,xen,isn); j:=0; if vit >= 0 then begin for i:=isv to isn do begin j:=j+1; setcolor(15); line(41,i,59,i); setcolor(red); line(121,id-j,139,id-j); end; isv:=isn; id:=id-j; end

Page 44: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

else begin for i:=isv downto isn do begin setcolor(red); line(41,i,59,i); setcolor(15); line(121,id+j,139,id+j); j:=j+1; end; isv:=isn; id:=id+j; end; xev:=xen; delay(50); until t > tmax;

44

repeat until keypressed; closegraph; END.

PROBLÈME 2.7

* Fusée à masse variable, en milieu résistant

Étudier l'ascension verticale d'une fusée-sonde si on admet un champ de

pesanteur constant (g = 9,81 m·s-2), mais le frottement de l'air est modélisé sous la forme Ff = k(z)·v2 , avec k(z) = k0e-z/z0 (k0 = 0,1 N·m-2·s2 , z0 = 8000 m) et v - la vitesse instantanée. La fusée a la masse initiale m0 = 400 kg et, à la fin de la combustion, la masse finale mf = 80 kg.

En connaissant la vitesse d'éjection des gaz (par rapport à la fusée) u = 2000 m·s-1 et le débit massique des gaz D = 4 kg s-1, déterminer et afficher les variations en temps de l'altitude z, de la vitesse v et de la masse m, jusqu'à l'altitude maximale (pendant la durée totale de l'ascension). Représenter graphiquement, sur l'écran, les trois courbes de variation [13].

♦ Solution:

L'équation du mouvement de la fusée d'après la verticale s'écrit :

m dvdt

D u g m k v= ⋅ − ⋅ − ⋅ 2 ,

où les termes du membre droit correspondent à la force de traction, à l'attraction de la Terre et respectivement au frottement de l'air.

Ayant en vue la relation pour la vitesse de variation de la masse de la fusée et la condition cinématique espace - vitesse, on obtient le système d'équations suivant :

Page 45: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )

( )

( ) ( )

dmdt

D f t m z v

dzdt

v f t m z v

dvdt m

D u k e v g f t m z vz zo

= − =

= =

= ⋅ − ⋅ ⋅ − =

⎪⎪⎪

⎪⎪⎪

1

2

02

31

, , ,

, , ,

, , , ,/

(1) avec les conditions initiales : mt=0 = m0 ; zt=0 = vt=0 = 0.

Sûrement, quand m(t) deviendra mf, la combustion cessera et donc D sera 0 par la suite.

Le système (1) s'intégre en utilisant une méthode de Runge - Kutta du 4e ordre, par la généralisation des relations (2.37) au cas du système de trois équations,

c'est-à-dire :

45

- ayant le système:

( )(( )

y f x y y y

y f x y y y

y f x y y y

' , , ,

' , , ,

' , , ,

1 1 1 2 3

2 2 1 2 3

3 3 1 2 3

=

=

=

⎨⎪

⎩⎪

) (2)

et les conditions initiales ( ) ( ) ( )y x y y x y y x y1 0 10 2 0 20 3 0 30= = =, ,

- la solution à xi+1 = xi + h s'obtient avec les relations :

( )

( )

( )

y y h f f f f

y y h f f f f

y y h f f f f

i i

i i

i i

1 1 11 12 13 14

2 2 21 22 23 24

3 3 31 32 33 34

1

1

1

62 2

62 2

62 2

+

+

+

= + + + +

= + + + +

= + + + +

⎪⎪⎪

⎪⎪⎪ ,

(3)

où:

Page 46: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )

( )

f f x y y y j

f f x h y h f y h f y h f j

f f x h y h f y h f y h f j

f f x h y hf y hf y hf j

j j i i i i

j j i i i i

j j i i i i

j j i i i i

1 1 2 3

2 1 11 2 21 3 31

3 1 12 2 22 3 32

4 1 13 2 23 3 33

1 3

2 2 2 21 3

2 2 2 21 3

1 3

= =

= + + + +⎛⎝⎜

⎞⎠⎟

=

= + + + +⎛⎝⎜

⎞⎠⎟

=

= + + + + =

⎪⎪⎪⎪

⎪⎪⎪⎪

, , , , ,

, , , ,

, , , ,

, , , ,

,

,

, .

(4)

Cet algorithme est inclus dans la procédure "RK4sist3", dans laquelle les

variables dépendantes y1, y2, y3 ont été dénommées comme u, v, w et les coefficients fji sont respectivement u1, ..., u4 ; v1, ..., v4 et w1, ..., w4.

La procédure "RK4sist3" est très générale, pouvant être utilisée dans n'importe quel programme correctement développé. Elle appele la procédure "func", qui contient les fonctions f1, f2, f3 du système d'équations différentielles et évalue leurs valeurs pour des valeurs specifiées de x (ici t) et yj (ici m, z et v).

Les données d'entrée sont introduites en cours d'éxecution, dans les unités annoncées. Tous les dix pas ∆t, on affiche le temps (s), l'altitude (km), la vitesse (m s-1) et la masse de la fusée (kg).

L'éxecution s'arrête à la fin de l'ascension. Pour les données du problème et ∆t = 0,5 s, les résultats finals sont les

suivants : - à la fin de la combustion : t = 80 s ; v = 1072,8 m s-1 ; z = 29,5 km

46

- à l'altitude maximale : t = 168 s ; z = 68,7 km. La procédure "afisgraf" est valable seulement pour ce problème, étant

destinée à faire les graphiques sollicitées. Après la représentation de z, v et m en fonction de temps, les positions successives de la fusée en altitude sont figurées à une échelle proportionelle à sa masse (fig. 2.7).

Page 47: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Fig. 2.7

Program P27;

Probleme 2.7 - Fusee a masse variable en milieu resistant uses crt,graph; type vect=array[0..100]of real; vecte=array[0..100]of integer; matr=array[1..3,0..100]of real; matre=array[1..3,0..100]of integer; const g=9.81; z0=8000.0; var d,u,k0,mfin,dt,t,m,z,v,tcomb,vmax,zcomb:real;

i,j:integer; kont:boolean; ta,ymax:vect; ya:matr;

Procedure func(t,m,z,v:real; var mt,zt,vt:real); begin

47

if m <= mfin then d:=0;

Page 48: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

mt:=-d; zt:=v; vt:=-g+(d*u-sqr(v)*k0*exp(-z/z0))/m; end; Procedure RK4sist3(h:real; var x,u,v,w:real); var u1,v1,w1,u2,v2,w2,u3,v3,w3,u4,v4,w4:real; begin func(x,u,v,w,u1,v1,w1); func(x+h/2,u+h/2*u1,v+h/2*v1,w+h/2*w1,u2,v2,w2); func(x+h/2,u+h/2*u2,v+h/2*v2,w+h/2*w2,u3,v3,w3);

func(x+h,u+h*u3,v+h*v3,w+h*w3,u4,v4,w4); u:=u+h*(u1+2*u2+2*u3+u4)/6; v:=v+h*(v1+2*v2+2*v3+v4)/6; w:=w+h*(w1+2*w2+2*w3+w4)/6; x:=x+h; end; Procedure afisgraf(xa,ymax:vect; y:matr; xmax:real; ngraf,npct:integer); var xe:vecte; ye:matre;

k,l,nc,gd,gm,xecomb,hr,lr,xej,yej:integer; rap,cx:real; cy:vect; text:string[8]; Begin clrscr; cx:=520/xmax; for k:=1 to ngraf do cy[k]:=400/ymax[k]; for k:=0 to npct do xe[k]:=10+round(cx*xa[k]); for k:=1 to ngraf do for l:=0 to npct do ye[k,l]:=410-round(cy[k]*y[k,l]); detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); nc:=14; setcolor(nc); rectangle(10,10,530,410); for k:=1 to 9 do begin line(10+k*52,10,10+k*52,410); str(round(k*xmax/10):3,text); outtextxy(10+k*52,402,text); end; outtextxy(532,402,'t(sec)'); for k:=1 to 9 do begin line(10,410-40*k,530,410-40*k); str(round(k*ymax[1]/10):4,text); outtextxy(11,402-40*k,text); end; outtextxy(11,18,'z(km)'); for k:=1 to ngraf do begin for l:=0 to npct-1 do line(xe[l],ye[k,l],xe[l+1],ye[k,l+1]); setcolor(nc-k*4);

48

Page 49: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

end;

setcolor(nc-4); for k:=1 to 9 do begin str(round(k*ymax[2]/10):5,text); outtextxy(490,402-40*k,text); end; outtextxy(480,18,'v(m/s)'); setcolor(nc-8); for k:=1 to 9 do begin str(round(k*ymax[3]/10):5,text); outtextxy(531,408-40*k,text);

end; outtextxy(531,18,'m(kg)'); delay(2000); xecomb:=round(cx*tcomb); rap:=0.25; setfillstyle(1,9); for k:=0 to npct do begin hr:=round(sqrt(y[3,k]/rap))-1; lr:=round(hr*rap)-1; setcolor(9); rectangle(xe[k],ye[1,k],xe[k]+lr,ye[1,k]+hr); floodfill(xe[k]+1,ye[1,k]+1,9);

if xe[k] <= xecomb then begin setcolor(red); setlinestyle(1,10,5); xej:=round(xe[k]+(lr+1)/2); yej:=ye[1,k]+hr; line(xej,yej,xej,yej+15); setlinestyle(0,1,1); end; delay(500); end; setcolor(15); outtextxy(350,440,'Probleme 2.7'); outtextxy(450,440,'- Fusee-sonde'); repeat until keypressed; closegraph; end; BEGIN write('Masse init., m, et finale, mfin (kg):'); readln(m,mfin); write('Debit massique de gaz d (kg/s)='); readln(d); write('Vitesse d-ejection u (m/s) ='); readln(u); write('Coef.de resistance de l-air k0 ='); readln(k0); write('Pas de temps d-integration dt(s)='); readln(dt); t:=0; v:=0; z:=0; i:=0; j:=0; kont:=true; ta[0]:=t; ya[1,0]:=z; ya[2,0]:=v; ya[3,0]:=m; writeln('temps z(km) v(m/s) m(kg)'); repeat i:=i+1; RK4sist3(dt,t,m,z,v); if (i mod 10) = 0 then begin j:=j+1;

49

Page 50: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ta[j]:=t; ya[1,j]:=z/1000; ya[2,j]:=v; ya[3,j]:=m; writeln(t:5:2,z/1000:8:2,v:8:1,m:8:1); if (j mod 20) = 0 then begin write('Pause - ENTER !'); readln;

end; end; if kont and (d = 0) then begin kont:=false; tcomb:=t; vmax:=v; zcomb:=z/1000;

end; until v < 0; writeln('A la fin de la combustion:'); writeln(' t(s)=',tcomb:5:2,'; v(m/s)=',vmax:7:1,'; z(km)=',zcomb:7:1); writeln('A l-altitude maximale:'); writeln(' t(s)=',t:5:2,'; v(m/s)=',v:7:1,'; z(km)=',z/1000:7:1); ymax[1]:=z/1000; ymax[2]:=vmax; ymax[3]:=ya[3,0];

writeln(' ENTER - pour graphiques !'); readln; afisgraf(ta,ymax,ya,t,3,j); END.

PROBLÈME 2.8

* Oscillations en masse dans une chambre d'équilibre

Trouver la loi de variation du plan d'eau dans une chambre d'équilibre si on

connait les données d'entrée suivantes : longueur de la galérie d'amenée L = 700 m ; surface de la section de cette conduite a = 1 m2 ; surface de la section de la chambre d'équilibre A = 5 m2 ; coefficient de pertes de charge linéaires en galerie d'amenée λ = 0,0378 ; vitesse de régime en cette galerie vo = 1 m·s-1. La conduite forcée a la même section transversale que la galerie d'amenée et la loi de fermeture de la vanne s'accepte

avec la forme , où la durée de fermeture est tf = 20 s, l'exposant m = 2 et w la vitesse moyenne en conduite forcée.

(w w t t fm= −0 1 / )

♦ Solution:

En régime stationnaire de fonctionnement du système à un débit constant Q0, le niveau du plan d'eau dans la chambre d'équilibre est stationnaire à une cote z0 au dessous de niveau de la surface libre dans le réservoir. Cette dénivellation correspond aux pertes de charge en galerie d'amenée pour le débit Q0.

La relation de Bernoulli en mouvement semipermanent, écrite entre les points 1' - 1 - 2 - 2', prend la forme:

( ) ( )pg

Vg

h Z pg

Vg

h Z z Lg

dVdt

ha afρ ρ

+ + + = + + + + + +−

12

1 122

2 22 2 1 2

' '' '

(1)

50

Page 51: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où apparaîssent la surcharge d'inertie Lg

dVdt

⋅ et Z la hauteur au dessus d'un repère fixe.

En tenant compte que V1' ≅ V2' ≅ o et de l'égalité h1 + Z1 = h2 + Z2 , il vient

de (1) : Lg

dVdt

z hf= − −−1 2' '

, , (2)

dans laquelle, en négligeant les pertes locales de charge à la chambre simple d'équilibre de ce problème, le terme hf1'-2' s'écrit :

h Lg d

V Vf1 2 2' '.

−≅

⋅⋅ ⋅

⋅ ⋅λ

(3)

D'autre part, l'équation de continuité à la jonction galerie d'amenée - chambre d'équilibre - conduite forcée, c'est-à-dire:

aV A V Qc= ⋅ +2' , prend la forme suivante:

a V A dzdt

Qc⋅ = ⋅ + , (4)

si on considère la condition cinématique V2' = dz/dt. En dérivant par rapport au temps la relation (4) (pour déduire une éxpression

pour dV/dt) et en utilisant ce résultat dans l'équation (2) en ensemble avec (3) et (4), on obtient :

Lg

Aa

d zdt a

dQdt

z Lgd

Aa

dzdt

Qa

Aa

dzdt

Qa

c c2

2

12

+⎡

⎣⎢

⎦⎥ = − − +⎛

⎝⎜⎞⎠⎟

+λ c (5)

et donc:

51

Page 52: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

d zdt

Aad

dzdt

QA

dzdt

QA

gaAL

zA

dQdt

c c c2

2 21 0+ +⎛

⎝⎜⎞⎠⎟

+ + + =λ . (6)

Si on introduit la variable auxiliare dz/dt = y , il en résulte le système d'équations différentielles du premier ordre :

( )

( )

dydt

Aad

y QA

y QA

agAL

zA

dQdt

f t y z

dzdt

y f t y z

c c c= − +⎛⎝⎜

⎞⎠⎟

+ − − =

= =

⎨⎪⎪

⎩⎪⎪

λ2

11

2

, ,

, , , (7)

avec les conditions initiales : yt=0 = 0 ; zt=0 = -z0 Dans ces équations, le débit en conduite forcée est donné par :

Q a w a w tt

pour t t

pour t tc c

cf

m

f

f

= ⋅ =⋅ ⋅ −

⎛⎝⎜

⎞⎠⎟ < ≤

>

⎨⎪

⎩⎪

0 1 0

0

,

,

(8)

et sa dérivée par rapport au temps sera:

dQdt

m a wt

tt

pour t t

pour t t

cc

f f

m

f

f

=−

⋅ ⋅−

⎛⎝⎜

⎞⎠⎟ < ≤

>

⎨⎪

⎩⎪

0

1

1 0

0

,

, .

La dénivellation initiale s'obtient de z

V Lgd0

02

2=

λ

, où

d

a=

et, pour les données

du problème z = 1,196 m 0De plus, du fait que ac = a, la vitesse w0 sera w0 = V0 = 1 m s-1. Le programme extrait les données d'un fichier nommé "p28.dat" et résout le

problème avec la méthode de Runge - Kutta du 3e ordre (voir Problème 2.6) en utilisant la même procédure "RK3sist2". Comme "funcf" a été rédigé la fonction f1(t,y,z), pendant que "funcg" correspond à la function f2(t,y,z) du systéme (7).La donnée "tmax" spécifie la durée totale d'analyse et "dt" représente le pas de temps d'intégration. Leurs valeurs seront précisées en tenant compte de la période d'oscillation pour le fluide parfait, à savoir:

T LAg a

s=⋅

≅2 118 7π , .

Tous les 5 pas de temps sont affichées : le temps, le niveau du plan d'eau dans la chambre d'équilibre par rapport au niveau de réservoir, et la vitessé d'eau en chambre. En utilisant dt = 1 s, les résultats pour les premières deux minutes sont affichés dans le tableau 2.5. 52

Page 53: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 2.5

Temps (s)

Niveau (m)

Vitesse (m/s)

Temps (s)

Niveau (m)

Vitesse (m/s)

5 -0,967 0.086 65 0,991 -0,134 10 -0,381 0,143 70 0,313 -0,136 15 0,403 0,166 75 -0,349 -0,128 20 1,218 0,155 80 -0,953 -0,112 25 1,919 0,125 85 -1,464 -0,091 30 2,454 0,089 90 -1,856 -0,065 35 2,801 0,050 95 -2,110 -0,036 40 2,948 0,009 100 -2,214 -0,005 45 2,888 -0,032 105 -2,163 0,026 50 2,630 -0,070 110 -1,963 0,054 55 2,200 -0,101 115 -1,633 0,077 60 1,637 -0,123 120 -1,201 0,094

Program P28;

Probleme 2.8: Oscillations dans une chambre d'equilibre var i,j:integer; fis:text; l,a,v0,lamda,ac,tf,m,ach,dt,tmax,d,z0,w0,c1,c2,cw,cwd,t,y,z:real; Function funcf(t,y,z:real):real; var term:real; begin

if t < tf then begin term:=y+cw*exp(m*ln(1-t/tf)); funcf:=-c1*term*abs(term)-c2*z-cwd*exp((m-1)*ln(1-t/tf)); end else funcf:=-c1*y*abs(y)-c2*z; end; Function funcg(t,y,z:real):real; begin funcg:=y; end; Procedure RK3sist2( ... voir Probleme 2.6 ...); .............................................. Begin assign(fis,'p28.dat'); reset(fis); readln(fis,l,a,v0,lamda); readln(fis,ac,tf,m);

53

Page 54: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

readln(fis,ach,dt,tmax);

d:=sqrt(4*a/Pi); z0:=sqr(v0)*l*lamda/(19.62*d); w0:=a*v0/ac; c1:=ach*lamda/(2*a*d); c2:=9.81*a/(l*ach); cw:=ac*w0/ach; cwd:=-m*ac*w0/(tf*ach); t:=0; y:=0; z:=-z0; writeln('temps(s) niveau(m) vitesse(m/s)'); i:=0; j:=0; repeat i:=i+1; RK3sist2(dt,t,y,z);

if (i mod 5) = 0 then begin j:=j+1; writeln(t:8:4,z:12:3,y:12:4); if (j mod 20) = 0 then begin writeln('pause de lecture - ENTER !'); readln; end; end; until t > tmax; writeln('Fin du programme - ENTER !'); readln; End.

PROBLÈME 2.9

* Chute d'une goutte d'eau dans une atmosphère humide

On considère une goutte d'eau, supposée sphérique, qui se déplace à la

vitesse instantanée v(t) dans une atmosphère humide, contenant des gouttelettes d'eau microscopiques uniformément réparties en espace et de vitesse négligeable. On admet que la goutte fusionne avec toutes les microparticules qu'elle rencontre en chute et qu'elle est de plus soumise à une force de frottement due à l'air, proportionnelle à sa section et au carré de la vitesse, sous la forme Ff = k m2/3 v2 - où k = 0,01 N·m-2·s2·kg3/2 et m est sa masse instantannée.

En connaissant la densité (masse volumique) de l'eau ρ0 = 1000 kg m-3 et la masse d'eau par unité de volume de l'atmosphère humide ρ = 0,1 kg·m-3 , étudier l'évolution de la goutte de masse initiale m0 = 10-9 kg , qui se met en mouvement à l'altitude z0 = 200 m [13].

♦ Solution:

L'axe vertical Oz est orienté vers le bas, ayant l'origine à z0. Le volume élémentaire d'atmosphère, dV, qui est balayé par la goutte en

chute, pendant la durée infinitésimale dt et avec la vitesse instantanée v, s'écrit : dV r v dt= ⋅π 2 , (1)

où r est le rayon de la goutte de masse

54

Page 55: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

m r=43

30

πρ .

Par conséquent, il en résulte que:

r m=⎛⎝⎜

⎞⎠⎟

34 0

1 3

πρ

/

et donc la relation (1) devient:

dVdt

v m=

⎛⎝⎜

⎞⎠⎟π

πρ3

4 0

2 3/

.

D'autre part, le volume dV contient des microparticules ayant la masse dm = ρ

dV et ces microparticules contribuent - par la fusion - à l'augmentation de la masse de la goutte en chute. On obtient donc

dmdt

v m=

⎛⎝⎜

⎞⎠⎟ρπ

πρ3

4 0

2 3/

. (2)

Si dm est la masse d'eau initialement au repos qui fusionne avec la goutte pendant la durée dt, en considérant le système constitué par la goutte à l'instant t+dt et en écrivant la variation de sa quantité de mouvement entre t et t + dt, c'est-à-dire :

( )d m v m dv v dm F dt⋅ = ⋅ + ⋅ = ⋅∑ ,

où les forces qui s'exercent sur la goutte sont son poids (m·g) et la résistance de l'air (-k· m 2/3v2), on obtient, finalement l'équation:

dvdt

vm

dmdt

g km v+ ⋅ = − ⋅−1 3 2/ . (3)

Sûrement, en plus des équations (2) et (3), la condition cinématique: dzdt

v=

doit être considérée, de sorte que l'évolution de la goutte (position, masse et vitesse) sera décrite du système d'équations différentielles du premier ordre :

dzdt

v

dmdt

v m

vm

dmdt

dvdt

g km v

=

=⎛⎝⎜

⎞⎠⎟

⋅ + = −

⎪⎪⎪

⎪⎪⎪ −

ρππρ3

4 0

2 3

1 3 2

/

/

(4)

ayant la forme matricielle suivante :

55

Page 56: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

1 0 00 1 00 1

34 0

2 3

1 3 2vm

dz dtdm dtdv dt

v

v m

g k m v

⎢⎢⎢⎢

⎥⎥⎥⎥

⋅⎡

⎢⎢⎢

⎥⎥⎥= ⋅ ⋅

⎛⎝⎜

⎞⎠⎟

− ⋅ ⋅

⎢⎢⎢⎢

⎥⎥⎥⎥−

///

/

/

ρ ππρ

(5)

et les conditions initiales : zt=0 = 0 ; mt=0 = m0 ; vt=0 = 0. Bien évidemment, le système (5) a la même allure que (2.38) ou (2.39) et peut

être résolu par la méthode de Runge - Kutta du 4e ordre, adaptée au cas des systèmes implicites, c'est-à-dire par les relations (2.41) - (2.42).

Dans le programme de calcul : - la procédure "factr" résout un système d'équations algébriques linéaires par

factorisation triangulaire; - la procédure "matrice" calcule - aux valeurs de la variable indépendante x

(ici t) et des variables dépendantes contenues en Y (ici z, m et v) - les coefficients de matrice A et les termes du membre droit B, conformément au problème envisagé;

- la procédure "RK4sist", comme "factr", est une procédure générale qui fait l'intégration sur un pas de la variable indépendante. On constate qu'ici les vecteurs Ci qui apparaissent dans (2.42), ont été appelés yp1, yp2, yp3, alors que C4 se retrouve dans le vecteur "b" après la dernière appelation du "factr". Dans le vecteur "yc" sont stockées successivement, les éléments du Y* aux lesquels doit être évaluer A et B pour déduire C1, ..., C4.

Tableau 2.6 temps(s) z(m) m(g) vit(m/s) 2.00 198.52 0.000004 0.484 4.00 196.27 0.000015 1.125 6.00 193.06 0.000054 1.799 8.00 189.11 0.000154 2.146 10.00 184.47 0.000378 2.493 12.00 179.14 0.000825 2.840 14.00 173.11 0.001646 3.186 16.00 166.39 0.003058 3.533 18.00 158.98 0.005361 3.879 20.00 150.88 0.008957 4.225 22.00 142.08 0.014373 4.572 24.00 132.59 0.022278 4.918 26.00 122.41 0.033516 5.265 28.00 111.53 0.049128 5.611 30.00 99.96 0.070380 5.958 32.00 87.70 0.098797 6.304 34.00 74.74 0.136192 6.651 36.00 61.10 0.184706 6.997 38.00 46.75 0.246839 7.344 40.00 31.72 0.325492 7.690 42.00 15.99 0.424005 8.037 44.00 -0.43 0.546204 8.383

56

Page 57: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Les données du problème sont spécifiées comme constantes et le pas temporel ∆t doit être précisé à l'execution.

Les résultats obtenus pour ∆t = 0,2 s, sont affichés de dix à dix pas de temps, dans le tableau 2.6.

Program P29; Probleme 2.9 - Chute d'une goutte dans une atmosphere humide const m0=1e-9; zmare=200.0; kat=0.01; ro0=1000.0; ro=0.1; type vect=array[1..10]of real; matr=array[1..10,1..10]of real; var a:matr; b,f:vect; n,ia,ja:integer; dt,t:real; Procedure FACTR; var k,i,jm1,j,kp1,im1,nm1,ip1:integer; sum:real; Begin for k:=1 to n do begin for i:=k to n do begin jm1:=k-1; if jm1<>0 then for j:=1 to jm1 do a[i,k]:=a[i,k]-a[i,j]*a[j,k]; end; if k <> n then begin kp1:=k+1; for j:=kp1 to n do begin sum:=a[k,j]; im1:=k-1; if im1<>0 then for i:=1 to im1 do sum:=sum-a[k,i]*a[i,j]; a[k,j]:=sum/a[k,k] end; end; end; b[1]:=b[1]/a[1,1]; for i:=2 to n do begin jm1:=i-1; for j:=1 to jm1 do b[i]:=b[i]-a[i,j]*b[j]; b[i]:=b[i]/a[i,i]; end; nm1:=n-1; for i:=nm1 downto 1 do begin

57

Page 58: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ip1:=i+1;

for j:=ip1 to n do b[i]:=b[i]-b[j]*a[i,j]; end; end; Procedure MATRICE(x:real; y:vect); var i,j:integer; amax,da:real; Begin for i:=1 to n do begin

b[i]:=0; for j:=1 to n do a[i,j]:=0; end; a[2,2]:=1; b[2]:=Pi*ro*y[3]*exp(2/3*ln(3*y[2]/4/Pi/ro0)); a[3,2]:=y[3]/y[2]; a[3,3]:=1; b[3]:=9.81-kat*sqr(y[3])/exp(1/3*ln(y[2])); a[1,1]:=1; b[1]:=y[3]; for i:=1 to n do begin amax:=abs(b[i]); for j:=1 to n do begin da:=abs(a[i,j]); if da > amax then amax:=da; end; b[i]:=b[i]/amax; for j:=1 to n do a[i,j]:=a[i,j]/amax; end; end; Procedure RK4_sist(h:real; var x:real;var y:vect); var yc,yp1,yp2,yp3:vect; i:integer; Begin MATRICE(x,y); FACTR; for i:=1 to n do begin yp1[i]:=b[i]; yc[i]:=y[i]+h/2*yp1[i]; end; MATRICE(x+h/2,yc); FACTR; for i:=1 to n do begin yp2[i]:=b[i]; yc[i]:=y[i]+h/2*yp2[i]; end; MATRICE(x+h/2,yc); FACTR; for i:=1 to n do begin yp3[i]:=b[i]; yc[i]:=y[i]+h*yp3[i];

58

Page 59: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

end;

MATRICE(x+h,yc); FACTR; x:=x+h; for i:=1 to n do y[i]:=y[i]+h*(yp1[i]+2*yp2[i]+2*yp3[i]+b[i])/6; end; BEGIN f[1]:=0; f[2]:=m0; f[3]:=0; write('pas d-integration(s) dt='); readln(dt); n:=3;

t:=0; ia:=0; ja:=0; writeln('temps(s) z(m) m(g) vit(m/s)'); repeat ia:=ia+1; RK4_sist(dt,t,f); if (ia mod 10) = 0 then begin ja:=ja+1; writeln(t:5:2,zmare-f[1]:10:2,1000*f[2]:15:6,f[3]:11:3); if (ja mod 20) = 0 then begin writeln('Pause - ENTER !'); readln; end; end; until f[1] > zmare; writeln('Fin du programme - ENTER !'); readln; END.

PROBLÈME 2.10

* voir Problème 2.3

Résoudre le problème 2.3 comme un problème de système d'équations

differéntielles implicites.

♦ Solution: Les trois variables dépendantes (volume, température et pression) évoluent en

accord avec les équations différentielles :

(1 0 0

00

0− −⋅ − ⋅ ⋅

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥= ⋅ −⎡

⎢⎢⎢

⎥⎥⎥

PT P P V T V

dV dtdT dtdP dt

T Tλα

β///

) (1)

où α prend les valeurs suivantes :

59

Page 60: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- cas 1) ; − ⋅ ≤

>⎧⎨⎩

u V pour t tpour t t

0 1

10,,

- cas 2) :

(2)

− ⋅ ≤⋅

>

⎨⎪

⎩⎪

u V pour t tu V pour t t t

pour t t

0 1

0 1

1

20 2

,,, .

< ≤ 1

Les autres grandeurs ont la même signification comme dans le problème 2.3. Les données d'entrée se trouvent dans le fichier "p23.dat".

Voir les différences de programmation entre les deux problèmmes 2.3 et 2.10 - d'une part - et les deux problèmes 2.9 et 2.10 - d'autre part.

En ce qui concerne les procédures, le programme "P29" diffère du programme "P210" seulement par la forme de la procédure "matrice". D'autre part, le programme principal "P23" diffère très peu du programme principal "P210". Les résultats obtenus à l'aide de ces deux programmes sont, pratiquemment, identiques, en dépit du fait que la résolution est si différente.

Program P23_Var2;

Problema 2.10 - voir Probleme 2.3 type vect=array[1..10]of real; matr=array[1..10,1..10]of real; var a:matr; b,f:vect; caz,n,ia,ja:integer; fis:text; t0,v0,c,beta,ka,u,tp,tf,lamda,dt,t:real;

Procedure FACTR; ................ voir Probleme 2.9 ............ Procedure MATRICE(x:real; y:vect); var i,j:integer; amax,da:real; Begin for i:=1 to n do begin b[i]:=0; for j:=1 to n do a[i,j]:=0; end; a[2,1]:=-y[3]; a[2,2]:=-lamda; b[2]:=beta*(y[2]-t0); a[3,1]:=y[2]*y[3]; a[3,2]:=-y[1]*y[3]; a[3,3]:=y[1]*y[2]; a[1,1]:=1; if x <= tp then b[1]:=-u*v0; if (caz = 2) then

60

Page 61: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

if (x > tp) and (x <= 2*tp) then b[1]:=u*v0; for i:=1 to n do begin amax:=abs(b[i]); for j:=1 to n do begin da:=abs(a[i,j]); if da > amax then amax:=da; end; b[i]:=b[i]/amax; for j:=1 to n do a[i,j]:=a[i,j]/amax; end; end; Procedure RK4_sist(.... voir Probleme 2.9 ...); .............................................. BEGIN assign(fis,'p23.dat'); reset(fis); readln(fis,f[1],f[2],f[3],c,beta,ka); f[1]:=f[1]/1000; v0:=f[1]; t0:=f[2]; f[3]:=1000*f[3]; readln(fis,u,tp,tf); lamda:=f[1]*f[3]/f[2]/(ka-1)+c; write('pas d-integration(s) dt='); readln(dt); write('Cas d-etude (1 ou 2):'); readln(caz); n:=3; t:=0; ia:=0; ja:=0; writeln('temps(s) vol(l) temp(K) pres(kPa)'); repeat ia:=ia+1; RK4_sist(dt,t,f); if (ia mod 10) = 0 then begin ja:=ja+1; writeln(t:5:2,f[1]*1000:10:3,f[2]:9:2,f[3]/1000:11:2); if (ja mod 20) = 0 then begin writeln('Pause - ENTER !'); readln; end; end; until t > tf; writeln('Fin du programme - ENTER !'); readln; END.

61

Page 62: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

PROBLÈME 2.11

* Tir réactif dans l'atmosphère

En rapportant l'espace au repère xOz avec l'axe vertical Oz orienté vers le

haut, étudier le mouvement d'un objet quasi-ponctuel P, de masse variable, qui est soumis au champ de pesanteur d'accélération g = 9,81 m s-1, à une force de frottement opposée à la vitesse V, d'intensité Ff = k·v2 et à une force propulsive dirigée d'après la tangente à la trajectoire.

On considérera : la vitesse initiale V0 = 800 m·s-1 ; l'angle de lancement avec l'horizontale α0 = 45° ; la masse initiale du projectile m0 = 15 kg et une loi de variation sur la durée de la combustion, tc = 10s, sous la forme m = m0 e-ε·t où ε = 0,01 s-1 ; la vitesse d'éjection des gaz par rapport au projectile w = g/ε et le coefficient k = 0,0065 N·m-2·s2.

♦ Solution:

La dynamique d'un point materiel soumis à des forces données, est décrite par l'équation:

m r F⋅ = ∑r r..,

avec: rr - le vecteur de position; r

F∑ - les forces impliquées. En coordonnées cartésiennes, les équations

différentielles du mouvement s'écrivent :

m x X

m z Z

⋅ =

⋅ =

⎨⎪

⎩⎪

∑∑

..

.., (1)

où ΣX sont les composants de forces sur l'axe Ox et ΣZ - celles-ci sur l'axe Oz. Dans ce problème, la force de frottement à l'air aura la forme: r r rF k V V k V u vf = ⋅ ⋅ = ⋅ ⋅ +2 2

dans laquelle u = dx/dt et v = dz/dt sont les composants de la vitesse sur les deux axes, pendant que la force propulsive est:

r rT dmdt

w= − ⋅ .

Le système (1) devient :

m d xdt

k dxdt

dxdt

dzdt

m w

m d zdt

m g k dzdt

dxdt

dzdt

m w

⋅ = − ⋅⎛⎝⎜

⎞⎠⎟⋅ ⎛⎝⎜

⎞⎠⎟

+ ⎛⎝⎜

⎞⎠⎟

+ ⋅ ⋅ ⋅

⋅ = − ⋅ − ⋅⎛⎝⎜

⎞⎠⎟⋅ ⎛⎝⎜

⎞⎠⎟

+ ⎛⎝⎜

⎞⎠⎟

+ ⋅ ⋅ ⋅

⎪⎪

⎪⎪

2

2

2 2

2

2

2 2

ε α

ε α

cos

sin

(2)

et il doit être intégré avec les conditions initiales :

62

Page 63: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

x z

u dxdt

V

v dzdt

V

t t

tt

tt

= =

==

==

= =

= ⎛⎝⎜

⎞⎠⎟

= ⋅

= ⎛⎝⎜

⎞⎠⎟

= ⋅

0 0

00

0

00

0 0

0

cos

sin .

α

α

0 (3)

En utilisant les notations x' = u , z' = v, on obtient le système équivalant :

( )

( )

dxdt

u

dzdt

v

dudt

km

u u v w f x z u v t

dvdt

g km

v u v w f x z u v t

u

v

=

=

= − + + =

= − − + + =

⎪⎪⎪⎪

⎪⎪⎪⎪

2 2

2 2

ε α

ε α

cos , , , ,

sin , , , ,

(4)

où α est l'angle du vecteur vitesse avec l'horizontale dans un point quelconque de la trajectoire et:

m m e pour t tm m e et w pour t t

tc

tc

c

= <

= =

0

0

00

ε

ε

,, .

>

Le système (4) avec les conditions initiales (3) s'intégre par la méthode de

Runge - Kutta du 4e ordre, en généralisant les relations (2.37) au cas du système de quatre équations sous la forme :

( )

( )

( )

( )

x x h a a a a

z z h b b b b

u u h c c c c

v v h d d d d

i i

i i

i i

i i

+

+

+

+

= + ⋅ + + +

= + ⋅ + + +

= + ⋅ + + +

= + ⋅ + + +

1 1 2 3

1 1 2 3

1 1 2 3

1 1 2 3

62 2

62 2

62 2

62 2

4

4

4

4 ,

(5)

avec :

63

Page 64: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )( )

a u b vc f x z a b t

d f x z a b t

a u h c b v h d

c f x h a z h b a b t h

d f x h a z h b a b t h

a u h c b v h d

c

i i

u i i i

v i i i

i i

u i i i

v i i i

i i

1 1

1 1 1

1 1 1

2 1 2 1

2 1 1 2 2

2 1 1 2 2

3 2 3 2

3

2 2

2 2

2 2

2 2

2

2

= =

=

=

= + ⋅ = + ⋅

= + ⋅ + ⋅ +⎛⎝⎜

⎞⎠⎟

= + ⋅ + ⋅ +⎛⎝⎜

⎞⎠⎟

= + ⋅ = + ⋅

=

; ;, , , ,

, , , ,

; ;

, , , ,

, , , ,

; ;

( )( )

f x h a z h b a b t h

d f x h a z h b a b t h

a u h c b v h dc f x h a z h b a b t h

d f x h a z h b a b t h

u i i i

v i i i

i i

u i i i

v i i i

+ ⋅ + ⋅ +⎛⎝⎜

⎞⎠⎟

= + ⋅ + ⋅ +⎛⎝⎜

⎞⎠⎟

= + ⋅ = + ⋅

= + ⋅ + ⋅ +

= + ⋅ + ⋅ +

2 2

2 2

2 2 3 3

3 2 2 3 3

4 3 4 3

4 3 3 4 4

4 3 3 4 4

, , , ,

, , , ,

; ;, , , ,

, , , ,

2

2

(6)

La procédure "RK4_s202" fait l'intégration, sur un pas ∆t = h, d'un système de deux équations différentielles du deuxième ordre, en accord avec les relations (5) - (6). Les fonctions "fu" et "fv" correspondent aux fonctions fu et fv de (4).

Les données d'entrée se trouvent dans le fichier "p211.dat". En execution, on pose la question d'afficher ou non les résultats numériques. Si la variable "opt", de type "char", reçoit la valeur "Y", ces résultats sont présentés sur l'écran de 5 en 5 pas de temps. Pour "opt" = "N", seulement l'évolution du projectile jusqu'au point de la portée est représentée graphiquement .

Dans la figure 2.11 il y a le graphique correspondant aux données du problème, duquel on constate la portée (~ 5128 m) et l'altitude maximale (~ 2596 m).

Program P211; Problema 2.11 - Tir reactif dans l'atmosphere - uses crt,graph; var masa0,kat,v0,alfa,dt,t,xt,zt,zmax,cvx,cvz,vit,vej,tcomb, masa,eps:real; gd,gm,i,j:integer; xtr,ztr,unghi:array[0..250]of real;

64

Page 65: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

fis:text; opt:char;

Function fu(u,v,x,z,t:real):real; begin if t <= tcomb then masa:=masa0*exp(-eps*t) else begin masa:=masa0*exp(-eps*tcomb); vej:=0; end; fu:=-kat*u*sqrt(u*u+v*v)/masa+eps*vej*cos(alfa); end;

Function fv(u,v,x,z,t:real):real; begin if t <= tcomb then masa:=masa0*exp(-eps*t) else begin masa:=masa0*exp(-eps*tcomb); vej:=0; end; fv:=-kat*v*sqrt(u*u+v*v)/masa-9.81+eps*vej*sin(alfa); end; Procedure RK4_s2o2(h:real; var u,v,x,z,t:real); var a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4,d1,d2,d3,d4:real; Begin a1:=u; b1:=v; c1:=fu(u,v,x,z,t); d1:=fv(u,v,x,z,t); a2:=u+h*c1/2; b2:=v+h*d1/2; c2:=fu(a2,b2,x+h*a1/2,z+h*b1/2,t+h/2); d2:=fv(a2,b2,x+h*a1/2,z+h*b1/2,t+h/2); a3:=u+h*c2/2; b3:=v+h*d2/2; c3:=fu(a3,b3,x+h*a2/2,z+h*b2/2,t+h/2); d3:=fv(a3,b3,x+h*a2/2,z+h*b2/2,t+h/2); a4:=u+h*c3; b4:=v+h*d3; c4:=fu(a4,b4,x+h*a3,z+h*b3,t+h); d4:=fv(a4,b4,x+h*a3,z+h*b3,t+h); u:=u+h*(c1+2*c2+2*c3+c4)/6; v:=v+h*(d1+2*d2+2*d3+d4)/6; x:=x+h*(a1+2*a2+2*a3+a4)/6; z:=z+h*(b1+2*b2+2*b3+b4)/6; t:=t+h; end; Procedure afisgraf; var dx,dz:real; text:string[4]; dxe,dze,nx,nz,xe,ze,i,lre,xep,zep,xp,zp,sx,sz:integer; begin clrscr;

65

Page 66: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi');

setcolor(14); line(10,410,510,410); line(10,410,10,10); outtextxy(540,420,'X(m)'); outtextxy(15,10,'Z(m)'); dx:=500; dz:=250; lre:=16; dxe:=round(dx*500/xt); dze:=round(dz*400/zmax); nx:=round(xt/dx); nz:=round(zmax/dz); for i:=1 to nx do begin xe:=10+i*dxe; str(round(i*dx):4,text);

outtextxy(xe,420,text); line(xe,410,xe,400); end; for i:=1 to nz do begin ze:=410-i*dze; str(round(i*dz):4,text); outtextxy(15,ze,text); line(10,ze,13,ze); end; for i:=0 to j do begin xep:=round(xtr[i]*500/xt+10); zep:=round(410-ztr[i]*400/zmax); xp:=round(lre/2*cos(unghi[i])); zp:=round(lre/2*sin(unghi[i])); setcolor(15); line(xep-xp,zep+zp,xep+xp,zep-zp); delay(80); setcolor(0); line(xep-xp,zep+zp,xep+xp,zep-zp); setcolor(15); circle(xep,zep,1); end; outtextxy(30,450,'Probleme 2.11'); repeat until keypressed; closegraph; end; BEGIN assign(fis,'p211.dat'); reset(fis); read(fis,masa0,eps,tcomb); vej:=9.81/eps; read(fis,kat,v0,alfa); alfa:=alfa*Pi/180; read(fis,dt); t:=0; xt:=0; zt:=0; cvx:=v0*cos(alfa); cvz:=v0*sin(alfa); zmax:=0; i:=0; j:=0; xtr[0]:=0; ztr[0]:=0; unghi[0]:=alfa; writeln('Voudriez resultats numeriques (Y/N) ?'); opt:=upcase(readkey); if opt='Y' then writeln('temps(s) xt(m) zt(m) v(m/s) alfa(gr)'); repeat i:=i+1; RK4_s2o2(dt,cvx,cvz,xt,zt,t); vit:=sqrt(cvx*cvx+cvz*cvz); alfa:=arctan(cvz/cvx); if zt > zmax then zmax:=zt;

66

Page 67: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

if (i mod 5) = 0 then

begin j:=j+1; xtr[j]:=xt; ztr[j]:=zt; unghi[j]:=alfa; if opt='Y' then begin writeln(t:7:2,xt:10:1,zt:10:1,vit:9:1,alfa*180/Pi:6:1); if (j mod 20) = 0 then begin write('pause - ENTER !'); readln; end;

end; end; until zt <= 0; writeln('portee (m)=',xt:8:2,' temps(s)=',t:7:1,' zmax (m)=',zmax:8:1); writeln('pause - Enter !'); readln; afisgraf; END.

Fig. 2.11

PROBLÈME 2.12

* Saut d'une balle dans un demicylindre

Soit le demicercle de rayon R = 1 m et le système de coordonnées Oxz de la figure, ayant l'axe Oz orienté vers le haut. D'un point de coordonnées x0 = 0,5 m ,

67

Page 68: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

z0 = 1m est larguée, sans vitesse initiale, une balle de masse m = 0,5 kg. En admettant que le frottement du à l'air, est modélisé par une force Ff = k.V2, orientée en sens opposé au vecteur vitesse (avec k = 0,01 N.m-2.s2) et supposant une collision imparfaitement élastique avec le demicercle - de sorte que les modules des vitesses incidente, Vi , et respectivement de réflexion, Vr , sont liées sous la forme Vr = a.Vi avec a = 0,95 - rédiger un programme pour tracer la trajectoire de la balle de son départ jusqù'à un point à 5 mm aux environs de l'origine.

♦ Solution:

Les équations du mouvement de la balle sont semblables à celles du Problème 2.11, à l'exception du terme reactif qui manque dans ce cas.

Mais on doit observer qu'au départ, aussi bien qu'à chaque collision avec le demicercle, "des conditions initiales" différentes par rapport au Problème 2.11 sont nécessaires.

Donc, les équations différentielles seront:

d xdt

km

dxdt

dxdt

dzdt

d zdt

g km

dzdt

dxdt

dzdt

2

2

2 2

2

2

2 2

= − ⋅⎛⎝⎜

⎞⎠⎟⋅ ⎛⎝⎜

⎞⎠⎟

+ ⎛⎝⎜

⎞⎠⎟

= − − ⋅⎛⎝⎜

⎞⎠⎟⋅ ⎛⎝⎜

⎞⎠⎟

+ ⎛⎝⎜

⎞⎠⎟

⎪⎪

⎪⎪

(1)

avec les conditions au départ : x x z z

u dxdt

v dzdt

et

= =

= = = = = −

0 0

00 0

;

; .α o90

Un point quelconque de collision s'obtient à l'intersection de la trajectoire (qui est calculée numériquement) avec l'équation du cercle de centre C et rayon R, c'est-à-dire:

( ) ( )F x z x z R R, = + − − =2 2 2 0 de sorte que la coordonnée zc d'un point du cercle, à une certaine valeur de

l'abscisse x, sera : z R R xc = − −2 2 . Le programme prévoit qu'à l'arrivée de la balle tout près du demicercle (quand

ztr - zc < 0,1 m), le pas de temps d'intégration se réduise de cinq fois par rapport à la valeur utilisée en reste, ce qu'il permet une évaluation plus exacte des coordonnées à collision, soient celles-là x*, z*.

En connaissant l'équation de la tangente au demicercle en ce point sous la forme :

68

Page 69: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( ) ( )∂∂

∂∂

Fx

x x Fz

z zx z x z

⎛⎝⎜

⎞⎠⎟

− + ⎛⎝⎜

⎞⎠⎟

− =*, * *, *

* * 0 ,

où: ∂∂Fx

x⎛⎝⎜

⎞⎠⎟= 2 et

(∂

∂Fz

z R⎛⎝⎜

⎞⎠⎟= ⋅ −2 )

, il est possible de calculer l'angle

β entre cette tangente et l'horizontale, parce que:

tg

FxFz

xz R

x z

β

∂∂∂∂

= −

⎜⎜⎜

⎟⎟⎟

= −−

*, *

**

et donc:

β = −−

⎛⎝⎜

⎞⎠⎟

arctg xz R

**

.

Fig. 2.13 D'autre part, on peut facilement vérifier que :

- si le vecteur vitesse incidente Vi est tel que Vix > 0 et Viz < 0, alors - après collision - la balle part en faisant avec l'horizontale l'angle:

α π βriz

ix

arctg VV

= − ⋅ +⎛⎝⎜

⎞⎠⎟2

- si Vi est tel que Vix < 0 et Viz < 0, alors: 69

Page 70: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

α π βriz

ix

arctg VV

= + −⎛⎝⎜

⎞⎠⎟2 ,

où Vix et Viz sont les composants du vecteur vitesse incidente sur les deux axes Ox et Oz. En tout cas, les angles entre les deux vecteur vitessé Vi et Vr et respectivement le rayon tracé au point de collision, doivent être égaux.

Pour les données du problème, on constate qu'un pas ∆t = 0,01 s fournira un graphique agréable.

Le programme utilise la même procédure "RK4_s202" et les mêmes fonctions "fu" et "fv" (corrigées pour le terme réactif) comme le problème antérieur.

Les données d'entrée se trouvent dans le fichier "p212.dat" et une image de l'écran apparait dans la figure 2.13.

Program P212;

Problema 2.12 - Saut d'une balle dans un demicylindre uses crt,graph; var masa,kat,v0,alfa,dt,t,xt,zt,cvx,cvz,vit, r,xlans,zlans,amortiz,beta,dt0,zc:real; gd,gm,xe1,ze1,xe2,ze2,xce,zce:integer; kont:boolean; fis:text; Function fu(u,v,x,z,t:real):real; begin fu:=-kat*u*sqrt(u*u+v*v)/masa; end; Function fv(u,v,x,z,t:real):real; begin fv:=-kat*v*sqrt(u*u+v*v)/masa-9.81; end; Procedure RK4_s2o2(... voir Probleme 2.11 .....); ................................................. BEGIN assign(fis,'p212.dat'); reset(fis); readln(fis,masa,kat,v0,amortiz,alfa); alfa:=alfa*Pi/180; readln(fis,r,xlans,zlans,dt0); clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); arc(260,100,180,0,260); t:=0; dt:=dt0; kont:=false; xt:=xlans; zt:=zlans; xe1:=260+round(xt/r*260); ze1:=360-round(zt/r*260);

70

Page 71: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

cvx:=v0*cos(alfa); cvz:=v0*sin(alfa);

setcolor(7); repeat RK4_s2o2(dt,cvx,cvz,xt,zt,t); xe2:=260+round(xt/r*260); ze2:=360-round(zt/r*260); line(xe1,ze1,xe2,ze2); vit:=sqrt(cvx*cvx+cvz*cvz); if cvx = 0 then cvx:=1e-12; zc:=r-sqrt(r*r-xt*xt); if ((zt-zc) < 0.1) and (kont = false) then begin kont:=true; dt:=dt/5; end; if (abs(zt-zc) <= 0.001) or (zt < zc) then begin dt:=dt0; kont:=false; zt:=zc; if xt < 0 then xt:=-sqrt(r*r-sqr(zt-r)) else xt:=sqrt(r*r-sqr(zt-r)); xce:=260+round(xt/r*260); zce:=360-round(zt/r*260); setcolor(12); line(260,100,xce,zce); setcolor(7); sound(220); delay(20); nosound; vit:=amortiz*vit; beta:=arctan(-xt/(zt-r)); if (cvx <= 0) and (cvz <=0) then begin alfa:=Pi+2*beta-arctan(cvz/cvx); cvx:=vit*cos(alfa); cvz:=vit*sin(alfa); end; if (cvx >= 0 ) and (cvz <= 0) then begin alfa:=Pi-2*beta+arctan(cvz/cvx); cvx:=-vit*cos(alfa); cvz:=vit*sin(alfa); end; end; xe1:=xe2; ze1:=ze2; until (zt <= 0.005) and (abs(xt) <= 0.005); setcolor(15); outtextxy(100,40,'Probleme 2.12'); outtextxy(100,50,'Balle en demicylindre'); repeat until keypressed; closegraph; END.

71

Page 72: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

2.4. Intégration numérique d'équation différentielle avec conditions aux limites Les méthodes précédemment décrites dans ce chapitre ont été dédiées à la

résolution de problèmes aux conditions initiales, c'est-à-dire de problèmes dans lesquels toutes les conditions correspondant à des valeurs particulières de la variable dépendante et de ses dérivées, sont connues (ou s'imposent) à une valeur unique de la variable indépendante, notée généralement x = x0.

Il convient de mentionner le fait que dans un certain nombre de problèmes ·pratiques, les conditions particulières doivent être satisfaites pour deux valeurs distinctes de la variable indépendante.

Soit, par exemple, l'équation différentielle du deuxième ordre ayant l'allure générale :

F x y dydx

d ydx

, , , ,2

2 0⎛⎝⎜

⎞⎠⎟ = (2.43)

pour laquelle les seules deux conditions nécessaires à une solution unique, sont imposées sur y, sous la forme :

( )y x x y= =0 0 et ( )y x x yf f= = (alors que y' n'est pas précisé pour x = x0).

La résolution numérique de tels problèmes, dits problèmes avec des conditions aux limites, est généralement plus difficile par rapport à la solution du problème correspondant avec conditions initiales. Les algorithmes utilisés pour résoudre ces problèmes appartiennent à l'un des trois types importants suivants :

- méthodes dites "d'essais et erreurs"; - méthodes des différences finies; - méthodes applicables à la résolution des équations différentielles linéaires. 2.4.1. Méthodes d'essais et erreurs Une méthode "d'essais et erreurs" consiste à remplacer la résolution du

problème avec conditions aux limites, par la résolution répétée d'un problème avec conditions initiales, en utilisant une procédure d'ajustement de ces conditions. On admet comme point initial x0, le point dans lequel sont connues le plus possible de conditions particulières.

Dans son principe, une telle méthode implique un choix arbitraire à des conditions manquantes dans le point initial et puis, la résolution du problème posé, du type "aux conditions initiales", qui se fait par l'une des méthodes déjà décrites ci-dessus. D'habitude, les valeurs finales obtenues ne correspondent pas à celles imposées aux limites et alors, en fonction des résultats trouvés, on ajuste les conditions initiales et on reprend la résolution d'un nouveau problème avec conditions initiales.

72

Page 73: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Par exemple, dans le cas de l'équation (2.43), soit ( )dy dx cx x

/=

=0

1 une valeur d'essai, supposée pour la dérivée de la variable dépendante à x = x

0. L'intégration

de (2.43), comme un problème avec conditions initiales : yx=xo = y0, ( )dy dx c

x x/

==

01 , produit la solution γ1 à x=xf (figure 2.14).

En admettant une autre valeur, c2, de dy/dx pour x = x0 et en recalculant la solution du problème aux conditions initiales, si on obtient à présent yx=xf = γ2 et en acceptant que la fonction y se comporte normalement, c'est bien évidemment que la nouvelle valeur d'essai:

( )( ) ( )c cc c

y dydxf

x x3 1

2 1

1 21

0

= +−−

− = ⎛⎝⎜

⎞⎠⎟ =γ γ

γ (2.44)

a la chance d'offrir une meilleure solution pour x = xf, par rapport à la condition imposée y = yf.

Ce procédé est poursuivi jusqu'à ce que la différence entre la valeur de y imposée et la valeur calculée pour x = xf soit suffisamment faible. En tout cas, ces méthodes présentent le désavantage de nécessiter un temps de calcul assez considérable; de plus, dans les problèmes non linéaires, la convergence vers la solution correcte peut être obtenue avec difficulté.

En pratique, une telle méthode est recommandable dans les problèmes où une compréhension physique complète permet d'avoir un ordre de grandeur plausible pour les valeurs manquantes à x = x0.

2.4.2. Méthodes des différences finies Une méthode dite "des différences finies" implique de remplacer l'équation

différentielle, en une série de points x0, x1, ..., xn+1 sur l'espace de variation de la variable indépendante, par des expressions en différences finies qui approchent les dérivées de la variable dépendante y.

Il en résulte un système d'équations algébriques simultanées à n inconnues, n étant le nombre de points choisis dans le domaine des x. Ces inconnues sont juste les valeurs de la solution yi à chacun des points discrets xi , i = 1, ..., n. Pour un problème comme (2.43), les deux conditions aux limites représentent les seules valeurs connues de y - c'est-à-dire : y(x0) = y0 et y(xn+1=xf) = yf. La décomposition du domaine [x0 ; xf] se fait, généralement, à des pas ∆x constants.

Si l'équation différentielle est linéaire par rapport à la variable dépendante et ses dérivées, alors le système d'équations algébriques résultant est de même linéaire. Un tel système est résolu par une méthode appropriée, soit la méthode d'élimination de Gauss (si n < 40), soit une méthode itérative - comme la méthode de Gauss - Seidel (si n > 40). Dans le cas d'équations différentielles du deuxième ordre, le système d'équations algébriques linéaires aura une matrice tridiagonale, et on peut utiliser un algorithme plus rapide (de Thomas ou le double balayage de Choleski).

73

Page 74: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Si l'équation différentielle est non linéaire, une telle méthode conduit à un système non linéaire d'équations algébriques et la résolution du problème peut n'être obtenue que très difficilement, surtout pour une valeur grande de n .

2.4.3. Méthodes des différences finies pour l'équation différentielle linéaire avec conditions aux limites Soit l'équation différentielle du second ordre, linéaire (les coefficients ne sont

fonction que de la variable indépendante x) :

( ) ( ) ( )d ydx

P x dydx

Q x y F x2

2 + ⋅ + ⋅ = , (2.45)

avec les conditions aux limites : ( )( )

y x a y

y x b ya

b

= =

= = , (2.46)

dans laquelle P, Q et F sont continues pour a ≤ x ≤ b et, de plus, s'accepte que Q(x) ≤ 0 sur cet intervalle, ceci impliquant l'existence d'une solution unique du problème (2.45) - (2.46).

De façon plus générale, les conditions aux limites peuvent être specifiées sous d'autres formes, à savoir:

dydx

yx a

a⎛⎝⎜

⎞⎠⎟

= ′=

et dydx

yx b

b⎛⎝⎜

⎞⎠⎟

==

' ,

ou encore:

( )y y dydx

yx a ax b

b==

= ⎛⎝⎜

⎞⎠⎟

=et ' .

Pour résoudre un tel problème à l'aide d'une méthode des différences finies, on considère sur le domaine x ∈ [a, b] un nombre de n+1 intervalles égaux, de longueur ∆x = h = (b - a)/(n +1), en résultant les (n+2) points discrets xi = a + i·h, i = 0,1,...,n+1.

En chacun des points intérieurs xi , i = 1,2,...,n l'équation différentielle (2.45) est remplacée par une équation équivalente en différences finies, construite à l'aide de différences finies centrées, sous la forme :

( ) ( ) ( )y y yh

P x y yh

Q x y F xi i ii

i ii i i

− + + −− ++

−⋅

+ ⋅ =1 12

1 122

; i=1,...,n

ou, d'une autre manière : ( )[ ] ( )[ ] ( )[ ] ( )y h P x y h Q x y h P x h F xi i i i i i− +− ⋅ + − + ⋅ + + ⋅ = ⋅1

21

22 4 2 2 2 i ;

i=1,...,n (2.47) En écrivant l'équation (2.47), successivement, pour tous les points intérieurs

on obtient un système de n équations algébriques linéaires, du type tridiagonal, ayant n inconnues - c'est-à-dire les valeurs y1, y2, ..., yn. La solution de ce système d'équations algébriques linéaires représent la solution approchée de l'équation différentielle (2.45), ayant les conditions aux limites (2.46), dans les points discrets x1, x2, ..., xn.

74

Page 75: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Soit - par exemple - le problème: y" - y = 1 sur x∈[0,3] avec y(0) = -1 ; y(3) = -1. (2.48) Si on accepte ∆x = h = 0,5 , il en résulte une décomposition d'intervalle

x∈[a,b] en six segments égaux et sept points discrets, parmi lesquels cinq sont des points intérieurs. Parce que dans ce cas : P(x) ≡ 0 , Q(x) ≡ -1 et F(x) ≡ 1 , en appliquant la relation (2.47) et tenant compte que:

( ) ( ) ( )

( ) ( )

2 2 4 2 4 2 14

1 92

2 2 2 2 14

1 12

2

2

− ⋅ = − + ⋅ = − + ⋅ − = −

+ ⋅ = ⋅ = ⋅ ⋅ =

h P x h Q x

h P x h F x

i i

i i

; ;

; ,

on obtient le système d'équations en différences finies suivant :

( )

( )

− + = − − =

− + =

− + =

− + =

− = − − =

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

92

2 12

2 1 52

2 92

2 12

2 92

2 12

2 92

2 12

2 92

12

2 1 52

1 2

1 2 3

2 3 4

3 4 5

4 5

y y

y y y

y y y

y y y

y y

(2.49)

où dans la première et respectivement dans la dernière équation ont été utilisées les conditions connues : y0 = -1 et y6 = y(x=3) = -1. La solution du système (2.49) est yi = -1 pour i = 1,..., 5, coincidant à la solution exacte. On peut constater dans cet exemple que les coefficients des inconnues yi sont juste les éléments de la diagonale principale, et que les coefficients des inconnues yi-1 et yi+1 sont les termes sousdiagonaux et respectivement les termes surdiagonaux de cette matrice.

Comme s'indique en [9], pour avoir une solution unique, il faut que le système engendré par la relation (2.47), soit du type diagonal dominant, c'est-à-dire exige la condition:

( ) ( ) ( )− + ⋅ ≥ + ⋅ + − ⋅4 2 2 22h Q x h P x h P xi i .i (2.50)

Pour de telles valeurs h qui satisfont simultanément les restrictions: ( ) ( )2 0 2 0− ⋅ > + ⋅ >h P x et h P xi ,i (2.51)

la condition (2.50) se reduit à : ( ) ( ) ( )4 2 2 22− ⋅ ≥ + ⋅ + − ⋅h Q x h P x h P xi i ,i

ou: ( )− ⋅ ≥2 02h Q xi

et cela est toujours vrai en vertu de l'hypothèse initiale Q(x) ≤ 0. De cette façon apparaissent comme suffisantes les conditions (2.51) ou une

condition de valeur équivalente, à savoir :

75

Page 76: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )h P xi⋅ < 2

et - si Pmax est une limite supérieure de |P(x)| sur x∈[a, b] - il résulte la condition suffisante pour assurer le caractère dominant de la matrice du système d'équations en différences finies, sous la forme:

h xP

= <∆2

max

. (2.52)

En conclusion, si on souhaite obtenir une solution unique avec les differénces finies centrées, le choix de la décomposition du domaine [a, b] n'est pas arbitraire.

Toutefois, il est possible d'assurer la dominance diagonale mais sans limiter d'aucune manière le pas h. Pour cela, l'équation (2.45) s'approche en chacun des points xi, i = 1,..., n, d'après le schéma suivant :

- la dérivée du second ordre : en utilisant les différences finies centrées, sous la forme :

( )yh

y y yi i i" = − +− +1 22 1 1i

- la dérivée du premier ordre, y', en tenant compte du signe de la quantité

P(xi), à savoir : - si P(xi) ≥ 0 - par la relation progressive y'i = (yi+1 - yi)/h - si P(xi) < 0 - par la relation régressive y'i = (yi - yi-1)/h. Donc, si P(xi) ≥ 0 - l'équation en différences finies correspondant à (2.45)

sera:

( ) ( ) ( )y y yh

P x y yh

Q x y F xi i ii

i ii i i

− + +− ++

−+ ⋅ =1 1

212 ,

ou: ( ) ( )[ ] ( )[ ] ( )y y h P x h Q x y h P x h F xi i i i i i− ++ − − ⋅ + ⋅ + + ⋅ = ⋅1

21

22 1 i (2.53)

et si P(xi) < 0 cette équation a la forme

( ) ( ) ( )y y yh

P x y yh

Q x y F xi i ii

i ii i i

− + −− ++

−+ ⋅ =1 1

212 ,

ou: ( )[ ] ( ) ( )[ ] ( )y h P x y h P x h Q x y h F xi i i i i i− +− ⋅ + − + ⋅ + ⋅ + = ⋅1

21

21 2 i (2.54)

Il est facile de voir qu'un tel schéma - appelé progressif-régressif - assure la

dominance diagonale du système d'équations linéaires à résoudre. La solution d'un système tridiagonal peut être obtenue en utilisant différentes

méthodes directes ou itératives générales, mais la voie la plus efficace reste de faire appel à l'un des divers algorithmes spécialisés.

Parmi ceux-là, on présente l'algorithme du double balayage de Choleski. Soit le système tridiagonal de n équations linéaires à n inconnues (y1, ..., yn) :

76

Page 77: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

b y c y d a ya y b y c y d

a y b y c y d

a y b y d c y

i i i i i i i

n n n n n n n

1 1 1 2 1 1 0

2 1 2 2 2 2 2

1 1

1 1

+ = −+ + =

+ + =

+ = −

⎪⎪⎪

⎪⎪⎪

− +

− +

........................................

........................................

(2.55)

où y0 = y(x=a) = ya et yn+1 = y(x=b) = yb sont les deux conditions aux limites dans le problème (2.45) - (2.46), et ai , bi , ci , et di des notations pour les coefficients des inconnues et le terme droite.

En exprimant succesivement chaque inconnue en fonctin de la suivante sous la forme:

yi i i iy= − ⋅ +α β 1 , (2.56) l'équation générale du système devient:

( )a y b y c yi i i i i i i i iα β− − +− ⋅ + ⋅ + ⋅ =1 1 1 d et on en déduit les relations :

ααβ

ββi

i i i

i i ii

i

i i i

d ab a

cb a

=− ⋅− ⋅

=− ⋅

− −

1

1 1

; . (2.57)

Si on commence avec les valeurs initiales évidentes: α β0 0 0 0= = =y ya ; ,

les relations (2.57) fournissent successivement les αi et βi pour i = 1,...,n. Avec (2.56) écrite pour i = n on obtient la valeur de yn , à savoir:

y yn n n n n n by= − ⋅ = − ⋅+α β α β1 . On peut alors déterminer de proche en proche les valeurs yn-1, yn-2, ..., y1 de

toutes les autres inconnues, en utilisant la relation (2.56) et en partant de la valeur connue de yn et des valeurs calculées des αi et βi

L'algorithme de Thomas est utilisé en ce qui concerne la résolution d'un système tridiagonal sous la forme plus générale :

b y c y da y b y c y d

a y b y c y d

a y b y d

i i i i i i i

n n n n n

1 1 1 2 1

2 1 2 2 2 3 2

1 1

1

+ =+ + =

+ + =

+ =

⎪⎪⎪

⎪⎪⎪

− +

........................................

........................................

(2.58)

Dans une première étape, on fait α1 = b1 et β1= d1/α1 et puis on calcule, successivement, les coefficients suivants :

αα

ββ

αi ii i

ii

i i i

i

b a c et d a= −

⋅=

− ⋅−

−1

1

1 , (2.59)

pour i = 2,3, ..., n.

77

Page 78: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Dans une seconde étape, en commençant avec yn = βn, on déduit de proche en proche, pour i = n-1, n-2, ..., 1 , les valeurs de toutes les autres inconnues yi , avec la relation

y c yi i

i i

i

= −⋅ +βα

1 . (2.60)

Les algorithmes de ce type exploitent - dans une certaine manière - la particularité de la matrice tridiagonale du système d'équations..

Les idées de base incluses dans ce paragraphe peuvent être généralisées au cas

des problèmes non linéaires avec conditions aux limites de la forme: ( )

( ) ( ) ( )y f x y y

y x a y et y x b y a ba b

" , , '

,

=

= = = = < (2.61)

où a, b, ya et yb sont précisées, pendant que la fonction f(x,y,z) a des dérivées partielles du premier ordre par rapport à y et respectivement à z = y', sur x∈[a, b]. De plus, on admet que:

( ) ( )∂∂

∂∂

f x y zy

etf x y z

zF

, , , ,,max≥ 0 ≤ (2.62)

avec Fmax constante positive. On peut démontrer que le problème avec conditions aux limites (2.61) - (2.62)

a une solution unique. Comme dans le cas linéaire, le domaine x∈[a, b] sera décomposé en n+1

intervalles égaux de pas h et l'équation (2.61) sera remplacée par l'équation en différences finies correspondante, à savoir:

y y yh

f x y y yh

i ni i ii i

i i− + + −−−−− +

=−⎛

⎝⎜⎞⎠⎟

=1 12

1 122

1, , , , , (2.63)

il en résulte un système d'équations non linéaires, qui doit être résolu par des méthodes appropiées (de Newton - Raphson par exemple)

PROBLÈME 2.13

* Distribution de température dans un disque métallique

Soit un disque plat de rayon R = 9,7 cm et d'épaisseur δ = 2 mm (très petite

devant R), constitué d'un matériau de conductivité thermique λ = 100 W·m-1·K-1. On admet que la température T en un point M du disque ne dépend que de la distance r entre M et l'axe de symétrie.

Un corps cylindrique de rayon R1 = 2 cm, maintenu à la température T* = 500 K, constante pour r < R1 , est appliqué au centre du disque, sur les deux faces. Pour r > R1 , les deux faces du disque sont en contact avec un milieu extérieur ayant une température constante Ta = 300 K et - en régime permanent - dissipent, par unité de surface, une puissance thermique donnée de relation k(T - Ta), où le coefficient de transfert est k = 100 W·m-2·K-1.

78

Page 79: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Déterminer la répartition de la température le long du rayon du disque en admettant que le bord (r = R) est maintenu à la température extérieure Ta [13]. ♦ Solution:

Le bilan thermique de la couronne comprise entre les rayon r et r + dr s'écrit :

( ) ( )2 2 2 0k r dr T T d r qa⋅ ⋅ ⋅ − + ⋅ ⋅ =π π , où le flux de chaleur dans la couronne est:

q dTdr

= −λδ . (Fourier)

On en déduit, successivement : ( ) ( )

( )

( )

d r qdr

k r T T

q r dqdr

k r T T

dTdr

r d Tdr

k r T T

a

a

a

⋅+ ⋅ − =

+ + ⋅ − =

− ⋅ − ⋅ ⋅ + ⋅ − =

2 0

2 0

2 02

2λ δ λ δ ,

à savoir :

( )d Tdr r

dTdr

k T Ta

2

2

1 2 0+ ⋅ − − =λδ

. (1)

L'équation différentielle linéaire, du second ordre décrit la repartition de la température le long du rayon du disque, et on peut l'integrer numériquement avec les conditions aux limites suivantes :

T T et T Tr R r R a= == =1

* .

.

(2) Du fait de la symétrie, il est suffisant de résoudre le problème pour

R1 ≤ r ≤ R , à savoir sur le domaine ∆R = R - R1. On utilise la méthode des différences finies (2.47). Le domaine ∆R est

décomposé en (n + 1) intervalles égaux, de pas h = ∆r = ∆R/(n +1), il en résulte les points discrets:

r R r R i h pour i n et r Ri n0 1 1 11= = + ⋅ = =+; ,___

En chacun des points intérieurs ri , l'équation différentielle (1) est approchée

par l'équation en différences finies sous la forme :

79

Page 80: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )T T Th r

T Th

k T Ti i i

i

i ii a

− + + −− ++

−− − =1 1

21 12 12

2 0λδ

,

ou:

T hr

kh T T hr

kh Tii

i ii

a− +−⎛⎝⎜

⎞⎠⎟ − +

⎛⎝⎜

⎞⎠⎟ + +

⎛⎝⎜

⎞⎠⎟ = −1

2

1

2

12

2 1 12

2λδ λδ

. (3)

Avec les notations :

a hr

c hr

pour i n et

b b kh d d kh T

ii

ii

i i

= − = + =

= = − +⎛⎝⎜

⎞⎠⎟ = = −

12

12

1

2 1 22 2

; ,

; ,

___

λδ λδ a

on obtient le système tridiagonal suivant : bT c T d a Ta T bT c T d

a T bT c T d

a T bT d c T

i i i i i

n n n n a

1 1 2 1

2 1 2 2 3

1 1

1

+ = −+ + =

+ + =

+ = −

⎪⎪⎪

⎪⎪⎪

− +

*

..................................................

..................................................

(4)

où dans la première et la dernière équations ont été utilisées les conditions aux limites. Le système (4) est résolu par l'algorithme de Choleski, décrit ci-dessus. Avec n = 10, le programme a donné les résultats dans le tableau 2.7. Tableau 2.7

ri (cm) 2 2,7 3,4 4,1 4,8 5,5 6,2 6,9 Ti (ºC) 227 168,1 128,83 101,42 81,68 67,12 56,15 47,7 ri (cm) 7,6 8,3 9 9,7 Ti (ºC) 41,04 35,62 31,04 27

Pour déterminer la puissance thermique dissipée par le disque en régime

permanent, à savoir :

P R dTdrt

r R

= − ⋅ ⋅ ⎛⎝⎜

⎞⎠⎟ =

2 11

π λ δ (5)

on doit évaluer la dérivée de la température par rapport à r, en r = R1. La plus simple approximation serait:

( ) ( )dTdr

T R h T Rhr R

⎛⎝⎜

⎞⎠⎟

=+ −

= 1

1 ,1 (6)

mais il est possible d'obtenir une approximation plus exacte si on utilise le développement en séries de Taylor pour T(r) à r = r0 = R1 , sous la forme :

80

Page 81: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )T T h dTdr

h d Tdr

hr rr r r r

1 0

0 0

2 2

23

20= + ⎛

⎝⎜⎞⎠⎟

+ ⋅⎛⎝⎜

⎞⎠⎟ +

= =

et duquel on déduit dTdr h

T T h d Tdrr r

r rr r

⎛⎝⎜

⎞⎠⎟

= − −⎛⎝⎜

⎞⎠⎟

⎣⎢⎢

⎦⎥⎥= =0

1 0

0

12

2 2

2 . (7)

D'autre part, en accord avec l'équation (1), on obtient :

( )d Tdr r

dTdr

k T Tr r r r

r a

2

200 0

0

1 2⎛⎝⎜

⎞⎠⎟ = − ⎛

⎝⎜⎞⎠⎟

+ −= = λδ

et en introduisant cette expression dans (7), on trouve finalement la relation:

( )dTdr

h hR

T T kh T Tr R

r a⎛⎝⎜

⎞⎠⎟

=−

⎛⎝⎜

⎞⎠⎟

− − −⎡

⎣⎢

⎦⎥

= 1

1

1

12 1

2

* *λδ

, (8)

dans laquelle on a eu en vue que Tr0 = T* et r0 = R1 . La valeur Tr1

est la température trouvée à r1 = r0 + h = R1 + h (dans cette application Tr = 168,1 ºC).

1Les deux relations pour (dT/dr) à r = R1 - l'une plus simple (6) et l'autre plus

exacte (8) - peuvent être utilisées dans la formule (5) pour évaluer la puissance thermique dissipée.

Le programme contient la procédure "Choleski" pour résoudre le système tridiagonal d'équations algébriques linéaires de la forme (2.55). Pour cette procédure doivent être indiquées: les deux valeurs aux limites de la variable dépendantes xa et xb, les vecteurs des coefficients ai , bi , ci et du terme de droite di , pendant que la solution se trouve dans le vecteur x.

Si on désire la représentation graphique des résultats, le programme peut la réaliser .

Les données d'entrée se trouvent dans le fichier "p213.dat".

PROGRAM P213;

Probleme 2.13 - Distribution de temperature dans un disque metallique uses crt,graph; type vector=array[0..100] of real; var r,r1,delta,k,lamda,ta,tc,h,bb,dd,put,dtdrs,dtdr:real; fis:text; n,np1,i:integer; a,b,c,d,solutie:vector; opt:char; PROCEDURE Choleski(n:integer; xa,xb:real;var a,b,c,d,x:vector); var i:integer; numit:real; alfa,beta:vector; begin x[n+1]:=xb; x[0]:=xa; alfa[0]:=xa; beta[0]:=0; for i:=1 to n do begin

81

Page 82: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

numit:=b[i]-a[i]*beta[i-1];

alfa[i]:=(d[i]-a[i]*alfa[i-1])/numit; beta[i]:=c[i]/numit; end; for i:=n downto 1 do x[i]:=alfa[i]-beta[i]*x[i+1]; end; Procedure afisgraf; var gd,gm,rec,i,re1,te1,re2,te2:integer; dt:real; text:string[4]; begin clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); rectangle(10,400,510,405); setfillstyle(1,yellow); floodfill(12,402,yellow); rec:=round(r1*500/r); setcolor(red); setfillstyle(1,red); rectangle(10,375,10+rec,399); floodfill(12,378,red); rectangle(10,406,10+rec,430); floodfill(12,408,red); setcolor(15); setlinestyle(2,1,1); line(10,430,10,10); line(510,400,510,0); outtextxy(10,5,'Axe de symetrie'); outtextxy(450,5,'T(gr.C)'); dt:=(tc-273)/10; for i:=1 to 10 do begin str(round(i*dt):3,text); outtextxy(512,400-i*40,text); end; str(r1:4,text); outtextxy(11+rec,410,text); str(r:4,text); outtextxy(480,410,text); outtextxy(520,410,'(cm)'); outtextxy(200,50,'Probleme 2.13 -'); outtextxy(200,65,'Distribution de temp.sur disque'); setlinestyle(0,1,1); setcolor(green); re1:=10+rec; te1:=round(400-(solutie[0]-273)*400/(tc-273)); for i:=1 to np1 do begin re2:=round(10+(r1+i*h)*500/r); te2:=round(400-(solutie[i]-273)*400/(tc-273)); line(re1,te1,re2,te2); re1:=re2; te1:=te2; end; repeat until keypressed; closegraph; end; BEGIN assign(fis,'p213.dat'); reset(fis); readln(fis,r,r1,delta); r:=r/100; r1:=r1/100; delta:=delta/1000; readln(fis,k,lamda,ta,tc,np1);

82

Page 83: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

n:=np1-1; h:=(r-r1)/np1;

bb:=-2*(1+k*sqr(h)/lamda/delta); dd:=-2*k*sqr(h)/lamda/delta*ta; for i:=1 to n do begin a[i]:=1-h/2/(r1+i*h); b[i]:=bb; c[i]:=1+h/2/(r1+i*h); d[i]:=dd; end; Choleski(n,tc,ta,a,b,c,d,solutie); writeln('Distribution de temperature:'); for i:=0 to np1 do writeln('r(cm)=',100*(r1+i*h):8:2,' ; T(grd.C)=',solutie[i]-273:8:2); dtdrs:=(solutie[1]-tc)/h; dtdr:=1/h/(1-h/2/r1)*(solutie[1]-tc-k*sqr(h)/lamda/delta*(tc-ta)); writeln('Valeurs comparatives pour dT/dr (gr./m) a r=r1:'); writeln('aprox.simple=',dtdrs:6:2,' ; aprox.bonne=',dtdr:6:2); put:=-2*Pi*r1*delta*lamda*dtdr; writeln('Puissance thermique dissipee (W)=',put:8:2); writeln('Representation graphique ? (Y/N)'); opt:=UpCase(readkey); if opt = 'Y' then afisgraf; END.

PROBLÈME 2.14

* Echangeur de chaleur à contre - courant

Soit un échangeur de chaleur à contre - courant dans lequel le fluide froid A

entre et quite l'appareil à la même extrémité, pendant que le fluide chaud B circule entre les deux extrémités.

On admet une situation de régime permanent. Le coefficient global de transmission thermique, k, et les chaleurs massiques à pression constante des deux fluides, cpA

et cp , sont constantes. B

Si la température du fluide B, TB, est acceptée comme constante dans une section quelconque, normale à la direction d'écoulement et les surfaces d'échange de chaleur sont égales à chaque passage, déterminer la distribution de température le long de l'écoulement du fluide chaud B, aussi que la distribution de température du fluide froid A [2].

Les données d'entrée : - débits massiques : qA = 1,2 kg·s-1 ; qB = 1,68kg·s-1; - chaleurs masiques : cp = 4190 J·kg-1·ºC-1 ; cp = 2000 J·kg-1·ºC-1;

A B- températures d'entrées : TA0 = 40ºC ; TB0 = 110ºC et température de sortie

pour fluide chaud TBf = 65ºC ; - coefficient global de transmission thermique k = 350 W·m-2 ºC-1; - diamètre des tubes pour le circuit intérieur d = 0,28 m et cinq tubes à chaque

passage; - longueur de l'appareil L = 2,2 m.

83

Page 84: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

♦ Solution: L'équation de bilan thermique entre une section quelconque a-a et la section

de sortie b-b, peut s'écrire sous la forme :

( ) ( )T T q c T T q cB B B p A A A pf B− ⋅ = − ⋅

2 1 A (1)

Sous forme différentielle, pour une tranche élémentaire d'échangeur de longueur dx, l'équation précédente peut s'écrire :

- pour le passage à courant parallèle:

( ) ( )dQ q c dT k T T dA r k T T dxA A p A B A B AA1 1 1 210= ⋅ ⋅ = ⋅ − ⋅ = ⋅ −π ;

1

- pour le passage à contre - courant :

( ) ( )dQ q c dT k T T dA r k T T dxA A p A B A B AA2 2 2 210= − ⋅ ⋅ = ⋅ − ⋅ = ⋅ −π ;

2

- pour l'écoulement extérieur

( )dQ dQ dQ q c dT r k T T T dxB A A B p B B A AB= + = − ⋅ ⋅ = ⋅ − −

1 2 1 210 2π

de sorte qu'il en résulte les équations différentielles suivantes :

(dTdx

r kq c

T TA

A pAB A

1

1

10=

⋅⋅

−π ) (2)

(dTdx

r kq c

T TA

A pAA B

2

2

10=

⋅⋅

−π ) (3)

(dTdx

r kq c

T T TB

B pBB A A= −

⋅⋅

− −10 2

1 2

π .) (4)

De la relation (4), il vient:

84

Page 85: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

d Tdx

r kq c

dTdx

dTdx

dTdx

B

B pB

B A A2

2

10 2 1 2= −⋅

⋅− −

⎛⎝⎜

⎞⎠⎟

π

et, en tenant compte de (2) et (3), on a:

( )d Tdx

r kq c

dTdx

r kq c

T TB

B pB

B

A pAA A

2

2

10 2 102 1

= −⋅

⋅−

⋅⋅

−⎡

⎣⎢⎢

⎦⎥⎥

π π .

Si on a en vue l'équation du bilan (1), on obtient :

( )d Tdx

r kq c

dTdx

r kq c

T TB

B pB

B

A pAB Bf

2

2

220 10 0+

⋅⋅

−⋅

⎝⎜⎜

⎠⎟⎟ − =

π π , (5)

c'est-à-dire une équation différentielle du second ordre, avec les conditions aux limites : ( )( )

T x T

T x L TB B

B Bf

= =

= =

00

.

En notant:

απ

βπ

=⋅

⋅=

⋅⋅

⎝⎜⎜

⎠⎟⎟

20 102

r kq c

et r kq cB pB A pA

,

l'équation (5) peut s'écrire :

( )d Tdx

dTdx

T TB BB Bf

2

2 0+ − − =α β (7)

et la solution se trouve par la méthode des différences finies (2.47). Le domaine x∈[0, L] est décomposé en (n+1) intervalles égaux de pas h

= ∆x = L/(n+1) , il en résulte les points discrets:

x x i h pour i n et x Li n0 10 1= = ⋅ = =+; ,_ _ _

. L'équation (7) est approchée par l'équation en différences finies sous la forme:

( )T T Th

T Th

T TB B B B BB B

i i i i i

i f

− + + −− +

+−

− − =1 1 1 12

202 α β ,

ou:

( ) ( ) ( )2 2 4 2 21 1

2 2− − + + + = − ⋅− +

α β α βh T h T h T h TB B Bi i i.Bf (8)

Avec:

( )a h a b h

c h c et d h Ti i

i i f

= − ⋅ = = − + =

= + ⋅ = = − ⋅ ⋅ =

2 2

2 2

2

2

α β

α β

; ;b

dB

4

et en écrivant l'équation (8) en chacun des points intérieurs i = 1,...,n , on obtient le système tridiagonal :

85

Page 86: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

bT cT d aT

aT bT cT d

aT bT cT d

aT bT d cT

B B B

B B B

B B B

B B B

i i i

n n f

1 2 0

1 2 3

1 1

1

+ = −

+ + =

+ + =

+ = −

⎪⎪⎪⎪

⎪⎪⎪⎪

− +

..................................................

..................................................

(9)

Ce système est résolu par l'algorithme de Choleski. Avec n = 10, le

programme a donné les résultats inclus dans le tableau 2.8. Tableau 2.8

xi (m) 0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 TBi

(ºC)

110 100,88 93,41 87,3 82,29 78,17 74,8 72,02

xi (m) 1,6 1,8 2,0 2,2 TBi

(ºC)

69,74 67,85 66,29 65

La température de sortie pour fluide froid résulte directement de l'équation

(1):

( )T Tq cq c

T TA AB pB

A pAB Bf

= +⋅

⋅− =

0 070oC

f (10)

mais sa distribution le long de l'écoulement doit être calculée en intégrant les équations (2) et (3) avec condition initiale et en tenant compte des valeurs trouvées pour TBi

, i = 0,...,n + 1.

Avec la méthode d'Euler (2.9) on a :

( ) ( ) ( )[ ]T T h T T pour i nA i A i B A ii1 1 110

+= + − =β ,

___, (11)

où : ( ) T T CA A1 0040= = o .

La solution (TA1)n+1 sera imposée comme condition initiale (TA2

)0 pour l'intégration de l'équation (3) par rapport à la variable indépendante x* = L - x , à savoir:

( )dTdx

T TAA B

2

2*= − −β

et donc:

( ) ( ) ( )[ ]T T h T T pour j nA j A j A j Bn j2 2 2 110

+= − − =

+ −β , ,

___.

On obtient les résultats donnés dans le tableau 2.9.

86

Page 87: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 2.9

x (m) 0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 TA1

(ºC) 40 44,29 47,75 50,55 52,8 54,6 56,05 57,19 TA2

(ºC) 70 67,99 66,33 64,97 63,84 62,9 62,12 61,48 xi (m) 1,6 1,8 2,0 2,2 TAi

(ºC) 58,1 58,81 59,37 59,79 TA2

(ºC) 60,94 60,49 60,11 59,79 Les données d'entrée sont fournies par le fichier "p214.dat". Le programme utilise la même procédure "Choleski", comme dans le

problème antérieur.

Program P214;

Probleme 2.14: Echangeur de chaleur a contre-courant type vector=array[0..100]of real; var a,b,c,d,solutie,ta1,ta2:vector; n,np1,i,ntubp,j:integer; fis:text; qa,cpa,ta0,qb,cpb,tb0,tbf,l,diam,ks,h,alf,bet,aa,bb,cc,dd, ta2v,ta2n:real; Procedure Choleski(... voir Probleme 2.13 .....); ................................................. Begin Donnees d'entree dans le fichier "p214.dat" assign(fis,'p214.dat'); reset(fis); readln(fis,qa,cpa,ta0); readln(fis,qb,cpb,tb0,tbf); readln(fis,l,diam,ntubp,ks); write('Nr.intervalles n+1 ='); readln(np1); n:=np1-1; h:=l/np1; alf:=2*ntubp*Pi*diam*ks/qb/cpb; bet:=sqr(ntubp*Pi*diam*ks/qa/cpa); aa:=2-alf*h; bb:=-4-2*h*h*bet; cc:=2+alf*h; dd:=-2*h*h*bet*tbf; for i:=1 to n do begin a[i]:=aa; b[i]:=bb; c[i]:=cc; d[i]:=dd; end; Choleski(n,tb0,tbf,a,b,c,d,solutie); writeln('Distributions de temperature pour fluid B et '); writeln('fluid A en les deux passages (gr.C):'); ta1[0]:=ta0;

87

Page 88: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for i:=0 to n do ta1[i+1]:=ta1[i]+h*sqrt(bet)*(solutie[i]-ta1[i]);

ta2v:=ta1[n+1]; ta2[n+1]:=ta2v; for j:=0 to n do begin ta2n:=ta2v-h*sqrt(bet)*(ta2v-solutie[n+1-j]); ta2[n-j]:=ta2n; ta2v:=ta2n; end; for i:=0 to np1 do writeln('x(m)=',i*h:8:3,' T B=',solutie[i]:8:3, ' T A1=',ta1[i]:8:3,' T A2=',ta2[i]:8:3); writeln('Pause - ENTER !'); readln; End.

PROBLÈME 2.15

* Écoulement dans la cauche limite

Soit le problème (dit de Blasius) pour l'écoulement dans la couche limite au

voisinage d'une plaque plane mince, placée dans un courant fluide uniforme, parallèle à la plaque, ayant à l'amont immédiat une vitesse égale à u∞ et la viscosité cinématique ν [3].

Déterminer les composants de la vitesse u et v (le long des deux axes x et y) dans la couche limite au point d'abcisse x* = 1 m, si u∞ = 1 m·s-1 et ν = 10-6 m2·s-1.

♦ Solution:

Les équations de la couche limite bidimensionnelle, en régime permanent, sont :

u ux

v uy

uy

∂∂

∂∂

ν∂∂

+ = 22

2

(1)

∂∂

∂∂

ux

vy

+ = 0 , (2)

avec les conditions aux limites:

u v a y

u u a y

= = =

= =

⎨⎪⎪

⎩⎪⎪ ∞

0 0

(3)

En introduisant la coordonnée sans dimension:

z y ux

=⋅∞

ν et la fonction de courant:

( )Ψ = ⋅ ⋅ ⋅∞ν u x f z , de sorte que:

88

Page 89: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )uy

u f z= = ⋅∞

∂Ψ∂

'

et

( ) ( )[ ]vx

ux

zf z f z= − =⋅

−∞∂Ψ∂

ν12

' ,

les équations (1) - (2) se réduisent à une seule équation différentielle du 3e ordre, ayant comme variable dépendante la fonction du courant sans dimension f(z), à savoir :

f f f⋅ ′′ + ′′′ =2 0 (4) et les conditions :

f = f' = 0 à z = 0 f' = 1 à z = ∞. En tenant compte des relations pour z, Ψ, u et v, il est facile de dèduire les

formules suivantes pour les composants sans dimension de la vitesse:

Uu

uf V

vux

z f f= = =⋅

= ⋅ −∞ ∞

' '12

ν

(5)

Alors, si la solution f(z) est connue, le champ de vitesse dans la couche limite

peut être determiné avec les relations (5). Avec les notations : g1(z) = f(z) ; g2(z) = f'(z) et g3(z) = f''(z), l'équation différentielle du 3e

ordre peut être remplacée par un système équivalent de trois équations différentielles du premier ordre :

dgdz

g

dgdz

g

dgdz

g g

12

23

31 3

12

=

=

= −

⎪⎪⎪

⎪⎪⎪

avec les conditions : g1 = g2 = 0 à z = 0 g2 = 1 à z = z∞. Ce système est résolu comme un système avec des conditions initiales, par

une méthode "d'essais et erreurs" , en supposant des différentes valeurs pour g3 à z = 0, jusqu'à la réalisation de la condition à la limite (g2 = 1) dans un point z = zmax qui approche z∞ de manière satisfaisante.

La correction successive de g3 à z = 0 est réalisée par une procédure de dichotomie, pendant que le système (6) est intégré numériquement, en utilisant une méthode de Runge - Kutta du 4e ordre (voir Problème 2.7).

Les deux valeurs initiales de g3 entre lesquelles se trouve la solution correcte (par rapport à la condition à limite g2 = 1 en z = zmax), sont determinées par essais. Si on accepte zmax = 10, un trouve que gg

3 = 0.1 (d'une part) et gd3 = 0,5 (d'autre part) sont

deux valeurs acceptables pour mettre en route l'algorithme de dichotomie.

89

Page 90: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

On pose:

( )g g gm g3 3

12

= + d3

et le système (6) est intégré avec cette condition initiale imposée à z = 0. Si la valeur obtenue pour g2 en zmax est g2(zmax) > 1 - comme dans le cas gd

3 - on conclue que la valeur correcte de g3 se trouve entre gg

3 et gm3 . On pose alors gd

3 = gm3 et on réitére

l'opération. Si, au contraire, g2(zmax) < 1 - on conclue que la valeur correcte de g3 se trouve entre gm

3 et gd3 ; on pose alors gg

3 = gm3 et on réitére l'algorithme.

On poursuit les itérations jusqu'à ce que la différence |g2(zmax) - 1| soit inférieure à l'erreur maximale admise.

Cet algorithme est réalisé par la procédure "bisection", dans laquelle est appellée une procédure - denommée "soliter" - pour intégrer le système (6) sur le domaine z∈[0, zmax], à une itération globale de dichotomie.

La procédure "RK4sist3" fait l'intégration du système (6) sur un pas quelconque ∆z et la procédure "func" calcule les termes droits des équations (6) aux valeurs z, g1 , g2 et g3 précisées.

Le programme principal demande les valeurs de zmax et ∆z , et puis les premières approximation pour gg

3 et gd3 à z = 0. Ces approximations sont corrigées

avec un pas de 0,05 , jusqu'à ce qu'on obtienne g2 < 1 pour gg3 et respectivement g2 > 1

pour gd3 à z = 0. En commençant par ces valeurs, la procédure de dichotomie est mise en

route et la valeur g3 correcte (par rapport à la condition à limite g2 = 1 en z = zmax) est acceptée après tout au plus 50 itérations, comme étant la valeur moyenne entre les gg

3 et gd

3 à la sortie de procédure "bisection". Avec cette valeur initiale pour g3 , l'intégration du système (6) est realisée encore une fois, en mémorisant les valeurs discrètes de zi, Ui et Vi (la coordonnée sans dimension et les composants sans dimension de la vitesse) de pas ∆z sur le domaine z∈[0, zmax], dans les vecteurs "zc" , "ua" et "va".

Finalement, pour une abscisse donnée, x*, on trouve la valeur limite de y à cette abcisse par la relation :

y zu

x

*

*

maxmax=

⋅∞

ν

(7)

on décompose le domaine y∈[0, y*max], en 20 intervalles égaux de pas ∆*y = y*max/20 et on détermine - à chaque position discrète y*j = j·∆y , j = 1,..., 20 - la valeur z*j = z(y*j , x*) de la coordonnée sans dimension. Les valeurs correspondantes des composants sans dimension de la vitesse, U*j et V*j , sont calculées par interpolation linéaire entre les valeurs des vecteurs "ua" et "va" (déjà mémorisés à pas ∆z), à l'aide de la procédure "interplin", il en résulte les valeurs des composantes uj = u∞ Uj* et:

v ux

Vj j=⋅

⋅∞12

ν*

.*

Avec les données d'entrée, en utilisant zmax = 10 et ∆z = 0,1 on trouve la valeur correcte g3(z=0) = 0,332.

À x* = 1 m, on obtient y*max = 10-2 m , ∆y* = 0,5·10-3m (0,5 mm) et les composants de la vitesse dans la couche limite comme dans le tableau 2.10.

90

Page 91: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 2.10

y (mm) u (cm/s) v (cm/s) y (mm) u (cm/s) v (cm/s) 0,5 16,59 0,002 5,5 99,69 0,085 1,0 32,98 0,008 6,0 99,90 0,086 1,5 48,68 0,018 6,5 99,97 0,086 2,0 62,98 0,030 7,0 99,99 0,086 2,5 75,13 0,044 7,5 99,998 0,086 3,0 84,60 0,057 8,0 99,999 0,086 3,5 91,30 0,068 8,5 100,0 0,086 4,0 95,55 0,076 9,0 100,0 0,086 4,5 97,95 0,081 9,5 100,0 0,086 5,0 99,15 0,084 10,0 100,0 0,086

Les données d'entrée se trouvent dans un fichier dénommé "p215.dat". Program P215;

Probleme 2.15: Ecoulement dans la couche limite const uc=1.0; miu=1e-6; type vect=array[0..150]of real; var i,j,nit:integer; zc,ua,va:vect; zmax,dz,g3g,g2f,g3d,f3,z,f1,f2,xdon,ymax,vnum,dy,y, zz,uu,vv:real; Procedure func(x,y1,y2,y3:real; var f,fp,fs:real); begin f:=y2; fp:=y3; fs:=-y1*y3/2; end; Procedure RK4sist3(... voir Probleme 2.7 ........); .................................................. Procedure soliter(h,xmax,y3i:real; var y2f:real); var z,g1,g2,g3:real; begin z:=0; g1:=0; g2:=0; g3:=y3i; repeat RK4sist3(h,z,g1,g2,g3); until z >= xmax; y2f:=g2; end; Procedure bisection(h,xmax:real; var xs,xd:real; var iter:integer); var ys,yd,fs,fd,xm,ym,fm,p:real; begin

91

Page 92: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

soliter(h,xmax,xs,ys); fs:=ys-1; soliter(h,xmax,xd,yd); fd:=yd-1;

iter:=0; repeat iter:=iter+1; xm:=0.5*(xs+xd); soliter(h,xmax,xm,ym); fm:=ym-1; p:=fs*fm; if p > 0 then begin xs:=xm; fs:=fm; end else

begin xd:=xm; fd:=fm; end; until (abs(fm) <= 0.00000001) or (iter > 50); end; Procedure interplin(n:integer; var xx,yy,zz:vect; var xc,yc,zc:real); var i:integer; r:real; begin for i:=0 to n-1 do if (xc >= xx[i]) and (xc <= xx[i+1]) then begin r:=(xc-xx[i])/(xx[i+1]-xx[i]); yc:=yy[i]+r*(yy[i+1]-yy[i]); zc:=zz[i]+r*(zz[i+1]-zz[i]); end; end; Begin write('zmax et pas dz:'); readln(zmax,dz); write('g3gauche et g3droit:'); readln(g3g,g3d); writeln('Programme en execution !'); Bisection(dz,zmax,g3g,g3d,nit); f3:=0.5*(g3g+g3d); writeln('Apres',nit:3,' iterations, g3 a z=0 est:',f3:8:5); i:=0; z:=0; f1:=0; f2:=0; zc[i]:=z; ua[i]:=f2; va[i]:=z*f2-f1; repeat i:=i+1; RK4sist3(dz,z,f1,f2,f3); zc[i]:=z; ua[i]:=f2; va[i]:=z*f2-f1; until z >= zmax; write('Abcisse de calcul x (m) ='); readln(xdon); ymax:=zmax/sqrt(uc/miu/xdon); vnum:=0.5*sqrt(miu*uc/xdon); dy:=ymax/20; for j:=1 to 20 do begin y:=j*dy; zz:=y*sqrt(uc/miu/xdon); interplin(i,zc,ua,va,zz,uu,vv); writeln('y(mm)=',1000*y:8:6,' ; u et v (cm/s) :',100*uu*uc:8:4,

92

Page 93: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

100*vv*vnum:8:4); end; write('Pause - ENTER !'); readln; End.

PROBLÈME 2.16

* Capteur solaire plan, en régime permanent

Soit un capteur solaire plan très simple, constitué d'une plaque absorbante

d'aluminium, ayant la longueur L = 2 m, la largeur l = 50 cm et l'épaisseur δ = 2 mm, de conductivité thermique λ = 210 W ·m-1K-1. Le coefficient global de pertes de chaleur à surface est K = 8,85 W m-2·K-1 et le facteur d'efficacité s'accepte ε = 0,9. Le long des deux côtés longitudinaux est placé un tube de diamètre intérieur dint = 18 mm et extérieur d = 20 mm. Le coefficient de transmission thermique de tube à l'eau est α = 1500 W·m-2·K-1 et la résistance thermique à l'assemblage tube-plaque se suppose R= 0,03 m·K·W-1.

Si on admet: le débit massique en chaque tube G = 0,01 kg·s-1 ; la chaleur massique de l'eau cp = 4190 J·kg-1·K-1 ; l'énergie thermique rayonnée incidente à la surface de plaque E = 680 W m-2 ; la température ambiante Ta = 10oC et la température de l'eau à l'entrée Tfi = 650C, determiner la variation de la température du fluide le long de l'écoulement et la distribution de température sur la plaque absorbante. En première approximation on suppose que le flux de chaleur par unité de longueur cédé au fluide est donné par la relation q0 = l·ε[E-K·(Tf - Ta)].

♦ Solution:

On suppose une schématisation comme ci-contre (figure 2.18).

L'analyse implique deux aspects différents, à savoir :

- distribution de la température le long de l'écoulement dans les tubes;

- distribution de température à la surface de la plaque absorbante, mais ceux-ci se conditionnent réciproquement, étant décrits par des équations différentes en forme et en type. Par la suite, la solution du problème sera obtenue avec un algorithme itératif, presenté ci-dessous.

La symétrie par rapport à l'axe Oy, permet d'analyser seulement une moitié de la largeur du capteur.

En ce qui concerne la distribution de température le long de l'écoulement dans tubes, le bilan thermique pour l'élément ∆y du

93

Page 94: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

tube s'écrit : G c T G c T

q yp f y p f y y⋅ ⋅ − ⋅ ⋅ +

+ ⋅ =+∆

∆ 0 ,

où: Tf est la température du fluide et q dénote le débit unitaire de chaleur cédé au fluide. En divisant par ∆y et faisant ∆y→0, il vient:

G c dTdy

qpf⋅ ⋅ − = 0 . (1)

En première approximation, l'équation différentielle (1) peut être intégrée en supposant pour q l'expression q0 d'énoncé et en utilisant la condition initiale Tf(y=0) = Tfi.

D'autre part, la chaleur utile cédée au fluide s'exprime sous la forme:

q T T

Rd

b f

i

=−

+⋅ ⋅

1π α

, (2)

où: Tb est la température de la plaque absorbante à l'assemblage avec le tube (supposée constante sur largeur d) et les deux termes de dénominateur sont la résistance thermique de l'assemblage et la résistance thermique au transfert tube-fluide.

En ce qui concerne la distribution de température sur plaque, en résumant l'analyse à une moitié de largeur l, le problème revient au problème classique de la nervure si on ignore le flux thermique

longitudinal en plaque.. À partir de l'équation du bilan thermique sur un élément de largeur ∆x et de

longueur unitaire d'après l'axe Oy.

( )E x K T T x dTdx

dTdxa x x⋅ − − ⋅ − ⋅ + ⋅ =+∆ ∆ ∆λ δ λ δ 0x

en divisant par ∆x et faisant ∆x→0, on obtient l'équation différentielle linéaire, du 2e

ordre : d Tdx

K T K T EKa

2

2 − ⋅⋅ = −

⋅+⎛

⎝⎜⎞⎠⎟λ δ λ δ

, (3)

avec les conditions aux limites :

dTdxT T

x

x x bb

=

=

=

=

0 0

. (symétrie)

Dans l'équation (3), T dénote la température de la plaque en position de coordonnées x et y. 94

Page 95: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

On constate l'influence réciproque de deux aspects : en équation (1) le débit de chaleur q dépendant de la température Tb à l'assemblage plaque-tube (voir equation (2)); la condition à la limite xb = (l - d)/2 pour l'équation (3), Tb, dépendant de la température du fluide Tf, qui est décrite par l'équation (1).

Pour détérminer une solution approchée du problème, la longueur du tube est partagée en Ny intervalles de pas ∆y = hy =L/Ny.

À chaque valeur discrète yj = j·hy , j = 1, ..., Ny , correspond une bande et la demilargeur de la plaque sur cette bande (entre l'axe de symétrie et l'assemblage plaque-tube) est divisée en Nx intervalles égaux de pas ∆x = hx = xb/Nx. , il en résulte les points discrets x0 , xi = x0 +i·hx , i = 1, ..., Nx.

Dans ces hypothèses, l'algorithme de calcul pour chaque pas ∆y le long du tube et sur chaque bande correspondante de la plaque, se réduit aux étapes suivantes :

1) Soit la bande de coordonnée yj-1 pour laquelle on connaît la valeur

moyenne de la température du fluide en tube, Tfj-1 et où la distribution de température

sur plaque a été calculée. On recherche la température du fluide Tfj en tube et la

distribution Ti,j , i = 0,... Nx. sur plaque, dans la bande j. 2) On intègre l'équation différentielle (1) sur le pas ∆y = yj - yj-1 avec la

condition initiale Tfj-1 connue, en admettant pour q l'expresion q0 d'énoncé et en utilisant

la méthode d'Euler, à savoir :

( )[ ] ( )dTdy

lG c

E K T T f y Tf

pf a f=

⋅⋅

− − =ε , ,

)1−

(4)

ce qui fournit une première approximation de la valeur pour la température du fluide à la position yj - dénotée T(1)

fj et donnée par:

( ) (T T h f y Tf f y j fj j j

111

= + ⋅− − , (méthode d'Euler). (5)

La même valeur q0 est acceptée comme première valeur du q dans la relation (2) et engendre une première approximation pour la température de la plaque à x = xb:

( ) ( ) ( )[ ] T T l E K T T Rdb f f aj j j

1 1 1 1= + ⋅ ⋅ − − +

⋅ ⋅⎛⎝⎜

⎞⎠⎟ε

π α int

. (6)

3) On résout l'équation avec conditions aux limites (3) et soit T(k)bj

la condition en xb, à une itération quelconque k sur la bande j. En utilisant la méthode aux différences finies centrées sous la forme (2.47), on obtient une relation telle que :

( ) ( ) ( )T B T T D pour i Ni jk

i jk

i jk

x− ++ ⋅ + = = −1 1 1 1, , , , ,..., (7)

où: B Kh et D Kh T EK

x xa= − +

⋅⎛⎝⎜

⎞⎠⎟ = −

⋅+⎛

⎝⎜⎞⎠⎟

22 2

λ δ λ δ.

Pour introduire la condition à la limite x = 0, la température se développe en séries de Taylor aux environs de x0 , sous la forme:

( )T T h dTdx

h d Tdx

hx xx

x x1 0 0

2 2

2 03

20= + ⋅ + ⋅ += =

95

Page 96: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

et , en tenant compte de la première condition (dT/dx)|x=0 = 0 , il vient que:

(d Tdx h

T Txx

2

2 0 2 1 02

= = − .) (8)

En utilisant l'équation (3) écrite en x0 , à savoir : d Tdx

K T K T EKx

2

2 0 0= =⋅

−⋅

+⎛⎝⎜

⎞⎠⎟λ δ λ δ a

et le résultat (8), on obtient la relation:

où:

T c T D0 1 2= −⎛

⎝⎜⎞⎠⎟

=+

⋅⋅ ⋅

,

.c 1

1 K h2

x2

λ δ

Si on introduit ce résultat dans l'équation (7) écrite pour i = 1, celle-là devient:

( ) ( ) ( )c T D B T T Djk

jk

jk

1 1 22, , , ,−⎛⎝⎜

⎞⎠⎟+ ⋅ + =

c'est-à-dire: ( ) ( ) ( )T B c T D cjk

jk

1 2 12, , .+ + = +⎛

⎝⎜⎞⎠⎟

(9)

D'autre part, dans l'équation (7) écrite pour i = Nx - 1 il apparaît T(k)Nx,j

, à savoir la condition à la limite xb = T(k)

b,j et donc celle-ci devient ( ) ( ) ( )T B T D TN jk

N jk

b jk

x x− −+ ⋅ = −2 1, , ., (10) Le système tridiagonal d'équations algébriques linéaires, constitué par: - l'équation (9) à i = 1 - l'équation (7) en i = 2, ...Nx - 2 - l'équation (10) à i = Nx - 1

doit être resolu par l'algorithme de Thomas (2.58) - (2.60) ou l'autre ; il en résulte la distribution de température sur bande j de la plaque, à l'itération k: T(k)

i,j , i = 0, 1,...,N x4) On vérifie si le flux de chaleur utilisé dans l'itération k pour déduire T(k)

b,j et les T(k)

i,j sur plaque, est confirmé par ces résultats. En sachant que:

( )[ ]q q q dTdx x xb

d E K T Tp t b a= + = − ⋅ = + − −λ δ , (11)

où le second terme correspond au segment de plaque placé au-dessus du tube, et en utilisant le développement en séries de Taylor:

( )T T h dTdx xb

h d Tdx xb

hN b xx

xx−= + ⋅ + ⋅ +

1

2 2

23

20 ,

conjointement avec l'équation (3) écrite en xb , à savoir :

d Tdx xb

K T K T EKb a

2

2 −⋅

= −⋅

+⎛⎝⎜

⎞⎠⎟λ δ λ δ

96

Page 97: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

on obtient finalement:

dTdx x xb h

Tc

D Tx

bNx= = + −⎛

⎝⎜⎞⎠⎟−

12 1

et donc la valeur du flux de chaleur sera:

( ) ( ) ( ) ( )( )[ ]qh c

T D T d E K T Tjk

xb

kN j

kb

kaj x j

+−= −

⋅+ −⎡

⎣⎢⎤⎦⎥+ − −1

11

2λ δ

, . (12)

Si la différence |qj(k+1) - qj

(k)| est plus petite qu'une valeur imposée, l'algorithme avance à une autre bande j + 1, en procédant de la même manière (retour au point 1).

5) Si cette condition n'est pas satisfaite, on passe à une nouvelle itération pour

la bande j par : - intégration d'équation (1) avec la méthode d'Euler sous la forme:

( )( )

T T hqG cf

kf y

jk

pj j

++

= +⋅−

11

1, (13)

où qj(k+1) est donnée par (12) ;

- calcul de la température à l'assemblage avec (2) - à savoir :

( ) ( ) ( )T T q Rdb

kf

kjk

j j

+ + += + +⋅ ⋅

⎛⎝⎜

⎞⎠⎟1 1 1 1

π α int

; (14)

- retour au point 3) et reprise du calcul jusqu'à la réalisation d'une précision

désirée en ce qui concerne q or Tb à deux itérations succesives. Notons que les premières approximations des T(1)

fxj et T(1)

bj peuvent être

obtenues à la place des équations (5) et (6), par les équations (13) et (14) où sera utilisée la valeur à la dernière itération du flux de chaleur sur la bande j - 1 , c'est-à-dire qj-1.

Cet algorithme a été inclus dans le programme "P216":. La procédure "Thomas" résout un système tridiagonal d'équations algébriques linéaires comme (2.58), en accord avec la méthode mentionnée ci-dessus.

Les données d'entrée sont introduites par un fichier de données, "p216.dat" et les résultats sont affichées numériquement et graphiquement.

La procédure "afisgraf" représente la distribution sur plaque-tube d'une variable sans dimension comme τ = (T - Tfi)/(Tmax - Tfi) , où T est la température locale, Tmax correspond à la température maximale trouvée en calcul et Tfi représente la température du fluide à l'entrée en appareil.

Pour les données du problème, un résumé des résultats obtenus est présenté dans le tableau suivant.

La graphique de la variable τ sur une moitié du capteur se trouve dans la figure 2.22.

97

Page 98: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 2.11

Coordonné Température en plaque (°C) à la coordonné x :

Temp. du fluide

y (m) o xb/2 xb (°C) 0,2 74,82 72,96 66,77 65,33 0,4 75,01 73,17 67,08 65,66 0.6 75,19 73,37 67,38 65,98 0,8 75,36 73,58 67,67 66,29 1,0 75,54 73,78 67,96 66,61 1,2 75,71 73,98 68,25 66,91 1,4 75,88 74,17 68,53 67,21 1,6 76,04 74,36 68,81 67,51 1,8 76,21 74,55 69,08 67,81 2,0 76,37 74,74 69,35 68,09

Fig 2.22

98

Page 99: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Program P216;

Probleme 2.16: Capteur solaire plan,en regime permanent uses crt,graph; type vect=array[0..20]of real; var ny,nx,ia,ja,j,m,iter:integer; tfi,tamb,Kcap,epscap,lamda,delta,Enet,dtub,latpl,lung,ditub, alfa,rezt,qfluid,cpfluid,hy,cy,tk,hx,dd,bb,cc,leps, qcp,leqcp,rel,qglob,qplac,tpv,tmax:real; a,b,c,d,tp:vect; ty:array[0..50]of real; tpa:array[1..20,0..12]of real; kont:boolean; fis:text; Function func(y,tempf:real):real; begin func:=latpl*epscap/qfluid/cpfluid*(Enet-Kcap*(tempf-tamb)); end; Procedure Euler(h:real; var x,y:real); Begin y:=y+h*func(x,y); x:=x+h; end; Procedure Thomas(ni,nf:integer; var a,b,c,d,x:vect); var i:integer; bet:vect; begin bet[ni]:=b[ni]; x[ni]:=d[ni]/bet[ni]; for i:=ni+1 to nf do begin bet[i]:=b[i]-a[i]*c[i-1]/bet[i-1]; x[i]:=(d[i]-a[i]*x[i-1])/bet[i]; end; for i:=nf-1 downto ni do x[i]:=x[i]-c[i]*x[i+1]/bet[i]; end; Procedure afisgraf; var gd,gm,i,xx,yy,xe1,ye1,xe2,ye2,tv,tn,j:integer; dx,dy:real; xs,ys,xi,yi:array[0..30]of integer; Begin clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); line(20,350,200,400); line(360,250,540,300); line(20,350,360,250); line(200,400,540,300); setfillstyle(1,yellow); floodfill(200,375,yellow); setcolor(12); circle(190,410,10); line(540,320,540,300); line(190,420,540,320); setcolor(15); line(170,415,190,410); outtextxy(30,430,'Temp.sans dimension sur une moitie de plaque');

99

Page 100: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

outtextxy(30,450,'Probleme 2.16 - Capteur solaire');

setcolor(7); dx:=(360-20)/ny; dy:=(350-250)/ny; for i:=0 to ny do begin xs[i]:=round(20+i*dx); ys[i]:=round(350-i*dy); xi[i]:=round(200+i*dx); yi[i]:=round(400-i*dy); line(xs[i],ys[i],xi[i],yi[i]); end; setcolor(15);

for i:=1 to ny do begin xe1:=xs[i]; ye1:=ys[i]; xx:=round((xi[i]-xs[i])/nx); yy:=round((yi[i]-ys[i])/nx); tv:=round((tpa[i,0]-tfi)/(tmax-tfi)*220); line(xe1,ye1,xe1,ye1-tv); for j:=0 to nx-1 do begin tn:=round((tpa[i,j+1]-tfi)/(tmax-tfi)*220); xe2:=xe1+xx; ye2:=ye1+yy; line(xe1,ye1-tv,xe2,ye2-tn); xe1:=xe2; ye1:=ye2; tv:=tn; end; line(xe1,ye1,xe1,ye1-tv); end; setcolor(12); xe1:=xi[0]; ye1:=yi[0]; tv:=round((ty[0]-tfi)/(tmax-tfi)*220); for i:=1 to ny do begin xe2:=xi[i]; ye2:=yi[i]; tn:=round((ty[i]-tfi)/(tmax-tfi)*220); line(xe1,ye1-tv,xe2,ye2-tn); xe1:=xe2; ye1:=ye2; tv:=tn; end; repeat until keypressed; closegraph; End; BEGIN Donnees d'entree dans le fichier "p216.dat" assign(fis,'p216.dat'); reset(fis); read(fis,lung,latpl,delta,lamda,Kcap,epscap); read(fis,dtub,ditub,alfa,rezt); read(fis,qfluid,cpfluid,tfi); read(fis,enet,tamb); read(fis,ny,nx); latpl:=latpl/100; delta:=delta/1000; dtub:=dtub/1000; ditub:=ditub/1000; leps:=latpl*epscap; qcp:=qfluid*cpfluid; rel:=rezt+1/Pi/ditub/alfa; hy:=lung/ny; hx:=(latpl-dtub)/2/nx; m:=nx-1;

100

Page 101: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

dd:=-Kcap*sqr(hx)*(tamb+Enet/Kcap)/lamda/delta;

bb:=-(2+Kcap*sqr(hx)/lamda/delta); cc:=1/(1+Kcap*sqr(hx)/2/lamda/delta); cy:=0; tk:=tfi; tmax:=0; ia:=0; ty[ia]:=tfi; repeat ia:=ia+1; Euler(hy,cy,tk); qglob:=leps*(Enet-Kcap*(tk-tamb)); tpv:=tk+qglob*rel; iter:=0; kont:=false; repeat

iter:=iter+1; for j:=1 to m-1 do c[j]:=1; for j:=2 to m-1 do d[j]:=dd; for j:=2 to m do a[j]:=1; for j:=1 to m do b[j]:=bb; b[1]:=b[1]+cc; d[1]:=dd*(1+cc/2); d[m]:=dd-tpv; THOMAS(1,m,a,b,c,d,tp); for j:=1 to m do tpa[ia,j]:=tp[j]; tp[0]:=(tp[1]-dd/2)*cc; tpa[ia,0]:=(tp[1]-dd/2)*cc; tp[nx]:=tpv; tpa[ia,nx]:=tpv; qplac:=-lamda*delta/hx*(tpv/cc+dd/2-tp[m])+ dtub*(Enet-Kcap*(tpv-tamb)); if (abs(qplac-qglob)) > 0.1 then begin tk:=ty[ia-1]+hy*qplac/qcp; tpv:=tk+qplac*rel; qglob:=qplac; end else kont:=true; ty[ia]:=tk; until kont; writeln('Coord.y(m)=',cy:6:2,'; temp.fluid=',ty[ia]:6:2); writeln('Temp.sur moitie de plaque apres',iter:3,' iter.:'); for j:=0 to nx do begin if tp[j] > tmax then tmax:=tp[j]; write(tp[j]:6:2); end; writeln; writeln; if (ia mod 5) = 0 then begin write(' ENTER !'); readln; end; until cy >= lung; write('Presentation graphique apres ENTER !'); readln; afisgraf; END.

101

Page 102: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

CHAPITRE 3

TRAITEMENT NUMÉRIQUE DES ÉQUATIONS AUX DÉRIVÉES PARTIELLES

3.1. Introduction L'extension et la généralisation naturelle des aspects abordés dans le chapitre

antérieur sont représentées par l'étude d'une équation aux dérivées partielles, du deuxième ordre, laquelle - pour un domaine à deux dimensions, R2 - a la forme général:

A x yx y x

B x yx y x y

C x yx y y

F x yx y

, , , , , , , ,

, , , , , , , ,

ϕ∂ϕ∂

∂ϕ∂

∂ ϕ∂

ϕ∂ϕ∂

∂ϕ∂

∂ ϕ∂ ∂

ϕ∂ϕ∂

∂ϕ∂

∂ ϕ∂

ϕ∂ϕ∂

∂ϕ∂

⎛⎝⎜

⎞⎠⎟ ⋅ +

⎛⎝⎜

⎞⎠⎟ ⋅ +

+⎛⎝⎜

⎞⎠⎟ ⋅ +

⎛⎝⎜

⎞⎠⎟ =

2

2

2

2

2

2

0 (3.1)

avec la condition A2 + B2 + C2 ≠ 0 en chaque point (x, y) sur R2. L'équation (3.1) s'appelle quasilinéaire, mais dans le cas particulier où: A ≡ A(x, y) , B ≡ B(x, y) , C ≡ C(x, y)

et ( ) ( ) ( ) (F D x y

xE x y

yG x y H x y≡ + + +, , ,∂ϕ

∂),∂ϕ

∂ϕ (3.2)

celle-ci se nomme linéaire. Si F ≡ F(x, y, ϕ), l'équation est demi non linéaire. Les variables x et y sont les variables indépendantes et ϕ - la variable

dépendante. Pour des raisons théoriques et pratiques, les différentes formes concrètes dans

lesquelles peut apparaître l'équation (3.1), sont classifiées ainsi : 1) si B2 - A·C < 0 - équation du type dit elliptique 2) si B2 - A·C = 0 - équation du type dit parabolique (3.3) 3) si B2 - A·C > 0 - équation du type dit hyperbolique

et évidemment, dans le cas le plus général, ces conditions dépendent de la position (x, y) en R2.

L'équation aux dérivées partielles, linéaire, du deuxième ordre peut être transformée (par un changement convenable des variables indépendantes) sous la forme:

Ax

Ax

Bx

Bx

C D1

2

12 2

2

22 1

12

20

∂ ϕ

∂ ϕ

∂ϕ∂

∂ϕ∂

ϕ+ + + + ⋅ + =

,

(3.4)

dans laquelle les coefficients Ai, au point (x1, x2) du domaine R2, seront 1, -1 ou 0. On constate ici l'absence de la dérivée mixte ∂2ϕ/(∂x1∂x2). La classification implique à présent les conditions suivantes :

1) Si tous les coefficients Ai diffèrent de zéro et ont le même signe - l'équation est du type elliptique ;

2) Si un coefficient A, soit celui-ci Ak , est égal à zéro et le coefficient correspondant Bk (du ∂ϕ/∂xk ) diffère de zéro - l'équation sera du type parabolique ;

102

Page 103: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3) Si les coefficients Ai diffèrent de zéro et sont de signes contraires, l'équation est du type hyperbolique.

D'une façon plus générale, le nombre de variables indépendantes peut croître à trois ou quatre. Souvent, l'une des celles-ci est le temps, et les autres sont des coordonnées spatiales, à savoir x, ou x et y, ou x, y et z. Dans ces situations, le processus décrit par une telle équation est unidimensionnel et variable en temps, ou bidimensionnel et variable en temps, ou respectivement tridimensionnel et variable en temps. Si la variable temporelle n'apparaît pas parmi les variables indépendantes, le processus physique décrit par l'équation aux dérivées partielles ne dépend pas du temps.

En général, les équations du type elliptique correspondent aux processus invariables en temps et pour résoudre le problème analysé, il est nécessaire de préciser les conditions aux limites du domaine spatial d'intérêt.

Les phénomènes régis par des équations paraboliques sont, d'habitude, variables en temps et la solution d'un certain problème demande de spécifier tant les conditions initiales (les valeurs du ϕ dans le domaine d'intérêt, à l'instant t = 0), que les conditions aux limites comme fonctions de temps. Les équations hyperboliques décrivent, de même, des phénomènes variables en temps.

Les formes classiques d'équations aux dérivées partielles rencontrées souvent en pratique sont les suivantes :

1) L'équation du potentiel (équation de Laplace): ∂ ϕ∂

∂ ϕ∂

2

2

2

2 0x y

+ =

,

(3.5)

laquelle est la forme de référence d'équation aux dérivées partielles du type elliptique. En utilisant l'opérateur ∆ ≡ ∇2 , appelé "laplacien":

∆ = +∂∂

∂∂

2

2

2

2x y ,

l'équation (3.5) s'écrit ∆ϕ . = 0Lorsque l'expression figurant au premier membre de l'équation (3.5) n'est pas

égale à zéro mais à une fonction Ψ(x, y, ϕ) des variables indépendantes et de la variable dépendante, l'équation elliptique est alors appelée équation de Poisson. La forme générale:

∆ϕ ψ= (3.6) a diverses applications importantes dans la mécanique des fluides, en électrostatique, en élasticité (si Ψ ne depend pas de ϕ), ainsi que d'autres comme l'interaction moléculaire ou la radiation (si Ψ depend de ϕ).

2) L'équation de la chaleur: ∂ ϕ∂

∂ϕ∂

2

2 0x t

− = ,

(3.7)

laquelle est la forme de référence d'équation aux dérivées partielles du type parabolique.

Une application pratique importante est représentée par le processus unidimensionnel, non permanent, de conduction de la chaleur dans une barre métallique,

103

Page 104: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

mais autres phénomènes sont régis par une telle équation (diffusion de particules élémentaires - par exemple)

3) L'équation de l'onde: ∂ ϕ∂

∂ ϕ∂

2

2

2

2 0x t

− =

,

(3.8)

laquelle est la forme de référence d'équation aux dérivées partielles du type hyperbolique et ayant des applications pratiques dans l'élasticité, l'acoustique, la mécanique des fluides et autres.

Outre ces formes de référence, à titre d'exemple, on présente quelques équations plus complexes régissant des problèmes d'intérêt pratique :

- L'équation de la gazodynamique:

cx x x y x y

cy y

22 2

2

22

2 2

22 0− ⎛⎝⎜

⎞⎠⎟

⎣⎢⎢

⎦⎥⎥

− ⋅ ⋅ + −⎛⎝⎜

⎞⎠⎟

⎣⎢⎢

⎦⎥⎥

=∂ϕ∂

∂ ϕ∂

∂ϕ∂

∂ϕ∂

∂ ϕ∂ ∂

∂ϕ∂

∂ ϕ∂

, (3.9)

où: c est la célérité du son et ϕ - le potentiel de la vitesse. En introduisant le nombre M de Mach

Mc x y

= ⎛⎝⎜

⎞⎠⎟+⎛⎝⎜

⎞⎠⎟

⎣⎢⎢

⎦⎥⎥

1 2 2∂ϕ∂

∂ϕ∂

on constate que, dans ce problème, le critère de classification prend la forme

(B A Cx y

cx

cy

c M22 2

22

22

4 2 1− ⋅ = ⎛⎝⎜

⎞⎠⎟⋅⎛⎝⎜

⎞⎠⎟ − −⎛

⎝⎜⎞⎠⎟

⎣⎢⎢

⎦⎥⎥⋅ −

⎛⎝⎜

⎞⎠⎟

⎣⎢⎢

⎦⎥⎥= −

∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂

) (3.10)

et alors : - si M < 1, l'équation (3.9) sera du type elliptique et l'écoulement du gaz est

dite soussonique ; - si M = 1, l'équation (3.9) devient du type parabolique et régit l'écoulement

transsonique ; - si M > 1, l'équation (3.9) est du type hyperbolique et décrit un écoulement

supersonique. - L'équation du téléphone:

( )∂∂

∂∂

∂∂

2

2

2

2

Vx

L C Vt

R C G L Vt

R G V= ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ (3.11)

avec : V - la tension en câble ; R et L - la résistance et l'inductance sur l'unité de longueur du câble ; C et G - la capacité et la conductance au sol sur l'unité de longueur.

- L'équation de la barre vibrante: ∂

∂ ρ∂

2

2

4

4 0y

tE IA

yx

+⋅⋅

⋅ =

,

(3.12)

où: y dénote la déflection transversale, E - le module d'élasticité ; I et A - le moment d'inertie et la surface de la section, ρ la densité.

- L'équation d'échangeur de chaleur en régime laminaire:

104

Page 105: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

∂∂

∂∂

∂∂

∂∂

2

2

2

2

1Tr r

Tr

Tx

q u ck

Tx

p+ ⋅ + =⋅ ⋅

⋅ , (3.13)

avec les notations : T est la température , fonction des coordonnées radiale , r et axiale x ; ρ, cp et k - la densité, la chaleur massique et la conductivité thermique du fluide ; u - la vitesse axiale, connue en fonction de r.

En principe, pour determiner la solution numérique (approchée) d'une équation aux dérivées partielles, il conviendra de remplacer l'étude du problème en tous points du domaine d'intérêt défini par les variables indépendantes, par l'étude de ce problème en un nombre discret de points, c'est-à-dire qu'il faudra superposer au domaine considéré un maillage géométrique et calculer les valeurs de la variable dépendante en chaque noeud de ce maillage.

Les dérivées partielles de l'équation analysée sont remplacées par des opérateurs de différence, en résultant une équation aux différences finies dans laquelle apparaissent les valeurs de la variable dépendante en divers points discrets du maillage.

Tenant compte du type d'équation originale, du type de méthode aux différences finies adoptée et de conditions aux limites

- si on décrit l'équation aux différences finies en chaque noeud du maillage (elliptique),

- ou bien dans les points discrets correspondant au pas temporel courant (parabolique / hyperbolique), ceci conduit à un système d'équations algébriques ayant comme inconnues les valeurs discrètes de la variable dépendante.

La résolution de ce système fournira la solution approchée du problème à l'itération courante sur maillage (elliptique), ou bien au pas temporel courant (parabolique / hyperbolique).

3.2. Traitement numérique des équations aux dérivéés

partielles du type elliptique 3.2.1. Expressions analytiques et domaine physiques d'intérêt Les équations elliptiques se rencontrent sous des formes généralement

connues sous les noms d'équations de Laplace et d'équations de Poisson. En coordonnées cartésiennes et en trois dimensions, l'équation de Laplace a la

forme:

( ) ( ) ( )∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂x

x y zx y

x y zy z

x y zzx y z, , , , , ,⎡

⎣⎢⎤⎦⎥+

⎣⎢

⎦⎥ +

⎡⎣⎢

⎤⎦⎥= 0 (3.14)

ou bien, si les grandeurs σx , σy et σz sont des constantes égales, la forme plus simple de:

105

Page 106: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

∂ ϕ∂ 2x

(3.15)

∂ ϕ∂

∂ ϕ∂

2 2

2

2

2 0y z

+ + = =∆ϕ .

Lorsque le premier membre de (3.14) n'est pas égale à zéro mais à une fonction Ψ(x, y, z, ϕ), l'équation s'appelle de Poisson.

En coordonnées cylindriques, l'équation elliptique devient : ∂ ϕ∂

∂ϕ∂

∂ ϕ∂θ

∂ ϕ∂

2

2 2

2

2

2

2

1 1 0r r r r z

+ ⋅ + ⋅ + = ,

[ou = Ψ(r, θ, z, ϕ)] . (3.16)

Sous la forme de Laplace, l'équation elliptique décrit des champs physiques

dont la divergence est nulle. Si ce champ est uniforme, comprenant soit un seul type de paramètres, soit plusieurs types de paramètres mais en régime stabilisé, il est caractérisé par l'équation 3.15 (exemples: champ électrostatique dans une capacité ou un tube à vide; fluide parfait incompressible ou fluide visqueux en milieu poreux; distribution de température en régime stabilisé dans un conducteur thermique; écoulement soussonique). Le champ non uniforme dans lequel le paramètre est une fonction des coordonnées d'espace, est décrit par l'équation 3.14 (exemples: fluide visqueux dans des réservoirs souterrains de dimensions, d'épaisseur et de perméabilité variables; capacités avec diélectriques non uniformes; champ non uniforme dans des conducteurs thermiques).

L'équations de Laplace est donc représentative du comportement de systèmes à paramètres répartis ayant les caractéristiques suivantes :

- Un seul type d'élément ou paramètre figure à l'intérieur du système. - Les excitations ne sont appliquées que sur le contour, c'est-à-dire qu'aucune

source de flux ou de potentiel n'est située à l'intérieur du domaine d'intérêt. Cette propriété entraîne que toutes les lignes de flux doivent se terminer sur le contour, impliquant directement qu'il n'y a ni maximum ni minimum de potentiel à l'intérieur du champ.

Sous la forme de Poisson, l'équation caractérise un champ dont la divergence

est égale à une fonction de variables indépendantes et éventuellement du potentiel (exemples: l'écoulement visqueux, incompressible dans une cavité, où ϕ est la fonction de courant et Ψ - le rotationnel de la vitesse; champ électrostatique, où ϕ est le potentiel électrique et Ψ - le rapport entre la densité de charge et la constante diélectrique; flux neutronique dans un réacteur nucléaire etc.). Cette forme représente une importante modification de l'équation de Laplace, qui intervient si des sources d'énergie existent à l'intérieur du champ.

La solution du problème dont le comportement est régi par une équation

elliptique, demande la connaissance des conditions aux limites, qui pourront être : - soit de Dirichlet (la fonction connue en tout point du contour) ; - soit de Neumann (la dérivée normale de la fonction en tout point du

contour); - soit de Fourier ou mixte (une relation linéaire entre la valeur de la fonction

et de sa dérivée normale en tout point du contour).

106

Page 107: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Dans le cas où aucun flux ne traverse une limite du domaine non excité, la dérivée normale du potentiel à cette limite est nulle.

Si la variable non référencée (ou absolue) est spécifiée le long d'une limite, la dérivée normale du potentiel (variable référencée ou relative) le long de cette limite doit être directement proportionnelle à cette variable.

3.2.2. Approximation des dérivées partielles par des expressions aux différences finies. On suppose le cas bidimensionnel et soit ϕ(x, y) la fonction du potentiel de

l'équation elliptique. On admet que ϕ est partielle dérivable d'un nombre de fois suffisamment large.

Les valeurs de ϕ en deux points (x, y) et (x+h, y+h), où h = ∆x et k = ∆y, sont liées par le développement en séries de Taylor.:

( ) ( ) ( ) ( )

( ) ( )

ϕ ϕ∂∂

∂∂

ϕ∂∂

∂∂

ϕ

∂∂

∂∂

ϕ

x h y h x y hx

ky

x y hx

ky

x y

nh

xk

yx y R

n

n

+ + = + +⎛⎝⎜

⎞⎠⎟ ⋅ + +

⎛⎝⎜

⎞⎠⎟ ⋅ +

+−

⋅ +⎛⎝⎜

⎞⎠⎟ ⋅ +

, , ,!

, ...

...!

, ,

12

11

2

1

.

avec le reste: (3.17)

( ) ( )[ ]Rn

hx

ky

x h y k h k etn

nn

= +⎛⎝⎜

⎞⎠⎟ ⋅ + + = + < <

1 0 0!

, .∂∂

∂∂

ϕ ξ ξ ξ 1

Soit le noeud du maillage (i·∆x, j·∆y), marqué par (i, j) et entouré de points

voisins comme en figure 3.1. En utilisant les développements en séries de Taylor pour ϕi-1,j et ϕi+1,j aux

environs de la valeur centrale ϕi,j on obtient :

107

Page 108: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( ) ( ) ( )

( ) ( ) ( )

ϕ ϕ∂ϕ∂

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

i j i j

i j i j

xx

xx

xx

xx

xx

xx

xx

xx

+

= − ⋅ + ⋅ − ⋅ + ⋅

= + ⋅ + ⋅ + ⋅ + ⋅

1

2 2

2

3 3

3

4 4

4

1

2 2

2

3 3

3

4 4

4

2 3 4

2 3 4

, ,

, ,

! ! !

! ! !,

∆∆ ∆ ∆

∆∆ ∆ ∆

(3.18)

dans lesquelles toutes les dérivées sont évaluées en (i, j). De ces relations on déduit pour ∂ϕ/∂x : - la forme dite progressive aux différences finies:

( )∂ϕ∂

ϕ ϕ

x xxi j i j=

−++1 0, , ;

∆∆

- la forme dite régressive aux différences finies:

( )∂ϕ∂

ϕ ϕ

x xxi j i j=

−+−, , ;1 0

∆∆ (3.19)

- la forme dite centrale aux différences finies:

( )[ ]∂ϕ∂

ϕ ϕ

x xxi j i j=

⋅++ −1 1 2

20, , .

∆∆

En ajoutant les deux relations (3.18), on obtient l'opérateur du deuxième ordre pour ∂2ϕ/∂x2 sous la forme dite centrale :

( )( )[ ]∂ ϕ

ϕ ϕ ϕ2

21 1

222

0x x

xi j i j i j=− +

+− +, , , .∆

∆ (3.20)

Des expressions semblables peuvent être obtenues pour les dérivées ∂ϕ/∂y , ∂2ϕ/∂y2 ou pour la dérivée mixte ∂2ϕ/∂y∂x . Par exemple, si on dénote Ψ = ∂ϕ/∂y la dérivée mixte peut être approchée sous la forme :

,

( )

( ) ( )[ ]

∂ ϕ∂ ∂

∂∂

∂ϕ∂

∂Ψ∂

ϕ ϕ ϕ ϕ

ϕ ϕ ϕ ϕ

2

1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 12

12

12 2 2

14

0

x y x y x x

x y y

x yx y

i j i j

i j i j i j i j

i j i j i j i j

=⎛⎝⎜

⎞⎠⎟ = =

⋅− =

=⋅

⋅−

⋅⎛⎝⎜

⎞⎠⎟ =

=⋅ ⋅

− − + + +

+ −

+ + + − − + − −

+ + − + + − − −

∆Ψ Ψ

∆ ∆ ∆

∆ ∆∆ ∆

, ,

, , , ,

, , , , .

(3

(3.21)

((

Pour déduire une approximation aux différences

finies de l'opérateur de Laplace, on suppose le cas plus simple d'un maillage de pas ∆x = ∆y = h constant et les points 1, 2, 3, 4 aux environs du point central 0 (fig. 3.2)

On dénote par ϕi la valeur de la fonction ϕ en noeud i et on cherche une expression du ∆ϕ en fonction de ϕ0 , ϕ1 , ..., ϕ4 sous la forme:

∂ ϕ∂

∂ ϕ∂

α ϕ α ϕ α ϕ α ϕ α ϕ2

2

2

2 0 0 1 1 2 2 3 3 4 4x y+ = ⋅ + ⋅ + ⋅ + ⋅ + ⋅ . (3.22)

108

Page 109: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

En utilisant les développements en séries deTaylor suivants :

( ) ( )

( ) ( )

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

1 0

2 2

23

3 0

2 2

23

2 0

2 2

23

4 0

2 2

23

20

20

20

20

= + ⋅ + ⋅ + = − ⋅ + ⋅ +

= + ⋅ + ⋅ + = − ⋅ + ⋅ +

hx

hx

h hx

hx

h

hy

hy

h hy

hy

h

;

;

la relation (3.22) devient:

( ) ( ) ( )

( ) ( ) ( )[ ]

∂ ϕ∂

∂ ϕ∂

ϕ α α α α α α α∂ϕ∂

α α∂ϕ∂

α α∂ ϕ∂

α α∂ ϕ∂

2

2

2

2 0 0 1 2 3 4 1 3 2 4

2

1 3

2

2

2

2 4

2

23

1

4

2 20

x yh

xh

yh

xh

yh

+ = + + + + + − + −

+ + + + +∑ ,

+ (3.23)

de laquelle, par l'identification de coefficients, on obtient le système:

α α α α αα α

α α

α α

α α

0 1 2 3 4

1 3

2 4

1 32

2 42

00022

+ + + + =− =

− =

+ =

+ =

⎪⎪⎪

⎪⎪⎪

//

hh

ayant la solution:

α α α α α0 2 1 2 3 4 24 1

= − = = = =h h

,

de sorte que (3.22) s'écrit:

( ) ( )∂ ϕ∂

∂ ϕ∂

ϕ ϕ ϕ ϕ ϕ2

2

2

2 2 0 1 2 3 41

41 4 0x y h

h+ = − + + + + +∑ .

Donc, comme , on conclut que l'expression: ( )limh

h→∑ =

01

4

0 0

( )1 42 0 1 2 3 4

2

2

2

2h x− + + + + ≅ + =ϕ ϕ ϕ ϕ ϕ

∂ ϕ∂

∂ ϕ∂

∆ϕy

(3.24)

sera une approximation raisonnable de l'opérateur de Laplace au point 0. De ce fait, l'équation de Laplace ∆ϕ = 0 fournit la relation de calcul pour le

point central 0, à savoir : − + + + + =4 00 1 2 3 4ϕ ϕ ϕ ϕ ϕ ,

ou: (ϕ ϕ ϕ ϕ ϕ0 1 2 3 414

= + + + .) (3.25)

Procédant de la même manière sur un maillage à 9 points (fig. 3.3) on obtient une autre approximation de l'opérateur de Laplace, plus précise, sous la forme :

109

Page 110: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )[ ] ( )∂ ϕ∂

∂ ϕ∂

ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ2

2

2

2 2 0 1 2 3 4 5 6 7 841

620 4 0

x y hh+ = − + + + + + + + + + (3.26)

et évidemment, en considérant de plus en plus de points aux environs du noeud 0, il est possible de déduire d'autres expressions aux différences finies de l'opérateur de Laplace en ce point.

En tridimensionnel, avec les points comme dans la fig 3.4. et si ∆x = ∆y = ∆z = h , l'expresion de l'opérateur de Laplace sera:

∆ϕ = + + + + + −ϕ ϕ ϕ ϕ ϕ ϕ ϕ1 2 3 4 5 6 06 . (3.27)

En coordonnées cylindriques, avec les six points aux environs du noeud 0

comme dans la figure 3.5 et en dénotant les pas radial, vertical et angulaire par ∆r , ∆z , ∆Θ, l'opérateur de Laplace:

∆ϕ = ⎛⎝⎜

⎞⎠⎟+ +

⎣⎢

⎦⎥

1 1 2

2

2

2r rr

r rr

z∂∂

∂ϕ∂

∂ ϕ∂Θ

∂ ϕ∂

,

prend la forme approchée suivante :

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

∆ϕ∆

∆∆

∆ ∆Θ ∆Θ

∆ ∆ ∆ ∆Θ ∆

≅+

+−

+⎡

⎣⎢⎢

+ +

+ + − + +⎛

⎝⎜⎜

⎠⎟⎟⎤

⎦⎥⎥

1 22

22

1 1

2 1

01

02 2

02 3

02 4

02

50

2 60

2 00

20

20

2

rr r

rr r

r r r

rz

rz

rr r

rz

ϕ ϕ ϕ ϕ

ϕ ϕ ϕ

(3.28)

où r0 est la coordonnée radiale du point considéré.

110

Page 111: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.2.3. Exemple sur un domaine rectangulaire Soit la forme simple d'équation de Laplace: ∂ ϕ

∂ ϕ

2

2

2

2 0x y

+ =

(3.29)

qui caractérise un champ potentiel sur le domaine rectangulaire R (fig. 3.6) ayant les limites x = 0, x = α et respectivement y = 0, y = β. De plus, on connaît la condition du type Dirichlet :

ϕ(x, y) = f(x, y) (3.30) sur ces limites.

On suppose un maillage de même pas h = ∆x = ∆y, superposé au domaine R, il en résulte les points discrets intérieurs 1, 2, ..., 6 auxquels la solution ϕi n'est pas connue, tandis que pour les points aux limites i = 7, 8, ..., 16, la solution est précisée par la condition (3.30), donc:

ϕi = fi , i = 7, 8, ..., 16 (3.31) En utilisant le résultat (3.25) pour l'équation de Laplace, successivement, en

tous points intérieurs du maillage, on trouve le système d'équations algébriques linéaires suivant :

44

44

44

1 2 4 7 16

1 2 3 5 8

2 3 6 9 1

1 4 5

2 4 5 6 13

3 5 6 11

ϕ ϕ ϕϕ ϕ ϕ ϕ

ϕ ϕ ϕϕ ϕ ϕ

ϕ ϕ ϕ ϕϕ ϕ ϕ

− − = +− + − − =

− + − = +− + − =

− − + − =− − + = +

⎪⎪⎪

⎪⎪⎪

f fff ff fff f

0

14 15

12

+ (3.32)

Ce système a une matrice symétrique et diagonale dominante. De ce fait, toutes les méthodes itératives de résolution seront convergentes vers la solution exacte. Ces méthodes impliquent une hypothèse initiale sur la valeur de la variable dépendante en chacun des noeuds du maillage. À l'aide du système d'équations, il est possible de déterminer de nouvelles valeurs, escomptées meilleures et si ce processus itératif et répété un nombre suffisant de fois, la distribution de potentiel sur maillage sera obtenue avec la précision désirée.

On conçoit que, lorsque la dimension du maillage (le nombre de noeuds) est large, chaque pas d'itération nécessite un temps de calcul non négligeable et que, de ce fait, la vitesse de convergence est très importante.

Parmi les méthodes itératives de résolution d'un système d'équations algébriques linéaires, celle de Gauss - Seidel (ou des déplacements successifs) présente de bonnes qualités en ce qui concerne la vitesse de convergence et la demande de mémoire.

111

Page 112: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Pour application pratique, soit le maillage de figure 3.7., dans lequel chaque noeud est repéré par deux index : i (le long d'axe x) et j (le long d'axe y).

Si, par exemple, l'exploration du maillage se fait de telle sorte que le point (i, j) est traité après les points (i-1,j) et (i,j-1), mais avant le traitement des points faisant intervenir les coordonnées i+1 et j+1, la formule fournissant le calcul de ϕi,j dans l'iteration d'ordre (n+1) est

donnée par: ( ) ( ) ( ) ( ) ( )ϕ α ϕ α ϕ α ϕ α ϕi jn

i jn

i jn

i jn

i jn

, , , , ,++ −

++

+= ⋅ + ⋅ + ⋅ + ⋅11 1 2 1

13 1 4 1

1, − (3.33)

où les coefficients sont αi = 1/4 , i = 1, ..., 4 La formule (3.33) s'applique successivement aux points intérieurs d'une ligne

j, de gauche à droite et - après que ce niveau soit complété - se passe au niveau j+1 répétant la procédure. La mise en route de l'algorithme peut être faite en supposant comme hypothèse initiale ϕ(0)

i,j = 0 en tous noeuds intérieurs du maillage. Les conditions non nulles aux limites feront des corrections progressives vers l'intérieur du domaine, à mesure que les itérations avancent, de sorte qu'il sera possible d'atteindre des valeurs pour lesquelles le changement de distribution - correspondant à deux cycles successifs - sera inférieur à une valeur prédéterminée.

La vitesse de convergence peut être accélérée encore davantage en utilisant la méthode de surrelaxation successive par la formule :

( ) ( ) ( ) ( ) ( )[ ] ( ) ( )ϕ ω α ϕ α ϕ α ϕ α ϕ ω ϕi jn

i jn

i jn

i jn

i jn

i jn

, , , , , ,++ −

++ −

+= ⋅ + ⋅ + ⋅ + ⋅ + − ⋅11 1 2 1

13 1 4 1

1 1 , (3.34)

où le paramètre ω s'appele "facteur de relaxation" et sa valeur revêt une certaine importance par rapport à l'efficacité. Evidemment, si ω = 1, cette méthode se ramène à la méthode de Gauss - Seidel mais, en général, il faut adopter une valeur ω = 1,1 ÷ 1,2.

Une méthode particulièrement applicable aux systèmes bidimensionnels et celle de surrelaxation linéaire successive, qui comporte l'utilisation des valeurs de la solution approximative simultanément sur un ensemble de points situés sur la même ligne du maillage. La méthode de Peaceman-Rachford implique - après l'itération par ligne - une itération par colonne et donc, chaque itération complète comprend une double formule pour calculer ϕ(n+1)

i,j. Une autre classe de méthodes est basée sur l'application de la théorie des

probabilités. Une telle méthode, dite de Monte-Carlo, n'est pas utilisée pour déterminer la distribution du potentiel à l'intérieur d'un champ bidimensionnel, mais de façon plus limitative, pour déterminer le potentiel en quelques points particuliers. De ce fait, l'intérêt pratique sur ces méthodes est plutôt réduit.

Avant de finir, on rappelle : - que dans le cas du champ non uniforme, ou du maillage géométrique de pas

non égaux (∆x ≠ ∆y), les coefficients αi de (3.33) ont des valeurs différents ; - que pour des problèmes régis par des équations de Poisson, le deuxième

membre de la relation (3.33) doit être complété par un terme, comme α0 · Ψi,j où Ψ est

112

Page 113: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

la fonction de membre droit en (3.6) et α0 aura une expression en acord avec le schéma de résolution.

3.2.4. Opérateurs de différence au voisinage des limites du domaine Fréquemment les limites du domaine R sont irrégulières et ne coincident pas

avec les lignes du maillage superposé. Dans une telle situation, les opérateurs de différence correspondant aux noeuds au voisinage immédiat de ces limites doivent être modifiées par rapport à ceux présentés pour les points intérieurs (3.24), (3.26) etc.

Soit la limite courbe, S, de figure 3.8, sur laquelle on suppose qu'est connue une condition du type Dirichlet, c'est-à-dire ϕ =f, imposée.

Le noeud 0 du maillage s'appele noeud de la frontière et une possibilité commode serait d'allouer à ce point la valeur f, connue, d'un point quelconque de la frontière S compris entre C et D - à une distance inférieure au pas h, au voisinage de noeud 0.

Une précision augmentée peut être obtenue en utilisant les développements en séries:

( ) ( )( ) ( )

( )

( )

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

ϕ ϕ∂ϕ∂

∂ ϕ∂

1 0

2 2

23

2 0

2 2

23

3 0

2 2

23

4 0

2 2

23

20

20

20

20

= + ⋅ +⋅

+

= + ⋅ +⋅

+

= − + +

= − + +

b hx

b hx

h

a hy

a hy

h

hx

hx

h

hy

hy

h

!

!

!

!,

(3.35)

par lesquels il vient la forme suivante pour l'opérateur de Laplace aux noeuds de frontière avec condition de Dirichlet :

( ) ( )( ) ( )∆ϕ= + =

++

++

++

++

+⋅

⎣⎢

⎦⎥+

∂ ϕ∂

∂ ϕ∂

ϕ ϕ ϕ ϕ ϕ2

2

2

2 21 2 3 4 02

1 1 1 10

x y h b b a a b aa b

a bh (3.36)

La relation (3.36) fait apparaître parmi les inconnues d'un système comme

(3.32), la valeur ϕ de noeud de frontière. La matrice des coefficients perd sa symétrie mais conserve les autres propriétés.

Dans le cas des conditions aux limites du type Neumann ou Fourier, l'obtention d'un opérateur de différence sera plus difficile.

113

Page 114: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.2.5. Tracé des équipotentielles et des lignes de champ en bidimensionnel Un certain nombre de problèmes de champ potentiel peuvent être mieux

compris si on dispose de spectres des équipotentielles et des lignes de champ. On suppose que le potentiel ϕ(x, y) est connue en tous points discrets d'un

maillage superposé sur le domaine d'intérêt R. rLe champ V peut alors être détérminé par calcul numérique et donc

on admet que ses composantes Vx(x, y) et Vy(x, y) sont connues en tous points de R. = −∇ϕ

Une ligne de champ d'équation y(x) est définie par l'équation différentielle: dydx

VV

x

y

= , (3.37)

mais il serait difficile de résoudre une telle équation car on perd la symétrie entre x et y et il devient presque impossible de tracer les lignes de champ parallèles à Oy.

De ce fait, on introduit une nouvelle variable s, telle que: dxds

VV

et dyds

VV

o u V V Vx yx= = =

\2

y+ 2 (3.38)

et le problème revient à résoudre un système de deux équations différentielles [13].

Si on se définit un pas l = ∆s de tracé, on peut déterminer la suite des points Mi(xi, yi) de la ligne de champ en utilisant la méthode de Runge - Kutta du 4e ordre (beaucoup plus précise) ou la méthode d'Euler (peu précise pour un pas donné).

De façon pratique, soit un maillage rectangulaire de pas ∆x = h et ∆y = k et la fonction du potentiel, ϕ, connue dans les points discrets (i,j), (i+1,j), (i,j+1) et (i+1, j+1), comme en figure 3.9.

Pour trouver les composantes de champ au point 0 de coordonées x et y, on peut estimer ϕ0 par interpolation linéaire entre 1 et 2 sous la forme :

(ϕ ϕϕ ϕ

0 21 2

1≅ +−

− +ky y j .) (3.39)

Mais ϕ1 et ϕ2 peuvent, elles mêmes, être estimées à partir d'interpolations linéaires entre ϕi+1,j et ϕi,j d'une part et ϕi+1,j+1 et ϕi,j+1 d'autre part, il en résulte

( )( ) ( )( )[( )( ) ( )( )]

ϕ ϕ ϕ

ϕ ϕ

0 1 1 1 1

1 1 1 1

1≅

⋅⋅ − − − + − − −

− − − + − −

+ + + +

+ + + +

h kx x y y x x y y

x x y y x x y y

i j i j i j i j

i j i j i j i j

, ,

, , . (3.40)

114

Page 115: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Les dérivées de ϕ et donc les composantes de champ au point (x, y) seront estimées à partir de (3.40) sous la forme :

( ) ( )( ) ( )([ ]( )

)

( )( ) ( )( )[ ]V x y

x h ky y y y

V x yy h k

x x x x

x j i j i j j

y i i j i j i i j i j

,

,

, , , ,

, , ,

= − = −⋅

− − − − −

= − = −⋅

− − − − −

+ + + + +

+ + + + +

i j i j

,

∂ϕ∂

ϕ ϕ ϕ ϕ

∂ϕ∂

ϕ ϕ ϕ ϕ

1

1

1 1 1 1 1

1 1 1 1 1

(3.41)

Les relations (3.41) donnent les valeurs numériques des composantes Vx et Vy si les valeurs du potentiel sont connues dans les quatre points adjacents du maillage, au voisinage du point (x, y) considéré.

De ce fait, l'intégration numérique du système (3.38) par la méthode d'Euler suppose les étapes suivantes :

1) Spécifier un point de départ (en domaine R) pour la ligne de champ, soit (x0,y0) et un pas l = ∆s de tracé, donc xs=0 = x0 , ys=0 = y0 seront les conditions initiales;

2) La solution du (3.38) à s = l sera:

x x VV

y yVV

x

x y

y

x y1 0 1 0

0 0 0 0

= + ⋅⎛⎝⎜

⎞⎠⎟

= + ⋅⎛⎝⎜

⎞⎠⎟l

, ,

; l (3.42)

où les composantes Vx et Vy en (x0, y0) s'obtiennent à l'aide de (3.41) par l'inspection du maillage et la sélection des quatre points adjacents;

3) Tracer le segment de ligne (x0, y0) à (x1, y1); 4) À un pas quelconque d'algorithme, la solution sera:

x x VV

y yVVk k

x

x yk k

y

x yk k k k

+ += + ⋅⎛⎝⎜

⎞⎠⎟

= + ⋅⎛⎝⎜

⎞⎠⎟1 1l

, ,

; l (3.43)

et la ligne se trace entre (xk, yk) et (xk+1, yk+1) ; 5) L'intégration avance pas à pas et s'arrête à une certaine distance de la

frontière opposée. Si on utilise la méthode de Runge - Kutta du 4e ordre, le calcul est plus

complexe mais le principe reste le même. Les équipotentielles sont en tout point normales aux lignes de champ. On

peut donc appeler à la même méthode en l'appliquant à un "pseudo-champ" rP , dont les

composantes sont : Px = -Vy et Py = Vx. Par la suite, le système d'équations différentielles correspondant à une ligne d'équipotentielle sera :

dxds

PP

VV

dyds

PP

VV

x y

y x

= = −

= =

⎨⎪⎪

⎩⎪⎪

(3.44)

et les relations de la méthode d'Euler deviendront:

x xVV

y y VVk k

y

x yk k

x

x yk k k k

+ += − ⋅⎛⎝⎜

⎞⎠⎟ = + ⋅⎛

⎝⎜⎞⎠⎟1 1l l

, ,

; . (3.45)

115

Page 116: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Évidemment, une telle ligne peut être tracée en utilisant les valeurs des composantes de champ, données par (3.41).

PROBLÈME 3.1

* Régime thermique permanent dans une plaque plane

Soit une plaque plane de dimension L = 50 cm et H = 30 cm, ayant un côté

chauffé à une température Tb = 100ºC (à x = 0), pendant que les autres trois côtés sont maintenus à 0ºC. En régime permanent, la chaleur est conduite de sorte que la température en plaque est régie par l'équation de Laplace. Déterminer la distribution de température sur la plaque.

♦ Solution:

On choisit des pas ∆x = ∆y = h de sorte qu'il y ait un nombre entier d'intervalles, N et respectivement M d'après les deux axes x et y.

On utilise la forme (3.24) de l'opérateur de Laplace et donc on obtient la relation (3.25) pour le calcul de la température en un point (i, j) du maillage, à savoir:

( )T T T T Ti j i j i j i j i j, , , , , .= + + +− − + +14 1 1 1 1 (1)

Si on accepte comme hypothése initiale T(0)

i,j = 0 en tous points intérieurs (i = 1, ..., N-1, j = 1, ..., M-1) et la méthode de Gauss -

Seidel avec une règle d'exploration du maillage de gauche vers la droite et puis de bas vers en haut, la relation (1) devient:

( ) ( ) ( ) ( ) ( )(T T T T Ti jk

i jk

i jk

i jk

i jk

, , , , , ,+−+

−+

+ += + + +11

111

1 114 ) (2)

laquelle s'applique pour i = 1, ..., N-1 à chaque niveau j = 1, ... , M-1 et k = 0, 1, ... jusqu'à la réalisation d'une condition de convergence comme :

( ) ( )max ., , ,i j i j

ki j

kT T+ − <1 ε (3)

Cet algorithme est inclus dans le programme "P31". La procédure "temps" applique l'algorithme de Gauss - Seidel jusqu'à la

realisation de la condition (3). En utilisant le pas d'espace h = 5 cm, pour ε = 0,01°C, on obtient les résultats

inclus dans le tableau 3.1.

116

Page 117: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 3.1 Distribution de température en plaque (gr.C) (après 31 itérations, avec eps=0.010): y\x: 0 5 10 15 20 25 30 35 40 45 50 (cm) (cm)___________________________________________________ 30 100 0 0 0 0 0 0 0 0 0 0 25 100 47 25 14 8 5 3 2 1 0 0 20 100 63 38 23 14 8 5 3 2 1 0 15 100 67 43 26 16 9 6 3 2 1 0 10 100 63 38 23 14 8 5 3 2 1 0 5 100 47 25 14 8 5 3 2 1 0 0 0 100 0 0 0 0 0 0 0 0 0 0 _______________________________________________________ Program P31;

Probleme 3.1: Regime thermique permanent dans une plaque plane var l,h,pas,tb,eps:real; n,m,nm1,mm1,i,j,niter:integer; t:array[0..50,0..50]of real; PROCEDURE temp(e:real; var iter:integer); var dtmax,tij,dt:real; i,j:integer; begin iter:=0; repeat iter:=iter+1; dtmax:=0; fait l'algorithme de Gauss-Seidel a l'iter.courante for j:=1 to mm1 do for i:=1 to nm1 do begin tij:=(t[i-1,j]+t[i,j-1]+t[i+1,j]+t[i,j+1])/4; dt:=abs(tij-t[i,j]); t[i,j]:=tij; if dt > dtmax then dtmax:=dt; end; until (dtmax <= e) or (iter > 500); end; Begin Donnees d'entree: write('Dimensions L et H (cm):'); readln(l,h); write('pas h (cm)='); readln(pas); write('Temperature Tb (gr.C)='); readln(tb); n:=round(l/pas); nm1:=n-1; m:=round(h/pas); mm1:=m-1;

117

Page 118: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Conditions initiales (et aux limites)

for i:=0 to n do for j:=0 to m do t[i,j]:=0; for j:=0 to m do t[0,j]:=tb; write('erreur eps='); readln(eps); Resolution TEMP(eps,niter); Affichage writeln('Distribution de temperature en plaque (gr.C) :'); writeln('(apres',niter:4,' iterations, avec eps=',eps:8:6,')'); write('(cm)/'); for i:=0 to n do write(i*pas:5:0); write('(cm)'); writeln; for j:=m downto 0 do begin write(j*pas:5:0); for i:=0 to n do write(t[i,j]:5:0); writeln; end; write('Pause - ENTER !'); readln; End.

PROBLÈME 3.2

* Nervure de refroidissement en régime permanent

Soit le problème de nervure de refroidissement en régime permanent.

Detérminer la distribution de température dans une section transversale si : la largeur l = 10 cm, la conductivité thermique du matériau λ = 50 W·m-1·K-1, le coefficient de convection à la surface α = 50 W·m-2·K-1, la température à la base (x=0) est maintenue à Tb = 100 ºC et l'air à Ta = 10 ºC , pour les valeurs suivantes de l'épaisseur δ : 10 cm, 5 cm et 1 cm .

♦ Solution: En régime permanent, la chaleur est

conduite de sorte que la température en section est régie par l'équation de Laplace:

∂∂

∂∂

2

2

2

2 0Tx

Ty

+ = , (1)

si le nombre de Biot :

Bi =⋅α δλ

différe sensiblemment de zéro (en cas contraire, le processus sera unidimensionnel). Pour les données du problème il vient Bi = 0,1 ; 0,05 et 0,01. Aux côtés x = l, y = 0 et y = δ doit être imposée la condition :

( )q T T Tns a= − = − ⎛

⎝⎜⎞⎠⎟

α λ∂∂

, (2)

118

Page 119: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où q est le flux de chaleur cédé par convection au milieu environnemental, Ts représente la température à la surface et n la direction normale à la surface.

La résolution sera identique à celle du Problème 3.1, à l'exception des conditions aux limites régies par (2).

En tous points intérieurs s'applique la relation (1) du Problème 3.1. En un point (N, j) sur la frontiére x = l, l'opérateur de Laplace peut être

approximé en tenant compte de condition (2) et des développements en séries deTaylor:

T T h Tx

h Tx

T T h Ty

h Ty

T T h Ty

h Ty

N j N j

N j N j

N j N j

+

= − ⎛⎝⎜

⎞⎠⎟+

⎛⎝⎜

⎞⎠⎟

= +⎛⎝⎜

⎞⎠⎟ +

⎛⎝⎜

⎞⎠⎟

= −⎛⎝⎜

⎞⎠⎟ +

⎛⎝⎜

⎞⎠⎟

1

2 2

2

1

2 2

2

1

2 2

2

2

2

2

, ,

, ,

, , ,

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

où les dérivées correspondent au noeud (N, j). On obtient la relation :

( ) ( )Tr

T T T r TN j N j N j N j a, , , , ,=+

+ + + ⋅− − +1

421 1 1 (3)

pour j = 1, ..., M-1 , où r = (2α·h)/λ. De la même manière, pour un point (i, M) sur la frontière y = δ, on déduit:

( ) ( )Tr

T T T r Ti M i M i M i M a, , , , ,=+

+ + + ⋅− − +1

421 1 1 (4)

i = 1, ... N-1 et pour un point (i, 0) sur la frontière y = 0 on obtient:

( ) (Tr

T T T r Ti i i i, , , , ,0 1 0 1 1 01

42=

++ + + ⋅− + )a (5)

i = 1, ..., N-1 Dans les coins (N,0) et (N,M) on suppose

des valeurs extrapolées, en utilisant les valeurs trouvées dans les noeuds N-3 et N-2 de même niveau j (à savoir : 0 ou M). L'extrapolation linéaire doit être faite - à chacune itération globale - avant de calculer la valeur TN-1,j à l'itération courante, par la formule:

( ) ( ) ( )T T TN Mn

N Mn

N Mn

, ,+

−+

−+= −1

21

313 2 , ;

puis on applique la relation (4) dans le point i = N-1, pour déduire T(n+1)

N-1,M. Le programme "P32"fournit les résultats suivants, lesquels sont presentés

dans le tableau 3.2 pour la moitié supérieure d'épaisseur (symétrie), aux diverses valeurs de x.

119

Page 120: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Tableau 3.2.

x (cm) y (cm)

0

2

4

6

8

10

10 100 94,2 90,0 86,6 83,9 81,3 cas δ = 10 cm 9 100 94,8 90,7 87,3 84,6 82,5 pas h = 1 cm ; 8 100 95,3 91,2 87,8 85,1 83,2 ε = 0,01 7 100 95,5 91,6 88,2 85,6 83,7 372 itérations 6 100 95,7 91,8 88,4 85,8 83,9 processus 5 100 95,7 91,8 88,5 85,9 84,0 bidimensionnel 5 100 91,6 85,3, 80,3 76,8 74,3 cas δ = 5 cm 4,5 100 92,0 85,6 80,6 77,1 74,8 pas h = 0,5 cm ; 4,0 100 92,2 85,8 80,9 77,3 75,2 ε = 0,01 3,5 100 92,4 86,0 81,1 77,5 75,5 947 itérations 3,0 100 92,5 86,1 81,2 77,6 75,5 processus encore 2,5 100 92,5 86,2 81,2 77,6 75,5 bidimensionnel 1 100 76,5 59,2 47,1 39,6 36,2 cas δ = 1 cm 0,8 100 76,6 59,3 47,1 39,6 36,4 pas h=0,2cm 0,6 100 76,7 59,3 47,1 39,6 36,5 ε = 0,01 1774 itérations processus unidimensionnel

On constate que les résultats du troisième cas (l = 10 cm, δ = 1 cm, nombre de

Biot Bi = 0,01) valident l'hypothèse faite habituellement sur le caractère unidimensionnel du processus.

À l'aide des ces résultats il est possible d'évaluer la chaleur dissipée par la nervure sur l'unité de longueur (1 m) et l'efficacité de la nervure, η (définie comme le rapport entre la chaleur dissipée à la température réelle de la surface et respectivement la chaleur dissipée si la surface avait la température de base Tb = 100ºC). On obtient :

- dans le cas δ = 10 cm : Q ≅ 1156 W ; η = 0,856 ; - dans le cas δ = 1 cm : Q ≅ 504 W ; η = 0,509.

Les données d'entrée sont déclarées comme constantes, exceptant δ, h et ε,lesquelles sont introduites à l'execution.

Program P32;

120

Probleme 3.2: Nervure de refroidissement en regime permanent const ta=10.0; tb=100.0; lamda=50.0; alfa=50.0; ll=10.0; var l,h,pas,eps,rap:real; n,m,nm1,mm1,i,j,niter,ia:integer; t:array[0..60,0..60]of real; PROCEDURE temp(e:real; var iter:integer);

Page 121: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

var dtmax,tij,dt:real; i,j:integer;

begin iter:=0; repeat iter:=iter+1; dtmax:=0; fait l'algorithme de Gauss-Seidel l'iter. courante noeuds interieurs for j:=1 to mm1 do for i:=1 to nm1 do begin tij:=(t[i-1,j]+t[i,j-1]+t[i+1,j]+t[i,j+1])/4; dt:=abs(tij-t[i,j]); t[i,j]:=tij; if dt > dtmax then dtmax:=dt; end; sur frontieres for i:=1 to nm1 do begin tij:=(t[i-1,m]+t[i+1,m]+2*t[i,m-1]+rap*ta)/(4+rap); dt:=abs(tij-t[i,m]); t[i,m]:=tij; if dt > dtmax then dtmax:=dt; tij:=(t[i-1,0]+t[i+1,0]+2*t[i,1]+rap*ta)/(4+rap); dt:=abs(tij-t[i,0]); t[i,0]:=tij; if dt > dtmax then dtmax:=dt; if i=n-2 then begin t[n,m]:=3*t[n-2,m]-2*t[n-3,m]; t[n,0]:=3*t[n-2,0]-2*t[n-3,0]; end; end; for j:=1 to mm1 do begin tij:=(t[n,j-1]+t[n,j+1]+2*t[n-1,j]+rap*ta)/(4+rap); dt:=abs(tij-t[n,j]); t[n,j]:=tij; if dt > dtmax then dtmax:=dt; end; until (dtmax <= e) or (iter > 2000); end; Begin write('Epaisseur et pas spatiel (cm)='); readln(h,pas); l:=ll/100; h:=h/100; pas:=pas/100; rap:=2*alfa*pas/lamda; n:=round(l/pas); nm1:=n-1; ia:=round((n+1)/10); m:=round(h/pas); mm1:=m-1; Conditions initiales for i:=0 to n do for j:=0 to m do t[i,j]:=ta;

121

Page 122: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for j:=0 to m do t[0,j]:=tb;

write('erreur eps='); readln(eps); writeln('Programme en execution !'); Resolution TEMP(eps,niter); Affichage writeln('Distribution de temperature en nervure (gr.C) :'); writeln('(apres',niter:4,' iterations, avec eps=',eps:8:6,')'); write('(cm)/'); for i:=0 to n do if (i mod ia) = 0 then write(100*i*pas:5:1); write('(cm)'); writeln;

for j:=m downto 0 do begin write(100*j*pas:4:1,' '); for i:=0 to n do if (i mod ia) = 0 then write(t[i,j]:5:1); writeln; end; write('Pause - ENTER !'); readln; End.

PROBLÈME 3.3

* Fil de garde pour protéger les lignes haute - tension

Pour protéger les lignes haute - tension des perturbations orageuses, on les

surmonte d'un fil porté au potentiel du sol, il en résulte un champ électrique fortement atténué dans les points de l'espace situés sous le fil de garde [13].

Modéliser ce système sur un domaine carré dans le plan xOy, ayant l'origine des axes au centre du carré et le côté 20·h, si: le sol est représenté par la ligne y = -10h ; le nuage chargé est placé à y = 10h et chargé à un potentiel V = 9V0 ; le fil de garde est perpendiculaire au plan xOy, dans le point de coordonnées (0,-5h) ayant un potentiel nul; les deux côtés parallèles à l'axe Oy sont supposés très éloignés, avec le potentiel décroissant régulièrement depuis le nuage jusqu'au sol.

Calculer le potentiel aux noeuds du maillage carré de pas h et les deux composantes du champ électrostatique dans un point quelconque de coordonnées (uh , vh) du domaine.

Tracer les lignes de champ E issues des points de coordonnées: (2j·h, 10h) , j = -4, ..., 4

et les équipotentielles passant par les points de coordonnées : (-10, 2k·h) , k = -4, ..., 4 ♦ Solution:

Soit le domaine analysé comme dans la figure et un maillage superposé ayant 21 niveaux discrets de pas h, le longue de chaque axe :

i = -10, ..., 0, ... , 10 sur Ox et j = -10, ..., 0, ... , 10 sur Oy.

Le champ de potentiel V est régi par l'équation de Laplace et peut être calculé avec la relation (3.25), en tenant compte des conditions aux limites et du potentiel nul au

122

Page 123: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

point correspondant au fil de garde. Ces conditions sont introduits par la procédure "limites".

Dans la procédure "potentiel"

est réalisé l'algorithme de Gauss - Seidel en accord avec (3.33), jusqù à atteindre une condition de convergence comme:

( ) ( )max, , ,i j i j

ni jnϕ ϕ+ − ≤1 ε

ou le dépassement de 500 itérations. Après chaque itération est appelée la procédure "limites" pour actualiser les conditions aux limites (ce n'est pas nécessaire dans ce problème) et à l'intérieur du domaine (refaire V = 0 au noeud du fil de garde).

La procédure "afisv" est utilisée si les valeurs du potentiel sont inférieures à 100 (V0 ≤ 11) pour afficher sur l'écran ces valeurs en tous points discrets du domaine, en reproduisant la position de la figure ci-dessus.

Dans la procédure "afise" sont calculées les deux composantes du champ électrostatique, Ex et Ey, en un point (x,y), où x et y sont des coordonnées sans dimension (contenues entre -10 et 10). L'évaluation est faite par la procédure "champ", dans laquelle sont utilisées les relations (3.41). Les résultats sont affichés, successivement, pour chacun des points désirés. Pour passer à une autre opération, il faut indiquer une coordonnée en dehors du domaine (-10, 10).

Enfin, les deux procédures "linchamp" et "equipot" tracent les lignes de champ et les équipotentielles sur l'écran graphique, en utilisant la méthode de Runge - Kutta du 4e ordre pour intégrer les systémes d'équations différentielles (3.38) et (3.44). Le pas d'intégration a été choisi : l = 0,1. Le paramètre d est un facteur d'échelle (égal à l'unité dans ce problème).

On constate la protection efficace réalisée par le fil de garde, qui assure un potentiel réduit dans l'espace au-dessous (figure 3.15).

PROGRAM P33;

Probleme 3.3 - Fil de garde pour protejer les lignes haute-tension uses crt,graph; var pot:array[-10..10,-10..10]of real; niter,j,gd,gm:integer; v0,eps:real; PROCEDURE Limites; var i:integer;

123

Page 124: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

begin

for i:=-10 to 10 do begin pot[i,-10]:=0; pot[i,10]:=9*v0; pot[-10,i]:=4.5*v0*(1+i/10); pot[10,i]:=pot[-10,i]; end; pot[0,-5]:=0; end; PROCEDURE Potentiel(e:real; var iter:integer);

var i,j:integer; dpot,pij,dpij:real; begin for i:=-10 to 10 do for j:=-10 to 10 do pot[i,j]:=0; LIMITES; iter:=0; repeat iter:=iter+1; calcul sur iteration dpot:=0; for j:=-9 to 9 do for i:=-9 to 9 do begin pij:=(pot[i-1,j]+pot[i,j-1]+pot[i+1,j]+pot[i,j+1])/4; if (i=0) and (j=-5) then pij:=0; ligne pour ce probleme !! dpij:=abs(pij-pot[i,j]); pot[i,j]:=pij; if dpij > dpot then dpot:=dpij; end; LIMITES; until (dpot <= e) or (iter > 300); end; PROCEDURE Afisv(n:integer); var i,j:integer; begin ClrScr; for j:=10 downto -10 do for i:=-10 to 10 do begin GotoXY(31+i*3,12-j); write(pot[i,j]:3:0) end; gotoxy(70,10); write(n:4,'iter'); gotoxy(1,25); gotoxy(70,15); write('Fin'); gotoxy(70,20); write('ENTER'); readln; end; PROCEDURE Champ(x,y:real; var ex,ey:real); var x1,y1,x2,y2:integer; v11,v12,v21,v22:real;

124

Page 125: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

begin

if x >= 0 then x1:=trunc(x) else x1:=trunc(x)-1; if y >= 0 then y1:=trunc(y) else y1:=trunc(y)-1; y2:=y1+1; x2:=x1+1; v11:=pot[x1,y1]; v12:=pot[x1,y2]; v21:=pot[x2,y1]; v22:=pot[x2,y2]; ex:=-((y-y1)*(v22-v12)-(y-y2)*(v21-v11)); ey:=-((x-x1)*(v22-v21)-(x-x2)*(v12-v11));

end; PROCEDURE Afise; var x,y,ex,ey:real; begin writeln('Calcule composantes du champ si -10<x<10 !'); repeat write('x desire='); readln(x); write('y desire='); readln(y); if ((x>=-10) and (x<=10)) and ((y>=-10) and (y<=10)) then begin CHAMP(x,y,ex,ey); writeln('Ex=',ex:7:2,' ; Ey=',ey:7:2); end; until (x < -10) or (x > 10); end; PROCEDURE Ecran(x,y:real; var xecr,yecr:integer); begin xecr:=270+round(26*x); yecr:=210-round(20*y); end; PROCEDURE Linchamp(d,l,x,y:real); var s,ex,ey,k1,k2,k3,k4,l1,l2,l3,l4:real; i,xe,ye,xe1,ye1:integer; fin:boolean; begin fin:=false; ecran(x/d,y/d,xe,ye); repeat xe1:=xe; ye1:=ye; CHAMP(x,y,ex,ey); if y < -9 then l:=l/10; s:=l/sqrt(sqr(ex)+sqr(ey)); k1:=s*ex; l1:=s*ey; CHAMP(x+k1/2,y+l1/2,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k2:=s*ex; l2:=s*ey; CHAMP(x+k2/2,y+l2/2,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k3:=s*ex; l3:=s*ey; CHAMP(x+k3,y+l3,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey));

125

Page 126: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

k4:=s*ex; l4:=s*ey;

x:=x+(k1+2*k2+2*k3+k4)/6; y:=y+(l1+2*l2+2*l3+l4)/6; if (y <-10) then fin:=true else begin ecran(x/d,y/d,xe,ye); line(xe1,ye1,xe,ye); if (abs(xe-xe1)<=1) and (abs(ye-ye1)<=1) then fin:=true; end; until fin; end; PROCEDURE Equipot(d,l,x,y:real); var s,ex1,ex2,ex3,ex4,ey1,ey2,ey3,ey4:real; i,xe,ye,xe1,ye1:integer; fin:boolean; begin fin:=false; ecran(x/d,y/d,xe,ye); repeat xe1:=xe; ye1:=ye; CHAMP(x,y,ex1,ey1); s:=l/sqrt(sqr(ex1)+sqr(ey1)); CHAMP(x-ey1*s/2,y+ex1*s/2,ex2,ey2); CHAMP(x-ey2*s/2,y+ex2*s/2,ex3,ey3); CHAMP(x-ey3*s,y+ex3*s,ex4,ey4); y:=y+s/6*(ex1+2*ex2+2*ex3+ex4); x:=x-s/6*(ey1+2*ey2+2*ey3+ey4); if (x > 9.5) then fin:=true else begin ecran(x/d,y/d,xe,ye); line(xe1,ye1,xe,ye); end; until fin; end; BEGIN write('Potentiel v0='); readln(v0); write('erreur eps='); readln(eps); writeln('En execution !'); POTENTIEL(eps,niter); if v0 <= 10 then AFISV(niter); clrscr; AFISE; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); rectangle(10,10,530,410); line(270,10,270,410); line(10,210,530,210); setcolor(11); outtextxy(10,425,'Lignes de champ');

126

Page 127: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for j:=-4 to 4 do LINCHAMP(1,0.2,2*j,9.5);

setcolor(15); outtextxy(305,425,'Lignes equipotentielles'); for j:=-4 to 4 do EQUIPOT(1,0.2,-9.5,2*j); outtextxy(280,390,'Probleme 3.3 - Fil de garde'); repeat until keypressed; closegraph; END.

Fig. 3.15

127

Page 128: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

PROBLÈME 3.4

* Écoulement potentiel dans un bassin carré

Soit un bassin carré, alimenté sur un côté latéral avec de l'eau à une vitesse

uniformément égale à vam = -1 m·s-1. Sur le côté opposé, il y a un orifice de largeur l = a/5, placé à une distance d = a/5 de la paroi inférieure. Admettant l'écoulement fluide comme potentiel et bidimensionnel, déterminer le champ du potentiel de la vitesse en bassin et les composantes de la vitesse dans un point quelconque (x,y). Tracer les lignes de courant issues des 10 points sur la frontière en amont et les équipotentielles passant par 10 points uniformément espacés sur la frontière supérieure. On note par a - la dimension caractéristique du carré.

♦ Solution: Pour bénéficier des

résultats et des procédures déjà réalisées dans le problème antérieur, soit le système de coordonnés xOy et le maillage superposé comme dans la figure contiguë.

De ce fait, l'orifice en aval correspond aux coordonnées sans dimension (-10,-6) et (-10, -2).

L'écoulement potentiel suppose un fluide idéal (ρ = constant et ν = 0) avec le rotationnel de la vitesse nul (irrotationnel):

∂∂

∂vy

vx

x y− = 0

(1)

Si on admet le potentiel de la vitesse , ϕ(x, y), de sorte que:

vx

et vyx y= − = −

∂ϕ∂

∂ϕ∂

,

l'équation de continuité devienne : ∂∂

∂∂ ϕ∂

∂ ϕ∂

vx

vy x y

oux y+ = − − = =2

2

2

2 0 ∆ϕ ,0 (2)

c'est-à-dire l'équation de Laplace. En dénotant par Ψ la fonction de courant (vx = ∂Ψ/∂y et vy = -∂Ψ/∂x), la

condition de rotationnel nul donne alors : ∂∂

∂∂

2

2

2

2 0Ψ Ψ∆Ψ

y x+ = =

128

Page 129: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

c'est-à-dire une autre équation du type de Laplace. La résolution du problème est donnée pour l'équation (2), en tenant compte du

programme "P33". Mais dans ce cas, les conditions aux limites seront différentes. La vitesse est tangente aux parois solides et donc, au voisinage des parois, la

variation du potentiel peut être considéré comme nulle dans la direction normale. Cette condition sera introduite en imposant des valeurs égales pour ϕ aux niveaux j = -10 et j = -9 , d'une part, et j = 10 et j = 9 , d'autre part - pour les côtés horizontaux, et respectivement aux niveaux i = -10 et i = -9 en dehors d'orifice, au voisinage de côté en aval.

Sur le côté en amont, en estimant la dérivée par un développement du premier ordre, on peut écrire: ( ) ( )ϕ ϕ10 9, ,j j

hvam

−= −

, d'où

(4) ( ) ( )ϕ ϕ10 9 1010, , ,

_____j j h v jam= − ⋅ = − ,

et sur l'orifice en aval: ( ) ( )ϕ ϕ− − −

= −9 10, ,j j

hvav , d'où ( ) ( )ϕ ϕ− = − + ⋅ = − −10 9 6 2, , , ,

_ _ _ _ _j j h v jav .

Si le pas du maillage h = 1, l'équation de continuité donne vav = 5·vam, c'est-à-dire vav = -5 m·s-1. Les conditions ci-dessus mentionnées sont incluses dans la procédure "limites", appropriée au problème.

Les lignes de courant sont tracées par les points (10,2j),j = -4, ..., 4 et les équipotentielles des points (2i, 10), i = -4, ... , 4.

À l'exception de la procédure "limites" et de quelques lignes des procédures "linchamp" et "equipot" et du programme principal, le programme "P34" est pratiquemment identique au "P33".

Les composantes de la vitesse dans certains points en domaine, se trouvent dans le tableau 3.3 (vam = -1 m·s-1, ε = 0,01 , 300 itérations).

Tableau 3.3.

xi yi vx vy -8 8 -0,11 -0,13 -4 8 -0,53 -0,10 0 8 -0,83 -0,06 4 8 -0,93 -0,03 -8 0 -0,71 -1,76 -4 0 -1,25 -0,75 0 0 -1,13 -0,35 4 0 -1,06 -0,19 -8 -8 -0,85 0,50 -4 -8 -1,61 0,02 0 -8 -1,36 -0,03 4 -8 -1,17 -0,02

129

Page 130: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Dans la figure 3.17 est inclu le spectre des lignes de courant et des équipotentielles et le tableau 3.4 contient le potentiel de la vitesse dans les noeuds du maillage. Tableau 3.4.

Potentiel de la vitesse en bassin --------------------------------------------------------------------------------------- -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 1 2 3 4 5 6 7 8 9 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 1 2 3 4 5 6 7 8 9 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 0 1 2 3 4 5 6 7 8 9 -5 -5 -5 -5 -5 -4 -3 -3 -2 -1 -1 0 1 2 3 4 5 6 7 8 9 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -1 0 1 2 3 4 5 6 7 8 9 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 2 3 4 5 6 7 8 9 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -0 1 2 3 4 5 6 7 8 9 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 0 1 2 3 4 5 6 7 8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 -11-11-10-10 -9 -8 -7 -5 -4 -3 -2 -1 -0 1 2 3 4 5 6 7 8 -13-13-12-11-10 -9 -7 -6 -5 -4 -3 -1 -0 1 2 3 4 5 6 7 8 -16-16-14-13-11-10 -8 -7 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 8 -25-20-17-14-12-10 -9 -7 -6 -4 -3 -2 -1 0 2 3 4 5 6 7 8 -27-22-18-15-13-11 -9 -8 -6 -5 -3 -2 -1 0 1 2 4 5 6 7 8 -28-23-19-16-14-12-10 -8 -7 -5 -4 -2 -1 0 1 2 3 5 6 7 8 -28-23-19-16-14-12-10 -8 -7 -5 -4 -3 -1 -0 1 2 3 4 6 7 8 -27-22-19-16-14-12-10 -9 -7 -6 -4 -3 -1 -0 1 2 3 4 5 6 7 -19-19-17-16-14-12-10 -9 -7 -6 -4 -3 -2 -0 1 2 3 4 5 6 7 -17-17-16-15-13-12-10 -9 -7 -6 -4 -3 -2 -0 1 2 3 4 5 6 7 -16-16-16-15-13-12-10 -9 -7 -6 -4 -3 -2 -0 1 2 3 4 5 6 7 -16-16-16-15-13-12-10 -9 -7 -6 -4 -3 -2 -0 1 2 3 4 5 6 7

PROGRAM P34;

Probleme 3.4: Ecoulement potentiel dans un bassin carre uses crt,graph; var pot:array[-10..10,-10..10]of real; niter,j,gd,gm:integer; v0,eps:real; PROCEDURE Limites; var i:integer; begin for i:=-10 to 10 do begin pot[i,-10]:=pot[i,-9]; pot[i,10]:=pot[i,9]; pot[10,i]:=pot[9,i]-v0; if (i>=-6) and (i<=-2) then pot[-10,i]:=pot[-9,i]+5*v0

130

Page 131: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

else pot[-10,i]:=pot[-9,i];

end; end; PROCEDURE Potentiel(... voir Probleme 3.3 ...); ............................................... PROCEDURE Afisv(... voir Probleme 3.3 ...); ........................................... PROCEDURE Champ(... voir Probleme 3.3 .....); .............................................. PROCEDURE Afise; .... voir Probleme 3.3 .... PROCEDURE Ecran(.. voir Probleme 3.3 ......); ............................................ PROCEDURE Linchamp(d,l,x,y:real); var s,ex,ey,k1,k2,k3,k4,l1,l2,l3,l4:real; i,xe,ye,xe1,ye1:integer; fin:boolean; begin fin:=false; ecran(x/d,y/d,xe,ye); repeat xe1:=xe; ye1:=ye; CHAMP(x,y,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k1:=s*ex; l1:=s*ey; CHAMP(x+k1/2,y+l1/2,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k2:=s*ex; l2:=s*ey; CHAMP(x+k2/2,y+l2/2,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k3:=s*ex; l3:=s*ey; CHAMP(x+k3,y+l3,ex,ey); s:=l/sqrt(sqr(ex)+sqr(ey)); k4:=s*ex; l4:=s*ey; x:=x+(k1+2*k2+2*k3+k4)/6; y:=y+(l1+2*l2+2*l3+l4)/6; if (x < -9.8) then fin:=true else begin ecran(x/d,y/d,xe,ye); line(xe1,ye1,xe,ye); end; until fin; end; PROCEDURE Equipot(d,l,x,y:real); var s,ex1,ex2,ex3,ex4,ey1,ey2,ey3,ey4:real; i,xe,ye,xe1,ye1:integer; fin:boolean;

131

Page 132: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

begin

fin:=false; ecran(x/d,y/d,xe,ye); repeat xe1:=xe; ye1:=ye; CHAMP(x,y,ex1,ey1); s:=l/sqrt(sqr(ex1)+sqr(ey1)); CHAMP(x-ey1*s/2,y+ex1*s/2,ex2,ey2); CHAMP(x-ey2*s/2,y+ex2*s/2,ex3,ey3); CHAMP(x-ey3*s,y+ex3*s,ex4,ey4); y:=y+s/6*(ex1+2*ex2+2*ex3+ex4); x:=x-s/6*(ey1+2*ey2+2*ey3+ey4); if (y < -9.5) then fin:=true else begin ecran(x/d,y/d,xe,ye); line(xe1,ye1,xe,ye); end; until fin; end; BEGIN write('Vitesse v0 (atention au sign !)='); readln(v0); write('erreur eps='); readln(eps); writeln('Programme en execution !'); POTENTIEL(eps,niter); if v0 <= 20 then AFISV(niter); clrscr; AFISE; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); rectangle(10,10,530,410); line(270,10,270,410); line(10,210,530,210); setcolor(11); outtextxy(10,425,'Lignes de champ'); for j:=-4 to 4 do LINCHAMP(1,0.1,9.5,2*j); setcolor(15); outtextxy(305,425,'Lignes equipotentielles'); for j:=-4 to 4 do EQUIPOT(1,0.1,2*j,9); outtextxy(20,400,'Probleme 3.4-Ecoulement potentiel'); repeat until keypressed; closegraph; END.

132

Page 133: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Fig. 3.17.

PROBLÈME 3.5

* Flexion d'une plaque uniformément chargée

On admet une plaque carrée, de côté L = 1 m et d'épaisseur δ = 0,5 cm,

simplement appuyée sur son contour. Déterminer les déplacements verticaux w(x, y) si la plaque est soumise à une

charge uniformément répartie q = 7 kN·m-2 sur l'unité de surface et si le matériau a un coefficient de Poisson ν = 0,3 et un module de Young E = 2,1·105 MN·m-2 [3].

♦ Solution: La deflexion de la plaque, w, est régie de l'équation dite "biharmonique":

∇ = + + =44

4

4

2 2

4

42w wx

wx y

wy

qD

∂∂

∂∂ ∂

∂∂

, (1)

avec les conditions aux limites:

w wn

= 02

2; ∂∂

= 0 , (2)

133

Page 134: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où n dénote la normale à la frontière. Le module de rigidité

cylindrique, D, est donné par la relation:

( )D E=

⋅−δν

3

212 1, (3)

dans laquelle: E représente le module de Young, ν - le coefficient de Poisson du matériau et δ - l'épaisseur de la plaque .

En introduisant la variable auxiliaire u = ∇2w = ∆w, le problème revient à résoudre, successivement, les

deux problèmes suivants :

et puis

u qD

u

w u w

avec les conditions aux ites

avec les conditions aux ites

= =

= =

⎧⎨⎪

⎩⎪

lim ( )

lim ( )

0

0

4

5

Il est bien évident que, si:

u w wx

wy

= = +∆∂∂

∂∂

2

2

2

2 ,

alors:

∆ux

wx

wy y

wx

wy

= +⎛⎝⎜

⎞⎠⎟ + +

⎛⎝⎜

⎞⎠⎟

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

2

2

2

2

2

2

2

2

2

2

2

2 ,

c'est-à-dire le terme gauche de l'équation (1). Donc, il faut résoudre deux problèmes du type de Poisson, de la forme

générale: ( )∆ϕ Ψ= x y, . (6)

Avec un pas h = ∆x = ∆y constant, la relation utilisée dans la méthode de Gauss - Seidel prend la forme:

( ) ( ) ( ) ( ) ( )[ ]ϕ ϕ ϕ ϕ ϕi jn

i jn

i jn

i jn

i jn

i jh, , , , , .++ −

++ −

+= + + + − ⋅11 1

11 1

1 214

Ψ , (7)

À la première résolution, la fonction Ψ sera une constante sur le domaine d'intérêt (Ψ = q/D), mais à la résolution de l'équation (5), elle diffère de point à point sur ce domaine (Ψ = u(x, y)).

Un maillage de pas h = L/N est superposé sur la surface de la plaque et la relation (7) est successivement appliquée aux noeuds intérieurs i, j = 1, ..., N-1, en appelant la procédure "poisson" deux fois, une fois pour résoudre l'équation (4), et puis pour résoudre l'équation (5).

En utilisant N = 8 et ε = 10-6, la solution

134

Page 135: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

pour u(x, y) est obtenue après 68 itérations. La solution w(x,y), à savoir les déplacements verticaux de la plaque (en mm),

résulte après 49 itérations comme dans le tableau 3.5. Tableau 3.5

Distribution de w (mm), apres 49 iter.: y(cm): 0 13 25 38 50 63 75 88 100 x(cm) 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 13 0.0 1.9 3.5 4.4 4.7 4.4 3.5 1.9 0.0 25 0.0 3.5 6.2 8.0 8.5 8.0 6.2 3.5 0.0 38 0.0 4.4 8.0 10.2 11.0 10.2 8.0 4.4 0.0 50 0.0 4.7 8.5 11.0 11.8 11.0 8.5 4.7 0.0 63 0.0 4.4 8.0 10.2 11.0 10.2 8.0 4.4 0.0 75 0.0 3.5 6.2 8.0 8.5 8.0 6.2 3.5 0.0 88 0.0 1.9 3.5 4.4 4.7 4.4 3.5 1.9 0.0 100 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

PROGRAM P35;

Probleme 3.5: Flexion d'une plaque uniformement chargee const eps=1.e-6; l=1.0; delt=5.0; E=2.1e+5; niu=0.3; type vect=array[0..21,0..21]of real; var npas,i,j,niter:integer; u,w:vect; delta,q,term,pas,pas2,d:real; PROCEDURE Limites(n:integer; var phi:vect); var i:integer; begin for i:=0 to n do begin phi[0,i]:=0; phi[n,i]:=0; phi[i,0]:=0; phi[i,n]:=0; end; end; PROCEDURE Afis(n:integer; h:real; f:vect); var i,j:integer; begin write('y(cm):'); for j:=0 to n do write(100*j*h:7:0); writeln; writeln('x(cm)'); for i:=0 to n do begin write(100*h*i:6:0);

135

Page 136: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for j:=0 to n do write(1000*f[i,j]:7:1); writeln;

end; end; PROCEDURE Poisson(n:integer;e,rap:real;var phi,psi:vect;var iter:integer); var i,j:integer; dphi,phiij,dphiij:real; begin for i:=0 to n do for j:=0 to n do phi[i,j]:=0;

LIMITES(n,phi); iter:=0; repeat iter:=iter+1; dphi:=0; for j:=1 to n-1 do for i:=1 to n-1 do begin phiij:=(phi[i-1,j]+phi[i,j-1]+phi[i+1,j]+phi[i,j+1]- rap*psi[i,j])/4; dphiij:=abs(phi[i,j]-phiij); phi[i,j]:=phiij; if dphiij > dphi then dphi:=dphiij; end; LIMITES(n,phi); until (dphi <= e) or (iter > 500); end; BEGIN Donnees d'entree: delta:=0.001*delt; write('Charge unitaire q(kN/m2)='); readln(q); write('Nombre de pas npas='); readln(npas); pas:=l/npas; pas2:=sqr(pas); d:=1.e+6*E*delta*sqr(delta)/(1-sqr(niu))/12; term:=1.e+3*q/d; for i:=0 to npas do for j:=0 to npas do w[i,j]:=term; POISSON(npas,eps,pas2,u,w,niter); writeln('Distribution de var. aux. u, apres',niter:4,' iter.:'); AFIS(npas,pas,u); writeln('ENTER !'); readln; POISSON(npas,eps,pas2,w,u,niter); writeln('Distribution de w (mm), apres',niter:4,' iter.:'); AFIS(npas,pas,w); writeln('Pause - ENTER !'); readln; END.

136

Page 137: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.3. Traitement numérique des équations aux dérivéés

partielles du type parabolique 3.3.1. Expressions analytiques et domaines physiques d'intérêt Les équations paraboliques se rencontrent sous certaines formes classiques,

correspondant particulièrement à l'équation dite "de diffusion" . En coordonnées cartésiennes et trois dimensions, cette équation a l'expression suivante

( ) ( ) ( )∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂

∂ϕ∂x

x y zx y

x y zy z

x y zz

Ktx y z, , , , , ,⎡

⎣⎢⎤⎦⎥+

⎣⎢

⎦⎥ +

⎡⎣⎢

⎤⎦⎥= (3.46)

Si les grandeurs σx , σy et σz sont des constantes égales indépendantes des

variables d'espace. l'équation de diffusion prend la forme plus simple ∂ ϕ

∂ ϕ

∂ ϕ

∂ϕ

2

2

2

2

2

2x y zK

t+ + =

ou

∆ϕ

∂ϕ∂

= Kt

(3.47)

en utilisant l'opérateur de Laplace. En coordonnées cylindriques, l'équation de diffusion devient ∂ ϕ

∂ϕ

∂ ϕ

∂θ

∂ ϕ

∂ϕ

2

2 2

2

2

2

21 1

r r r r zK

t+ ⋅ + ⋅ + =

(3.48)

Ces expressions correspondent à la forme la plus élémentaire, dans laquelle σ

x , σy et σz représentent la conductivité dans les directions x, y et respectivement z, tandis que K correspond à l'élément ou paramètre accumulateur d'énergie potentielle.

Si le phénomène de diffusion est combiné avec un processus de transport massique, l'équation parabolique correspondante sera de la forme

∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂

∂∂

σ∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂x x y y z z

ux

vy

wz

Ktx y z

⎛⎝⎜

⎞⎠⎟+

⎛⎝⎜

⎞⎠⎟ +

⎛⎝⎜

⎞⎠⎟+ + + = (3.49)

avec u, v et w les composantes de la vitesse le long des trois axes de coordonnées.

Cette famille d'équations gouverne un grand nombre des phénomènes transitoires. Les domaines de la physique régis par des équations paraboliques correspondent à des champs dont la divergence est proportionnelle à la dérivée première de la fonction du potentiel par rapport au temps. Donc, les équations aux dérivées partielles du type parabolique caractérisent le comportement dynamique des champs physiques qui contiennent un paramètre dissipateur d'énergie, aussi bien que l'un des deux paramètres accumulateurs d'énergie soit potentielle, soit cinétique. On constate que, dans de tels systèmes, le temps est l'une des variables indépendantes.

Parmi les applications physiques de telles équations paraboliques, il convient de citer :

137

Page 138: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- En thermodynamique - où le transfert de chaleur comporte l'existence de résistances thermiques et de capacités thermiques, la température étant alors la fonction potentielle (la variable référencée), tandis que le flux thermique est la variable non référencée. L'analyse de tels systèmes est compliquée par des non-linéarités de paramètres (la conductivité thermique et la chaleur spécifique sont des fonctions de temperature) et par les effets de changement d'état (fusion ou vaporisation). L'énergie thermique peut être changée aux frontières du système soit par conduction, soit par convexion, soit par radiation. Par exemple - la conduction non-permanente de la chaleur dans une barre métalique est régie par l'équation suivante

∂∂

λ∂∂

ρ∂∂x

Tx

c Ttp

⎛⎝⎜

⎞⎠⎟= ⋅ ⋅ , (3.50)

où: λ est la conductivité thermique; cp - la chaleur spécifique; ρ - la densité du matériau. En admettant que λ et cp ne dépendent pas de la température T, la relation (3.50) devient

α∂∂

∂∂

2

2

Tx

Tt

= ,

où α est la diffusivité thermique et - avec les changements de variables X = x/L , τ = α·t/L2 (L étant une longueur caractéristique) - il vient:

∂∂

∂∂τ

2

2

TX

T= , (3.51)

c'est-à-dire la forme de référence (3.7) pour l'équation parabolique. - En mécanique des fluides - où la viscosité est le paramètre dissipateur,

tandis que l'inertie et la compressibilité constituent les accumulateurs d'énergie potentielle et respectivement cinétique..

Par exemple, l'évolution (en temps et le long d'écoulement) de la concentration d'un polluant dans une rivière est régi par l'équation générale suivante :

( )1 1A

C At A x

Q C E A Cx

K C c qA

c QA x

l p p∂∂

∂∂

∂∂

⋅+ ⋅ − ⋅⎛

⎝⎜⎞⎠⎟= − ⋅ +

⋅+

⋅∆, (3.52)

dans laquelle : C est la concentration moyenne en section transversale; E - le coefficient de dispersion longitudinale ; Q - le débit en section transversale ; A - la surface de la section transversale ; K - un coefficient de réaction ; cl et q - la concentration et le débit d'une source linéaire ; cp et Qp - la concentration et le débit d'une source ponctuelle dans le segment ∆x.

- La charge piézométrique, H, dans une nappe captive unidimensionnelle obéit à l'équation

∂∂

∂∂

2

2

Hx

ST

Ht

= , (3.53)

où: T est la transmissivité du milieu poreux; S - le coefficient d'emmagasinement.

Généralement, les phénomènes de diffusion de particules élémentaires, soit dans l'air, soit dans tout autre fluide, sont gouvernés par des équations aux dérivées partielles du type parabolique et les problèmes dans ce domaine impliquent la

138

Page 139: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

détermination de ces particules diffusées en fonction de la distance de la source emissive et en fonction du temps.

La résolution d'une telle équation suppose la connaissance : - des conditions initiales, correspondant au potentiel en tous points du champ

à l'instant t0 (dans le domaine spatial d'intérêt) - des conditions aux limites qui peuvent être de la forme soit de Dirichlet, soit

de Neumann, soit de Fourier (mixte) - des excitations internes qui peuvent être fonction du potentiel, du temps, ou

de la position à l'intérieur du domaine. 3.3.2. Solution numérique d'équation parabolique unidimensionnelle On considère la forme de référence (3.7) d'une équation aux dérivées

partielles du type parabolique, régissant la conduction de la chaleur dans une barre métallique, ainsi que d'autres phénomènes transitoires.

Soit ϕ la fonction du potentiel et x∈[0,L] le domaine spatial d'intérêt. Le problème à résoudre sera donc :

Detérminer la variation de ϕ en temps et le long d'axe x si :

- le potentiel obéit à l'équation : ∂ϕ∂

∂ ϕ∂t x

pour x L et t T= < < < <2

2 0 0, , (3.54)

où T est l'horizon du temps d'intérêt ; - on connait la distribution initiale du potentiel, à savoir ( ) ( )ϕ x f x pour x L, ,0 0= < < (3.55)

- on connait les conditions aux limites, à savoir ( ) ( )( ) ( )

ϕ

ϕ

001

2

,

,,

t g t

L t g tpour t T

=

=

⎫⎬⎪

⎭⎪< ≤ (3.56)

(du type de Dirichlet). Dans toutes les méthodes numériques de résolution d'un tel problème

intervient la discrétisation, c'est-à-dire la recherche de la solution en un nombre limité de points du domaine (x, t).

Cette discrétisation est obtenue en remplaçant les opérateurs de différentiation par des opérateurs de différence, dont le principe a été déjà décrit au paragraphe précédent. L'analyse sur tout le domaine (x, t) d'intérêt est donc remplacée par l'analyse dans les noeuds d'un maillage géométrique superposé à ce domaine.

En fonction des formules d'approximation utilisées, les méthodes numériques appartiennent à deux catégories, soit explicite, soit implicite.

139

Page 140: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.3.2.1. Schémas explicites Soit le maillage de figure 3.21, superposé au domaine (0 ≤ x ≤ L , 0 ≤ t ≤ T) et

realisé avec des pas ∆x = L/M, respectivement ∆t = T/N, où M et N sont deux nombres entiers, convenablement choisis.

Les schémas dits explicites sont caractérisés par le fait que les valeurs de la

variable dépendante à l'instant t+∆t sont exprimées uniquement en fonction des potentiels connus, c'est-à-dire des potentiels correspondant à des valeurs de la variable temporelle antérieures à l'instant t+∆t.

Les approximations les plus simples de dérivées partielles dans un noeud intérieur du maillage (xi ,tn+1) seront :

∂ϕ

ϕ ϕ

t ti n i n≅

−+, ,1

∆ (3.57)

( )∂ ϕ∂

ϕ ϕ ϕ2

21

2

2x x

i n i n i n≅− +− , ,

∆1+ , (3.58)

et en dénotant ( )

λ =∆∆

tx 2 ,

l'équation aux dérivées partielles (3.54) prend la forme approchée:

( )ϕ ϕ λ ϕ ϕ ϕi n i n i n i n i n, , , , , ,+ −− = − +1 1 2 +1

de laquelle il vient simplement: ( )ϕ λ ϕ λ ϕ λ ϕi n i n i n i n, , , .+ − += ⋅ + ,− + ⋅1 1 11 2 (3.59)

Chaque valeur discrète du potentiel à l'instant tn+1 et pour toute valeur de xi, sera donc obtenue par une simple combinaison algébrique de trois potentiels adjacents

140

Page 141: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

dont la valeur aura été préalablement calculée à l'instant tn. De ce motif, le schéma s'appele "explicite".

Les noeuds des frontières i = 0 et i = M ont des potentiels connus grâce aux conditions aux limites (3.56) à savoir:

( ) ( )ϕ ϕ0 1 1 1 1 2 1, ,;n n M n ng t g t+ + + += = ,

.

(3.60)

tandis que la valeur du potentiel à l'instant t0 = 0 est connue grâce à la condition initiale en tous points de l'axe x :

( )ϕ i if x i M,

____, ,0 0= = (3.61)

Bien évidemment, l'application successive de la relation (3.59) à l'instant t1 = ∆t, pour les points i = 1, 2, ..., M-1, fournira la solution approchée à cet instant. En passant au niveau t2 = t1+∆t et en reprenant l'algorithme, on obtiennent, successivement, les valeurs approchées du potentiel à ce niveau temporel etc., jusqu'à atteindre l'horizon d'intérêt T.

Si les conditions initiales diffèrent des conditions aux limites dans les coins (0, 0) et / ou (M, 0), la fonction ϕ(x, t) sera discontinue en ces points, mais une valeur acceptable pourrait être la moyenne des deux fonctions f et g1 ou g2.

Exemple numérique - Soit le problème (3.54) - (3.56) ci-dessus avec : L = 1,

T = 0,06, f(x) = 0 ; g1(t) = 100 ; g2(t) = 0. En choisissant les pas ∆x = 0,2 et ∆t = 0,01, on obtient λ = 1/4 et la relation (3.59) devient :

( )ϕ ϕ ϕ ϕi n i n i n i n, , , .+ − += + +1 1 114

2 ,

La solution numérique apparait dans le tableau 3.6. Tableau 3.6

Index temporel

Index spatial i

n 0 1 2 3 4 5 0 50 0 0 0 0 0 1 100 12,5 0 0 0 0 2 100 31,25 3,125 0 0 0 3 100 41,406 9,375 0,781 0 0 4 100 48,047 15,234 2,734 0,195 0 5 100 52,832 20,312 5,224 0,781 0 6 100 56,494 24,670 7,885 1,696 0

D'autre part, si on dénote avec ϕ* la solution exacte de l'équation aux dérivées

partielles (3.54) et avec ∆ϕ = ϕ* - ϕ, l'erreur locale de discrétisation, ϕ étant la solution numérique, on dit que le schéma de différence est convergent si ∆ϕ tend vers zéro tandis que les pas du maillage tendent aussi vers zéro. La condition suffisante de convergence pour une méthode explicite comme (3.59) sera:

0 1< ≤ 2λ / (3.62)

141

Page 142: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

et cette expression constitue une limitation importante d'une telle méthode. Il est donc nécessaire de prendre des intervalles de temps relativement faibles,

ce qui conduit à un grand nombre de cycles de calcul pour couvrir un horizon T donné. On peut démontrer qu'en observant la condition (3.62), la stabilité de calcul

est assurée. Un schéma de différences finies est considéré comme stable lorsque les effets dus à une erreur commise au cours d'un cycle de calcul, seront graduellement amortis et disparaîtront au cours des cycles suivants.

De ce fait, la méthode explicite correspondant à la relation (3.59) est conditionnellement stable, c'est-à-dire qu'il faut observer la condition (3.62) pour assurer l'amortissement des erreurs.

Il convient pourtant de noter qu'il y a un certain nombre de schémas du type explicite, mais pour lesquels une restriction comme (3.62) n'est pas nécessaire. Ces schémas s'appellent inconditionnellement stables et deux exemples en sont les suivants:

Schéma de DuFort - Frankel - où on suppose trois niveaux temporels n-1, n et n+1 pour développer les approximations de différences finies sous la forme :

∂ϕ∂

ϕ ϕ

∂ ϕ∂

ϕ ϕ ϕ ϕt t

x x x x

i n i n

i n i n i n i n

≅−⋅

≅−

−−⎡

⎣⎢

⎦⎥

+ −

+ + − −

, ,

, , , , .

1 1

2

21 1 1 1

21

∆ ∆ ∆

Avec la même notation pour λ, il vient la relation explicite :

( ) (ϕλλ

ϕ ϕ ϕi n i n i n i n, , , .+ − −=+

− +1 1 12

1 2 ),+1 (3.63)

Cette formule peut être utilisée en commençant par le deuxième niveau temporel, t2 = t0+2·∆t, tandis que le niveau t1 = t0+∆t doit être calculé avec une formule de type différent .

Schéma de Saulieff - dans lequel la suite de points discrets est parcourue en directions contraires à deux niveaux successifs du temps. Donc, si à l'instant tn+1 s'applique la relation explicite

( ) ( )[ ]ϕλ

λ ϕ λ ϕ λ ϕi n i n i n i n, , , ,+ − +=+

⋅ + − + ⋅1 1 11

11 ,+1

pour i = 1, ..., M - 1 , (3.64) alors à l'instant tn+2 sera utilisée la formule

( ) ( )[ ]ϕλ

λ ϕ λ ϕ λ ϕi n i n i n i n, , , ,+ − + +=+

⋅ + − + ⋅2 1 1 11

11 ,+ +1 2

pour i = M - 1, ..., 1 (3.65) Pour commencer le calcul à un niveau temporel donné, il est nécessaire de

faire appel soit à la conditions à la limite x = 0 (cas (3.64)), soit à la condition à la limite x = L (cas (3.65)), en fonction du sens de parcours.

142

Page 143: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Une telle méthode est aussi dite de directions alternées. 3.3.2.2. Schémas implicites Dans les schémas du type implicite, le potentiel inconnu au point de

coordonnées xi et t+∆t, est exprimé en fonction du potentiel connu à l'instant t, aussi bien qu'en fonction du potentiel inconnu correspondant à l'instant t+∆t, dans les points adjacents.

Les approximations les plus simples de dérivées partielles dans un noeud interieur du maillage (xi , tn+1) seront :

( )

∂ϕ∂

ϕ ϕ

∂ ϕ∂

ϕ ϕ ϕt t

x x

i n i n

i n i n i n

≅−

≅− ⋅ +

+

− + + + +

, ,

, ,

1

2

21 1 1 1 1

2

2∆

∆,

(3.66)

et l'équation aux dérivées partielles (3.54) prend la forme approchée :

( )− ⋅ + + − ⋅ =− + + + +λ ϕ λ ϕ λ ϕ ϕi n i n i n i n1 1 1 1 11 2, , , ,, (3.67)

où λ a la même signification. Dans cette équation, les termes du premier membre sont tous inconnus, à

l'exception de ceux correspondant au voisinage immédiat de limites. En écrivant la relation (3.67) pour chaque point discret intérieur, i = 1,2, ...,

M-1, à l'instant tn+1, il en résulte un système d'équations simultanées, comportant un nombre d'équations égal au nombre de noeuds intérieurs spatiaux du maillage. Ce système doit être résolu pour chacune des valeurs discrètes du temps, et les valeurs du potentiel sont simultanément obtenues à un niveau temporel quelconque.

Comme la matrice formée par le système d'équations du type (3.67) est tridiagonale, la résolution peut être obtenue par l'algorithme de Thomas ou celui de Choleski, décrits au chapitre précédent.

L'utilisation d'un tel schéma conduit, bien évidemment, à une complication de la programmation, mais ceci en faveur de l'obtention d'une stabilité inconditionnelle. C'est-à-dire que les schémas implicites ne supposent pas la restriction (3.62) pour assurer une stabilité suffisante, et - de ce fait - il est possible d'adopter un pas temporel plus large.

Une méthode implicite plus générale est representée par le schéma de Crank - Nicolson, dans lequel les dérivées partielles sont approximées au point central (i, n+1/2), sous la forme :

∂ϕ∂

ϕ ϕ

∂ ϕ∂

δ ϕ δ ϕ

t t

x

i n i n

x i n x i n

≅−

≅ ⋅ + ⋅

+

+

, ,

, , ,

1

2

22

121

212

∆ (3.68)

où l'opérateur de différence du deuxième

143

Page 144: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ordre δ2x , s'écrit:

( )

( )

δ ϕϕ ϕ ϕ

δ ϕϕ ϕ ϕ

x i ni n i n i n

x i ni n i n i n

xet

x

2 1 12

21

1 1 1 1 12

2

2

,, , ,

,, , , .

=− ⋅ +

=− ⋅ +

− +

+− + + + +

L'équation aux dérivées partielles (3.54) prend alors la forme approchée : ( ) ( )− ⋅ + ⋅ + ⋅ − ⋅ = ⋅ + ⋅ − ⋅ + ⋅− + + + + − +λ ϕ λ ϕ λ ϕ λ ϕ λ ϕ λ ϕi n i n i n i n i n i n1 1 1 1 1 1 12 1 2 1, , , , , ,

(3.69) c'est-à-dire une relation semblable à (3.67), mais ayant le coefficient central différent dans le membre gauche, et respectivement une autre expression dans le membre droit. La résolution du problème revient aussi à résoudre un système tridiagonal d'équations algébriques pour chacune des valeurs du temps.

Il convient de remarquer que le schéma de Crank - Nicolson introduit une erreur de discrétisation d'ordre de 0[(∆t)2+(∆x)2] , tandis que le schéma (3.67) est moins précis par rapport au pas temporel.

Si la pondération entre les deux niveaux temporels n et n+1 diffère de celle utilisée dans l'approximation (3.68) de dérivée seconde, on obtient l'équation approchée suivante :

( )( )

( )ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕi n i n i n i n i n i n i n i n

t x x, , , , , , ,+ − + + + + −−

= ⋅− ,+⋅ +

+ − ⋅− ⋅ +1 1 1 1 1 1

21 1

2

21

2∆

Θ∆

Θ∆

où 0 ≤ Θ ≤ 1. (3.70) Lorsque Θ est égal à 1, l'équation (3.70) devient la forme implicite (3.67) Lorsque Θ est égal à 0, l'équation (3.70) revient au schéma explicite (3.59). En se référant à l'équation (3.70), la méthode des différences finies est

inconditionnellement stable si Θ est supérieur ou égal à 1/2, inférieur ou égal à 1. Si Θ est supérieur ou égal à zéro et inférieur à 1/2, la méthode est stable si l'inégalité suivante:

( )λ = ≤

− ⋅∆∆ Θ

tx 2

12 4

(3.71)

est satisfaite. 3.3.3 Méthode implicite pour problèmes bidimensionnels Les schémas ci-dessus ont été commentés par rapport à l'équation très simple

(3.54). Lorsque les paramètres σ et K d'une équation parabolique plus générale comme (3.46) sont fonction des deux ou trois variables d'espace, ou de la variable temporelle, ou même de la valeur du potentiel ϕ, les approximations aux différences finies sont plus complexes et la détermination des critères de stabilité devient plus délicate.

144

Page 145: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

En ce qui suit, on présente une méthode implicite pour un problème de champ bidimensionnel, régi par une équation aux dérivées partielles du type parabolique comme (3.72):

∂ ϕ∂

∂ ϕ∂

∂ϕ∂

2

2

2

2x yK

t+ = ⋅ . (3.72)

La méthode exploite les avantages du système d'équations algébriques avec de matrice tridiagonale, résolu par l'algorithme de Thomas. Elle s'appele la méthode implicite de directions alternées et a été développée par Peaceman, Rachford et Douglas.

En principe, on utilise deux équations aux différence finies, appelées successivement aux instants du temps séparés par ∆t/2. La première équation sera implicite seulement le long de l'axe x, tandis que la deuxième équation est implicite le long de l'axe y.

En dénotant avec ϕ*i,j la valeur du potentiel à l'instant intermédiaire t+∆t/2, il résulte de l'équation:

Kt

i j i j nx i j y i j n⋅

−= +

∗∗ϕ ϕ

δ ϕ δ ϕ, , ,, ,/

.∆ 2

2 2, (3.73)

La solution de ϕ à l'instant t+∆t, est ensuite calculée avec l'équation:

Kt

i j n i jx i j y i j n⋅

−= ++

∗∗

+

ϕ ϕδ ϕ δ ϕ, , ,

, , ,/1 2 2

12∆ (3.74)

En supposant les pas d'espace égaux (∆x = ∆y) et en tenant compte des expressions d'opérateurs aux différences finies du deuxième ordre, on obtient les formules suivantes :

− + +⎛⎝⎜

⎞⎠⎟⋅ − = + −⎛

⎝⎜⎞⎠⎟⋅ +−

∗ ∗+∗

− +ϕλ

ϕ ϕ ϕλ

ϕ ϕi j i j i j i j n i j n i j nK K

1 1 12 1 2 1, , , , , , , ,1, , (3.75)

pour j = 1, 2, ..., J-1

− + +⎛⎝⎜

⎞⎠⎟⋅ − = + −⎛

⎝⎜⎞⎠⎟⋅ +− + + + + −

∗ ∗+∗ϕ

λϕ ϕ ϕ

λϕ ϕi j n i j n i j n i j i j i j

K K, , , , , , , , , ,1 1 1 1 1 1 12 1 2 1

(3.76) pour i = 1, 2, ..., I-1

Si le maillage est constitué par I intervalles ∆x et respectivement J intervalles ∆y, à chaque pas temporel ∆t doivent être résolus, successivement, (J-1) systèmes d'équations produits par (3.75) pour detérminer le champ ϕ*i,j , et puis (I-1) systèmes d'équations produits par (3.76) pour calculer le potentiel ϕi,j,n+1 . Bien évidemment, toutes les conditions aux frontières (i = 0 et i = I ; j = 0 et j = J) seront utilisées en calcul.

A titre d'exemple pour manipuler les conditions aux limites, soit le problème bidimensionnel régi par l'équation (3.72), ayant sur la frontière x = 0 une condition du type de Fourier (mixte) :

− + ⋅ =∂ϕ

∂ϕ

na f

(3.77)

145

Page 146: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

fréquemment rencontrée dans le transfèrt de chaleur, où a et f sont connues et n corresponde à la normale sur C.

Soit le noeud (0, j) du maillage. Les opérateurs de différence pour la dérivée temporelle, ∂ϕ/∂t, et la dérivée du deuxième ordre par rapport à la variable d'espace y, ∂2ϕ/∂y2 , seront les mêmes qu'en un point quelconque du maillage.

Pour approximer la dérivée second ∂2ϕ/∂x2 en (0, j), on utilise le développement en séries de Taylor sous la forme :

( ) ( ) ( )[ ]ϕ ϕ∂ϕ∂

∂ ϕ∂1 0

2 2

23

20, , !

,j j xx

xx

x= + ⋅ + ⋅ +∆∆

de laquelle on obtient :

( )( ) ( )∂ ϕ

∂ϕ ϕ

∂ϕ∂

2

2 2 1 02 0

x xx

xxj j= ⋅ − − ⋅⎡

⎣⎢⎤⎦⎥+

∆∆ ∆, , .

Si on introduit la condition (3.77) dans cette relation, il vient :

( )( )[ ] ( )∂ ϕ

∂ϕ ϕ

2

2 2 1 02 1 0

x xa x f x xj j= − + ⋅ ⋅ + ⋅ +

∆∆ ∆, , ∆

de sorte que l'équation aux différences finies correspondant à (3.72), au point (0, j) s'écrit sous la forme implicite :

( )( )[ ] ( ) [ ]

( ) ( )

2 1 1 2

1

2 1 1 0 1 2 0 1 1 0 1 0 1 1

0 1 0 3 78

∆∆ ∆

xa x f x

y

t

j n j n j n j n j n

j n j n

ϕ ϕ ϕ ϕ ϕ

ϕ ϕ

, , , , , , , , , ,

, , , , .

+ + − + +

+

− + ⋅ ⋅ + ⋅ + − ⋅ + =

= −

+ +

Bien que les erreurs d'approximation diffèrent pour les deux dérivées

secondes, une telle équation aux différences peut être utilisée au voisinage de la frontière ayant une condition comme (3.77).

Dans le cas d'une frontiere isolée, où s'applique la condition : ∂ϕ∂n

= 0 , (3.79)

l'équation aux différences résulte de (3.78), en posant a = f = 0. 3.3.4. Solution des problèmes non - linéaires Le caractère non-linéaire d'une équation aux dérivées partielles du type

parabolique n'empêche pas l'utilisation des résultats déjà presentés. La seule modification majeure provient du fait que le calcul sur chaque pas

temporel doit être itératif et la solution s'obtient à la réalisation d'un critère de convergence.

Les méthodes de résolution d'un tel problème sont basées soit sur un schéma du type prédiction-correction, soit sur une procédure de linéarisation de termes non-

146

Page 147: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

linéaires. Soit l'équation parabolique non-linéaire suivante : ∂ ϕ∂

ϕ∂ϕ∂

∂ϕ∂

2

2xF x t

x t= ⎛

⎝⎜⎞⎠⎟

, , , , , (3.80)

où la fonction F a la forme générale:

( ) ( ) ( )F f x t f x tx

f x tt

= + ⋅ + ⋅1 2 3, , , , , , ,ϕ ϕ∂ϕ∂

ϕ∂ϕ∂

avec f1, f2 et f3 des fonctions continues par rapport aux variables indépendantes x, t et respectivement au potentiel ϕ.

Dans une méthode du premier type, pour déterminer la solution au niveau temporel tn+1 :

- à l'étape de prédiction on utilise l'équation aux différences donnée par :

( )δ ϕ ϕ δ ϕ ϕ ϕx i n i n x i n i n i nF i x n tt

212

12

12

12, , , , ,; ; ; ;

/,

+ += +⎛

⎝⎜⎞⎠⎟⋅ ⋅

⎝⎜

⎠⎟

⎣⎢⎢

⎦⎥⎥

∆ ∆∆

− (3.81)

il en résulte la valeur intérmediaire ϕi,n+1/2 en tous points i = 1, ..., M - 1 ; - à l'étape de correction on utilise l'équation aux différences donnée par

( ) ( ) ( ) ( ) ( )12

1 12

121

212

1 1δ ϕ δ ϕ ϕ δ ϕ δ ϕ ϕ ϕx i n x i n i n x i n x i n i n i nF i x n tt, , , , , ,; ; ; ;+

++ ++ = + ⋅ + ⋅ −

⎣⎢

⎦⎥∆ ∆

∆ ,

(3.82) il en résulte la solution cherchée ϕi,n+1 .

Les opérateurs de différences sont les suivantes :

( ) ( )δ ϕ

ϕ ϕδ ϕ

ϕ ϕ ϕx i n

i n i nx i n

i n i n i n

x x,, ,

,, ,;=

−⋅

= ,− ⋅ ++ − − +1 1 2 1 122

2∆ ∆

À chaque étape de l'algorithme doit être résolu un système tridiagonal d'équations algébriques, comme dans le cas linéaire.

La deuxième catégorie de méthodes est plus dépendante de la forme particulière de l'équation à résoudre.

PROBLÈME 3.6

* Variation de la température dans un mur infini

On considère un mur d'épaisseur δ = 25 cm , de longueur / largeur très

étendue et de diffusivité thermique α = 10-6 m2·s-1. Déterminer la variation de la température T(x, t) dans ce mur si à l'instant initial il a une température uniforme T0 = 0ºC et si puis les deux faces sont toujours équithermes, à une température Tf = 20ºC. Trouver le temps nécessaire à atteindre une différence maximale de température de 5% à travers le mur.

147

Page 148: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

♦ Solution: Le phénomène de diffusion de la chaleur peut être considéré comme

unidimensionnel et la température à un instant donné ne dépend que d'une seule coordonnée d'espace (x).

Si le milieu est homogène, l'équation de la chaleur (3.50), prend la forme:

α∂∂

∂∂

2

2

Tx

Tt

= , (1)

avec

( )( ) ( )

T x T pour x et

T t T t T a tf

,

, , & .

0 0

0 00= ≤ ≤

= = >

⎧⎨⎪

⎩⎪

δ

δ (2)

Dans les coordonnées sans dimensions :

Θ =−−

=⋅

=T TT T

t x

f

0

02; ;τ ,α

δξ

δ (3)

le problème devient : ∂∂ξ

∂Θ∂τ

2

2

Θ= , (4)

avec

(5)

( )( ) ( )

Θ

Θ Θ

ξ ξ

τ τ τ

, ,

, , , & .

0 0 0 1

0 1 1

= ≤

= = >

⎧⎨⎪

⎩⎪

pour

a 0

Le domaine (x,t) doit être discrétisé avec des pas ∆x et ∆t. Les deux variables x et t étant de natures différentes, on ne peut pas définir un pas de calcul h commun.

On choisit une méthode explicite comme (3.57) - (3.59), pour laquelle il faut imposer la restriction (3.62), à savoir:

( )0 1

22< =⋅

≤λα ∆∆

tx

ou respectivement:

( )0 1

22< = ≤λ∆τ

∆ξ. (6)

Si on adopte la version sans dimensions, en utilisant M intervalles sur ξ∈[0; 1], il en résulte la valeur maximale du pas ∆τ:

∆τ ≤ ⋅⎛⎝⎜

⎞⎠⎟

12

1 2

M. (7)

À chaque niveau discret τn+1 , la relation explicite (3.59) s'applique, successivement, en tous points intérieurs i = 1, ..., M-1:

( )Θ Θ Θ Θi n i n i n i n, , , ,+ − += ⋅ + ,− ⋅ ⋅ + ⋅1 1 11 2λ λ λ (8)

où ( )

λ = ≤∆τ

∆ξ 212

148

Page 149: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Aux frontières τ0= 0 et respectivement ξ0 = 0 ; ξM = 1 s'appliquent les conditions (5).

Le programme "P36" transpose cet algorithme jusqu'à la réalisation d'une différence maximale de température ≤ 5% à travers le mur. De 10 en 10 pas ∆τ, les résultats à l'instant correspondant sont affichés, en variables sans et avec dimensions.

Si on suppose une valeur λ = 0,4 et le nombre de pas d'espace M = 15, le temps nécessaire à uniformiser la température du mur (dans la limite imposée) dépasse 342 minutes. Les distributions de température en mur aux quelques instants de temps sont comme dans le tableau 3.7.

Tableau 3.7 x (cm) \ t (min) 37,04 92,59 166,67 240,74 333,33

0 20,00 20,00 20,00 20,00 20,00 1,67 16,02 17,78 18,90 19,46 19,78 3,33 12,28 15,65 17,85 18,94 19,56 5,00 9,00 13,71 16,90 18,47 19,37 6,67 6,31 12,05 16,08 18,06 19,20 8,33 4,28 10,74 15,43 17,74 19,06 10,00 2,95 9,83 14,98 17,52 18,97 11,67 2,29 9,37 14,75 17,41 18,93

symétrie

Program P36;

Probleme 3.6 - Variation de temperature dans un mur infini var delta,alfa,t0,tf,lamda,dtau,tau,dtetam,dteta,rap:real; m,i,j:integer; tetav,tetan:array[0..51]of real; Begin Donnees d'entree: write('Epaisseur delta(cm)='); readln(delta); delta:=delta/100; write('Diffusivite alfa(m2/s)='); readln(alfa); write('Temperatures To et Tf:'); readln(t0,tf); write('Nombre de pas en x, m='); readln(m); write('Rapport lamda (<0.5)='); readln(lamda); dtau:=lamda/m/m; rap:=sqr(delta)/alfa/60; for i:=0 to m do tetav[i]:=0; tau:=0; j:=0; repeat tau:=tau+dtau; tetan[0]:=1; tetan[m]:=1;

149

Page 150: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for i:=1 to m-1 do

tetan[i]:=lamda*(tetav[i-1]+tetav[i+1])+(1-2*lamda)*tetav[i]; dtetam:=abs(tetan[0]-tetan[round(m/2)]); j:=j+1; if (j mod 10) = 0 then begin writeln('Temps: tau=',tau:8:6,' ; t(min)=',tau*rap:8:2); writeln('Difference max.de temp.(%)=',100*dtetam:6:1); writeln(' zeta teta ; x(cm) T(gr.C)'); for i:=0 to m do

writeln(i/m:6:4,' ',tetan[i]:7:4,' ',i*100*delta/m:6:2,' ', (t0+tetan[i]*(tf-t0)):7:2); writeln('Pause - ENTER !'); readln; end; for i:=0 to m do tetav[i]:=tetan[i]; until dtetam <= 0.05; writeln('Temps final (min)=',tau*rap:8:1); writeln('ENTER !'); readln; End.

PROBLÈME 3.7

* Distribution de température dans une conduite chauffée

Soit l'écoulement visqueux, en régime laminaire, dans une conduite circulaire

de rayon Rt = 4 cm, ayant les parois chauffées à une température constante Tp = 70ºC. Détérminer la distribution de temperature en fluide sur une longueur de conduite L = 200 m si dans la section d'entrée il y a une température constante T0 = 10ºC, le courant a un profil parabolique de vitesse avec vmax = 0,1 m·s-1 , la diffusivité thermique est α = 0,133·10-6 m2·s-1 et si on suppose une viscosité constante.

♦ Solution:

Soit r et respectivement z les coordonnées radiale et axiale.

En dénotant les coordonnées sans dimensions:

R rR

et Z zv Rt t

= =⋅⋅

α

max

,2 (1)

avec le profil: vR = vmax·(1 - R2) (2) et en négligeant la conduction axiale, on obtient l'équation suivante :

( )∂ τ∂

∂τ∂

∂τ∂

2

221 1

R R RR

Z+ ⋅ = − ⋅ , (3)

qui decrit la distribution de la variable sans dimension:

150

Page 151: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

τ =−−

T TT Tp

0

0

.

On constate qu'il s'agit d'une équation aux dérivées partielles, du type parabolique dans laquelle apparaissent deux variables indépendantes d'espace ,et qu'il manque la variable temporelle. La symétrie axiale permet de résoudre le problème avec les conditions initiales et aux limites suivantes

- τ = 0 à Z = 0 ; 0 ≤ R ≤ 1 (4) et respectivement: -

( )

( )

τ

∂τ∂

= = >

= = >

⎨⎪

⎩⎪

1 1 0

0 0 0

5

6

a R Z

Ra R Z

\

\

;

; .

Si on utilise le maillage ci-joint et un schéma du type implicite comme (3.66),

la forme aux différences finies correspondant à l'équation (3) sera :

( ) ( ) ( ) ( )[ ]τ τ τ τ τ τ τi n i n i n i n i n i n i n

R i R Ri R

Z− + + + + + + − + +− +

+⋅

⋅−

⋅= − ⋅ ⋅

−1 1 1 1 12

1 1 1 1 2 2 12 12

1, , , , , ,

∆ ∆ ∆∆

∆,

,

(7)

De la relation (7), il vient : ( )α τ δ τ β τ δ τi i n i i n i i n i i n⋅ − + ⋅ + ⋅ = − ⋅− + + + +1 1 1 1 12, , , , (8)

dans laquelle : ( ) ( )[ ]α β δi i ii i

etRZ

i R= − = + = ⋅ − ⋅1 12

1 12

12

2 2; .∆∆

L'équation approchée s'applique en tous points intérieurs i = 1, ..., M-1, il en résulte un système tridiagonal d'équations algébriques.

Pour i = 1, il faut utiliser la condition à la limite (6), en tenant compte du développement en séries de Taylor :

( )τ τ

∂τ∂

∂ τ∂1 1 0 1

0 1

2 2

20 12, ,

, ,n n

n n

RR

RR+ +

+ +

= + ⋅⎛⎝⎜

⎞⎠⎟

+ ⋅⎛⎝⎜

⎞⎠⎟∆

et du fait que l'équation (3) prend la forme:

( )∂ τ∂

∂τ∂

2

22

01 0R

RZ

o u R= − ⋅ =, .\

On peut donc écrire:

151

Page 152: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )τ τ

τ τ1 1 0 1

20 1 0

2, ,, ,

n nn nR

Z+ ++= + ⋅−∆

∆ (9)

de sorte que l'équation (8) au noeud i = 1 devient:

( )( )

( )

( )τ

αδ β τ δ τ

ατ1 1

12 1 1 2 1 1 1

1

2

2 0

12

2 2

12

, , , .n n nRZ

RZ

RZ

+ +⋅

+⋅

− +

⎢⎢⎢⎢

⎥⎥⎥⎥

+ ⋅ = − ⋅ −⋅

+⋅

⋅∆∆

∆∆

∆∆

,n

−1,

(10)

Pour i = M-1, s'applique la condition (5) et l'équation (8) sera : ( )α τ δ τ δ τ βM M n M M n M n M n M− − + − − + − −⋅ − + ⋅ = − ⋅ −1 2 1 1 1 1 1 12, , , (11)

Le système tridiagonal est résolu par l'algorithme de Thomas, à chaque valeur discrète de la variable indépendante Zn , n = 1, ..., nz , sur le domaine Z∈[0, Zmax], où Zmax = α·L / (vmax·R2

t). Les données d'entrée sont introduites à l'aide d'un fichier, dénommé "p37.dat" et

les résultats sont affichés, en grandeurs sans dimensions, à un écart de "nafis" des pas axiaux ∆Z.

Si on utilise M = 10 pas ∆R, nz = 50 pas ∆Z et nafis = 5, le programme s'arrête à Z = 0,1663 , où la distribution radiale de température (sans dimension) est comme dans le tableau 3.8.

Tableau 3.8

r / Rt τ r / Rt τ 0 0,537 0,6 0,783

0,1 0,553 0,7 0,842 0,2 0,580 0,8 0,899 0,3 0,619 0,9 0,952 0,4 0,667 1,0 1,000 0,5 0,723

Program P37;

Probleme 3.7 - Distribution de temperature dans une conduite chauffee type vect=array[0..100]of real; var rtub,vmax,alfa,tinit,tpar,lmax,cz,dz,dr,rap:real; nr,nz,nafis,i,j:integer; tv,delta,alf,beta,a,b,c,d,tn:vect; fis:text; Procedure Thomas(... voir Probleme 2.16 ....);

............................................. Begin assign(fis,'p37.dat'); reset(fis);

Page 153: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

readln(fis,rtub,vmax,alfa,tinit,tpar); readln(fis,nr,nz,lmax,nafis);

152

cz:=alfa/vmax/sqr(rtub); dz:=cz*lmax/nz;

dr:=1/nr; rap:=sqr(dr)/2/dz; for i:=0 to nr do begin tv[i]:=0; delta[i]:=sqr(dr)*(1-sqr(i*dr))/dz; if i > 0 then begin alf[i]:=1-0.5/i; beta[i]:=1+0.5/i; end; end;

for j:=1 to nz do begin for i:=1 to nr-1 do begin a[i]:=alf[i]; b[i]:=-2-delta[i]; c[i]:=beta[i]; d[i]:=-delta[i]*tv[i]; end; b[1]:=b[1]+alf[1]/(1+rap); d[nr-1]:=d[nr-1]-beta[nr-1]; d[1]:=d[1]-alf[1]*rap/(1+rap)*tv[0]; THOMAS(1,nr-1,a,b,c,d,tn); tn[nr]:=1; tn[0]:=(tn[1]+rap*tv[0])/(1+rap); if (j mod nafis) = 0 then begin writeln('Coord.axiale sans dimens.Z=',j*dz:8:4); writeln('Distribution radiale de temp. tau:'); for i:=0 to nr do writeln('r/R=',i*dr:6:4,' ; tau=.',tn[i]:6:3); writeln('Pause - enter !'); readln; end; for i:=0 to nr do tv[i]:=tn[i]; end; End.

PROBLÈME 3.8

* Chauffage d'une longue barre à section carrée

Soit une longue barre constituée d'un matériau de diffusivité thermique

α = 9,65·10-6 m2·s-1, ayant la section carrée, avec la dimension 2 a et a = 0,1 m. La température initiale en tout point de la section est Θ0 = 0°C. Déterminer la variation de la température dans le centre de la barre, si la surface extérieure est brusquement

Page 154: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

chauffée à une température Θe = 99°C, qui est puis maintenue constante jusqu'à l'instant tf = 500 s.

♦ Solution:

En dénotant les coordonnées sans dimensions :

X xa

Y ya

ta

Tete

= = =⋅

=−−

, , τ ,α2

0

0

Θ ΘΘ Θ

(1)

on peut prouver que la conduction non-permanente de la chaleur est régie par l'équation

∂∂

∂∂

∂∂τ

2

2

2

2

TX

TY

T+ = . (2)

L'étude du système peut se limiter à un seul quart de la section (symétrie),

comme dans la figure contiguë. Le centre de la barre correspond donc au point (X = 0, Y = 0) et le coin de la section au point (X = 1, Y = 1).

La symétrie géometrique impose un flux de chaleur nul à travers des axes OX et OY (frontières isolées, avec un gradient thermique nul d'après la normale à la surface).

Donc, les conditions initiales et aux limites seront les suivantes :

- à τ = 0: T = 0 , (3) pour X∈[0, 1] et Y∈[0, 1] - à τ > 0: T = 1 à la surface extérieure (X = 1 et Y = 1)

∂T/∂X = 0 , pour X = 0 et (4) ∂T/∂Y = 0 , pour Y = 0 (frontierès intérieures isolées) .

On choisit les pas d'espace egaux (∆X = ∆Y = h = 1/n), et donc

chaque côté (X∈[0, 1] ou Y∈[0, 1]) est divisé en n segments, délimités par n+1 noeuds. Un point quelconque du maillage est repéré par deux indices: i (d'après la ligne de coordonnée Xi = i·h , i = 0, ..., n) et j (d'après la colonne de coordonnée Yj = j·h , j = 0, ..., n).

La solution du problème est donnée par la méthode implicite de directions alternées - les formules (3.75) et (3.76), dans lesquelles K = 1.

153

Page 155: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Si on dénote par T*i,j la température à l'instant intermédiaire τk + ∆τ/2 et par Ti,j,k la température à l'instant τk, en écrivant l'équation (3.75) pour tous les points i = 1, 2, ..., n-1 d'une colonne j donnée, il résulte le système tridiagonal suivant :

154

b T T d

T b T T d

T b T T d

j j

j j j

i j i j i j i

⋅ − ⋅ =

− + ⋅ − =

− + ⋅ − =

∗ ∗

∗ ∗ ∗

−∗ ∗

+∗

0 1 0

0 1 2 1

1 1

2, ,

, , ,

, , ,

.............................................................

..............................................................

, , ,

, ,

− + ⋅ − =

− + ⋅ =

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

−∗

−∗

−∗

−∗

−∗

T b T T d

T b T dn j n j n j n

n j n j n

3 2 1 2

2 1 1

(5)

avec: (6)

d T f T T i nd T f T T T

i i j k i j k i j k

n n j k n j k n j k n j k

pour j= + ⋅ + = −

= + ⋅ + +

⎫⎬⎪

⎭⎪− +

− − − − − +

≠, , , , , ,

______

, , , , , , , ,

; , ,1 1

1 1 1 1 1 1

0 20

et: (7) d T f T i nd T f T T

i i k i k

n n k n k n k

pour j= ⋅ + ⋅ = −

= ⋅ + ⋅ +

⎫⎬⎪

⎭⎪− − −

=2 0 2

21 0

1 1 1 1 0 0

0, , , ,

______

, , , , , ,

, ,

où: b fh

et= ⋅ +⎛⎝⎜

⎞⎠⎟

= ⋅ −⎛⎝⎜

⎞⎠⎟

=2 1 1 2 1 1 2λ λλ; .∆τ

La première équation du système (5) à été déduite en utilisant le résultat

(3.78) avec les particularités supposées par (3.79), c'est-à-dire :

( ) ( ) ( )2 1 2 1

2

2 1 0 2 0 1 0 0 1 0 0hT T

hT T T T Tj j j k j k j k j j k, , , , , , , , , , , ,∗ ∗

− +∗− + ⋅ − ⋅ + = −

∆τ

de laquelle - l'équation b·T*0,j - 2·T*1,j = d0 s'obtient tout de suite.

La relation pour dn-1 dans (6) est déduite en tenant compte de la condition à la limite x = 1, à savoir T*n,j = Tn,j,k = 1 pour k >0.

Pour j = 0 (l'axe de symétrie), en utilisant la condition ∂T/∂Y = 0 sous la forme (Ti,1,k - Ti,-1,k)/2·h = 0 - c'est-à-dire Ti,-1,k = Ti,1,k - on obtient les relations (7)

Page 156: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Le système tridiagonal (5) est successivement construit et résolu pour chaque colonne j = 0, 1, ..., n-1, en résultant le champ T*i,j à l'instant τk + ∆τ/2.

Pour trouver les températures Ti,j,k+1 à l'instant τk+1 , on applique l'équation (3.76) pour tous les points j = 1, 2, ..., n-1 d'une ligne i donnée en resultant un système tridiagonal comme le suivant :

155

b T T d

T b T T d

T b T T d

i k i k

i k i k i k

i j k i j k i j k j

⋅ − ⋅ =

− + ⋅ − =

− + ⋅ − =

+ +∗

+ + +∗

− + + + +∗

, , , ,

, , , , , ,

, , , , , ,

.....................................................................................

.

0 1 1 1 0

0 1 1 1 2 1 1

1 1 1 1 1

2

.....................................................................................

, , , , , ,

, , , ,

− + ⋅ − =

− + ⋅ =

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

− + − + − + −∗

− + − + −∗

T b T T d

T b T di n k i n k i n k n

i n k i n k n

3 1 2 1 1 1 2

2 1 1 1 1

(8)

avec: (9) d T f T T j n

d T f T T Tj i j i j i j

n i n i n i n i n

pour i∗

−∗ ∗

+∗

−∗

− −∗

−∗

+ −∗ ∗

= + ⋅ + = −

= + ⋅ + +

⎫⎬⎪

⎭⎪≠1 1

1 1 1 1 1 1

0 20, , ,

______

, , , ,

; , ,

et: (10) d T f T j n

d T f T Tj j j

n n n n

pour i∗ ∗ ∗

−∗

−∗

−∗ ∗

= ⋅ + ⋅ = −

= ⋅ + ⋅ +

⎫⎬⎪

⎭⎪=

2 0 2

21 0

1 1 1 0 1 0

0, ,

______

, , ,

, ,

Le système (8) est successivement construit et résolu pour chaque ligne i = 0, 1, ..., n-1 , en résultant les valeurs de la température, Ti,j,k+1 à l'instant de temps courant τk+1 , dans tous les points discrets (i = 0, ..., n ; j = o, ..., n) du domaine spatial correspondant au quart de la section de la barre.

En commençant avec les conditions initiales Ti,j,0 = 0 à l'instant τ0 = 0, l'algorithme ci-dessus décrit, s'applique sur chaque pas de temps ∆τ, jusqu'à l'instant τf = α·tf/a2.

Pour chaque pas temporel, il faut résoudre n fois un système comme (5) et respectivement n fois un système comme (8), à l'aide de l'algorithme de Thomas:

Tableau 3.9

Temps (s)

T au centre (ºC)

Temps (s)

T au centre (ºC)

25 0,02 275 55,44 50 0,70 300 60,26 75 3,59 325 64,56 100 8,90 350 68,39

Page 157: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

125 15,73 375 71,81 150 23,15 400 74,84 175 30,56 425 77,54 200 37,61 450 79,94 225 44,13 475 82,07 250 50,08 500 83,97

156

Le programme "P38" fait les calculs et affiche la distribution de température à l'instant tf .

En même temps, les valeurs de la température au centre de la barre sont mémorisées dans le vecteur "tcen" et peuvent être affichées de sorte que les résultats tiennent dans un écran. (voir tableau 3.9)

La distribution finale de température sur un quart de la section, se trouve dans le tableau 3.10.

Tableau 3.10

Distribution de temperature apres 500.00 sec Colonne j: 0 1 2 3 4 5 6 7 8 Ligne i: 0 84.32 84.60 85.44 86.79 88.62 90.84 93.38 96.14 99.00 1 84.60 84.88 85.70 87.03 88.82 91.00 93.49 96.19 99.00 2 85.44 85.70 86.47 87.72 89.41 91.46 93.81 96.35 99.00 3 86.79 87.03 87.72 88.85 90.37 92.22 94.33 96.62 99.00 4 88.62 88.82 89.41 90.37 91.66 93.23 95.03 96.97 99.00 5 90.84 91.00 91.46 92.22 93.23 94.47 95.88 97.41 99.00 6 93.38 93.49 93.81 94.33 95.03 95.88 96.85 97.90 99.00 7 96.14 96.19 96.35 96.62 96.97 97.41 97.90 98.44 99.00 8 99.00 99.00 99.00 99.00 99.00 99.00 99.00 99.00 99.00 Program P38; Probleme 3.8 - Chauffage d'une longue barre a section carree const alfa=9.65e-6; type vect=array[0..20]of real; matr=array[0..20,0..20]of real; var ap,t0,te,dt,tf,dtau,lamda,bb,f,tauf:real; naf,n,i,j,k:integer; tcen:array[0..200]of real; tv,ts,tn:matr; a,b,c,d,ti:vect;

Page 158: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Procedure Thomas(... voir Probleme 2.16 ...); ............................................. Begin write('Demilargeur a(m)='); readln(ap); write('Temperatures t0 et te:'); readln(t0,te); write('Nombre de pas d-espace n='); readln(n); write('Pas temporel dt(s)='); readln(dt); write('Temps d-etude tf(s)='); readln(tf); dtau:=alfa*dt/sqr(ap); lamda:=dtau/sqr(1/n); bb:=2*(1/lamda+1); f:=2*(1/lamda-1); tauf:=alfa*tf/sqr(ap); for i:=0 to n do for j:=0 to n do tv[i,j]:=0;

157

for i:=0 to n do begin tn[i,n]:=1; tn[n,i]:=1; ts[i,n]:=1; ts[n,i]:=1; end; k:=0; tcen[0]:=t0; repeat k:=k+1; for j:=0 to n-1 do begin for i:=0 to n-1 do

begin a[i]:=-1; b[i]:=bb; c[i]:=-1; if j=0 then d[i]:=2*tv[i,1]+f*tv[i,0] else d[i]:=tv[i,j-1]+f*tv[i,j]+tv[i,j+1]; end; c[0]:=-2; d[n-1]:=d[n-1]+tv[n,j]; THOMAS(0,n-1,a,b,c,d,ti); for i:=0 to n-1 do ts[i,j]:=ti[i]; end; for i:=0 to n-1 do begin for j:=0 to n-1 do begin a[j]:=-1; b[j]:=bb; c[j]:=-1; if i=0 then d[j]:=2*ts[1,j]+f*ts[0,j] else d[j]:=ts[i-1,j]+f*ts[i,j]+ts[i+1,j]; end; c[0]:=-2; d[n-1]:=d[n-1]+ts[0,n]; THOMAS(0,n-1,a,b,c,d,ti); for j:=0 to n-1 do tn[i,j]:=ti[j]; end; for i:=0 to n do

Page 159: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

for j:=0 to n do tv[i,j]:=tn[i,j]; tcen[k]:=tv[0,0]; until k*dtau > tauf; for i:=0 to n do for j:=0 to n do tv[i,j]:=t0+tv[i,j]*(te-t0); for i:=0 to k do tcen[i]:=t0+tcen[i]*(te-t0); writeln('Distribution de temperature apres',tf:8:2,' sec'); write('Colonne j:'); for j:=0 to n do write(j:6); writeln; writeln('Ligne i:'); for i:=0 to n do begin write(i:8,' '); for j:=0 to n do write(tv[i,j]:6:2); writeln; end; writeln('Pause - enter !'); readln;

158

writeln('Variation de temperature au centre:'); naf:=round(tf/dt/20); for i:=0 to k do if (i mod naf)=0 then writeln('temps(s)=',i*dt:8:2,' ; temp.=',tcen[i]:8:2); End.

PROBLÈME 3.9

* Pollution thermique d'une rivière

Soit un tronçon, supposé uniforme, d'une rivière en régime hydraulique

permanent. Dans l'extrémité en amont, une centrale électrique décharge son débit de refroidissement q = 100 m3·s-1, avec un excès de température ∆T = 12°C par rapport à la température naturelle de l'eau en rivière

On connait les données suivantes: profondeur moyenne du courant h = 5 m ; largeur supérieure au niveau de la surface libre B = 600 m ; débit du courant Q = 1000 m3·s-1 ; coefficient de la dispersion thermique longitudinale E = 140 m2·s-1. Déterminer la longueur du secteur, en aval de la centrale électrique, sur laquelle il n'existe pas de conditions pour un pont de glace, si la fonction du transfert de chaleur à l'interface air-eau est acceptée sous la forme ϕ(T) = - (ε·T +η), avec ε = 33 W·m-2·K-1, η = 115 W·m-2 et T - la température moyenne de l'eau en section transversale. On suppose une température initiale de l'eau constante le long du tronçon, T(x,0) = 1,0 ºC, et la persistance des conditions météorologiques sur l'intervalle d'étude. ♦ Solution:

Page 160: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

L'évolution du régime thermique dans une rivière au lit prismatique, en

écoulement permanent, est régie par l'équation aux dérivées partielles du type parabolique suivante :

∂∂

∂∂

∂∂

ϕρ

Tt

V Tx

E Tx

BA cp

+ ⋅ − ⋅ =⋅⋅ ⋅

2

2 , (1)

dans laquelle : V est la vitesse moyenne en section transversale, A - la surface de la

section du courant, ρ et cp - la densité (1000 kg·m-3) et respectivement la chaleur massique (4200 J·kg-1·K-1) de l'eau.

Cette équation doit être intégrée avec la condition initiale:

159

T(x,0) = Tr(t=0) = T0(x), (2) où Tr(t=0) est la température naturelle de l'eau à l'instant du temps t = 0 et son évolution obéit à l'équation:

( )dTdt

Th c

r r

p

=⋅ ⋅ϕρ

. (3)

D'autre part, les conditions aux limites pour (1) seront : - À la frontière en amont - section de décharge (x = 0) :

( ) ( ) ( )( ) ( )

T t T t T T t C

ou T t T T t Cr i r

i r

si

si

0 0

0 0

, ,

, ,

= + >

= ≤

o

o (4)

dans laquelle Ti = ∆T(q/Q). Une telle condition suppose un mèlange complet dans la section de décharge, en négligeant divers autres processus.

- À la frontière loin en aval : dTdx x→∞

= 0 , (5)

c'est-à-dire un gradient thermique longitudinal nul, qui est dû à la disparition de l'effet de la pollution. Pratiquement, cette condition sera imposée à une distance finie, xf, mais suffisamment lointaine.

On utilise une méthode du type prédiction-correction (3.80) - (3.82), en posant l'équation (1) sous la forme :

Page 161: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( ) ( ) ( )∂∂

∂∂

∂∂

∂∂

∂∂

2

2 1 2 3T

xF x t T, T

xTt

f x t T f x t T Tx

f x t T Tt

= ⎛⎝⎜

⎞⎠⎟= + ⋅ + ⋅, , , , , , , , , , (6)

où les fonctions fi sont :

( ) ( )

( ) ( )

f x t T f T fh E c

f x t T VE

f x t TE

avecp

1 11 11

2 3

1

1

, ,

, , ; , , .

= ⋅ = −⋅ ⋅ ⋅

= =

ϕρ

(7)

Si on divise le domaine x∈[0,xf] en n intervalles égaux d'écart ∆x = xf/n et si on choisit le pas temporel ∆t, les équations approchées du (6) pour les deux étapes de l'algorithme seront :

- à l'étape de prédiction :

( ) ( ) ( ) ( ) ( )Tx f

tT T x f T f

xT T f

tTi

j

i

j

i

j

ij

ij

ij

ij

+ +

+

+

+ −− ⋅ +⋅⎡

⎣⎢⎢

⎦⎥⎥⋅ + = ⋅ +

⋅⋅ − −

⋅⋅

⎣⎢

⎦⎥1

12

23

12

1

12 2

112

1 132 1

22∆

∆∆

∆ ∆ϕ

(8)

- à l'étape de correction :

160

( ) ( ) ( )

( ) ( ) ( )

Tf x

Tf x

tT

f x

T T T x f T fx

T T ft

T

ij

ij

ij

ij

ij

ij

i

j

ij

ij

ij

−+ +

++

− +

+

+ −

+⋅⎡

⎣⎢

⎦⎥ − +

⋅ ⋅⎡

⎣⎢⎢

⎦⎥⎥+ −

⋅⎡

⎣⎢

⎦⎥ =

= − + ⋅ − + ⋅ ⋅ ⋅⎛

⎝⎜

⎠⎟ +

⋅⋅ − − ⋅

⎣⎢⎢

⎦⎥⎥

11 2 1 3

2

11 2

1 12

11

12 2

1 13

12

22

12

2 24

∆ ∆∆

∆∆ ∆

ϕ

(9) dans lesquelles: j dénote l'instant antérieur du temps (avec la distribution spatiale de T connue); j+1/2 correspond à la moitié du pas temporel actuel de calcul (prédiction) et j+1 représente le pas temporel courant de calcul.

La condition (5) est approchée par la relation très simple : dTdx

T Txx n

n n

=

−≅−

=1 0∆

, (10)

de laquelle il vient Tn = Tn-1 . En écrivant les équations (8) et (9) en tous points intérieurs i = 1,..., n-1, il

résulte les deux systèmes d'équations algébriques suivants :

1) : T b T T d pour i ni

j

i

j

i

j

i−

+ +

+

++ ⋅ + = = −1

12

12

1

12 2 2, ,

______;

Page 162: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

en i = 1 : b T T d Tj j j

⋅ + = −+ + +

1

12

2

12

1 0

12 , avec T0 donné par (4) ; (11)

en i = n-1 : ( )T b T dn

j

n

j

n−

+

+

−+ + ⋅ =2

12

1

12

11 , en tenant compte de (10) ; dans lesquelles on dénote:

( ) ( ) ( ) ( ) ( )bx f

td x f T f

xT T f

tTi i

jij

ij

ij= − ⋅ +

⎣⎢⎢

⎦⎥⎥

= ⋅ ⋅ +⋅

⋅ − −⋅

⋅⎡

⎣⎢

⎦⎥+ −2 1

222

3 211

21 1

3∆∆

∆∆ ∆

; ϕ

et respectivement:

2) : a T b T c T d pour i nij

ij

ij

i∗

−+ ∗ + ∗

++ ∗⋅ + ⋅ + ⋅ = = −1

1 111 2 2, ,

______;

en i = 1 : b T c T d a Tj j j∗ + ∗ + ∗ ∗ +⋅ + ⋅ = − ⋅11

21

1 01 , avec T0 donné par (4) ; (12)

en i = n-1 : en tenant compte de (10) ; ( )a T b c T dnj

nj

n∗

−+ ∗ ∗

−+

−∗⋅ + + ⋅ =2

111

1 ,dans lesquelles on dénote:

( ) ( )

( ) ( ) ( )

ax f

b b cx f

d T T T x f T fx

T T ft

Ti ij

ij

ij

i

j

ij

ij

ij

∗ ∗ ∗

∗− +

+

+ −

= +⋅

= = −⋅

= − + ⋅ − + ⋅ ⋅ ⋅⎛

⎝⎜

⎠⎟ +

⋅⋅ − − ⋅

⎣⎢⎢

⎦⎥⎥

12

12

2 24

2 2

1 12

11

12 2

1 13

∆ ∆

∆∆ ∆

; ;

Ces systèmes sont successivement résolus sur chaque pas temporel, à l'aide de l'algorithme de Thomas.

161

Lorsque la température naturelle (en amont) ou celle de l'eau polluée (en aval) deviennent négatives, elles seront imposées au zéro.

Le programme "P39" répète les calculs jusqu'à l'instant où la position du front de glace reste immobile à deux pas temporels consécutifs. Pour les données du problème, en choisissant la longueur xf = 100 km, avec n = 100 (à savoir ∆x = 1 km) et ∆t = 1 heure, il résulte que le régime stationnaire sera atteint après 48 heures, avec une longueur d'environ 69 km en aval de la centrale électrique, qui est protégée du pont de glace (tableau 3.11). Tableau 3.11

Longueur du tronçon sans glace= 69.0 km Distribution de la température le long du tronçon: x(km)= 0.0 T(gr.C)= 1.200 x(km)= 35.0 T(gr.C)= 0.955 x(km)= 2.0 T(gr.C)= 1.156 x(km)= 37.0 T(gr.C)= 0.946 x(km)= 4.0 T(gr.C)= 1.124 x(km)= 39.0 T(gr.C)= 0.935 x(km)= 6.0 T(gr.C)= 1.105 x(km)= 41.0 T(gr.C)= 0.924 x(km)= 8.0 T(gr.C)= 1.093 x(km)= 43.0 T(gr.C)= 0.908 x(km)= 10.0 T(gr.C)= 1.081 x(km)= 45.0 T(gr.C)= 0.884 x(km)= 12.0 T(gr.C)= 1.071 x(km)= 47.0 T(gr.C)= 0.847

Page 163: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

x(km)= 14.0 T(gr.C)= 1.060 x(km)= 49.0 T(gr.C)= 0.793 x(km)= 16.0 T(gr.C)= 1.050 x(km)= 51.0 T(gr.C)= 0.720 x(km)= 18.0 T(gr.C)= 1.039 x(km)= 53.0 T(gr.C)= 0.628 x(km)= 20.0 T(gr.C)= 1.029 x(km)= 55.0 T(gr.C)= 0.523 x(km)= 22.0 T(gr.C)= 1.019 x(km)= 57.0 T(gr.C)= 0.413 x(km)= 24.0 T(gr.C)= 1.009 x(km)= 59.0 T(gr.C)= 0.306 x(km)= 26.0 T(gr.C)= 0.999 x(km)= 61.0 T(gr.C)= 0.210 x(km)= 28.0 T(gr.C)= 0.989 x(km)= 63.0 T(gr.C)= 0.130 x(km)= 30.0 T(gr.C)= 0.979 x(km)= 65.0 T(gr.C)= 0.067 x(km)= 32.0 T(gr.C)= 0.970 x(km)= 67.0 T(gr.C)= 0.021 x(km)= 34.0 T(gr.C)= 0.960 x(km)= 69.0 T(gr.C)= 0.000 Bien que dans ce problème a été acceptée une relation linéaire, très simple,

pour le transfert de la chaleur à l'interface, l'algorithme ci-dessus presenté reste valable dans le cas général, quand la fonction ϕ peut prendre une forme plus complexe comme par exemple : ( ) ( )[ ] ( )[ ]

( ) ( ) ( )

( ) ( )

ϕ ϕ ϕ ϕT, c T u w p c c

c T T

w uT

T p T T

s a s s

a

a

, , , , , , , , , , ,

, , ,

, exp , , , ln , ,

= + ⋅ − + ⋅ ⋅ ⋅ + ⋅ −

+ ⋅ ⋅ + ⋅ ⋅ + − ⋅ ⋅ + −

− ⋅ ⋅ − ⋅ −+

− ⋅ +⎡⎣⎢

⎤⎦⎥+

⋅⋅ −

⎧⎨⎩

⎫⎬⎭

− −

0 35 0 61 1 0 892 1 39 10 0 35 0 61 1

518 10 1 0 17 273 5 44 10 273

3 9 1 63 04 7139 6273

6 26 273 0 611000

4

13 2 6 8 4

+

dans laquelle interviennent les paramètres météorologiques suivants : ϕs - la radiation solaire au ciel serein ; c - la nébulosité ; Ta et u - la température et l'humidité relative de l'air ; w - la vitesse du vent et p - la pression atmosphérique. Bien évidemment, il faut connaître leurs variations temporelles sur l'intervalle d'étude, ou il faut accepter des valeurs moyennes sur cet intervalle. En fait, les coefficients ε et η de l'expression du ϕ

sont obtenus par la méthode des moindres carrés, pour des valeurs moyennes correspondant à un mois d'hiver (ϕs = 194 W·m-2 , c = 0,6 , Ta = -5ºC , u = 0,7 , w = 4,95 m·s-1).

162

PROGRAM P39;

Probleme 3.9 - Pollution thermique d'une riviere uses crt; const ro=1000.; cp=4217.; type vect=array[0..110]of real; var qce,deltat,qriv,h,larg,e,t0,eps,eta,xf,dt, f11,f2,f3,dx,bb,as,cs,ti,trv,trn:real; n,i,k,jglv,jgln,ia,ja:integer;

tv,a,b,c,d,tp,tn:vect; glace,stop:boolean; fis:text; PROCEDURE Thomas(... voir Probleme 2.16 ....); ..............................................

Page 164: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

BEGIN Donnees d'entree dans le fichier 'p39.dat' assign(fis,'p39.dat'); reset(fis); readln(fis,qce,deltat); readln(fis,qriv,h,larg,e,t0); readln(fis,eps,eta); readln(fis,xf,n,dt); close(fis); f11:=-1/(h*e*ro*cp); f2:=qriv/(larg*h)/e; f3:=1/e; dx:=1000*xf/n; dt:=3600*dt; ti:=deltat*qce/qriv; bb:=-2*(1+sqr(dx)*f3/dt); as:=1+dx*f2/2; cs:=1-dx*f2/2; trv:=t0; for i:=0 to n do tv[i]:=t0; jglv:=n+1; k:=0; glace:=false; stop:=false; clrscr; writeln('Programme en execution'); repeat k:=k+1; if trv>0 then trn:=trv-dt*(eps*trv+eta)/(h*ro*cp)/2 else trn:=0; tp[0]:=trn+ti; for i:=1 to n-1 do begin a[i]:=1; b[i]:=bb; c[i]:=1; d[i]:=sqr(dx)*(-f11*(eps*tv[i]+eta)+f2*(tv[i+1]-tv[i-1])/2/dx- 2*f3*tv[i]/dt); end; d[1]:=d[1]-tp[0]; b[n-1]:=b[n-1]+1; THOMAS(1,n-1,a,b,c,d,tp); tp[n]:=tp[n-1]; if tp[n]<=0 then glace:=true;

163

if glace then for i:=0 to n do if tp[i]<0 then tp[i]:=0;

if trn>0 then trv:=trn-dt*(eps*trn+eta)/(h*ro*cp)/2 else trv:=0; tn[0]:=trv+ti; for i:=1 to n-1 do begin a[i]:=as; b[i]:=bb; c[i]:=cs; d[i]:=-tv[i-1]+2*tv[i]-tv[i+1]+2*sqr(dx)*(-f11*(eps*tp[i]+eta)+ f2*(tv[i+1]-tv[i-1])/dx/4-f3*tv[i]/dt); end;

d[1]:=d[1]-a[1]*tn[0]; b[n-1]:=b[n-1]+c[n-1]; THOMAS(1,n-1,a,b,c,d,tn); tn[n]:=tn[n-1]; if tn[n]<=0 then glace:=true; if glace then for i:=0 to n do if tn[i]<0 then tn[i]:=0; if glace then begin jgln:=0; repeat jgln:=jgln+1; until tn[jgln]=0;

Page 165: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

if jgln=jglv then stop:=true; jglv:=jgln; end; for i:=0 to n do tv[i]:=tn[i]; until stop; writeln('Longueur du troncon sans glace=',jglv*dx/1000:6:1,' km'); writeln('Distribution de la temperature le long du troncon:'); ja:=round(jglv/2); ia:=round(ja/22); for i:=0 to ja do if (i mod ia)=0 then writeln('x(km)=',i*dx/1000:6:1,' T(gr.C)=',tv[i]:6:3,' ', 'x(km)=',(i+ja)*dx/1000:6:1,' T(gr.C)=',tv[i+ja]:6:3); writeln('Pause - ENTER !'); readln; END.

PROBLÈME 3.10

* Formation du pont de glace à la surface d'un lac

Soit un lac aux dimensions appréciables en plan horizontal et de pronfondeur

constante H = 1 m. Déterminer l'intervalle de temps nécessaire à former un pont de glace d'épaisseur ∆ = 0,5 m, dans les hypothèses suivantes :

- température à la surface de la glace constante en temps et égale à Te = -8ºC - température initiale de l'eau, uniformément égale en profondeur à τ0 = 2ºC - on néglige le transfert de chaleur au lit et le transfert convectif. La chaleur massique, la conductivité thermique et la densité de l'eau et

respectivement de la glace ont les valeurs : cpe = 4217 J·kg-1·K-1, λe = 0,561 W·m-1·K-1 ρe = 1000·kg·m-3 et cpg = 2260 J·kg-1·K-1, λg = 2,2 W·m-1·K-1 , ρg = 917 kg·m-3 , tandis que la chaleur latente à fondre L = 3,333·105 J·kg-1.

164

♦ Solution: Le problème peut être modélisé comme un problème dans deux milieux,

séparés par une frontière libre, F(t), variable en temps. L'équation unidimensionnelle de conduction de la chaleur en régime non-

permanent, doit être appliquée en chacun des deux milieux impliqués. On dénote avec τ(x, t) la température de l'eau et par T(x, t) la température en

glace, à une profondeur x au-dessous de la surface et à l'instant t. Dans les hypothèses déjà mentionnées, les phénomènes sont régis par les

relations :

Page 166: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- En eau : ∂ τ∂

ρ

λ∂τ∂

2

2xc

te pe

e

=⋅

⋅ , pour F(t) < x

<H ; t > 0 , (1) avec les conditions initiales : τ(x, 0) = τ0 pour 0 ≤ x ≤ H (2) et les conditions aux limites :

(∂τ∂x x H

pour t au lit=

= ≥0 0 ) (3)

( ) ( )τx F t x F tT pour t= == = ≥0 0 (4)

- En glace : ∂

ρ

λ∂∂

2

2T

x

c Tt

g pg

g=

⋅⋅

pour 0 < x <F(t) ; t > 0 ,

(5)

avec les conditions aux limites : Tx=0 = Te pour t > 0 (à la surface) (6) Tx=F(t) = τx=F(t) = 0 pour t >0 (7)

et pratiquement sans conditions initiales. De plus, au front de gelée on peut écrire l'équation de bilan thermique sous la

forme suivante:

( ) ( )

( )λ

∂∂

λ∂τ∂

ρgx F t

ex F t

eTx x

LdF t

dt⋅ − ⋅ = ⋅ ⋅

= =

. (8)

L'algorithme de résolution a été conçu de sorte qu'à chaque pas temporel (admis variable ), le front de gelée doive avancer à un seul pas d'espace (admis constant ). Une telle prémise impose d'utiliser pour l'intégration des équations paraboliques (1) et (5) - une méthode du type implicite, c'est-à-dire un schéma ayant la stabilité inconditionnelle par rapport aux dimensions des pas temporel et respectivement d'espace.

Dans ces conditions, en supposant que la position du front à l'instant k est connue, à savoir F(tk) = xk = k·∆x, et les distributions des températures sont, aussi bien connues en glace et respectivement en eau, c'est-à-dire :

Ti,k , pour i = 0, ..., k et τi,k , pour i = k, ..., n . (9)

165

(bien evidemment avec Tk,k = τk,k = 0, au front ), pour déterminer la solution à l'instant k+1, il faut faire les évaluations suivantes :

1) Déterminer la durée du pas temporel ∆tk+1 = tk+1 - tk , par l'intégration numérique d'équation différentielle ordinaire (8), de sorte que le front atteigne la position xk+1 sur la verticale. Avec la méthode d'Euler, la solution apparaît sous la forme :

( ) ( )( ) ( )

F t F t tL

Tx xk k k

eg

x F te

x F tk k

+ += =

= + ⋅⋅

⋅ ⋅ − ⋅⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪1 1

1∆

ρλ

∂∂

λ∂τ∂

, (10)

dans laquelle on accepte pour les deux dérivées partielles, les approximations:

Page 167: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )( )

( )( )

∂∂

∂∂

∂τ∂

∂τ∂

τ τ

Tx

Tx x

T T

x x x

x F t x xk k k k

x F t x xk k k k

k k

k k

= =−

= =+

= ≅ ⋅ −

= ≅ ⋅ −

1

1

1

1

, ,

, , , (11)

où Tk,k = τk,k. En tenant compte que F(tk+1) = xk+1 et F(tk) = xk, , les relations (10) et (11)

fournissent l'équation:

( )x x x tx L

Tk k ke

g k k e k k+ + −− = = ⋅⋅ ⋅

⋅ − ⋅ − ⋅1 1 11

∆ ∆∆ ρ

λ λ τ, ,+1

d'où il vient :

( )( )∆

∆t

x LTk

e

g k k e k k+

− +

=⋅ ⋅

− ⋅ − ⋅1

2

1 1

ρ

λ λ τ, ,

. (12)

2) Avec le pas ∆tk+1 calculé, on détermine la distribution de température dans l'espace occupé par l'eau à l'instant tk+1 , c'est-à-dire de x = xk+1 à x = xn . En utilisant les approximations (3.66) pour les dérivées partielles, on obtient l'équation aux différences finies, correspondant à l'équation (1) :

( ) ( )τ

ατ τ

ατi k

e ki k i k

e ki k

xt

xt− +

++ + +

+

− +⋅

⎣⎢⎢

⎦⎥⎥⋅ + = −

⋅⋅1 1

2

11 1 1

2

1

2, , , ,∆∆

∆∆ , (13)

où αλ

ρee

e pec=

⋅ , qui s'applique pour i = k+2, ..., n-1, avec les conditions aux limites

(au front de gelée) et

τk k+ + =1 1 0,∂τ∂x xn

= 0

à tous instants k (au lit).

3) De la même manière, l'équation (5) prend la forme aux différences finies:

( ) ( )Tx

tT T

xt

Ti kg k

i k i kg k

i k− ++

+ + ++

− +⋅

⎣⎢⎢

⎦⎥⎥⋅ + = −

⋅⋅1 1

2

11 1 1

2

1

2, , , ,∆∆

∆∆α α , (14)

166

où αλ

ρgg

g pgc=

⋅ , qui s'applique pour i = 1, ..., k, avec les conditions aux limites

(à la surface) et TT k0 1, + = Te k k+ + =1 1 0, (au front de gelée). Cette relation sert à

déduire la distribution de température dans l'espace occupé par la glace à l'instant tk+1. Les systèmes d'équations algébriques (13) et (14) sont du type tridiagonal et

seront résolus à l'aide de l'algorithme de Thomas (3.58) - (3.60), réalisé par la procédure

Page 168: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

"Thomas". Les particularités du problème demandent un traitement spécial seulement au premier pas de temps, au domaine de la glace, où on accepte T0,1 = Te et T1,1 = 0.

Le programme affiche la distribution de température en glace et dans l'eau, à l'instant où le pont de glace atteint l'épaisseur donnée. Une illustration graphique présente l'evolution du front de gelée en temps.

Pour les données d'entrée ci-dessus précisées, en utilisant un nombre de pas d'espace en profondeur n = 50, on obtient les résultats:

- L'intervalle de temps nécessaire à former un pont d'épaisseur ∆ = 0,5 m est d'environ 728,8 heures.

- La distribution de température en profondeur, à cet instant, est incluse dans le tableau 3.12.

Tableau 3.12

x (cm) 0 6 12 18 24 30 36 42 48 T (ºC) -8 -7,07 -6,14 -5,21 -4,28 -3,36 -2,44 -1,52 -0,61 x (cm) 54 60 66 72 78 84 90 96 T (ºC) 0.03 0,10 0,17 0,23 0,28 0,32 0,35 0.36

L'évolution en temps du front de gelée apparait dans la figure 3.35.

167

PROGRAM P310;

Page 169: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Probleme 3.10 - Formation du pont de glace a surface d'un lac uses crt,graph; const cpe=4217.; lamdae=0.561; roe=1000.; cpg=2260.; lamdag=2.2; rog=917.; late=3.333e+5; type vect=array[0..251]of real; var h,delta,te,tau0,dx,dx2,alfae,alfag,term,tkm1,dtk,betk,gamk, dt,dh:real;

npas,i,k,gd,gm,dy,xe,dxe,ye,xev,yev:integer; tv,timp,tlit,tn,a,b,c,d:vect; text:string; PROCEDURE Thomas(... voir Probleme 2.16 ...); ............................................. BEGIN Donnees d'entree: write('Profondeur H(m)='); readln(h); write('Epaisseur finale delta(m)='); readln(delta); write('Temperature ext.Te(gr.C)='); readln(te); write('Temperature init.d-eau ='); readln(tau0); write('Nombre de pas en profondeur'); readln(npas); dx:=h/npas; dx2:=sqr(dx); alfae:=lamdae/roe/cpe; alfag:=lamdag/rog/cpg; term:=dx2*roe*late; for i:=0 to npas do tv[i]:=tau0; k:=0; timp[k]:=0; tlit[k]:=tau0; repeat k:=k+1; tn[0]:=te; if k = 1 then tkm1:=te else tkm1:=tv[k-2]; dtk:=term/(-tkm1*lamdag-tv[k]*lamdae); betk:=dx2/alfae/dtk; for i:=k+1 to npas-1 do begin a[i]:=1; b[i]:=-2-betk; c[i]:=1; d[i]:=-betk*tv[i]; end; b[npas-1]:=-1-betk; THOMAS(k+1,npas-1,a,b,c,d,tn); tn[k]:=0; tn[npas]:=tn[npas-1]; tlit[k]:=tn[npas]; if k > 1 then begin gamk:=dx2/alfag/dtk; for i:=1 to k-1 do begin a[i]:=1; b[i]:=-2-gamk; c[i]:=1; d[i]:=-gamk*tv[i];

168

Page 170: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

end;

d[k-1]:=0; d[1]:=d[1]-te; THOMAS(1,k-1,a,b,c,d,tn); end; timp[k]:=timp[k-1]+dtk/3600; for i:=0 to npas do tv[i]:=tn[i]; until (k*dx > delta); writeln('Epaisseur de glace',delta:5:1,' (m) a ete realisee en', timp[k]:6:1,' heures'); writeln('Distribution de temp.d-apres verticale (gr.C):');

for i:=0 to npas do if (i mod 3) = 0 then writeln('x(cm)=',100*i*dx:8:2,' temp.=',tv[i]:8:2); writeln('Pause - Enter !'); readln; clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setcolor(yellow); line(300,20,300,250); line(300,20,520,20); outtextxy(520,30,'temps(h)'); outtextxy(305,250,'x(cm)'); dt:=timp[k]/4; dy:=50; for i:=1 to 4 do begin xe:=300+round(i*dy); str(round(i*dt):3,text); outtextxy(xe,10,text); line(xe,20,xe,23); end; dh:=h/5; dxe:=40; for i:=1 to 5 do begin ye:=20+round(i*dxe); str(round(100*i*dh):3,text); outtextxy(260,ye,text); line(300,ye,303,ye); end; setcolor(blue); rectangle(10,20,210,220); setfillstyle(1,blue); floodfill(100,100,blue); setcolor(white); xev:=300; yev:=20; for i:=1 to k do begin delay(50*round(timp[i]-timp[i-1])); ye:=20+round(i*dx*200/h); rectangle(10,yev,210,ye); setfillstyle(1,white); floodfill(100,yev+1,white); xe:=300+round(timp[i]*200/timp[k]); line(xev,yev,xe,ye); xev:=xe; yev:=ye; end; outtextxy(100,320,'Probleme 3.10 -'); outtextxy(100,350,'Formation du pont de glace'); repeat until keypressed; closegraph; END.

169

Page 171: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

3.4 Traitement numérique des équations aux dérivées partielles du type hyperbolique 3.4.1. Expressions analytiques et domaines physiques d'intérêt Le troisième type d'équation représentative du comportement de systèmes

physiques à constantes réparties s'appelle le type hyperbolique et correspond à la condition AC < B2 dans la forme (3.1).

De telles équations hyperboliques se rencontrent sous la forme générale suivante :

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

2

2

2

2

2

2

2

2x y zK

t+ + = ⋅ , (3.83)

laquelle représente le cas où le paramètre K est le produit de deux types d'éléments accumulateurs d'énergie (potentielle et cinétique), présentes simultanément dans le champ physique tridimensionnel (et ceci, tout particulièrement dans le cas où les paramètres correspondants sont linéaires et uniformes à l'intérieur du système considéré).

On constate le fait que le temps est une variable indépendante. La réponse donnée à toute excitation par une telle équation se présente sous forme oscillatoire.

La présence d'un paramètre de dissipation d'énergie, conduit à faire apparaître la dérivée première de la variable dépendante par rapport au temps, aussi que la variable dépendante elle-même. Dans ce cas, la réponse oscillatoire est du type amorti et l'équation prend la forme:

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

∂ ϕ∂

∂ϕ∂

ϕ2

2

2

2

2

2 1

2

2 2 3x y zK

tK

tK+ + = ⋅ + ⋅ + ⋅ , (3.84)

où les grandeurs K1, K2, K3 sont fonctions des paramètres du champ supposé uniforme et linéaire.

Si les paramètres du système sont fonctions des coordonnées d'espace, l'équation correspondante a une forme plus complexe

Bien entendu, pour résoudre une telle équation il convient de connaître les conditions initiales à l'instant t = 0, aussi que les conditions aux limites du domaine d'intérêt.

Les conditions initiales contiennent plus informations que celles nécessaires pour la résolution d'un problème régi par une équation du type parabolique, en précisant la valeur du potentiel et la dérivée de celui-ci par rapport au temps, a savoir :

( ) ( )( ) ( )

ϕ

∂ϕ∂

x y z f x y z

x y zt

f x y z

, , , , ,

, , ,, ,

.0

01

2

=

=

⎨⎪

⎩⎪ (3.85)

170

Page 172: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

En ce qui concerne les conditions aux limites, celles-ci peuvent prendre soit la forme de Dirichlet :

( ) (ϕc x y z g x y z t, , , , ,= 1 ) (3.86) (une valeur donnée du potentiel en chacun des points du contour), soit la forme de Neumann :

( ) (∂ϕ∂

c x y zn

g x y z t, ,

, , , ,= 2 ) (3.87)

n représentant la direction normale au contour (c'est-à-dire une valeur donnée du gradient du potentiel sur le contour du domaine). Mais, occasionnellement, il peut apparaître des problèmes où les deux types de conditions soient appliquées simultanément en certains points du contour, alors qu'aucune condition n'est spécifiée en d'autres points.

Souvent, il arrive qu'on est accepté comme plus avantageux (du point de vue mathématique) de mettre l'équation hyperbolique aux dérivées partielles du deuxième ordre, sous la forme dite normale et dans laquelle apparaissent seulement des dérivées partielles du premier ordre. C'est ainsi que l'équation unidimensionnel :

∂ ϕ

∂ ϕ

2

2

2

2xK

t= ⋅

(3.88)

pourra être remplacée par le système d'équations suivant :

∂ϕ∂

∂ψ∂

∂ψ∂

∂ϕ∂

xK

t

xK

t

= ⋅

=

⎨⎪⎪

⎩⎪⎪ ,

(3.89)

où ψ est une deuxième variable dépendante, introduite pour des raisons de formulation théorique.

En considerant , par exemple, l'écoulement non-permanent dans une conduite en charge, qui est régi par les équations suivantes :

- continuité :

VHx

Ht

ag

Vx

⋅ + + ⋅ =∂∂

∂∂

∂∂

20

- dynamique :

gHx

VVx

Vt

V Vd

⋅ + ⋅ + +⋅ ⋅

⋅=

∂∂

∂∂

∂∂

λ

20,

si on néglige V(∂H/∂x) dans la première et respectivement V(∂V/∂x) et le frottement λ·V·|V|/(2·d) dans la deuxième équation (devant les autres), il résulte le modèle plus simple :

∂∂

∂∂

∂∂

∂∂

Vx

ga

Ht

Hx g

Vt

+ ⋅ =

+ ⋅ =

⎨⎪⎪

⎩⎪⎪

2 0

1 0 , (3.90)

où: V est la vitesse moyenne; H - la charge piézometrique; a - la célérite des ondes élastiques dans le fluide; g - l'accélérateur de la pesanteur.

171

Page 173: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Or, le système (3.90) a une forme similaire au système (3.89), faisant apparaître les deux types de variables dépendantes complémentaires: la variable référencée (la charge piézometrique H) et la variable non-référencée (la vitesse V). Bien évidemment, en partant du (3.90), on peut déduire une équation hyperbolique comme:

2

2 2

2

21H

x aH

t= ⋅

ou

2

2 2

2

21V

x aV

t= ⋅

(3.91)

regissant le même phénomène, dans les mêmes hypothèses

De la même manière, le comportement de la tension V, et du courant I, dans une ligne de transmission électrique avec une inductance distribuée L et une capacité distribuée C est décrit par les équations:

∂∂

∂∂

∂∂

∂∂

Vt C

Ix

It L

Vx

= − ⋅

= − ⋅

⎨⎪⎪

⎩⎪⎪

1

1 ,

desquelles on peut trouver une seule équation hyperbolique du deuxième ordre (en V ou respectivement en I)

Les équations hyperboliques sont associées aux phénomènes de vibration et aux phénomènes de mouvement ondulatoire. Les domaines de la physique régis par de telles équations correspondent à des phénomènes dont la divergence est proportionnelle à la dérivée seconde de la fonction (potentiel ou flux) par rapport au temps.

Si le paramètre dissipateur d'énergie n'existe pas dans le système, la réponse est oscillatoire et les variables dépendantes en chaque point du champ sont soumises à des variations transitoires harmoniques. La présence d'une source d'énergie dans un point quelconque du système induit des variations de potentiel en fonction du temps qui sont caractérisées par une sinusoïde d'amplitude constante et de fréquence déterminée par les paramètres du champ, la géométrie de celui-ci et les conditions aux frontières. Dans les problèmes conduisant à un régime permanent périodique, il est généralement nécessaire de déterminer seulement certaines caractéristiques de fréquence du système.

Dans le cas où le paramètre de dissipation est présent, l'énergie initiale appliquée au système est graduellement dissipée et - lorsque le temps tend vers l'infini - les conditions de repos seront approchées de façon asymptotique. Pour ces problèmes transitoires, il convient de déterminer les variables de potentiel et de flux du système, en fonction du temps et en des points spécifiés du domaine.

Parmi les applications physiques de telles équations hyperboliques il convient de citer :

- le comportement de membranes élastiques ; - la propagation d'ondes dans les milieux compressibles ; - la propagation des signaux électriques dans les lignes ; - la mécanique quantique ; - la mécanique des fluides (coup de bélier, onde de crue etc.). En vue du traitement mathématique, il convient de préciser quelques aspects

liés de la forme de référence (3.8) d'équation hyperbolique, à savoir:

172

Page 174: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

∂ ϕ∂

∂ ϕ∂

2

2

2

2 0x t

− = . (3.92)

Si les conditions aux limites ne sont pas imposées, il s'agit d'un problème dit de Cauchy (ou aux valeurs initiales), dans laquelle il faut déterminer une fonction ϕ(x, t), definie et continue sur le domaine (-∞ < x <∞ ; t ≥ 0) où elle satisfait (3.92) avec les conditions initiales (fig. 3.36) :

( ) ( )( ) ( )

ϕ

∂ϕ∂

x f x

xt

f xpour x

,

,

0

01

2

=

=

⎨⎪

⎩⎪− ∞ < < ∞ (3.93)

Donc, le problème de Cauchy est défini sur un demiplan. On peut démontrer que la solution d'un tel problème est fournie par la formule de D'Alembert [9] :

( ) ( ) ( ) ( )ϕ x t f x t f x t f r drx t

x t

, ,= ⋅ + + − + ⋅⎡

⎣⎢

⎦⎥

+

∫12 1 1 2 (3.94)

c'est-à-dire une solution analitique (si l'intégrale du terme droit admet une primitive). Mais une analyse plus détaillée de cette formule révèle certains aspects utiles

pour le traitement des problèmes aux conditions initiales et aux conditions aux limites.

On constate de la figure 3.37 et de la relation (3.94) que la solution du problème de Cauchy dans un point ( )P x t, est complètement déterminée, si on connaît

les fonctions f1 et f2, seulement entre les points ( ) ( )A x t et B x t− +, ,0 0 , sur

l'axe Ox. Le segment AB s'appelle l'intervalle de dépendance du point P et le domaine PAB est la région de dépendance. Les segments AP et BP s'appellent les caractéristiques de l'équation de l'onde en P et leurs équations seront:

et ( )

t t x xt t x x− = −

− = − − .

Le domaine placé au-dessus de P et délimité par les deux caractéristiques émanant de ce point s'appelle la region d'influence du P.

Par conséquent, si les conditions initiales sont précisées seulement sur l'intervalle limité 0 ≤ x ≤ a, alors la solution du problème de Cauchy peut être déduite strictement dans le triangle défini par les points (a/2, a/2), (0, 0) et (a, 0) du plan (x, t).

Ces notions sont fondamentales dans l'analyse des équations aux dérivées partielles du type hyperbolique et tout particulièrement dans le problème aux conditions initiales et aux conditions aux limites, posé simplement sous la forme :

173

Page 175: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- déterminer une fonction ϕ(x, t) définie et continue sur le domaine ( 0 ≤ x ≤ a t ≥ 0) où elle satisfait l'équation (3.92) avec les conditions initiales :

( ) ( )( ) ( )

ϕ

∂ϕ∂

x f x

xt

f x

pour x a

pour x a

, ,

,,

0

01

2

0

0

=

=

≤ ≤

< <

et les conditions aux limites : ( ) ( )( ) ( )

ϕ

ϕ

0 1

2

,

,

t g t

a t g t

=

= pour t ≥ 0

dans lesquelles f1, f2, g1, et g2 sont fonctions continues et a - une constante positive (fig. 3.38).

Il s'agit donc d'un problème défini sur une demibande du plan (x, t).

3.4.2. Solution numérique d'équation hyperbolique unidimensionnelle De façon tout à fait comparable à celle déjà indiquée pour la solution des

équations paraboliques, il est possible d'approximer les équations du type hyperbolique en utilisant deux types de schémas aux différences finies (explicites et implicites). De plus, les équations aux dérivées partielles du type hyperbolique peuvent être abordées par une méthode numérique particulière - la méthode des caractéristiques - détaillée au paragraphe suivant.

Soit à résoudre l'équation: ∂ ϕ

∂ ϕ

2

2 2

2

21

x c t= ⋅

(3.95)

intervenant dans un grand nombre de problèmes de vibration et de propagation d'ondes (où le paramètre K de l'équation (3.83) est proportionnel à l'inverse du carré de la

174

Page 176: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

fréquence de vibration, et donc c est proportionnel à cette fréqunce). Dans un schéma explicite, sur le maillage de la figure 3.39, les deux dérivées

partielles de l'équation (3.95) peuvent être remplacées par les approximations aux différences finies suivantes :

( )

( )

∂ ϕ∂

ϕ ϕ ϕ

∂ ϕ∂

ϕ ϕ ϕ

2

21 1

2

2

21 1

2

2

2

x x

t t

i n

i n i n i n

i n

i n i n i n

⎛⎝⎜

⎞⎠⎟ ≅

− ⋅ +

⎛⎝⎜

⎞⎠⎟ ≅

− ⋅ +

+ −

+ −

,

, ,

,

, ,

,

,

(3.96)

Il convient de remarquer que les deux relations (3.96) sont centrées sur le noeud (i, n) du maillage.

Substituant ces deux expressions dans l'équation (3.95), il vient:

( )( )

( )( )1 2 1 22 1 1 2 2 1 1

∆ ∆x c ti n i n i n i n i n i n⋅ − ⋅ + =⋅

⋅ − ⋅ ++ − + −ϕ ϕ ϕ ϕ ϕ ϕ, , , , , , (3.97)

et en dénotant ( )

( )λ =

⋅c tx

2 2

2

∆,

il résulte:

( ) ( )ϕ λ ϕ ϕ λ ϕ ϕi n i n i n i n i n, , , , .+ − += ⋅ − ⋅ − + ⋅ +1 1 12 1 ,−1 (3.98)

Si les potentiels à l'instant tn et à l'instant tn-1 sont connus, soit au résultat d'un calcul antérieur, soit à des conditions initiales, la seule quantité inconnue de (3.98) est ϕi,n+1 et donc, la relation (3.98) fournira explicitement cette grandeur.

Comme dans le cas d'équations paraboliques, la stabilité de calcul est assurée sous réserve que l'inéquation:

λ ≤ ≤1 ou donc tx

c∆

(3.99)

soit satisfaite [16].

En effet, cette condition impose la

présence des noeuds discrets (i-1, n) , (i, n) et (i+1, n) à l'instant de temps antérieur tn , dans la région de dépendance du noeud courant de calcul (i, n+1) (fig. 3.40).

Pour commencer le calcul au premier instant de temps, t1, il faut utiliser les conditions initiales f1(x) et f2(x).

175

Page 177: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

La condition ( ) ( )∂ϕ∂xt

f x,

,0

2=

sera utilisée sous la forme:

( )∂ϕ∂

ϕ ϕt t

f xi ii≅

−=, , ,1 0

2∆

de laquelle il vient: ( ) ( )ϕ ϕi i it f x, , .1 0 2= + ⋅∆ (3.100)

En tenant compte de la première condition, à savoir ( )ϕi if x,0 1=

la relation (3.100) prend la forme: ( ) ( ) ( )ϕi if x t f x,1 1 2= + ⋅∆ i (3.101)

qu'il doit être appliquée en chaque point intérieur i = 1, ..., M-1. Bien entendu , à x = 0 et x = a seront utilisées les conditions aux limites, c'est-à-dire:

( ) ( )ϕ ϕ0 1 1 1 1 2 1, , .= =g t g tet M (3.102)

À tous les pas temporels ultérieurs t2, t3, ..., les valeurs ϕi,n aux noeuds intérieurs i = 1, ..., M-1 seront calculées avec la relation explicite (3.98), tandis qu'aux frontières seront utilisées les conditions aux limites comme en (3.102).

Si l'équation aux dérivées partielles du type hyperbolique est exprimée sous la forme normale suivante:

∂∂

∂∂

∂∂

∂∂

vt

c wx

wt

c vx

= ⋅

= ⋅

⎨⎪⎪

⎩⎪⎪ ,

(3.103)

176

Page 178: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où v

tw c

xc

Ket= = ⋅ =

∂ϕ∂

∂ϕ∂

, ,1

celle-ci peut être aussi abordée par une méthode explicite. L'expérience numérique a prouvé qu'une solution stable est obtenue en

utilisant le système d'équations aux différences du type :

v vt

cw w

xw w

tc

v vx

i n i n i n i n

i n i n i n i n

, , , ,

, , , ,

++ −

− + −+ − +

−= ⋅

−= ⋅

⎪⎪

⎪⎪

112

12

12

1 12 1 1

∆ ∆

∆ ∆1

(3.104)

Les équations (3.104) sont équivalents à l'équation (3.97) si les indications

suivantes sont précisées :

et ( ) ( )

( )

vt

vt

vt

w cx

w cx

w cx

i ni n i n

i ni n i n

i ni n i n

i n i n i n i n i n i n

i n i n i n

,, ,

,, ,

,, ,

, , , , , ,

, , ,

; ;

; ;

=−

=−

=−

= ⋅ − = ⋅ −

= ⋅ −

⎪⎪⎪

⎪⎪⎪

−+

+− +

− + −

++

−−

− ++ − +

ϕ ϕ ϕ ϕ ϕ ϕ

ϕ ϕ ϕ ϕ

ϕ ϕ

11

11 1

1 1 1

12

1 12

1

12

1 1 1 1

∆ ∆

∆ ∆

(3.105) Il est préférable de transformer le système (3.104) sous la forme :

( )

v v r w w

w w r v v

i n i n i n i n

i n i n i n i n

, , , ,

, , , , ,

++ −

− + −+ − +

= + ⋅ −⎛

⎝⎜

⎠⎟

= + ⋅ −

⎨⎪⎪

⎩⎪⎪

1 12

12

12

1 12

1 1 1

(3.106)

dans laquelle r est donné par r = (c·∆t)/∆x.

La première équation de (3.106) est d'abord résolue pour tous les points du maillage à l'instant tn+1, suivie de la résolution de la deuxième équation de (3.106) pour les mêmes points.

Il convient de noter qu'en ce cas, les conditions aux limites s'imposent sur les

valeurs de v à x= 0 et x = a, pour toutes les valeurs du temps supérieures à zéro, tandis que les conditions initiales incluent la valeur de v et de w pour toutes les valeurs de x à l'instant t = 0.

177

Page 179: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Une méthode implicite très simple s'obtient en approchant les dérivées partielles dans le point (i, n) du maillage, par les expresions aux différences finies suivantes :

( ) ( )

( )

∂ ϕ∂

ϕ ϕ ϕ ϕ ϕ ϕ

∂ ϕ∂

ϕ ϕ ϕ

2

21 1 1 1 1

21 1 1 1 1

2

2

21 1

2

2 2

2

x x x

t t

i n

i n i n i n i n i n i n

i n

i n i n i n

⎛⎝⎜

⎞⎠⎟ ≅

− ⋅ ++

− ⋅ +⎡

⎣⎢⎢

⎦⎥⎥

⎛⎝⎜

⎞⎠⎟ ≅

− ⋅ +

− + + + + − − − + −

+ −

,

, , , , , ,

,

, , , .

∆ ∆

(3.107)

Substituant ces relations dans l'équation (3.95), il vient une formule aux différences finies du type:

ϕλ

ϕ ϕ

ϕλ

ϕ

ϕλ

ϕ

i n i n i n

i n i n

i n i n

− + + + +

− − −

+ −

− +⎛⎝⎜

⎞⎠⎟⋅ +

= − + ⋅ +⎛⎝⎜

⎞⎠⎟⋅ −

− − ⋅

1 1 1 1 1

1 1 1

1 1

2 1 1

2 1 1

4

, ,

, ,

, , ,

=,

(3.108) dans laquelle apparaissent trois valeurs inconnues du potentiel ϕ à l'instant de temps courant tn+1.

Une équation comme (3.108) est décrite en chaque point intérieur de l'espace xi, i = 1, 2, ..., M-1 ; la matrice résultante est tridiagonale et l'algorithme de Thomas peut donc être appliqué directement à la solution de ce système d'équations. Aux frontières, à x = 0 et x = a, il faut utiliser les conditions connues sous la forme ϕ0,n+1 = g1(tn+1) et

respectivement ϕM,n+1 = g2(tn+1). Pour déterminer le

potentiel ϕi,1 au premier instant de temps t1, un niveau temporel fictif, t-1, peut être admis.

Les valeurs ϕi,-1 sont alors liées aux celles de ϕi,1 par la condition initiale :

( )( ) ( )∂ϕ

∂ϕ ϕx

t tf x

i

i ii

,,

,

, ,020

1 12

⎛⎝⎜

⎞⎠⎟ ≅

−⋅

=−

de sorte que:

178

Page 180: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( ) ( )ϕ ϕi i t f x, ,− = − ⋅ ⋅1 1 22 ∆ i et donc, à cet instant temporel, l'équation (3.108) devient :

( ) ( ) ( ) ( ) ( )ϕλ

ϕ ϕλ λi i i i i it f x f x f x f x− + − +− ⋅ +⎛

⎝⎜⎞⎠⎟⋅ + = ⋅ − ⋅ +⎛

⎝⎜⎞⎠⎟⋅ +

⎣⎢

⎦⎥ − ⋅1 1 1 1 1 2 1 2 2 1 12 1 1 2 1 1 2

, , , ∆ i

(3.109)

Un schéma implicite plus complexe résulte si dans l'approximation aux différences finies acceptée pour ∂2ϕ/∂x2 seront utilisées, de plus, les valeurs du potentiel à l'instant tn sous la forme :

( ) ( ) [

( ) ]

∂ ϕ∂

ϕ ϕ ϕ

ϕ ϕ ϕ ϕ ϕ ϕ

2

2 2 1 1 1 1 1

1 1 1 1 1

12

2

2 2

x xi ni n i n i n

i n i n i n i n i n i n

⎛⎝⎜

⎞⎠⎟ =

+ ⋅⋅ − ⋅ + +

+ − ⋅ + + − ⋅ +

− + + + +

− + − − −

,, , ,

, , , , , ,

Θ ∆

Θ 1 1+ −

(3.110)

où le coefficient Θ > 0. Lorsque Θ est égal à zero, l'expression (3.110) devient identique à la première relation (3.107).

Dans ce cas, la relation correspondant au (3.108) sera :

ϕλ

ϕ ϕ ϕλ

ϕ ϕ

ϕλ

ϕ ϕ

i n i n i n i n i n i n

i n i n i n

− + + + + − − − + −

− +

− ++⎛

⎝⎜⎞⎠⎟⋅ + = − + +

+⎛⎝⎜

⎞⎠⎟⋅ −

− ⋅ + ⋅ −+⎛

⎝⎜⎞⎠⎟⋅ − ⋅

1 1 1 1 1 1 1 1 1 1

1 1

2 2 2 2

2 2

, , , , ,

, , ,

Θ Θ

Θ ΘΘ

Θ

−,

(3.111) et si une telle équation est décrite en chaque point intérieur d'espace i = 1, 2, ..., M-1, au niveau temporel tn+1, il résulte aussi un système tridiagonal d'équations algébriques simultanées ayant les inconnues ϕi,n+1.

Comme dans le cas des méthodes explicites, un problème régi par une équation hyperbolique peut être résolu en remplaçant cette équation par deux équations aux dérivées partielles du premier ordre et en résolvant celles-ci simultanément.

Les deux équations (3.103) peuvent être remplacées par le système implicite aux différences finies suivant :

( )

( )

v vt

cw w w w

xw w

tc

v v v vx

i n i n i n i n i n i n

i n i n i n i n i n i n

, , , , , ,

, , , , , , .

++ − + + −

− + −+ − + −

−= ⋅

− + −

−= ⋅

− + −⋅

⎪⎪⎪

⎪⎪⎪

112

12

12

1 12

1

12

1 12 1 1 1 1

2

2

∆ ∆

∆ ∆

+

(3.112)

Ces équations sont équivalentes à l'équation (3.111) dans laquelle Θ = 2 et sont, de ce fait, inconditionnellement stables.

En tenant compte de (3.105), on constate que la première équation du système (3.112) contient trois inconnues et peut être résolue de même manière que dans le cas précédent (l'algorithme de Thomas). Une fois que les valeurs de v ont été déterminées

179

Page 181: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

pour un incrément temporel donné, la deuxième équation (3.112) peut être résolue de façon explicite pour la seule inconnue restant, à savoir w.

3.4.3. Solution d'un système d'équations aux dérivées partielles du premier ordre, du type hyperbolique, par la méthode des caractéristiques. L'évolution de nombreux processus physiques est régie par des systèmes

ayant deux équations aux dérivées partielles du premier ordre, avec deux variables dépendantes et respectivement deux variables indépendantes. En mécanique des fluides, par exemple, c'est le cas du coup de bélier dans un écoulement en charge, ou le cas de l'écoulement à surface libre en régime non permanent (l'onde de crue).

De tels processus peuvent être analysés numériquement en utilisant la méthode dite des caractéristiques, laquelle est tout particulièrement appropriée pour résoudre un système à deux équations aux dérivées partielles du premier ordre, du type hyperbolique

3.4.3.1. Notion de caractéristique d'une équation aux dérivées partielles du premier ordre Soit l'équation aux dérivées partielles [18] : ∂ϕ∂

∂ϕ∂t

bx

c+ ⋅ = , (3.113)

dans laquelle ϕ est la variable dépendante, x et t sont les variables indépendantes, tandis que b et c sont fonction de ϕ, x et t.

L'équation (3.113) peut être transformée en une équation différentielle ordinaire par un changement formel des variables indépendantes, à savoir: en introduisant un système orthogonal de coordonnées s - n , incliné à l'angle α par rapport au système x - t.

Les dérivées de (3.113) prennent la forme : ∂ϕ∂

∂ϕ∂

∂∂

∂ϕ∂

∂∂

∂ϕ∂

∂ϕ∂

∂∂

∂ϕ∂

∂∂

t sst n

nt

x ssx n

nx

= ⋅ + ⋅

= ⋅ + ⋅

(3.114)

∂∂

α∂∂

α

∂∂

α∂∂

α

st

nt

sx

nx

= =

= =

sin ; cos

cos ; sin−

(3.115)

Substituant les relations (3.114) et (3.115) dans l'équation (3.113), il vient

180

Page 182: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

∂ϕ∂

α∂ϕ∂

α∂ϕ∂

α∂ϕ∂

αs n

bs n

c⋅ + ⋅ + ⋅ ⋅ − ⋅⎛⎝⎜

⎞⎠⎟=sin cos cos sin

et puis

( ) ( )− ⋅ − ⋅ + + ⋅ ⋅⎡⎣⎢

⎤⎦⎥=sin ,α λ

∂ϕ∂

λ∂ϕ∂

bn

bs

c1 (3.116)

dans laquelle λ = ctg α. Si on choisit l'angle α de sorte que b = λ = ctg α., alors la dérivée normale de

la fonction ϕ disparaît en (3.116), et la dérivée partielle par rapport à s peut être remplacée par la dérivée totale qui est donnée par :

( )dds

cb

cb

ϕα

=⋅ +

=+sin

,1 12 2

(3.117)

où on utilise la relation géometrique :

sin .αα

=+

=+

11

112 2ctg b

D'autre part, en passant à la limite, il résulte: dxds

bb

dtds b

= =+

=+

= =+

=+

⎨⎪⎪

⎩⎪⎪

cos

sin .

αλ

λ

αλ

1 11

11

1

2 2

2 2

(3.118)

Donc, l'équation aux dérivées partielles (3.113) peut être remplacée, le long d'axe s, par le système équivalent d'équations différentielles ordinaires (3.117) - (3.118) dans lequel les termes droits de chaque équation sont fonctions connues de x et t (par b et c).

La courbe s s'appelle la caractéristique d'équation (3.113) et α est la direction caractéristique.

Si dans un point donné A0(x0,t0), on connaît la valeur du ϕ0=ϕ(x0,t0), celle-ci constitue la condition initiale pour intégrer le système (3.117) - (3.118) le long de la courbe s, jusqu'à un point quelconque B0. De la même manière, les valeurs initiales connues en les points A1, A2, ..., permettent l'intégration des systèmes similaires au (3.117) - (3.118), selon des caractéristiques émanant de ces points.

Si Γ représente un segment de courbe le long duquel on connaissent simultanément les valeurs de ϕ, x et t, il est évident qu'on peut trouver la solution de l'équation (3.113) dans le domaine du plan (x,t) délimité par la courbe Γ et les caractéristiques émanant des points extrêmes du segment Γ . Spécifiquement, si Γ est parallèle à l'axe x, les valeurs de ϕ en différents points du Γ représentent des valeurs initiales en sens physique.

181

Page 183: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Le concept mathématique de la solution qui se propage le long de s, conduit au concept physique de la perturbation qui se propage selon une caractéristique. Soit donc, le contour Γ, défini par les points A0, A1, et A2 comme dans la figure 3.46.

On suppose qu'à l'instant t = t0, entre les points x0 et x1, la fonction ϕ varie de sorte que la dérivée par rapport au temps est nulle, à savoir ∂ϕ/∂t = 0, et donc l'équation (3.113) prend ici la forme :

( )∂ϕ∂x tx

cb

,,0 = (3.119)

c'est-à-dire la forme correspondant à un régime permanent.

Pour t > t0, on accepte que les valeurs de ϕ à x=x0 sont perturbées et l'équation (3.119) n'est pas valable

sur le segment A0A2. Mais, en accord aux équations (3.117) - (3.118), les valeurs du ϕ selon une caractéristique s, dépendent seulement de la valeur initiale, au commencement de la courbe s. Par conséquent, les valeurs perturbées de ϕ sur A0A2, se propagent (affectent) seulement dans la région du plan (x,t) qui est placée à x > x0, au-dessus et à gauche de la courbe s émanant de A0. La région placée à droit et au-dessous de cette courbe, reste non affectée par la perturbation de ϕ apparaissant à x = x0.

La vitesse de propagation de la perturbation est égale b = ctg α, c'est-à-dire égale à l'inverse de la pente de la caractéristique.

On constate que le système (3.117) - (3.118) peut être réduit à un système ayant seulement deux équations différentielles ordinaires, en éliminant la variable s par la division des premières deux équations à la troisième. Il en résulte :

( )

( )

a ddt

c x t

b dxdt

b x t

) ,

) ,

ϕϕ

ϕ

=

=

⎨⎪⎪

⎩⎪⎪

,

, (3.120)

mais, bien entendu, ce système est valable selon la courbe caractéristique s. L'équation a) peut être interprétée comme la vitesse de changement en temps de ϕ, ainsi qu'elle apparaît pour un observateur se déplaçant le long d'axe x avec une vitesse b donnée par b). En effet, l'équation b) de (3.120) représente l'équation de la courbe s.

3.4.3.2. Généralisation au cas d'un système à deux équations aux dérivées partielles, du premier ordre

Soit le système :

∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂

∂ϕ∂

111

112

21

221

122

22

tb

xb

xc

tb

xb

xc

+ + =

+ + =

⎨⎪⎪

⎩⎪⎪

(3.121)

182

Page 184: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

ou, en notation matricielle : ∂∂

∂∂

ϕ ϕt x+ =B C ,

(3.122)

avec: ϕ - le vecteur de variables dépendantes (ϕ1 et ϕ2); B - la matrice de coefficients bij, qui sont fonctions de ϕ1 , ϕ2 , x et t; C - le vecteur colonne de termes droits (c1 et c2), qui sont aussi, fonctions de ϕ1 , ϕ2 , x et t.

La transcription du système (3.122) dans les coordonnées s-n se fait avec les relations:

et

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

ϕ ϕ ϕ

ϕ ϕ ϕt s

st n

nt

x ssx n

nx

= ⋅ + ⋅

= ⋅ + ⋅ , (3.123)

dans lesquelles, les expressions (3.115) restent valables. Alors, au lieu d'équation (3.116), il résulte :

( ) ( )− − − +⎡⎣⎢

⎤⎦⎥=sinα λ

∂∂

λ∂∂

B I I B C ϕ ϕn n

, (3.124)

où I est la matrice unité 2x2, à savoir: I =⎡

⎣⎢

⎦⎥ =

1 00 1

et ctgλ α .

Bien entendu, on peut trouver des directions α, de sorte que les coefficients des dérivées normales dans les deux équations scalaires correspondant à l'équation matricielle (3.124), soient proportionnels. Cette situation apparaît lorsque le déterminant de la matrice formée aux ces coefficients est nul, à savoir si :

B I− ⋅ =λ 0 (3.125) En fait, la condition (3.125) représente une équation du deuxième degré en λ: ( ) ( )b b b b11 22 12 21 0− ⋅ − − ⋅ =λ λ . (3.126) Si les deux racines λ1 et λ2 sont réelles et distinctes, le système (3.121) est

du type hyperbolique. Si le discriminant d'équation (3.126) est nul, les deux racines λ1 et λ2 sont

identiques et le système (3.121) est du type parabolique, tandis que ce discriminant est négatif, le système sera du type elliptique.

Dans le cas d'un système hyperbolique, pour chaque racine corresponde un groupe distinct de courbes s, défini par la pente locale αi = arcctgλi (i = 1,2). Les deux groupes de courbes s'appellent les caractéristiques du système d'équations aux dérivées partielles.

Si les coefficients des dérivées normales dans les deux équations scalaires résultant de (3.124) sont proportionnels, on conclut qu'une combinaison linéaire de ces deux équations scalaires permettra d'éliminer les dérivées normales et transformera le système (3.124) dans un système d'équations différentielles ordinaires équivalent.

Pour éliminer ∂ϕ/∂n de l'équation matricielle (3.124), il faut multiplier les deux membres à le vecteur propre de la matrice B, soit ceci W* = (w1,w2), avec les composants w1 et w2 choisis de sorte qu'on obéit à l'équation matricielle:

183

Page 185: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )W B I∗ − ⋅ =λ 0 . (3.127) Mais l'équation (3.127) correspond à deux équations algébriques linéaires et

homogènes, avec w1 et w2 comme inconnues. On peut démontrer: que ce système est compatible seulement si l'équation (3.125) est respectée; que pour chaque valeur λ qui obéit à cette équation, on peut calculer seulement le rapport w1/w2 (et non chaque composant) et donc, que le vecteur propre W* peut être remplacé par une forme plus simple, à savoir:

( )W = 1, ,m (3.128) où m = w2/w1 pour obéir à (3.127).

À chaque valeur du λ (et la valeur m correspondant), l'équation (3.124) peut être décrite sous la forme:

( )sinα λ⋅ + ⋅ = ⋅W I B W Cddsϕ

ou:

( )1 2 1 21 2+ ⋅ ⋅ + ⋅⎛

⎝⎜⎞⎠⎟= + ⋅λ α

ϕ ϕsin ,dds

m dds

c m c (3.129)

en tenant compte que de (3.125) on obtient B = λ·I et donc:

( ) ( ) ( )I B I I I+ ⋅ = + ⋅ = ⋅ +λ λ2 21 .λ

On constate que l'équation (3.129) est une équation différentielle ordinaire du premier ordre, avec deux variables dépendantes (les composants du ϕ) qui sont fonctions de la coordonnée s. Bien entendu, seront deux telles coordonnées distinctes (s1 et s2), correspondant à chaque racine (λ1 et λ2) de l'équation (3.125)

Concernant à la figure 3.47, l'équation (3.129) correspondant aux λ1 et m1 est définie selon la caractéristique s1, tandis que celle correspondant aux λ2 et m2 est définie selon la caractéristique s2, les deux équations ayant les mêmes variables dépendantes.

Parce que l'équation selon s1 contient deux inconnues, celle-ci doit être

résolue conjointement avec l'équation contenant les mêmes inconnues mais laquelle est valable selon s2. La solution trouvée sera valable seulement à l'intersection des deux courbes. Donc, si les valeurs ϕ1, ϕ2 x et t sont connues dans les points A et C de figure 3.47, alors les valeurs ϕ1 et ϕ2 pourront être calculées pour le point d'intersection P, en

184

Page 186: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

resolvant simultanément les équations de λi et les équations correspondant à (3.129), décrites le long de s1 et respectivement selon s2 .

A CDans le calcul pratique, l'équation (3.129) est couplée à l'identité

trigonométrique:

1122+ =ctg ααsin

et, en tenant compte de: dfds

dfdt

dtds

dfdt

= ⋅ = ⋅sin ,α

on obtient finalement : ddt

m ddt

c m c

dxdt

valable selon s

s

ϕ ϕ

λ

11

21 1 1

11

+ = + ⋅

⎛⎝⎜

⎞⎠⎟

=

⎨⎪⎪

⎩⎪⎪

, 1

(3.130)

et respectivement: ddt

m ddt

c m c

dxdt

valable selon s

s

ϕ ϕ

λ

12

21 2 2

22

+ = + ⋅

⎛⎝⎜

⎞⎠⎟

=

⎨⎪⎪

⎩⎪⎪

, 2

(3.131)

Ces deux systèmes d'équations différentielles ordinaires sont équivalent au système d'équations aux dérivées partielles (3.121), et pourront donc être utilisés pour déterminer la solution du problème.

PROBLÈME 3.11

* Propagation du son dans un tuyau.

Soit un tuyau cylindrique de longueur L = 1 m. À l'instant t = 0, l'une des

ouvertures du tuyau est fermée par une membane rayonnant du son. La membrane effectue un mouvement oscillatoire donné par l'équation de la vitesse u = u0·cos(ωt), avec u0 = 1 m·s-1 et ω = 100π rad·s-1. L'autre extrémité du tuyau est ouverte. On accepte la vitesse du son en air c = 350 m·s-1 et la densité de l'air ρ = 1,3 kg·m-3.

Rédiger un programme pour calculer la variation de pression le long du tuyau pendant l'intervalle de temps tf = 0,1 s. Le programme affichera le graphique p(t) dans un point spécifié x* < L du tuyau.

♦ Solution:

En négligeant le frottement, l'influence du rayonnement de son etc, l'équation de la propagation du son dans tuyau sera [10]:

∂∂

∂∂

2

2 2

2

2

1 0px c

pt

− ⋅ = , (1)

185

Page 187: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où p représente la surpression par rapport à la pression atmosphèrique et c est la vitesse du son en air.

À l'extrémité fermée du tuyau (x = 0), la condition à la limite s'impose en tenant compte de la membrane oscillatoire, par la relation:

( )p t c u t020, cos= ⋅ ⋅ ⋅ −⎛

⎝⎜⎞⎠⎟

ρ ωπ .

.

(2)

À l'extrémité ouverte (x = L), la différence de pression entre le gaz sortant et celui dans l'espace ambiant est petite par rapport aux différences de pression dans tuyau. Ceci étant, pour condition à cette limite on exigera, avec une précision suffisante, l'annulation de la pression p, à savoir:

( )p L t, = 0 (3) En ce qui concerne les conditions initiales, à t = 0, on suppose les suivantes :

( )( )

p xp x

t

,,

.

0 00

0

=

=

⎨⎪

⎩⎪∂∂

(4)

Pour résoudre numériquement ce problème, on peut utiliser le schéma

explicite (3.96) - (3.98). Soit N le nombre de pas spatials égaux, de longueur h = L/N. La condition de stabilité (3.99) impose un pas temporel : s ≤ (h/c)

et ce pas sera choisi sous la forme s = (α·h)/c avec 0 < α ≤ 1, en résultant: λ = α2 . Des conditions initiales (4) et de la relation (3.101), il vient - pour ce

problème - au premier niveau temporel : pi,1 = 0 pour i = 1, ..., N

tandis que p0,1 se trouve par la condition (2). La relation explicite (3.98) s'applique, en commençant au deuxième niveau

temporel, successivement, en tous points spatials de calcul sous la forme :

( ) ( )p p p pi n i n i n i n i n, , , , ,+ −= ⋅ − ⋅ + ⋅ + −12 2

1 1 12 1 α α p ,+ − (5)

où n+1 est l'instant de temps courant et i - le point spatial courant.

Le programme utilise 3 tableaux à une dimension : p0, p1 et p2, les tableaux p1 et p0 contenant les valeurs de pi,n et de pi,n-1 et celles de pi,n+1 étant rangées dans p2 au fur et à mesure du calcul. Avant de passer à un autre niveau temporel, le contenu des tableaux p0 et p1 doit être actualisé.

Les données d'entrée sont introduites par le fichier "p311.dat" et le programme affiche seulement le graphique de variation en temps de la pression au point M = x*/h.

Avec N = 50 intervalles sur la longueur du tuyau, si α = 0,75, la variation de la pression dans le point x* = 0,25 m est comme dans la figure 3.48.

186

Page 188: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Program P311;

Probleme 3.11 - Propagation du son dans un tuyau uses crt,graph; var p0,p1,p2:array[0..100]of real; l,ro,c,u0,omega,tf,alfa,xgr,h,dt,lamda,cin,cp:real; n,m,gd,gm,kf,i,k,xev,yev,xe,ye:integer; txt:string[8]; fis:text; Begin assign(fis,'p311.dat'); reset(fis); readln(fis,l,ro,c,u0,omega,tf); readln(fis,n,alfa,xgr); detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); h:=l/n; m:=round(xgr/h); dt:=alfa*h/c; lamda:=sqr(alfa); cin:=2*(1-lamda); cp:=ro*c*u0; kf:=round(tf/dt); setbkcolor(white);

187

Page 189: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

setcolor(blue); line(10,20,10,420); line(10,220,510,220);

for i:=1 to 10 do begin str((i*tf/10):4:2,txt); outtextxy(10+i*50,230,txt); line(10+i*50,220,10+i*50,215); end; outtextxy(550,230,'t(s)'); for i:=1 to 5 do begin str(round(i*cp/5):4,txt); outtextxy(15,220-i*40,txt);

outtextxy(13,220+i*40,'-'); outtextxy(15,220+i*40,txt); end; outtextxy(13,12,'p(Pa)'); setcolor(red); for i:=0 to n do p0[i]:=0; for i:=1 to n do p1[i]:=0; p1[0]:=cp*cos(omega*dt-Pi/2); xev:=10; yev:=220-round(p0[m]/cp*200); k:=1; repeat k:=k+1; p2[0]:=cp*cos(omega*k*dt-Pi/2); p2[n]:=0; for i:=1 to n-1 do p2[i]:=cin*p1[i]+lamda*(p1[i-1]+p1[i+1])-p0[i]; if (k mod 2) = 0 then begin xe:=10+round(k*dt/tf*500); ye:=220-round(p2[m]/cp*200); line(xev,yev,xe,ye); xev:=xe; yev:=ye; end; for i:=0 to n do begin p0[i]:=p1[i]; p1[i]:=p2[i]; end; until k >= kf; outtextxy(400,420,'Probleme 3.11'); repeat until keypressed; End.

PROBLÈME 3.12

* Onde stationnaire sur une corde vibrante.

Soit une corde vibrante de longueur L = 1 m, avec les deux extrémités A(x=0)

et B(x=L) immobiles. On admet que l'amplitude des vibrations est suffisamment faible pour rester dans le domaine de linéarité. On suppose que la vibration est gouvernée surtout de l'état de tension et cette tension est réglée de façon que la célérité c des ondes transversales soit de c = 1000 m·s-1.

Determiner l'évolution en temps du déplacement transversal dans un point donné xd de la corde, pour les hypothèses suivantes :

188

Page 190: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

1) À l'instant t = 0, la corde est pincée (guitare, clavecin) au point x*, avec un déplacement maximum de y* = 10 mm.

2) À l'instant t = 0, la corde est frappée (piano) sur une longueur 2s aux environs du point x*, de sorte que la vitesse initiale de la corde dans cet intervalle est donnée par la formule :

dydt

vx x

st

pour x s x x s⎛⎝⎜

⎞⎠⎟

= ⋅ −−⎛

⎝⎜⎜

⎠⎟⎟

=

∗∗ − ≤ ≤ ∗ +

00 1 , ,

avec v0 = 10 m·s-1 est s = 5 cm. Comparer les résultats pour xd = 0,5 m est x* = 0,3 m, pendant une période

d'étude tf = 4 ms.

♦ Solution: Dans le cas général d'une barre vibrante en flexion et soumise à tension.

l'équation du mouvement s'écrit :

m yt

EI yx

T yx

∂∂

∂∂

∂∂

2

2

4

4

2

2= − + , (1)

dans laquelle : m est la masse sur l'unité de longueur, EI - la rigidité en flexion, T - la tension et y - le déplacement transversal au point x et au temps t.

Si la vibration est gouvernée surtout de l'état de tension, l'équation (1) prend la forme plus simple :

∂∂

∂∂

2

22

2

2

yt

c yx

= , (2)

où ( )c T m= /

est la célérité des ondes transversales.

Pour résoudre le problème, on peut utiliser le schéma implicite (3.108) et l'algorithme de Thomas.

Les conditions aux limites seront très simples, à savoir:

( ) ( )y t y L t0 0, ,= = , (3) mais les conditions initiales dépendent du cas d'étude.

1) Pour la corde pincée dans le point x*, celle est constituée de deux segments rectilignes. Les déplacements transversals initials sont donc :

( )

( ) ( ) ( )

y x yx

x pour x x

y x yL x

L x pour x x L

0

0

= ⋅ ≤

=−

⋅ − < ≤

∗∗

∗∗

,

, , (4)

tandis que toutes les vitesses initiales sont nulles, à savoir :

189

Page 191: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

( )∂∂

y xt

pour x L,

,0

0 0= < .<

,−

(5)

En utilisant (3.101), les valeurs de yi,1 au premier niveau temporel seront:

( )y y x i Ni i,

______, ,1 0 1 1= = (6)

avec y0(xi) donnée par les conditions (4).

2) Pour la corde frappée dans le point x*, les déplacements initials sont: ( )y x pour x L0 0 0= ≤ ≤ , (7)

tandis que les vitesses initiales seront nulles pour tout x, sauf pour x compris entre x*-s et x*+s. Donc :

( )∂∂

y xt

pour x x s

et x s x L

,,

00 0= <

+ < <

< − (8)

et

( )∂∂

y xt

vx x

spour x s x x s

,, .

010= ⋅ −

−⎛

⎝⎜⎜

⎠⎟⎟ − ≤ ≤ +

∗∗ ∗

Les valeurs de yi,1, au premier pas temporel, seront: y = 0 si xi n'appartient à l'intervalle [x*-s; x*+s] i,1et respectivement

( )y t vx x

sii

,1 0 1= ⋅ ⋅ −−⎛

⎝⎜⎜

⎠⎟⎟

∆ (9)

dans cet intervalle. L'équation aux différences (3.108) s'applique en tous points interieurs i = 1,...,

N-1, au niveau temporel courant, en résultant un système tridiagonal d'équations algébriques de la forme générale:

y b y y d i Ni n i n i n i− + + + ++ ⋅ + = = −1 1 1 1 1 1 2 1, , , ; , ,..., , (10)

où : ( )

( )b

c tx

= − ⋅ +⎛⎝⎜

⎞⎠⎟

=⋅

2 1 1 2 2

2λλ;

et d y b y y yi i n i n i n i n= − − ⋅ − − ⋅− − − + −1 1 1 1 14

, , , .λ , (11)

En tenant compte des conditions aux limites (3), c'est-à-dire y0,n+1= yN,n+1= 0, les termes droits d1 et dN-1 (pour i = 1 et respectivement i = N-1) seront calculés avec la même formule (11).

Bien qu'il n'est pas nécessaire, le pas temporel est choisit de sorte que λ = 1. Le programme "P312" fait, successivement, les calculs pour les deux modes

d'excitation. Les résultats obtenus en xd sont représentés graphiquement dans la figure suivante (fig. 3.50) pour N = 80 intervalles ∆x. En cas de la corde frappée, la grandeur affichée est 10·y(xd,t). 190

Page 192: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

On observe une période fondamentale d'environ 2 ms, mais l'allure des fonction y(t) est très différente d'une fonction sinusoidale. Donc, si on développe en série de Fourier le signal y(t), la contribution des harmoniques sera importante.

D'autre part, les deux modes d'excitation causent des fonction y(t) très différents en amplitude et allure, cela expliquant le timbre différent de l'instrument.

Fig. 3.50 Program P312;

Probleme 3.12 - Onde stationnaire sur une corde vibrante uses crt,graph; type vect=array[0..100]of real; var l,c,xs,ys,v0,s,xd,tf,h,dt,lamda,bb:real; n,m,gd,gm,kf,i,cas:integer; y0,y1:vect; txt:string[8]; fis:text;

Procedure THOMAS(... voir Probleme 2.16 ...); ............................................. Procedure SOLUTION(kaz:integer; var y0,y1:vect); var y2,a,b,c,d:vect; k,xev,yev,xe,ye,i,mult:integer;

191

Page 193: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

begin

mult:=1; if kaz=2 then mult:=10; xev:=10; yev:=220-round(mult*y0[m]/ys*200); k:=1; repeat k:=k+1; for i:=1 to n-1 do begin a[i]:=1; b[i]:=bb; c[i]:=1; d[i]:=-y0[i-1]-bb*y0[i]-y0[i+1]-4*y1[i]/lamda;

end; THOMAS(1,n-1,a,b,c,d,y2); y2[0]:=0; y2[n]:=0; if (k mod 2) = 0 then begin xe:=10+round(k*dt/tf*500); ye:=220-round(mult*y2[m]/ys*200); line(xev,yev,xe,ye); xev:=xe; yev:=ye; end; for i:=0 to n do begin y0[i]:=y1[i]; y1[i]:=y2[i]; end; until k >= kf; end; Begin assign(fis,'p312.dat'); reset(fis); readln(fis,l,c,xs,ys,v0,s); readln(fis,xd,tf,n); detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setbkcolor(white); h:=l/n; m:=round(xd/h); dt:=h/c; lamda:=sqr(c*dt/h); bb:=-2*(1+1/lamda); kf:=round(tf/dt); setcolor(blue); line(10,20,10,420); line(10,220,510,220); for i:=1 to 10 do begin str((i*tf*100):4:2,txt); outtextxy(5+i*50,230,txt); line(10+i*50,220,10+i*50,217); end; outtextxy(520,220,'1000*t(s)'); for i:=1 to 5 do begin str(round(i*ys*200):3,txt); outtextxy(15,220-i*40,txt); line(10,220-i*40,13,220-i*40); end; outtextxy(13,12,'y(mm)'); Cas 1

192

Page 194: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

setcolor(red); cas:=1;

for i:=0 to n do begin if i*h <= xs then y0[i]:=ys/xs*i*h else y0[i]:=ys/(l-xs)*(l-i*h); y1[i]:=y0[i]; end; SOLUTION(cas,y0,y1); Cas 2 setcolor(green); cas:=2;

for i:=0 to n do begin y0[i]:=0; y1[i]:=0; if (i*h >= xs-s) and (i*h <= xs+s) then y1[i]:=dt*v0*(1-abs(i*h-xs)/s); end; SOLUTION(cas,y0,y1); outtextxy(400,430,'Probleme 3.12'); repeat until keypressed; End.

PROBLÈME 3.13

* Coup de bélier dans une conduite en charge.

Déterminer le régime non-permanent de pression et vitesse pendant le coup de

bélier dans une conduite horizontale de longueur L=2400 m et diamètre d = 1,25 m, alimentée d'un réservoir à niveau constant, HR. À l'extrémité aval on suppose une vanne avec la loi de fermeture A(t) = A0(1-t/tf)m où A(t) est la section ouverte à l'instant t.

Dans le régime permanent antérieur, on admet une vitesse v0 = 1,2 m·s-1 et une charge statique à la vanne de H0 = 90 m.

La célérité des ondes élastiques est a = 1200 m·s-1 et le coefficient de frottement f = 0,04. Pour l'exposant m on accepte m = 2 et pour le temps de fermeture tf = 6 s.

♦ Solution:

Les deux équations régissant le coup de bélier sont:

- continuité :

E VHx

Ht

ag

Vx1

20= + +

∂∂

∂∂

∂∂

= (1)

- dynamique : E g H

xV V

xVt

f V Vd2 2

0= + + +⋅ ⋅⋅

=∂∂

∂∂

∂∂

,

dans lesquelles: V(x,t) est la vitesse moyenne dans la section x, au temps t et H(x,t) - la charge piézometrique (H = z+p/(ρ·g) , avec z = hauteur par rapport à une surface de référence, p = pression, ρ = densité) sont les deux variables dépendantes.

193

Page 195: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Un procédé plus direct que celui de paragraphe 3.4.3.2. pour trouver la forme

dite "caractéristique" des équations (1) est le suivant: Soit une combinaison linéaire de ces deux équations sous la forme : E = E1 + λ·E2 = 0 , (2)

avec λ - un paramètre arbitraire. En groupant convenablement les termes, il vient :

( )E Ht

V g Hx

Vt

V ag

Vx

f V Vd

= + + ⋅ ⋅⎡⎣⎢

⎤⎦⎥+ ⋅ + +

⋅⎛⎝⎜

⎞⎠⎟ ⋅

⎣⎢

⎦⎥ +

⋅⋅

=∂∂

λ∂∂

λ∂∂ λ

∂∂

λ2

20 . (3)

Étant donné que la dérivée totale d'une fonction ϕ est : ddt t x

dxdt

ϕ ∂ϕ∂

∂ϕ∂

= + ⋅ ,

pour obtenir en (3) les dérivées totale de H et V il faut que : dxdt

V g V ag

= + ⋅ = +⋅

λλ

2

. (4)

Mais, l'équation (4) fournit les solutions:

λ λ1 2= =ag

ag

et ,−

de sorte que l'équation (3) peut être remplacée par les deux systèmes d'équations différentielles ordinaires équivalents :

( )

dHdt

ag

dVdt

ag

f V Vd

dxdt

V a

valable selon

la caracteristique C

+ + ⋅⋅⋅

=

= +

⎨⎪⎪

⎩⎪⎪

+

20 ,

(5)

194

Page 196: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

et:

( )

dHdt

ag

dVdt

ag

f V Vd

dxdt

V a

valable selon

la caracteristique C

− − ⋅⋅⋅

=

= −

⎨⎪⎪

⎩⎪⎪

20 ,

(6)

Dans les cas pratiques, la vitesse V est très réduite par rapport à la célérité a et donc, les équations des caractéristiques peuvent être approchées par :

dxdt

a= ± . (7)

Pour résoudre numériquement les systèmes (5) et (6), on divise la longueur L en N intervalles égaux, de pas h = ∆x = L/N.

Le pas temporel est choisi en tenant compte de (7), à savoir:

∆∆t xa

= .

Par conséquent, l'équation dx/dt = a est satisfaite de toutes les diagonales à pente positive +a, du maillage de calcul en (x, t), tandis que l'équation dx/dt = -a est satisfaite de toutes les diagonales à pente -a, et donc ces diagonales représentent juste les courbes caractéristiques si de la théorie générale.

Si la première équation de (5) s'intégre selon C+ entre les points S et P (fig. 3.52) sous la forme:

dH ag

dV a fg d

V V dtH

H

V

V

t

t

S

P

S

P

S

P

∫ ∫ ∫+ +⋅⋅ ⋅

⋅ =2

0 ,

il vient la relation:

( )H H ag

V V a fg d

V V tp s p s s s− + − +⋅⋅ ⋅

⋅ ⋅ =2

0∆ ,

(8)

dans laquelle le dernier terme implique une approximation du premier ordre.

195

Page 197: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

De la même manière, en intégrant la première équation de (6) entre les points D et P, on obtient:

( )H H ag

V V a fg d

V V tP D P D D D− − − −⋅⋅ ⋅

⋅ ⋅ =2

0∆ . (9)

Avec les notations :

c ag

r a f tg d

b H c V r V V b H c V r V Vp S S S S m D D D

= =

D

⋅ ⋅⋅ ⋅

= + ⋅ − ⋅ = − ⋅ + ⋅

;

;

∆2

les équations (8) et (9) prennent la forme: H b c VH b c V

P P P

P m P

= − ⋅= + ⋅ ,

(10)

de laquelle il vient :

et puis

( )

( ) ( )

H b b

Vc

b H ou Vc

H b

P p m

P p P P P m

= ⋅ +

= ⋅ − = ⋅ −

⎨⎪⎪

⎩⎪⎪

121 1 .

(11)

Soit le noeud courant de calcul P(xi, tj+1) et les noeuds S(xi-1, tj) , D(xi+1, tj) - dans lesquels les valeurs de H et V sont déja connues.

Les inconnues Hi,j+1 et Vi,j+1 en point P seront données par les relations :

avec

( ) ( )

( )

H b b Vc

b H

ou Vc

H b

b H c V r V V

b H c V r V V

i j p m i j p i j

i j i j m

p i j i j i j i j

m i j i j i j i j

i i i

i

i

i

, ,

, ,

, , , ,

, , , ,

;

,

.

+ +

+ +

− − − −

+ + + +

= + = −

= −

= + ⋅ − ⋅

= − ⋅ + ⋅

− + −

+

+

1 1

1 1

1 1 1 1

1 1 1 1

12

1

11 1 1

1

1

1

, +1

(12)

À chaque niveau temporel, ces relations peuvent être utilisées, successivement, en tous points intérieurs i = 1, 2, ..., N-1.

Aux deux frontières, x = 0 et x = L, il doit imposer les conditions aux limites. À l'extrémité en amont, si V0,j < 0 la charge H0,j+1 est acceptée juste égale

à HR. Si V0,j > 0, en tenant compte de la perte locale, on a:

H HV

gj Rj

0 10 12

2,, .++= −⋅

(13)

En utilisant l'équation (9), valable selon C-, la vitesse V0,j+1 sera donnée par :

- si V0,j < 0 : ( )Vc

H bj R0 11

1, + = − m

196

Page 198: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

- si V0,j > 0 : Vc

HV

gbj R

jm0 1

0 121

2 1,, ,++= −⋅

−⎛

⎝⎜

⎠⎟ (14)

de laquelle il vient ( )V g cg c

b Hj m0 1 21 1 21, .+ = − ⋅ ⋅ − −

⋅⋅ −

⎣⎢

⎦⎥R

À l'extrémité aval, en assimilant la section obstruée de vanne par un orifice petit de section A, l'équation de continuité entre la section juste en amont, xN, et l'orifice, s'écrite

Q A v A VN j= ⋅ ⋅ = ⋅ +µ 0 1, , (15)

où µ est le coefficient de débit et la vitesse v résulte de l'équation de Torricelli:

v g HN j= ⋅ ⋅ +2 1, de sorte que la relation (15) devient :

Q A g H A VN j N j= ⋅ ⋅ ⋅ ⋅ = ⋅+µ 2 1 0 1, .+, (16)

À l'instant t = 0, cette relation s'écrite: Q A g H A= ⋅ ⋅ ⋅ ⋅ = ⋅µ 0 0 02 V0

et donc, par leurs division, on obtient: A

A

H

H

V

VN j N j

0

1

0

1

0⋅ =+ +, ,

En tenant compte de la loi de fermeture, il vient:

VVH

HN j N j, ,+ += ⋅ ⋅10

01τ

(17)

où τ = (1 - t/tf)m est le degré de fermeture.

Si on utilise la relation (17) dans l'équation (8), valable selon C+, on obtient l'équation en VN,j+1 suivante:

HV

V b c VN j p N jN

0

02 2 1

211⋅

⋅ = − ⋅+ +−τ , , ,

de laquelle il vient:

Vc

b avec c VHN j pN, ,+ = − + + ⋅ =

⋅ ⋅⋅−1

2 02 2

0

221

α αα

ατ

(18)

et puis HN,j+1 = bp - c·VN,j+1. N-1

Bien entendu, pour t > tf, la vitesse VN,j+1 sera égale à zéro, et la charge devient HN,j+1 = bpN-1

. Les condition initiales pour la vitesse s'imposent simplement à Vi,0 = V0 = 1,2

m·s-1 en tous points i = 0, ..., N. En ce qui concerne la charge, celle-ci varie linéairement entre la valeur au réservoir :

197

Page 199: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

H Hf V L

g dV

gR = +⋅ ⋅⋅ ⋅

+⋅0

02

02

2 2 (19)

et la valeur à la vanne, H0, sous la forme :

(H H xL

H Hi Ri

R, .0 = − ⋅ − )0 (20)

Le programme "P313" contient cet algorithme. Dans un point donné, x*, les variations de H(t) et V(t) sont affichées

graphiquement, pendant un horizon de temps specifié, tmax. Comme facteurs d'échelle, on utilise Hmax = HR + ∆Hmax où ∆Hmax peut être

calculé selon la formule de Michaud:

∆Ha V

gTt

TLaf

avecmax ,=⋅

⋅ =0 2

et respectivement V0

Avec N = 40, pour la section x* = 2200 m et pendant tmax = 24 s, les résultats sont inclus dans la figure 3.54. On observe une période d'environ 8s et une petite amortissement en temps.

Fig. 3.54

198

Page 200: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Program P313;

Probleme 3.13 - Coup de belier dans une conduit en charge uses crt,graph; var l,a,d,f,v0,h0,tf,tmax,m,xs,dx,dt,c,r,hr,hmax,vmax,calf,tau, bp,bm,alfa:real; n,is,gd,gm,xev,yev,zev,xe,ye,ze,i,k,kf:integer; v,h,vn,hn:array[0..50]of real; txt:string[8]; fis:text;

Begin assign(fis,'p313.dat'); reset(fis); readln(fis,l,a,d,f); readln(fis,v0,h0,tf,tmax,m,n,xs); dx:=l/n; dt:=dx/a; r:=a*f*dt/d/19.62; c:=a/9.81; hr:=h0+sqr(v0)/19.62*(f*l/d+1); hmax:=hr+c*v0*2*l/a/tf; vmax:=v0; calf:=c*sqr(v0)/2/h0; is:=round(xs/dx); kf:=round(tmax/dt); clrscr; detectgraph(gd,gm); initgraph(gd,gm,'c:\tp6\bgi'); setbkcolor(white); setcolor(blue); line(10,20,10,420); line(10,220,510,220); for i:=1 to 10 do begin str((i*tmax/10):4:1,txt); outtextxy(3+i*50,230,txt); line(10+i*50,220,10+i*50,215); end; outtextxy(530,220,'t(s)'); for i:=1 to 5 do begin str((i*hmax/5):5:1,txt); outtextxy(15,220-i*40,txt); line(10,220-i*40,13,220-i*40); end; outtextxy(13,12,'H(m)'); setcolor(green); line(510,20,510,420); for i:=1 to 5 do begin str((i*vmax/5):4:2,txt); outtextxy(515,220-i*40,txt); line(510,220-i*40,507,220-i*40); end; outtextxy(513,12,'v(m/s)'); Conditions initiales for i:=0 to n do begin v[i]:=v0; h[i]:=hr-i*dx/l*(hr-h0); end; k:=0; tau:=1; xev:=10; yev:=220-round(h[is]/hmax*200); zev:=220-round(v[is]/vmax*200);

199

Page 201: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

repeat

k:=k+1; Noeuds interieurs for i:=1 to n-1 do begin bp:=h[i-1]+v[i-1]*(c-r*abs(v[i-1])); bm:=h[i+1]-v[i+1]*(c-r*abs(v[i+1])); hn[i]:=(bp+bm)/2; vn[i]:=(bp-hn[i])/c; end; Condition en amont

bm:=h[1]-v[1]*(c-r*abs(v[1])); if v[0] > 0 then begin vn[0]:=-9.81*c*(1-sqrt(1-2*(bm-hr)/9.81/sqr(c))); hn[0]:=hr-sqr(vn[0])/19.62; end else begin hn[0]:=hr; vn[0]:=(hr-bm)/c; end; Condition en aval bp:=h[n-1]+v[n-1]*(c-r*abs(v[n-1])); if k*dt >= tf then begin tau:=0; vn[n]:=0; hn[n]:=bp; end else begin tau:=exp(m*ln(1-k*dt/tf)); alfa:=calf*sqr(tau); vn[n]:=-alfa+sqrt(alfa*(alfa+2*bp/c)); hn[n]:=bp-c*vn[n]; end; xe:=10+round(k*dt/tmax*500); ye:=220-round(hn[is]/hmax*200); ze:=220-round(vn[is]/vmax*200); setcolor(red); line(xev,yev,xe,ye); setcolor(green); line(xev,zev,xe,ze); xev:=xe; yev:=ye; zev:=ze; for i:=0 to n do begin v[i]:=vn[i]; h[i]:=hn[i]; end; until k >= kf; setcolor(blue); outtextxy(400,400,'Probleme 3.13');outtextxy(400,420,'Coup de belier'); outtextxy(40,400,'Section x(m)='); str(xs:5:1,txt); outtextxy(150,400,txt); repeat until keypressed; closegraph; End.

200

Page 202: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

PROBLÈME 3.14

* Onde de crue dans un canal découvert

Soit un canal découvert de section transversale trapèzoidale ayant les données

géométriques suivantes : largeur au lit B0 = 90 m, pente du talus m = 2,5, pente longitudinale i0 = 0,00002, coefficient de rugosité de Manning n = 0,025 et longueur du canal L = 80 km. À l'instant initial, on suppose un écoulement permanent de débit Q0 = 170 m3·s-1 et de profondeur en aval y0 = 7 m.

Déterminer le régime nonpermanent pendant tmax = 24 h, si on suppose en

amont un hydrogramme d'entrée connu : ( )Q t Q Q t= + ⋅ ⋅⎛⎝⎜

⎞⎠⎟0 12

∆ sin π (t en

heures), pour 0 <t ≤ 12 h et Q(t) = Q0 pour t > 12 h, avec ∆Q = 314 m3·s-1, tandis qu'en aval il y a une centrale hydroélectrique fonctionnant au débit constant de Qc = 270 m3·s-1. ♦ Solution:

L'écoulement non permanent dans un canal ouvert est décrit par les équations dites de Saint Venant [18]:

( )

( ) ( ) ( )

∂∂

∂∂

∂∂

∂∂

∂∂

Qx+ =

+ ⋅ + ⋅ ⋅ − + ⋅ ⋅ − =

⎨⎪⎪

⎩⎪⎪

B yt

Qt

V Qx

A g F yx

A g i if

0

2 1 0

1

220

dans lesquelles : Q(x, t) est le débit, et y(x, t) - la profondeur, sont les deux variables dépendantes; x - la position spatiale le long du canal et t - l'instant de temps, sont les deux variables indépendantes; A, B et V - la surface, la largeur supérieure et respectivement la vitesse moyenne dans une section transversale x; F - le nombre locale

de Froude F V

B

A g=

⋅⋅

⎝⎜

⎠⎟ ;

if - la pente hydraulique pour laquell on accepte la

formule if = Q|Q|/K2 avec K = A·R2/3/n et le rayon hidraulique R = A/P, où P est le périmètre mouillé.

Ces deux équations aux dérivées partielles, du premier ordre, forment un système du type hyperbolique et donc, on peut trouver une forme "caractéristique"des équations (1) - (2) comme la suivante :

( ) ( ) ( ) ( )∂∂

∂∂

∂∂

∂∂

Qt

V c Qx

B V c yt

V c yx

A g i if+ ±⎡⎣⎢

⎤⎦⎥− ⋅ ⋅ + ±⎡

⎣⎢⎤⎦⎥+ ⋅ ⋅ − =m 0 0 , (3)

où le signe supérieur corresponde à la caractéristique positive (C+), tandis que le signe inférieur - à la caractéristique negative (C-), et c répresente la célérité des ondes, donnée

par c g AB

=⋅ .

201

Page 203: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Pour résoudre numériquement ce problème, on utilise une méthode implicite aux différences finies.

Soit le maillage de la figure ci-jointe, de pas ∆x et ∆t, dans lequel on accepte

que la solution à l'instant tj, à savoir yji et Qj

i, est connue en tous points spatials i = 0, 1, ..., N du domaine d'intérêt.

En approchant : - les dérivées partielles par les expressions aux differences finies suivantes :

( )

( )

∂∂∂∂

fx x

f f

ft t

f f

ij

ij

ij

ij

≅⋅

⋅ −

≅ ⋅ −

++

−+

+

121

11

11

1

(4)

où f ≡ Q ou y, - les autres termes (à exception du if) par:

( )f f y fij

ij≅ ⋅ ≡ (5)

- et, respectivement, la pente hydraulique, if, par une expression linéarisée localement, à l'instant tj+1, sous la forme :

( ) ( )i i iQ

Q Q iK

dKdy

y yfj

fj f

i

j

ij

ij f

i

j

i

j

ij

ij

i i

+ +≅ +⎛⎝⎜

⎞⎠⎟⋅ − + ⎛

⎝⎜⎞⎠⎟⋅⎛⎝⎜

⎞⎠⎟ ⋅ −1 1∂

∂∂∂

,+1 (6)

où: ∂∂

∂∂

iQ

QK Q

QK

iQ

iK

QK

iK

dKdy

ddy n

A R KA

B R dPdy

f f

f f

= ⋅ = ⋅ =⋅

= − ⋅ = − ⋅

= ⋅ ⋅⎛⎝⎜

⎞⎠⎟= ⋅ −

⎛⎝⎜

⎞⎠⎟

2 2 2

2 2

13

5 2

2

2

2

2

3

2 3/

(7)

202

Page 204: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

on obtient la forme aux différences finies des équations (1) - (2), aux environs du point (xi, tj+1) du maillage :

C Q C Q C y C

C Q C Q C Q C y C y C y Ci i

ji i

ji i

ji

i ij

i ij

i ij

i ij

i ij

i ij

i

111 1

11 2 1 3

411 5 1 4

11 6

11 7 1 6

11 8

⋅ − ⋅ + ⋅ =

⋅ + ⋅ − ⋅ + ⋅ + ⋅ − ⋅ =

⎧⎨⎪

⎩⎪++

−+ +

++ +

−+

++ +

−+ ,

(8)

dans lesquelles on apparaît les notations:

( ) ( )

( ) ( )[ ]

Cx

Ct

B Ct

B y

Cx

V Ct

g A iQ

Cx

B c V C g A iK

dKdy

Ct

Q g A i i yK

dKdy

i i ij

i ij

i ij

if

i

j

i i

j

if

i

j

i ij

f

i

j

1 2 3

4 5

6 2 2 7

80

12

1 1

1 1 2

12

2

1 1 2

=⋅

= ⋅ = ⋅ ⋅

= ⋅ = + ⋅ ⋅⋅⎛

⎝⎜⎞⎠⎟

=⋅

⋅ ⋅ − = − ⋅ ⋅⋅

⋅⎛⎝⎜

⎞⎠⎟

= ⋅ + ⋅ ⋅ + ⋅ −⋅⋅

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

∆ ∆ ∆

∆ ∆

; ;

; ;

; ;

.

;

(9)

On observe que les équations (8) sont des équations algèbriques linéaires aux

coefficients Ci dépendant seulement de la solution à l'instant tj, et contenant six inconnues au niveau tj+1.

En écrivant ces équations en tous points spatials intérieurs, i = 1, ..., N-1,il

résulte un système de 2(N-1) équations algébriques linéaires, avec 2(N+1) inconnues - les valeurs de Qi

j+1 et de yij+1 dans les noeuds i = 0, ..., N. Pour compléter ce système

au nombre nécessaire d'équations, on fait appel à la forme caractéristique (3) - de laquelle on obtient une équation en aval (le signe supérieur) et une équation en amont (le signe inférieur), et respectivement aux conditions aux limites (2 équations).

En approchant les dérivées spatiales par:

( ) ( )∂∂

∂∂

fx x

f f et fx x

f fj jNj

Nj≅ ⋅ − ≅ ⋅ −+ + +−+1 1

11

01 1

11

∆ ∆,

les deux équations provenant de (3) auront la forme :

C Q C Q C y C y C

C Q C Q C y C y C

j j j j

N Nj

N Nj

N Nj

N Nj

N

05

01

04

11

07

01

06

11

08

41

1 5 1 61

1 7 1 8

⋅ + ⋅ + ⋅ + ⋅ =

⋅ + ⋅ + ⋅ + ⋅ =

⎧⎨⎪

⎩⎪

+ + + +

−+ +

−+ + ,

(10)

203

Page 205: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

où:

( )

( )[ ] ( )[ ]

( )[ ]

Cx

V c Ct

g A iQ

C

Cx

B V c Ct

B V c C g A iK

dKdy

Ct

Q B y V c g A i i yK

dKdy

m mj

mf

m

j

m

m m

j

m m

jm

f

m

j

m m

jf

m

j

4 5 4

6 2 2 7 6

80

1 1 2

1 1 2

1 1 2

= ± ⋅ = + ⋅ ⋅⋅⎛

⎝⎜⎞⎠⎟

= ⋅ ⋅ − = − ⋅ ⋅ ± − − ⋅ ⋅⋅

⋅⎛⎝⎜

⎞⎠⎟

= ⋅ − ⋅ ⋅ ± + ⋅ ⋅ + ⋅ −⋅⋅

⎛⎝⎜

⎞⎠⎟

⎣⎢

⎦⎥

⎧⎨⎪

⎩⎪

⎫⎬⎪

⎭⎪

∆ ∆

∆ ∆

m

m

; ;

; ;

le signe supérieur corespondant à m = 0, et respectivement le signe inférieur , à m = N. On suppose que les deux conditions aux limites peuvent être décrites par les

relations : - en amont : C Q C y Cj j

09

01

010

01

011⋅ + ⋅ =+ +

- en aval :

(11) C Q C y CN N

jN N

jN

9 1 10 1 11⋅ + ⋅ =+ + ,dans lesquelles, l'un des coefficients (soit C9, soit C10) est, d'habitude, égal à zéro, tandis que le coefficient C11 répresente une fonction connue de temps. Dans ce problème C10

0 = C10

N = 0 et C90 = C9

N = 1 (débit spécifié aux deux frontières), tandis que C110 = Q(t)

- l'hydrogramme d'entrée connu, et C11N = Qc - le débit de la centrale.

Le système de 2(N+1) équations, formé par les équations (8) (en tous points i

= 1,..., N-1), (10) et (11), a une matrice du type hexagonale. Cette particularité permet à généraliser l'algorithme de Choleski.

En supposant que les équations (8) peuvent être explicitées sous la forme: y K M Q N yQ P R Q S y

ij

i i ij

i ij

ij

i i ij

i ij

+++

++

+++

++

= + ⋅ + ⋅

= + ⋅ + ⋅

111

11

111

11 ,

(12)

il vient aussi : y K M Q N yQ P R Q S y

ij

i i ij

i ij

ij

i i ij

i ij

−+

− −+

−+

−+

− −+

−+

= + ⋅ + ⋅

= + ⋅ + ⋅11

1 11

11

11

1 11

11 .

(13)

D'autre part, de la première équation (8) on obtient:

(yC

C C Q C Qij

ii i i

ji i

j+−+

++= ⋅ + ⋅ − ⋅1

23 1

11 1

111 ) (14)

tandis que la deuxième équation (8) fournira la relation:

( )QC

C C Q C y C Q C y C yij

ii i i

ji i

ji i

ji i

ji i

j+−+

−+

++

++ += ⋅ + ⋅ + ⋅ − ⋅ − ⋅ − ⋅1

58 4

11 6

11 4

11 6

11 7 11 . (15)

Substituant les expressions (13) en (14) et (15) et puis en éliminant Qi de (14)

et respectivement yi de (15), les relations de calcul pour les coefficients Ki, ..., Si sont trouvées sous la forme :

204

Page 206: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

KY

Y Y RY

MY

C RY

NY

C RY

PY

YY

YY

RY

CY Y

SY

CY

ii

ii i

ii i

i

ii

ii

= ⋅ +⋅⎛

⎝⎜

⎞⎠⎟ = − ⋅ +

⋅⎛⎝⎜

⎞⎠⎟

= − ⋅⋅

= ⋅ +⎛⎝⎜

⎞⎠⎟

= − ⋅ +⎛⎝⎜

⎞⎠⎟ = − ⋅

− −

1 1 1

1 1

1 1 1

65

4 1

1 6

41

1

6

61

1 7

4

3

5

2

7

4

3 2 7

6

3

;

;

; ,

(16)

où:

Y C C R C M Y CC

S

Y C S C N C Y C C P C K

Y CC

P Y Y Y RY

Y YY

RY

i i i i ii

ii

i i i i i i i i i i

i

ii

i i

15 4

16

1 2

2

1 1

3

(17)

41

61

74

8 41

61

5

3

1 1 6 23 1

17

1

3

1

2

= − ⋅ − ⋅ = −

= ⋅ + ⋅ − = + ⋅ + ⋅

= + = −⋅

= −

− − −

− − − −

−− −

;

;

; ; .

j

j

+

+

À la frontière en amont, les premières équations de (10) et (11) deviennent : y K M Q N yQ P R Q S y

j j

j j0

10 0 1

10 1

1

01

0 0 11

0 11

+ +

+ +

= + ⋅ + ⋅

= + ⋅ + ⋅ , (18)

dans lesquelles :

( )

( )

KY

C C C C MY

C C

NY

C C PY

C C C C

RY

C C SY

C C

et Y C C C C

08

011

05

09

08

08

09

04

08

09

06

08

010

08

07

011

08

010

04

08

010

06

8 010

05

07

09

1 1

1 1

1 1

= ⋅ ⋅ − ⋅ = ⋅ ⋅

= ⋅ ⋅ = ⋅ ⋅ − ⋅

= − ⋅ ⋅ = − ⋅ ⋅

= ⋅ − ⋅

;

;

;

.

(19)

Dans une première étape de l'algorithme, les valeurs des coefficients K0, ..., S0 sont déterminées par les relations (19) et puis avec les relations (16), sont successivement calculées les valeurs des Ki, ..., Si en tous points i = 1, ... N-1.

À la frontière en aval, le système formé par les deuxièmes équations de (10) et (11) et les deux équations suivantes:

y K M Q N yQ P R Q S y

Nj

N N Nj

N Nj

Nj

N N Nj

N Nj

−+

− −+

−+

−+

− −+

−+

= + ⋅ + ⋅

= + ⋅ + ⋅1

11 1

11

1

11

1 11

11 ,

(20)

fournira les valeurs des inconnues QNj+1, yN

j+1, QN-1j+1 et yN-1

j+1. En éliminant yN-1

j+1 entre la première équation (20) et la deuxième équation (10), on obtient une relation qu'elle est ultérieurement utilisée, avec la deuxième équation (20), pour éliminer QN-1

j+1. 205

Page 207: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Finalement, on déduit :

QC Y C YC Y C Y

yC Y C YC Y C YN

j N N

N NNj N N

N N

+ +=⋅ − ⋅

⋅ − ⋅=

⋅ − ⋅

⋅ − ⋅1

1110

109

910

1011

19

911

119

1010

11;

(21)

Y C C K C P Y C C N C S

Y C C M C R

N N N N N N N N N N

N N N N N

98 6

14

1 107 6

14

1

115 6

14

1

= − ⋅ − ⋅ = + ⋅ + ⋅

= + ⋅ + ⋅

− − −

;

et, en commencant de ces valeurs, dans la deuxième étape de calcul, les formules (12) fourniront les inconnues yi

j+1 et Qij+1 en tous points i = N-1, N-2, ..., 0.

On constate qu'un tel algorithme implique à mémoriser seulement les six coefficiente Ki, ..., Si , i= 0,1, ..., N, en résultant, de ce fait, un sauvetage important de mémoire. Par exemple si N = 50, il faut mémoriser seulement 6x50 = 300 éléments, en place de (2x50)2 = 10000 éléments nécessaires dans une méthode matricielle commune. Bien entendu, le temps de calcul sera reduit., par conséquent, d'une manière très spectaculaire.

Ce schéma implicite est inconditionnellement stable et donc, les pas ∆x et ∆t peuvent être choisis en accord aux raisons imposées par d'autres critères.

La forme trapèzoidale de la section transversale permet d'écrire les relations analytiques suivantes:

( )( ) ( )( )

B y B m y

A y y B m y

P y B y mdPdy

m

= + ⋅ ⋅

= + ⋅

= + ⋅ ⋅ +

= ⋅ +

0

0

02

2

2

2 1

2 1 .

(22)

Pour déterminer les conditions initiales on peut utiliser la procédure décrite en Problème 2.2, en tenant compte de (22) pour les grandeurs hydrauliques B, A et P, et de l'origine différente de x. La pente de la ligne d'énergie, if, sera donnée par

in Q P

Af =⋅ ⋅2 2 4 3

10 3

/

/ de façon que la fonction f(y) de l'équation différentielle prend la

forme :

( )

( )( )[ ]

( )( )[ ]

f y

n Q B y m

y B m yi

Q B m y

g y B m y

=

⋅ ⋅ + ⋅ ⋅ +

⋅ + ⋅−

−⋅ + ⋅ ⋅

⋅ + ⋅

2 20

24 3

010 3 0

20

03

2 1

12

/

/

. (23)

Ces calculs sont realisés à l'aide d'une méthode de Runge - Kutta du 4e ordre, dans la procédure "condin".

D'autre part, les grandeurs hydrauliques pour une profondeur donnée y, sont fournies par la procédure "param".

206

Page 208: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

On accepte N = 40 pas d'espace, de longueur ∆x = 2000 m, et un pas temporel ∆t = 1,2 heure (4320 s).

Les variations en temps du débit Q et de la profondeur y sont affichées sur un seul écran, pour les sections placées en amont, à la moitié et respectivement en aval. Ces résultats sont présentés ci-dessous, dans le tableau 3.13.

Tableau 3.13 Amont Moitie Aval t(h) y(m) q(m3/s) y(m) q(m3/s) y(m) q(m3/s) 0.00 5.75 170.0 6.35 170.0 7.00 170.0 1.20 5.90 267.0 6.34 197.7 6.84 270.0 2.40 6.07 354.6 6.35 241.2 6.79 270.0 3.60 6.24 424.0 6.39 283.2 6.79 270.0 4.80 6.40 468.6 6.45 319.1 6.82 270.0 6.00 6.51 484.0 6.53 347.3 6.88 270.0 7.20 6.58 468.6 6.61 365.4 6.97 270.0 8.40 6.58 424.0 6.69 370.6 7.06 270.0 9.60 6.52 354.6 6.74 360.8 7.16 270.0 10.80 6.39 267.0 6.77 335.1 7.23 270.0 12.00 6.21 170.0 6.76 294.9 7.28 270.0 13.20 6.17 170.0 6.73 256.4 7.28 270.0 14.40 6.12 170.0 6.69 231.3 7.26 270.0 15.60 6.08 170.0 6.66 219.6 7.21 270.0 16.80 6.04 170.0 6.62 215.7 7.16 270.0 18.00 6.00 170.0 6.58 215.1 7.11 270.0 19.20 5.96 170.0 6.53 215.5 7.06 270.0 20.40 5.92 170.0 6.49 215.8 7.00 270.0 21.60 5.88 170.0 6.44 215.9 6.95 270.0 22.80 5.84 170.0 6.40 215.9 6.90 270.0 24.00 5.80 170.0 6.35 215.9 6.84 270.0

Program P314;

Probleme 3.14 - Onde de crue dans un canal ouvert type vect=array[0..50]of real; var q,y,qn,yn,xk,xm,xn,xp,xr,xs:vect; b0,m,l,i0,rug,q0,deltq,yav,qc,dt,tfin,t,dt1,dx,dx1,dx2:real; a,b,v,c,sf,dky,dk:real; n,k,j:integer; fis:text; c09,c010,c011,c1,c2,c3,c4,c5,c6,c7,c8,cn9,cn10,cn11:real; y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12:real; Procedure CONDIN; var k1,k2,k3,k4,h:real; i:integer;

207

Page 209: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

Function f(h:real):real;

var a,b,p:real; begin a:=h*(b0+m*h); b:=b0+2*m*h; p:=b0+2*h*sqrt(1+m*m); f:=(sqr(rug*q0)*exp(4/3*ln(p))/exp(10/3*ln(a))-i0)/ (1-sqr(q0/a)*b/a/9.81); end; begin y[n]:=yav; q[n]:=q0;

for i:=n-1 downto 0 do begin k1:=dx*f(y[i+1]); k2:=dx*f(y[i+1]+k1/2); k3:=dx*f(y[i+1]+k2/2); k4:=dx*f(y[i+1]+k3); y[i]:=y[i+1]+(k1+2*k2+2*k3+k4)/6; q[i]:=q0; end; end; Procedure PARAM(var q,y:real); var p,r:real; begin a:=y*(b0+m*y); v:=q/a; b:=b0+2*m*y; p:=b0+2*y*sqrt(1+m*m); r:=a/p; dk:=a*exp(2/3*ln(r))/rug; dky:=dk*(5/3*b-4/3*r*sqrt(1+m*m))/a; sf:=q*abs(q)/sqr(dk); c:=sqrt(9.81*a/b); end; BEGIN assign(fis,'p314.dat'); reset(fis); readln(fis,b0,m,l,i0,rug,q0,deltq,yav,qc); readln(fis,n,dt,tfin); dt:=dt*3600; close(fis); dx:=l/n; dx1:=1/dx; dx2:=dx1/2; dt1:=1/dt; CONDIN; c1:=dx2; c09:=1; c010:=0; cn9:=1; cn10:=0; cn11:=qc; t:=0; j:=round(n/2); writeln(' Amont Moitie Aval'); writeln('t(h) y(m) q(m3/s) y(m) q(m3/s) y(m) q(m3/s)'); writeln(t/3600:6:2,y[0]:9:2,q[0]:7:1,y[j]:9:2,q[j]:7:1,y[n]:9:2,q[n]:7:1); repeat t:=t+dt; PARAM(q[0],y[0]); c4:=dx1*(v-c); c5:=dt1*19.62*a*sf/q[0]-c4; c6:=-dx1*b*(v*v-c*c); c7:=-dt1*b*(v+c)-c6-19.62*a*sf*dky/dk; c8:=dt1*(q[0]-b*y[0]*(v+c))+9.81*a*(i0*sf*(1-2*y[0]*dky/dk)); y8:=c010*c5-c7*c09; if t/3600 < 12 then c011:=q0+deltq*sin(Pi/12*t/3600) else c011:=q0;

208

Page 210: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

xk[0]:=(c011*c5-c09*c8)/y8; xm[0]:=c09*c4/y8;

xn[0]:=c09*c6/y8; xp[0]:=(c010*c8-c7*c011)/y8; xr[0]:=-c010*c4/y8; xs[0]:=-c010*c6/y8; for k:=1 to n-1 do begin PARAM(q[k],y[k]); c2:=dt1*b; c3:=c2*y[k]; c4:=dx1*v; c5:=dt1+19.62*a*sf/q[k]; c6:=c1*b*(c*c-v*v); c7:=-19.62*a*sf*dky/dk; c8:=dt1*q[k]+9.81*a*(i0+sf*(1-2*y[k]*dky/dk));

y1:=c5-c4*xr[k-1]-c6*xm[k-1]; y2:=c2/c1-xs[k-1]; y3:=c4*xs[k-1]+c6*xn[k-1]-c7; y4:=c8+c4*xp[k-1]+c6*xk[k-1]; y5:=c3/c1+xp[k-1]; y6:=y2-y3*xr[k-1]/y1; y7:=y1/y3-xr[k-1]/y2; xk[k]:=(y5+y4*xr[k-1]/y1)/y6; xm[k]:=-(1+c4*xr[k-1]/y1)/y6; xn[k]:=-c6*xr[k-1]/y6/y1; xp[k]:=(y4/y3+y5/y2)/y7; xr[k]:=-(c4/y3+1/y2)/y7; xs[k]:=-c6/y7/y3; end; PARAM(q[n],y[n]); c4:=-dx1*(v+c); c5:=dt1+19.62*a*q[n]/dk/dk-c4; c6:=dx1*b*(v*v-c*c); c7:=-dt1*b*(v-c)-c6-19.62*a*sf*dky/dk; c8:=dt1*(q[n]-b*y[n]*(v-c))+9.81*a*(i0+sf*(1-2*y[n]*dky/dk)); y9:=c8-c6*xk[n-1]-c4*xp[n-1]; y10:=c7+c6*xn[n-1]+c4*xs[n-1]; y11:=c5+c6*xm[n-1]+c4*xr[n-1]; y12:=cn9*y10-cn10*y11; qn[n]:=(cn11*y10-cn10*y9)/y12; yn[n]:=(cn9*y9-cn11*y11)/y12; for k:=n-1 downto 0 do begin qn[k]:=xp[k]+xr[k]*qn[k+1]+xs[k]*yn[k+1]; yn[k]:=xk[k]+xm[k]*qn[k+1]+xn[k]*yn[k+1]; end; writeln(t/3600:6:2,yn[0]:9:2,qn[0]:7:1,yn[j]:9:2,qn[j]:7:1, yn[n]:9:2,qn[n]:7:1); for k:=0 to n do begin y[k]:=yn[k]; q[k]:=qn[k]; end; until t/3600 >= tfin; writeln('Pause - Enter !'); readln; End.

209

Page 211: INTÉGRATION NUMÉRIQUE DES ÉQUATIONS AUX ...digilib.utcb.ro/repository/ccn/pdf/popaintegration.pdfChapitre 3 - Traitement numérique des équations aux dérivées partielles 102

BIBLIOGRAPHIE

1. Bakhvalov, N., Méthodes numériques. Edition Mir, Moscow, 1977. 2. Bird, R.,B., Stewart, W.,E., Lightfoot, E.,N., Transport phenomena. Wiley, New York, 1960. 3. Carnahan, B., Luther, H.,A., Wilkes, J.O., Applied numerical methods. Wiley, New York, 1960. 4. Cunge, J.,A., Holly Jr., F.,M., Verwey, A., Practical aspects of computational river hydraulics. Pitman Publishing Ltd., London, 1980. 5. Dodescu, Gh., Metode numerice in algebra. Editura Tehnica, Bucuresti, 1979. 6. Dodescu, Gh., Toma, M., Calcul numeric. E.D.P., Bucuresti, 1976. 7. Girerd, J., Karplus, W.,J., Traitement des équations différentielles sur calculateurs électroniques. Gauthier - Villars Edition, Paris, 1968. 8. Godunov, S.,K., Reabenki, V.,S., Scheme de calcul cu diferente finite. Editura Tehnica, Bucuresti, 1977. 9. Greenspan, D., Discrete numerical methods in physics and engineering. Academic Press, New York, 1974. 10. Landau, L., Lifchitz, E., Mécanique des fluides. Edition Mir, Moscow, 1971. 11. Larionescu, D., Metode numerice. Editura Tehnica, Bucuresti, 1989. 12. Marinescu, Gh., s.a., Probleme de analiza numerica. E.D.P., Bucuresti, 1978. 13. Ménétrier, M., Informatique et sciences physiques. Méthodes de calcul numérique ilustrées par 90 exercices. Programme en Turbo-Pascal. Technique et Docum. - Lavoisier, 1988. 14. McCracken, D.,D., Dorn, W., Metode de calcul si programe in Fortran. Editura Tehnica, Bucuresti, 1976. 15. Postolache, M., Metode numerice. Editura Sirius, Bucuresti, 1994. 16. Richtmeyer, R.,D., Morton, K.,W., Difference methods for initial value problems. Wiley, New York, 1971. 17. Racoveanu, N., s.a., Metode numerice pentru ecuatii cu derivate partiale de tip parabolic. Editura Tehnica, Bucuresti, 1977. 18. Strelkoff, T., Numerical solution of Saint - Venant equations. ASCE, Journal of the Hydraulics Division, vol 96, No. HY1, 1970.

210