Source Latex: TP de mathématiques en Post-Bac


Fichier
Type: TP
File type: Latex, tex (source)
Télécharger le document pdf compilé pdficon
Description
TP: simulation de la diffusion thermique dans un matériau
Niveau
Post-Bac
Table des matières
  • Approximation du profil de température à l'équilibre
  • Diffusion thermique - Evolution temporelle du profil de température
Mots clé
simulation numérique, diffusion thermique, Matlab, programmation
Voir aussi:

Documentation sur LaTeX
lien vers la documentation Latex
Source LaTex icone

Source Latex

\documentclass[12pt]{article}
%\usepackage{french}
\usepackage[french]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{a4wide}
\usepackage{graphicx}
\usepackage{epsf}
\usepackage{pst-all}
\usepackage{ifthen}
\usepackage{calc}
\usepackage{pst-all}

\usepackage{hyperref}
\hypersetup{
    pdfauthor={Yoann Morel},
    pdfsubject={Matlab},
    pdftitle={Simulation de la diffusion thermique dans un matériau},
    pdfkeywords={simulation, diffusion thermique, Matlab, programmation, modélisation, mathématiques}
}
\hypersetup{
    colorlinks = true,
    linkcolor = red,
    anchorcolor = red,
    citecolor = blue,
    filecolor = red,
    urlcolor = red
}
\voffset=-1cm
% Raccourcis diverses:
\newcommand{\nwc}{\newcommand}
\nwc{\dsp}{\displaystyle}
\nwc{\bge}{\begin{equation}}\nwc{\ene}{\end{equation}}
\nwc{\bgar}{\begin{array}}\nwc{\enar}{\end{array}}
\nwc{\bgit}{\begin{itemize}}\nwc{\enit}{\end{itemize}}
\nwc{\bgmp}{\begin{minipage}}\nwc{\enmp}{\end{minipage}}

