0% ont trouvé ce document utile (0 vote)
45 vues1 page

S4 DST2 Python Notebook FR Student

Le document décrit un exercice portant sur un hexapôle électrostatique composé de 86 charges placées aux sommets d'un octogone. Il s'agit de générer les coordonnées des charges, représenter le potentiel électrostatique créé et le champ électrique associé.

Transféré par

xtmr6yjqsb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues1 page

S4 DST2 Python Notebook FR Student

Le document décrit un exercice portant sur un hexapôle électrostatique composé de 86 charges placées aux sommets d'un octogone. Il s'agit de générer les coordonnées des charges, représenter le potentiel électrostatique créé et le champ électrique associé.

Transféré par

xtmr6yjqsb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Student / DST ꞉ 4TPC416U Bachelor 2nd year spring 2024 − −

4TPC416U ꞉ Maths pourharmonique


les sciences physiques 3 et analyse

DST2 / 1h30
</br>
Credits꞉ L. Truflandier
A la fin de l'épreuve, répondre à l'email envoyé en début de session avec pour pièce jointe le fichier notebook complété ou un
fichier python édité via Spyder.
Renommer votre fichier suivant le protocole ꞉
DST_NomPrenom_S2.ipynb pour un fichier jupyter‑notebook

ou
DST_NomPrenom_S2.py pour un fichier python pur

ATTENTION ꞉ Abolir totalement l’emploi des espaces, lettres accentuées et autres symboles dans le nom du fichier !
Les points suivants seront pris en compte pour l'évaluation ꞉
respect des consignes
mise en forme des figures (légendes, unités, titre etc...)
clarté des programmes et mise en page
</br>
Credits꞉ L. Truflandier
In [ ]: import [Link] as plt
import numpy as np
import scipy as sc

Hexapôle électrostatique
Le potentiel électrostatique à la position →
ϕ de l'espace créé par un ensemble de charges
r ∈ R
3
N {qi }
i=1..N
localisées aux points

{ r qi ∈ R }
3
de l'espace, a pour expression
i=1..N

N
1 qi

ϕ (r ) = ∑
4πϵ0
i=1

∥ r − r qi ∥ →

avec → →
r = xe x + y e y + z e z → →

et →
rq
i

= xq e x + y q e y + z q e z
i i
→ i

Pour cet exercice on considère un ensemble de 86 charges placées aux sommets d’un octogone parfait de demi‑diagonale d = 1

et centré sur l'origine du repère. Par la suite, on se ramènera à une étude dans le plan et on utilisera les unités atomiques, (O, x, y)

pour lesquelles e

4πϵ0
. Les charges élementaires (
= 1 ) sont de signes opposées à leur deux plus proches voisins.
qi = ±1

1. Générer 3 tableaux, xq et yq contenants les coordonnées des 8 charges, et q contenant la valeur des charges (unitaires).
Pour déterminer le coordonnées efficacement on pourra utiliser le fait que l'octogone est inscrit dans un cercle
de rayon . r = 1

In [ ]:

1. En utilisant la fonction scatter localiser les charges dans le plan (O, x, y) avec des cercles bleu et rouge pour les charges
négatives et positives, respectivement.
In [ ]:

1. Discrétiser le plan pour


(O, x, y) et représenter le potentiel généré par les 4 charges. On
(x, y) = [−2; 2]50 × [−2; 2]50

privilégiera l'utilisation d'une boucle pour le calcul du potentiel. Pour la représentation on utilisera imshow avec
+3 > ϕ > −3 .
In [ ]:

**Exemple de figure attendue ꞉** Alternative text


Le champ électrique → en un point → de l'espace créé par une distribution de charges →
E r r ∈ R
3
localisées aux points

{ r qi ∈ R }
3
de l'espace s'écrit
i=1..N

N

( r − R qi )

→ →
E (r ) =
e
∑ qi
4πϵ0 ∥ → ∥ → 3

∥ r − R qi ∥
i=1

