\documentclass[11pt,a4paper]{article} \usepackage[T1]{fontenc} \usepackage[ansinew]{inputenc}% \usepackage[frenchb]{babel} \usepackage{pst-circ,pst-rlcl}% \usepackage{graphicx} \usepackage[margin=2cm]{geometry} \usepackage{amsmath,amssymb} \usepackage{longtable} \usepackage[baw,pstricks]{fvrb-ex} \fvset{gobble=0,numbers=none,frame=single,labelposition=topline} \headheight=13.6pt \usepackage{fancyhdr} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{1pt} \fancyhf{} \fancyhead[C]{\thepage} \fancyfoot[L]{\texttt{PSTricks}} \fancyfoot[C]{février 2 003} \fancyfoot[R]{Oscillations libres} %re-définition d'enumerate \renewcommand{\labelenumi}{\bf\theenumi)} \renewcommand{\labelenumii}{\bf\theenumii)} \renewcommand{\labelenumiii}{\theenumiii)} \makeatletter \def\greek#1{\expandafter\@greek\csname c@#1\endcsname} \def\@greek#1{\ifcase#1\or$\ALPHA$\or$\BETA$\or$\GAMMA$\or$\DELTA$\fi}% \renewcommand{\theenumiii}{\greek{enumiii}} % fin enumerate \makeatother \pagestyle{fancy} \date{15 février 2003} \title{Étude des oscillations électriques\\ avec \texttt{PSTricks}} \author{Manuel Luque} \newpsstyle{MonStyleY11}{plotpoints=1000,linecolor=red} \newpsstyle{MonStyleY12}{plotpoints=1000,linecolor=blue} \newpsstyle{MonStyleY13}{plotpoints=1000,linecolor=green} \newpsstyle{MonStyleY14}{plotpoints=1000,linecolor=yellow} \newpsstyle{couleurVide}{fillstyle=none,framearc=0.05,linestyle=none} \begin{document} \maketitle \begin{center} \begin{pspicture}(-5,-5)(5,5) \psset{datas=false} \rput(0,0){\psRLC[styleY1=MonStyleY11,rv=10,sinus=true]} \rput(0,0){\psRLC[styleY1=MonStyleY12,rv=50,% stylescreen=couleurVide,stylecadre=couleurVide]} \rput(0,0){\psRLC[styleY1=MonStyleY13,rv=200,% stylescreen=couleurVide,stylecadre=couleurVide]} \rput(0,0){\psRLC[styleY1=MonStyleY14,rv=800,% stylescreen=couleurVide,stylecadre=couleurVide]} \end{pspicture} \end{center} \section{Le problème} Le commutateur\footnote{Le schéma a été réalisé avec \texttt{pst-circ}, ce package peut-être obtenu chez : http://christophe.jorssen.free.fr/} est sur le plot 1 le condensateur se charge, on bascule le commutateur sur le plot 2 pour le décharger. C'est un problème que j'ai déjà traité avec \texttt{PSTricks}\footnote{% \texttt{http://members.aol.com/Mluque5130/index.htm}}, je le reprends aujourd'hui en le limitant au cas des oscillations libres, car c'est la partie essentielle des oscillations électriques du nouveau programme de physique de terminale S. \begin{figure}[h] \begin{center} \begin{pspicture}(-4,-0.5)(5,5) \pnode(0,0){M} \ground(M) \uput[135](M){M} \pnode(-3,0){N} \pnode(-3,4.5){P} \pnode(3,0){B} \node(B) \uput[-90](B){B} \pnode(3,4.5){B1} \pnode(-0.5,4.5){K1} \pnode(0,3.5){K} \uput[90](K1){1} \pnode(0.5,4.5){K2} \uput[90](K2){2} \pnode(0,3){A} \node(A) \uput[180](A){A} \pnode(1.5,3){Y1} \pnode(4.5,0){Y2} \Ucc[tension,dipoleconvention=generator,labeloffset=1.2](N)(P){E} \wire(P)(K1) \wire(N)(M) \wire(K2)(B1) \resistor[intensitylabel=$i$,intensitylabeloffset=0.3,intensitywidth=0.5mm,% tensionlabel=$u_R$,tensionoffset=-0.8,tensionlabeloffset=-1.1,dipoleconvention=generator](M)(B){$r'$}% \capacitor[tensionlabel=$u_C$,tensionoffset=-0.8,tensionlabeloffset=-1.1,intensitylabel=$i$,intensitylabeloffset=0.3](K)(M){C} \coil[intensitylabel=$i$,dipolestyle=curved,intensitylabeloffset=0.3,labeloffset=-1](B)(B1){$(L,r)$} \Tswitch(K1)(K2)(K){K} \pscurve[linecolor=red]{->}(A)(0.33,3.15)(0.66,2.85)(Y1) \pscurve[linecolor=red]{->}(B)(3.25,0.25)(4,-0.2)(Y2) \uput[0](Y1){$Y_1$} \uput[0](Y2){$Y_2$} \end{pspicture} \end{center} \caption{Montage pratique} \end{figure} Soit $R=r+r'$ la résistance totale du circuit. On établira\footnote{Voir par exemple le petit livre des éditions \textsc{Vuibert Prépa} : \textit{Oscillations.}} sans peine l'équation différentielle du circuit en fonction de la tension $u$ aux bornes du condensateur. $$\ddot{u}+2\lambda \dot{u} + \omega_0^2u=0$$ Après avoir posé : $$2\lambda=\frac{R}{L},\ \omega_0^2=\frac{1}{LC}\ \textrm{et}\ R_C=2\sqrt{\frac{L}{C}}$$ Je me propose d'écrire une commande en \texttt{PSTricks} simulant ce que l'on observerait sur l'écran d'un oscilloscope possédant deux voies $Y_1$ et $Y_2$ (et même plus, on verra par la suite), en incluant aussi la possibilité d'inverser, d'additionner et de soustraire les voies, ainsi que de passer en mode $XY$. La base de temps et les sensibilités verticales étant bien sûr paramétrables, par l'intermédiaire de cette commande. Rappelons les trois régimes possibles suivant la valeur de la résistance totale $R$ du circuit. \begin{enumerate} \item \textbf{Régime pseudo-périodique :} $R<R_C$. Les conditions initiales seront les suivantes~: $$ \left\{ \begin{array}{rcl} u(0)&=&E\\ \displaystyle\frac{\mathrm{d}u}{\mathrm{d}t}(0)&=&0 \end{array} \right. $$ En posant $\Omega=\sqrt{\omega_0^2-\lambda^2}$, les solutions sont~: \begin{equation*} u(t)=E\mathrm{e}^{-\lambda t}\left(\cos\Omega t+\frac{\lambda}{\Omega}\sin\Omega t\right) \end{equation*} \begin{equation*} i(t)=C\frac{\mathrm{d}u}{\mathrm{d}t}=-CE\mathrm{e}^{-\lambda t} \left(\Omega-\frac{\lambda^2}{\Omega}\right)\sin\Omega t \end{equation*} \item \textbf{Régime critique :} $R=R_C$. \begin{equation*} u(t)=E\mathrm{e}^{-\lambda t}\left(\lambda t+1\right) \end{equation*} \begin{equation*} i(t)=C\frac{\mathrm{d}u}{\mathrm{d}t}=-CE\lambda^2t\mathrm{e}^{-\lambda t} \end{equation*} \item \textbf{Régime apériodique :} $R>R_C$. On pose : $$ \left\{ \begin{array}{rcl} r_1&=&-\lambda+\sqrt{\lambda^2-\omega_0^2}\\ r_2&=&-\lambda-\sqrt{\lambda^2-\omega_0^2}\\ a&=&-\dfrac{r_2E}{r_1-r_2}\\ b&=&\dfrac{r_1E}{r_1-r_2} \end{array} \right. $$ \begin{equation*} u(t)=a\mathrm{e}^{r_1t}+b\mathrm{e}^{r_2t} \end{equation*} \begin{equation*} i(t)=C\frac{\mathrm{d}u}{\mathrm{d}t}=C\left(ar_1\mathrm{e}^{r_1t}+br_2\mathrm{e}^{r_2t}\right) \end{equation*} \end{enumerate} Pour représenter l'image de l'intensité, on visualise la tension aux bornes de $r'$, soit avec les conventions d'orientation : $$u_{r'}=-r'i=-r'C\frac{\mathrm{d}u}{\mathrm{d}t}$$ Pour retrouver le ``bon signe'' on positionnera le paramètre \texttt{invert2=true}. \section{La définition de la commande} \subsection{Tension aux bornes du condensateur sur la voie Y1} \begin{CenterExample}[label=tension aux bornes de C] \psRLC[rv=10,enveloppe=true] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C très amortie] \psRLC[rv=100] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C en régime critique] \psRLC[rv=400] \end{CenterExample} \subsection{Tension aux bornes du condensateur sur la voie Y1 et tension aux bornes de $r'$ sur la voie Y2} \subsubsection{La voie Y2 n'est pas inversée} {\psset{i=true} Le paramètre \texttt{i=true} est passé en option générale si plusieurs figures doivent être dessinées avec les deux voies, ou bien rendu actif sur une seule commande, comme dans l'exemple qui suit. \begin{verbatim} \psset{i=true} \end{verbatim} Comme sur l'exemple suivant. \begin{CenterExample}[label=tension aux bornes de C et de r'] \psRLC[rv=10,Y2=0.1,i=true] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C et de r'] \psRLC[rv=100,Y2=0.5] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C et de r' en régime critique] \psRLC[rv=400] \end{CenterExample} } \subsubsection{La voie Y2 est inversée} Comme dans l'exemple précédent, les paramètres \texttt{i=true,invertY2=true} sont passés en option générale si plusieurs figures doivent être dessinées avec les deux voies, ou bien rendus actifs sur une seule commande, ainsi que le montre l'exemple suivant. {\psset{i=true,invertY2=true} \begin{verbatim} \psset{i=true,invertY2=true} \end{verbatim} \begin{CenterExample}[label=tension aux bornes de C et de r' voie Y2 inversée] \psRLC[rv=10,Y2=0.1,invertY2=true] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C et de r' voie Y2 inversée] \psRLC[rv=100,Y2=0.5,invertY2=true] \end{CenterExample} \begin{CenterExample}[label=tension aux bornes de C et de r' voie Y2 inversée] \psRLC[rv=400] \end{CenterExample} } \subsection{Mode XY : intensité en abscisse et tension en ordonnée} \begin{CenterExample}[label=mode XY] \psRLC[rv=10,XY=true,Y2=0.1] \end{CenterExample} \section{Additionner ou soustraire les voies} Cette fonction exclue toutes les autres. Le résultat de l'addition ou de la soustraction est représenté sur la Y1. Pour soustraire $Y_1-Y_2$, inverser la voie Y2 puis additionner. De même pour faire $Y_2-Y_1$ inverser Y1. Le résultat sera exact si la sensibilité verticale est la même pour les deux voies. \begin{CenterExample}[label=mode XY] \psRLC[rv=100,add=true,invertY2=true] \end{CenterExample} \section{La possibilité de représenter en surimpression, la trace de la tension sinusoïdale de période $T_0$} \begin{CenterExample}[label=Surimpression de la tension sinusoïdale] \psRLC[rv=20,sinus=true] \end{CenterExample} \section{La possibilité de dessiner l'enveloppe de la tension} Cette possibilité a été illustrée au tout début. Elle n'a d'intérêt que pour les oscillations pseudo-périodiques. En voici un autre exemple. \begin{CenterExample}[label=Surimpression de la tension sinusoïdale] \psRLC[rb=5,rv=5,enveloppe=true,L=0.1,balayage=5] \end{CenterExample} \section{Les paramètres} \begin{center} \begin{tabular}{|l|c|l|}\hline \textbf{Paramètres}& \textbf{par défaut}&\multicolumn{1}{|c|}{\textbf{particularités}}\\\hline E&5&tension initiale en V\\\hline rb&10&résistance de la bobine en $\Omega$\\\hline rv&10&résistance additionnelle variable en $\Omega$\\\hline L&0,040&inductance de la bobine en H\\\hline C&1e-6 $(1.10^{-6})$&capacité du condensateur en F\\\hline balayage&1& en ms/div\\\hline Y1&2&sensibilité verticale de la voie 1 en V/div\\\hline Y2&2&sensibilité verticale de la voie 2 en V/div\\\hline offsetY1&0&décalage vertical de Y1 en div\\ \hline offsetY2&0&décalage vertical de Y2 en div\\ \hline invertY1&false& pour inverser la voie Y1 (true)\\ \hline invertY2&false& pour inverser la voie Y2 (true)\\ \hline XY&false& mode XY : Y2 en abscisse et Y1 en ordonnée\\ \hline i&false&tension aux bornes de $r'$ sur la voie Y2\\ \hline add&true&additionne les voies, met le résultat sur Y1\\ \hline sinus&false& avec \texttt{true}, met la sinusoïde en surimpression\\ \hline enveloppe&false&\begin{tabular}{c}avec \texttt{true}, \\ dessine l'enveloppe des oscillations amorties\end{tabular}\\ \hline \end{tabular} \end{center} \section{Décaler les deux voies pour faire des comparaisons} \begin{CenterExample}[label=tension aux bornes de C et de r' voie Y2 inversée] {\psset{i=true,datas=false} \psRLC[E=10,Y2=1,Y1=5,invertY2=true,offsetY1=2,offsetY2=-2] } \end{CenterExample} \section{Modifier le design de l'oscilloscope, des courbes etc.} La couleur de fond de l'écran, la couleur et l'épaisseur du trait des oscillogrammes de chaque voie, la transparence de l'enveloppe sont définis par un style. Dans le fichier source, au début du fichier on a : \begin{verbatim} \newpsstyle{colorVert}{plotpoints=10000,linecolor=Vert} \newpsstyle{colorBlue}{plotpoints=10000,linecolor=blue} \newpsstyle{colorRed}{plotpoints=10000,linecolor=red} \newpsstyle{colorscreen}{fillstyle=solid,fillcolor=MonGris} \newpsstyle{enveloppeJaune}{fillstyle=vlines,hatchcolor=yellow,% hatchsep=1\pslinewidth,hatchangle=0,hatchwidth=0.1\pslinewidth} \newpsstyle{colorcadre}{linestyle=none,fillstyle=solid,fillcolor=blue,framearc=0.05} \end{verbatim} Ils définissent dans l'ordre : \begin{itemize} \item le nombre de points calculés, la couleur du tracé de : \begin{itemize} \item voie Y1 ; \item voie Y2 ; \item mode XY. \end{itemize} \item la couleur de fond de l'écran ; \item le style de l'enveloppe. \end{itemize} Ces paramètres sont modifiables en créant son propre style, par exemple : \begin{verbatim} \newpsstyle{MonStyleY1}{plotpoints=1000,linecolor=red,linestyle=dashed,linewidth=1mm} \end{verbatim} \newpsstyle{MonStyleY1}{plotpoints=1000,linecolor=red,linestyle=dashed,linewidth=1mm} \begin{CenterExample}[label=MonStyleY1] \psRLC[styleY1=MonStyleY1,L=0.1,datas=false] \end{CenterExample} \begin{tabular}{|l|c|l|}\hline \textbf{style}& \textbf{par défaut}&\multicolumn{1}{|c|}{\textbf{particularités}}\\\hline styleY1&colorVert&tracé de Y1\\ \hline styleY2&colorBlue&tracé de Y2\\ \hline styleXY&colorRed&tracé en mode XY\\ \hline stylescreen&colorscreen&couleur du fond de l'écran\\ \hline styleenveloppe&enveloppeJaune&couleur de l'enveloppe\\ \hline stylecadre&colorcadre&style du cadre\\ \hline \end{tabular} \section{Représenter plusieurs courbes sur l'écran} Il faut d'abord positionner l'option \texttt{datas=false}, puis placer tous les écran ou même endroit et définir un style différent pour chaque voie. \begin{verbatim} \newpsstyle{MonStyleY11}{plotpoints=1000,linecolor=red} \newpsstyle{MonStyleY12}{plotpoints=1000,linecolor=blue} \newpsstyle{MonStyleY13}{plotpoints=1000,linecolor=green} \newpsstyle{couleurVide}{fillstyle=none} \end{verbatim} \begin{CenterExample} \begin{pspicture}(-5,-5)(5,5) \psset{datas=false} \rput(0,0){\psRLC[styleY1=MonStyleY11,rv=10,sinus=true]} \rput(0,0){\psRLC[styleY1=MonStyleY12,rv=50,% stylescreen=couleurVide,stylecadre=couleurVide]} \rput(0,0){\psRLC[styleY1=MonStyleY13,rv=200,% stylescreen=couleurVide,stylecadre=couleurVide]} \rput(0,0){\psRLC[styleY1=MonStyleY14,rv=800,% stylescreen=couleurVide,stylecadre=couleurVide]} \end{pspicture} \end{CenterExample} \end{document}