\nwc{\ct}{\centerline}
\nwc{\V}[1]{\overrightarrow{#1}}


\nwc{\la}{\left\{}\nwc{\ra}{\right\}}
\nwc{\lp}{\left(}\nwc{\rp}{\right)}
\nwc{\lb}{\left[}\nwc{\rb}{\right]}

\nwc{\bgsk}{\bigskip}
\nwc{\vsp}{\vspace{0.1cm}}
\nwc{\vspd}{\vspace{0.2cm}}
\nwc{\vspt}{\vspace{0.3cm}}
\nwc{\vspq}{\vspace{0.4cm}}


\newcounter{ntp}%[section]
\setcounter{ntp}{1}
\newenvironment{TP}[1]{%
\setcounter{equation}{0}\setcounter{subsection}{0}
\section*{ \underline{TP \arabic{ntp} :} #1}
\addcontentsline{toc}{section}{\underline{TP \arabic{ntp} :}\ #1}
\stepcounter{ntp}}{}

\nwc{\bgTP}{\begin{TP}}\nwc{\enTP}{\end{TP}}

\def\N{{\rm I\kern-.1567em N}}                              % Doppel-N
\def\No{\N_0}                                               % Doppel-N unten 0
\def\R{{\rm I\kern-.1567em R}}                              % Doppel R
\def\C{{\rm C\kern-4.7pt                                    % Doppel C
\vrule height 7.7pt width 0.4pt depth -0.5pt \phantom {.}}}
\def\Z{{\sf Z\kern-4.5pt Z}}                                % Doppel Z

% grec et autres
\nwc{\lbd}{\lambda}
\nwc{\vphi}{\varphi}
\nwc{\ga}{\gamma}
\def\epsi{\varepsilon}
\def\tht{\theta}

\nwc{\tm}{\times}

\nwc{\ul}{\underline}
\nwc{\scp}[1]{\scriptsize{#1}}

\author{Y. Morel}
\date{}

\headheight=0cm%15pt
\textheight=26cm
\topmargin=-1.8cm
\footskip=.8cm
\textwidth=17.6cm
\oddsidemargin=-1.cm
%\parindent=0.2cm

\usepackage{fancyhdr}

\newenvironment{centerpage}{\vspace*{\fill}}{
	\protect\vspace*{\fill}}

\begin{document}


\pagestyle{fancyplain}
\setlength{\headheight}{0cm}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0.1pt}
\lhead{}\chead{}\rhead{}

\lfoot{Y. Morel - \url{https://xymaths.fr/Matlab/}}
\rfoot{Simulation de la diffusion thermique - \thepage/\pageref{LastPage}}
\cfoot{}

\vspace*{1cm}

\nwc{\TPtop}{}
\newlength{\lgr}
\newlength{\TPtopLarge}
\newlength{\EXX}
\newlength{\Tlgr}
\newlength{\TopHeight}
\newlength{\TopTitleHeight}

\newcommand{\ChapTitle}[3]{
  \renewcommand{\TPtop}{{\LARGE\bf #1} {\Huge\bf#2}}
  \settowidth{\lgr}{\LARGE\bf #1}
  \settowidth{\TPtopLarge}{\TPtop}
  \settoheight{\EXX}{\LARGE X}
  \settowidth{\Tlgr}{\LARGE T}
  \setlength{\Tlgr}{0.5\Tlgr}
  \settototalheight{\TopHeight}{\fbox{\bgmp{\linewidth}\begin{center}{\LARGE\bf#3}\end{center}\enmp}}
  %%
  \noindent
  \bgmp{\linewidth}
  \psline(\lgr,\EXX)(1.1\lgr,\EXX)
  \psline(\TPtopLarge,\EXX)(\linewidth,\EXX)%
  (\linewidth,-1.\TopHeight)(\Tlgr,-1.\TopHeight)%
  (\Tlgr,-0.05)
  \TPtop
  \vspace{-0.5\EXX}
  \begin{center}
    {\LARGE\bf#3}
  \end{center}
  \enmp%
  \vspace{0.5cm}
}


\setcounter{ntp}{7}
\ChapTitle{TP}{\thentp}{Simulation de la diffusion thermique\linebreak dans un matériau}
\addcontentsline{toc}{section}{TP \arabic{ntp}: Simulation de la diffusion thermique dans un matériau}


\setcounter{subsection}{0}

L'objectif de ce TP est la simulation de la diffusion thermique 
dans un milieu. 

\vsp
On suppose ce milieu 1-dimensionel 
(un câble par exemple), pour simplifier l'étude. 
On décrit ainsi géométriquement ce milieu par le segment $[ 0 , L]$. 

Le problème est le suivant: on impose une température fixée et
constante aux deux extémités, $T_0$ en $x=0$ et $T_L$ en $x=L$, 
du milieu supposé à température nulle initialement, 
et éventuellement la présence d'une source de chaleur décrite par 
une fonction $f(x)$ indépendante du temps, ou une fonction $f(x,t)$ 
dépendante du temps. 

\vsp
Dans ces conditions, on peut chercher à répondre aux questions, 

\vspd
\bgit
\item Quel est le profil de température final dans le milieu 
  (i.e. quelle est la température $T(x)$ pour $x\in [0,L]$ pour 
  un temps assez grand) ?
  \vspd
\item Comment évolue le profil de température en fonction du temps, 
  depuis la température nulle imposée initialement jusqu'au profil 
  final calculé précédemment ?
  \vspd
\item Comment détecter l'éventuelle présence d'une source de chaleur 
  à l'intérieur du milieu ? 
\enit

\paragraph{Modélisation du problème} 
On note $T(x,t)$ la température dans le milieu à l'abscisse $x$ et à 
l'instant $t$, $x\in[0;L]$ et $t\in[0;+\infty[$. 

\vsp
La diffusion thermique dans un milieu est régie par l'équation 
dite ``de la chaleur'':
\bge\label{EqChaleur}
 \frac{\partial T}{\partial t} - 
  \frac{\partial^2 T}{\partial x^2} = f(x,t), 
\ene
où $f(x,t)$, éventuellement $f(x,t)=f(x)$ est indépendante du temps,
est la source de chaleur fournie au milieu au cours du temps.


\stepcounter{subsection}
\subsection*{\arabic{subsection}.\hspace{0.2cm} Approximation du profil de température à l'équilibre}
\addcontentsline{toc}{subsection}{\arabic{subsection}. Approximation du profil de température à l'équilibre}


On suppose dans ce paragraphe que la source de chaleur est
indépendante du temps: $f(x,t)=f(x)$. 
On cherche alors à résoudre numériquement l'équation de la chaleur
(\ref{EqChaleur}) en régime 
stationnaire (à l'équilibre); cela revient à considérer que la 
température ne varie plus en fonction du temps, et que, par
conséquent, $\frac{\partial T}{\partial t}=0$ : la fonction
température n'est plus qu'une fonction d'une seule variable $T(x)$.
Dans ce cas l'équation de la chaleur (\ref{EqChaleur}) est une
équation différentielle du second ordre à coefficient constant: 
\[ T''(x)=f(x) \,.
\]

Selon la fonction source $f$ que l'on impose, on sait résoudre
théoriquement cette équation. 
Le but de la simulation est néanmoins double: 
\bgit
\item s'assurer que le code programmé fonctionne correctement, ce qui
  est possible dans ce cas car on connaît la solution attendue;
\item calculer numériquement la solution de cette équation même
  lorsque le second membre $f$ ne permet pas de le faire théoriquement.
\enit

\paragraph{Discrétisation}
On discrétise le segment $[0,L]$ par $N_x$ segments 
de longueur identique $\delta_x=L/N_x$: 
\ \ $[0;L]\ \to \ [0:\delta_x : L]$. 
On a ainsi échantillonné le segment $[0;L]$ en $N_x+1$ points 
$x_n=n \delta_x$. 

On cherche alors évaluer la température à chacun de ces points. 
On note pour cela : 
\[ T_n = T(n\delta_x) \,.
\]

La formule de Taylor à l'ordre 2 nous donne, dans la limite où le pas 
$\delta_x$ est supposé assez petit, 
\[ T_{n+1}=T((n+1)\delta_x)
  \sim T(n\delta_x) + \delta_x \frac{{\it d}T}{\it dx}(n\delta_x) 
      +\frac{\delta_x^2}{2}\frac{{\it d^2}T}{{\it dx}^2}(n\delta_x) \,,
\]
soit 
\[ T_{n+1} \sim T_n + \delta_x \frac{{\it d}T_n}{\it dx}
      +\frac{\delta_x^2}{2}\frac{{\it d^2}T_n}{{\it dx}^2}\,.
\]
De même, on a 
\[ T_{n-1} \sim T_n - \delta_x \frac{{\it d}T_n}{\it dx}
      +\frac{\delta_x^2}{2}\frac{{\it d^2}T_n}{{\it dx}^2}\,,
\]
puis, après addition de ces deux relations, 
\[ \frac{{\it d^2}T}{{\it dx}^2} \sim 
   \frac{T_{n+1}+T_{n-1}-2T_n}{\delta_x^2}
\]
Si on pose alors $f_n=f(n\delta_x)$, on obtient alors la relation 
de récurrence: 
\bge \label{RecStat}
T_{n+1}=\delta_x f_n + 2T_n-T_{n-1}
\ene


\bgsk
On pourra prendre comme données initiales: 

\[ T_1=\alpha\ \mbox{(une température en degré)} 
\mbox{ et, } 
T_2=T_1\  \mbox{ (pas de vitesse intiale de propagation)}
\]

On remarque qu'avec ce modèle statique, on ne peut pas imposer une
température aux deux extrémités à la fois du milieu: la relation de
récurrence (\ref{RecStat}) permet en effet de calculer toutes les
températures de proche en proche à partir de $T_0$ et $T_1$. 


\stepcounter{subsection}
\subsection*{\arabic{subsection}.\hspace{0.2cm} Diffusion thermique - Evolution temporelle du profil de température}
\addcontentsline{toc}{subsection}{\arabic{subsection}. Diffusion thermique - Evolution temporelle du profil de température}

On cherche maintenant à étudier l'évolution du profil de température
au cours du temps: le terme $\frac{\partial T}{\partial t}$ n'est plus
nul et la température est fonction à la fois de l'abscisse $x$ et du
temps $t$, $T(x,t)$.

\vsp
La discrétisation en $x$ se fait comme précédemment en $N_x+1$ points, 
$[0:L]\ \to\ [0:\delta_x:L]$. 

On effectue la même opération sur les temps. On découpe l'intervalle
temporel d'étude $[0;\Delta_t]$ en $N_t+1$ points : 
$[0:\Delta_t]\ \to\ [0:\delta_t:\Delta_t]$. 

\vsp\noindent
On note alors, $\dsp T_{i,j}=T(i\delta_x,j\delta_t)$, et de même pour
la source de chaleur: $\dsp f_{i,j}=f(i\delta_x,j\delta_t)$. 
La discrétisation de la dérivée seconde par rapport à $x$ peut se
faire identiquement à celle utilisée précédemment. 

De la même façon, la dérivée par rapport au temps peut-être approchée
par 
\[ \frac{\partial T}{\partial t} \sim 
  \frac{T_{i+1,j}-T_{i,j}}{\delta_t}.
\]
On obtient alors la nouvelle relation de récurrence: 
\bge
T_{i,n+1}=T_{i,n}+\delta_t f_{i,n}+
\frac{\delta_t}{\delta_x^2}
\lp
T_{i+1,n}+T_{i-1,n}-2T_{i,n}
\rp
\ene
à laquelle il faut ajouter les conditions en $x=0$ et $x=L$: 
\[ T(1,:)=\alpha \ \mbox{ et , } T(end,:)=\beta 
\]
où $\alpha$ est donc la température en $x=0$ et $\beta$ celle en
$x=L$. 

\paragraph{Application numérique}
On pourra prendre les valeurs numériques (pour commencer\dots)
suivantes: 

$L=1$, $\delta_x=0.1$, $\delta_t=0.0001$, $\alpha=0$, $\beta=100$,

$f(x)=\dots$ au choix: toute fonction définie sur $[0;L]$. 

\label{LastPage}
\end{document}

Télécharger le fichier source Latex