avec la charge élementaire (adimensionnelle) c'est à dire


qi qi = ±1 . Par la suite, on se ramènera à une étude dans le plan
et on utilisera les unités atomiques, pour lesquelles
(O, x, y) |
4πϵ0
e
| = 1 .

1. En utilisant les mêmes paramètres de discrétisation du plan que précédemment, les vecteurs du champs électrique
Oxy

généré par l'octopôle à l'aide de la fonction quiver et superposer le graphique sur celui du potentiel electrostatique.
In [ ]:

**Exemple de figure attendue ꞉** Alternative text

Série de Fourier
Considérons une fonction 1D, , continue (ou continue par morceaux) sur l'intervalle
f : R → R et périodique tel que ꞉ [−π; +π]

f (x + 2π) = f (x), alors peut être représentée par une série de trigonométrique convergente, appelée série de Fourier ꞉
f (x)

nmax

f (x) = a0 + ∑ (an cos(nx) + bn sin(nx)) , nmax → ∞ (1)

n=1

où les coefficients de Fourier et sont déterminés par ꞉


an bn


1
a0 = ∫ f (x) dx (1)
2π −π


1
an = ∫ f (x) cos(nx) dx pour n > 0 (2)
π −π


1
bn = ∫ f (x) sin(nx) dx pour n > 0 (3)
π −π

Pour un signal triangulaire périodique tracé ci‑dessous pour x ∈ [−π; +π] ꞉


In [ ]: def fonction_sawtooth(x,ramp):
sign = ( [Link](x,ramp) + 1.0 ) /2.0
return sign

nperiod = 1
ngrid = 512
x = [Link](‑nperiod*[Link], nperiod*[Link], ngrid)

y_signal = fonction_sawtooth(x,ramp=0.5)

[Link](x/[Link],y_signal,linewidth=1.0, color='black',)
[Link]('$x$ ($\pi$ unit)', fontsize=12, color='blue' )
[Link]('$f(x)$', fontsize=12, color='blue' )

on peut déterminer analytiquement les coefficients. On obtient ꞉


1
a0 = (4)
2

0 si n est pair
an = { (3) (5)
2
−4/(nπ) si n est impair

bn = 0 pour n ≥ 0 (6)

1. Dans un tableau 1D numpy appelé an stocker les valeurs des coefficients {an } (équation ) pour
(3) n = 0, 1..., nmax (inclu)
avec .
nmax = 3

In [ ]: #an = [Link]﴾6﴿

1. A partir du tableau an calculer la décomposition en série de Fourier de (équation ) jusqu'à l'ordre . Pour ce f (x) (1) nmax = 3

faire on pourra utiliser une boucle. Représenter la série de Fourier et superposer le graphique de la fonction porte originelle.
In [ ]:

**Exemple de figure attendue ꞉** Alternative text


In [ ]:

1. Ecrire une fonction python appelée fourier_sawwave_coef qui étant donné l'ordre maximum calcul la liste des nmax

coefficients pour
{an } . Comme précédemment le an renvoyé par la fonction sera un tableau 1D numpy .
n = 0, 1, 2..., nmax

Remarque ꞉ le code permettant de tester si un entier est pair ou impair est donné ci‑dessous. Vous pouvez vous en
n

inspirer pour programmer votre fonction fourier_squarewave_coef .


In [ ]: n = 3
if (n%2 == 0):
print('even')
else:
print('odd')

In [ ]: #def fourier_sawwave_coef﴾nmax﴿:
# an = [Link]﴾6﴿
# ...
# return an

1. A partir des coefficients bn Calculer la série de Fourier (équation ). Tester votre programme pour (1) nmax = 5 puis pour
nmax = 80 . Représenter les résultats.
In [ ]:

**Exemple de figure attendue ꞉** Alternative text


1. Enfin, représenter {bn } en fonction de . On . A quoi correspond cette série de coefficients ?
n

In [ ]:

Vous aimerez peut-être aussi