% !TEX root = main.tex
\chapter{Electrodinàmica}

\section{Equacions de l'electrodinàmica}

\begin{itemize}
  \item $Q$ és mesurada.
  \item $Q$ és un escalar sota transformacions Lorentz.
  \item $Q$ està quantitzada ($\Delta Q / Q < 10^{-21}$).
\end{itemize}

\begin{defi}
  La \underline{densitat de càrrega} és, amb abús de notació:
  \[ \rho(\vec{x}) = \frac{\Delta Q}{\Delta V} = \frac{\Delta Q}{\Delta V_0} \gamma_{\vec{u}}. \]
\end{defi}

\begin{defi}
  El \underline{quadrivector corrent} és:
  \[ J^\mu := (c, \vec{u}) \rho = (c\rho, \vec{J}). \]
\end{defi}

\begin{prop}[Equació de continuitat]
  Sigui $J^\mu$ el quadrivector corrent. Aleshores:
  \[ \partial_\mu J^\mu = 0. \]
\end{prop}

\begin{obs}
  Si prenem $\rho_0$ com la densitat de càrrega en el sistema comòbil, tenim:
  \[ J^\mu = \rho_0 \gamma_u (c, \vec{u}) = \rho_0 U^\mu. \]
\end{obs}

\begin{obs}
  Recordem les equacions de Maxwell al buit:
  \[ \arraycolsep=15pt \def\arraystretch{2} \begin{array}{cc}
    \div \vec{E} = 4 \pi \rho & \curl \vec{B} = \frac{4 \pi}{c} \vec{J} + \frac{1}{c} \partial_t \vec{E} \\
    \div \vec{B} = 0 & \curl \vec{E} + \frac{1}{c} \partial_t \vec{B} = 0
  \end{array} \]
\end{obs}

\begin{defi}
  Anomenem \underline{potencial vector} un camp vectorial $\vec{A}$ tal que $\vec{B} = \curl \vec{A}$.
\end{defi}

\begin{obs}
  Sota aquesta definició, tenim $\curl \left( \vec{E} + \frac{1}{c} \partial_t \vec{A} \right) = 0$.
\end{obs}

\begin{defi}
  Anomenem \underline{potencial escalar} un camp escalar $\phi$ tal que $\vec{E} + \frac{1}{c} \partial_t \vec{A} = - \grad \phi$.
\end{defi}

\begin{obs}
  Existeixen transformacions que ens converteixen potencials vectors en altres potencials vectors iguals de vàlid, i igual amb els potencials escalars. Anomenem aquest tipus de transformacions \underline{transformació de gauge}, i són les següents:
  \begin{itemize}
    \item $\vec{A}' = \vec{A} + \grad \alpha \quad \forall \alpha(t, \vec{x})$.
    \item $\phi' = \phi - \frac{1}{c} \partial_t \alpha \quad \forall \alpha(t, \vec{x})$.
  \end{itemize}
\end{obs}

\begin{defi}
  Definim el \underline{quadrivector potencial} o \underline{camp de gauge} com:
  \[ A^\mu := (\phi, \vec{A}). \]
\end{defi}

\begin{obs}
  Podem fer el següent canvi de descripció:
  \[ \begin{cases}
    \vec{B} = \curl \vec{A}, \\
    \vec{E} = - \grad \phi - \frac{1}{c} \partial_t \vec{A}.
  \end{cases} \]
\end{obs}

\begin{defi}
  El \underline{tensor de Faraday} o \underline{tensor electromagnètic} és:
  \[ F_{\mu\nu} := \partial_\mu A_\nu - \partial_\nu A_\mu = \left(\begin{array}{c|ccc}
    0 & & + \vec{E} & \\
    \hline
    & 0 & -B^3 & B^2 \\
    - \vec{E} & & 0 & -B^1 \\
    & & & 0
  \end{array}\right). \]
\end{defi}

\begin{obs}
  El tensor de Faraday és antisimètric i invariant gauge.
\end{obs}

\begin{defi}
  Definim el tensor dual de Hodge com:
  \[ *F^{\mu \nu} := \frac{1}{2} \varepsilon^{\mu \nu \rho \sigma} F_{\rho \sigma}. \]
  En realitat és el mateix tensor $F^{\mu \nu}$ intercanviant $\vec{E} \to \vec{B}$, $\vec{B} \to - \vec{E}$.
\end{defi}

\begin{prop}
  Les equacions de Maxwell en el buit es poden escriure com a:
  \[ \partial_\mu F^{\mu \nu} = \frac{4 \pi}{c} J^\nu, \quad \partial_\mu {*F^{\mu \nu}} = 0, \]
  o bé
  \[ F_{\mu \nu} = \partial_\mu A_\nu - \partial_\nu A_\mu, \quad \Box A_\mu - \partial_\mu (\partial \cdot A) = \frac{4 \pi}{c} J_\mu, \]
  on $\Box := \frac{1}{c^2} \partial_t^2 - \Delta$.
\end{prop}

\begin{prop}
  Existeixen dos invariants electromagnètics:
  \[ \begin{cases}
    I_1 = F_{\mu \nu} F^{\mu \nu} = 2(B^2 - E^2), \\
    I_2 = *F_{\mu \nu} F^{\mu \nu} = - 4 \vec{E} \cdot \vec{B}.
  \end{cases} \]
\end{prop}

\begin{col}
  Si $\vec{E} \perp \vec{B}$ a un SRI, ho són a tots.
\end{col}

\subsection{Transformació del camp electromagnètic}
\begin{prop}
  En configuració estàndard, els camps elèctrics i magnètics transformen com:
  \[ \begin{cases}
    {E'}^x = E^x, \\
    {E'}^y = \gamma(E^y - \beta B^z), \\
    {E'}^z = \gamma(E^z + \beta B^z),
  \end{cases} \qquad \begin{cases}
    {B'}^x = B^x, \\
    {B'}^y = \gamma(B^y + \beta E^z), \\
    {B'}^z = \gamma(B^z - \beta E^z).
  \end{cases} \]

  Pel cas general tenim les fòrmules:
  \[ \begin{cases}
    \vec{E}'_\parallel = \vec{E}_\parallel, \\
    \vec{E}'_\perp = \gamma(\vec{E}_\perp + \vec{\beta} \times \vec{B}_\perp),
  \end{cases} \qquad \begin{cases}
    \vec{B}'_\parallel = \vec{B}_\parallel, \\
    \vec{B}'_\perp = \gamma(\vec{B}_\perp - \vec{\beta} \times \vec{E}_\perp).
  \end{cases} \]
\end{prop}

\subsection{Càrrega en un camp electromagnètic}
\begin{prop}
  Una càrrega puntual al buit genera els següent camps:
  \[ \vec{E} = \frac{q \gamma}{r^2} \frac{1}{(1 + \beta^2 \gamma^2 \cos^2 \theta)^{3/2}} \hat{r}, \qquad \vec{B} = \vec{\beta} \times \vec{E}. \]
\end{prop}

\begin{obs}
  La força és
  \[ \vec{f} = \frac{d \vec{p}}{dt} = m \gamma \vec{a} + \frac{d(m \gamma)}{dt} \vec{u} \]
  i, per tant, $\vec{f}$ no és necessàriament paral·lel a $\vec{a}$.
\end{obs}

\begin{defi}
  La \underline{quadriforça} és:
  \[ F^\mu := m \frac{dU^\mu}{d\tau} = \gamma \frac{d}{dt} (m \gamma c, \vec{p}) = \gamma \left( \frac{d}{dt} (m \gamma c), \vec{f} \right). \]
\end{defi}

\begin{prop}[Equació del treball o fórmula de la potència]
  A partir del fet que $U^\mu U_\mu = c^2$ es pot demostrar:
  \[ \frac{d(m \gamma c^2)}{dt} = \vec{f} \cdot \vec{u}. \]
  Això ens permet expressar la quadriforça com:
  \[ F^\mu = \gamma \left( \frac{\vec{f} \cdot \vec{u}}{c}, \vec{f} \right). \]
\end{prop}

\begin{obs}
  Si $\vec{f} \parallel \vec{u}$, llavors $f = m \gamma^3 a = m \alpha$, on $\alpha$ és l'acceleració pròpia.
\end{obs}

\subsection{Força de Lorentz}
\begin{defi}
  Definim una generalització de la \underline{força de Lorentz} $\frac{d\vec{p}}{dt} = \vec{f} = q(\vec{E} + \vec{\beta} \times \vec{B})$ com la quadriforça
  \[ F^\mu := \frac{q}{c} F^{\mu \nu} U_\nu. \]
\end{defi}

\begin{obs}
  La força generalitzada de Lorentz implica el següent:
  \begin{itemize}
    \item L'equació del treball: $\displaystyle \frac{d(m \gamma c^2)}{dt} = \underbrace{q \vec{E}}_{\vec{f}} \cdot \vec{u}$, que a més ens diu que el camp magnètic no fa treball.
    \item Si $A_\mu$ és independent del temps, aleshores l'energia $m \gamma c^2 + q \phi$ és una constant del moviment.
  \end{itemize}
\end{obs}

\textit{El tema de formalisme lagrangià no està inclós en aquest resum.}

\section{Lleis de conservació}

\subsection{Tensor d'energia-moment d'una partícula}

El corrent elèctric d'una partícula puntual és:
\[ \begin{cases}
  J^0 = c \rho = c q \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(densitat de càrrega)}, \\
  \vec{J} = q \vec{u} \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(flux de càrrega - corrent)}.
\end{cases} \]
Fixem-nos:
\[ J^\mu = cq \int d\tau \, \delta^{(4)}(x - x(\tau)) U^\mu(\tau). \]

\begin{defi}
  Definim el \underline{tensor energia-moment de la partícula} com:
  \[ T^{\mu \nu} := \begin{cases}
    T^{0 \nu} & \text{densitat de moment $P^\nu$}, \\
    T^{i \nu} & \text{flux de moment $P^\nu$ en la direcció $i$}.
  \end{cases} \]
\end{defi}

Per tant:
\begin{itemize}
  \item $T^{00}$: densitat d'energia.
  \item $T^{i0}$: flux d'energia.
  \item $T^{0j}$: densitat de $cp^j$.
  \item $T^{ij}$: flux de $cp^j$ en la direcció $i$.
\end{itemize}

\begin{prop}
  Tenim:
  \[ \partial_\mu T^{\mu \nu} = \frac{1}{c} F^{\nu \sigma} J_{\sigma}. \]
\end{prop}

\subsection{Tensor d'energia-moment del camp electromagnètic}

\begin{obs}
  La identitat de Jacobi és:
  \[ \partial_\mu F_{\rho \sigma} + \partial_\rho F_{\sigma \mu} + \partial_\sigma F_{\mu \rho} = 0. \]
\end{obs}

\begin{prop}
  Mitjançant el desenvolupament d'un lagrangià del camp EM i la identitat de Jacobi arribem a:
  \[ \partial_\rho \left[ \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \delta_\mu^\rho \frac{1}{4} F^2 \right) \right] = - \frac{1}{c} F_{\mu \sigma} J^\sigma. \]
\end{prop}

\begin{defi}
  Definim el \underline{tensor d'energia-moment electromagnètic} com:
  \[ {T_{EM}}^\rho_\mu := \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \frac{1}{4} \eta^{\rho \mu} F^2 \right). \]
\end{defi}

\begin{defi}
  Definim el \underline{tensor d'energia-moment total} com:
  \[ T_{total}^{\rho \mu} = T_{EM}^{\rho \mu} + T_{part}^{\rho \mu}. \]
\end{defi}

\begin{prop}[Llei de conservació d'energia-moment]
  Tenim que:
  \[ \partial_\rho T_{EM}^{\rho \mu} = - \frac{1}{c} F^{\mu \sigma} J_{\sigma}, \]
  i juntant-ho amb l'equació trobada anteriorment pel cas d'una partícula obtenim la llei de conservació d'energia-moment:
  \[ \partial_\rho (T_{total}^{\rho \mu}) = 0. \]
\end{prop}

\begin{defi}
  El \underline{vector de Poynting} és:
  \[ \vec{S} := \frac{c}{4 \pi} (\vec{E} \times \vec{B}). \]
\end{defi}

\begin{prop}[Teorema de Poynting]
  Les components del tensor d'energia-moment electromagnètic són:
  \[ \begin{cases}
    \displaystyle T_{EM}^{00} = \frac{1}{8 \pi}(E^2 + B^2) = \varepsilon, & \text{(densitat d'energia electromagnètica)} \\[1em]
    \displaystyle T_{EM}^{0i} = \frac{1}{c} S^i, & \text{(vector de Poynting)} \\[1em]
    \displaystyle T_{EM}^{ij} = \frac{1}{4 \pi} \left[ - E^i E^j - B^i B^j + \frac{1}{2} \delta^{ij} (E^2 + B^2) \right]. & \text{(tensor d'esforços de Maxwell)}
  \end{cases} \]
\end{prop}

\begin{prop}
  Derivant el tensor d'energia-moment respecte la coordenada de temps obtenim:
  \[ \partial_t \varepsilon + \div \vec{S} = - \frac{\Delta Q \, \vec{E} \cdot \vec{u}}{\Delta V} = - \frac{\text{\scriptsize treball del camp EM sobre les càrregues}}{\Delta t \cdot \Delta v}. \]
\end{prop}

\begin{defi}
  Definim el \underline{moment total del camp EM} com:
  \[ P_{EM}^{\mu} := \frac{1}{c} \int_{t = \text{const.}} T_{EM}^{0 \mu} d^3 x. \]
\end{defi}

\begin{obs}
  En absència de càrregues, $\frac{d}{dt} P_{EM}^\mu = 0$, suposant que $T^{\mu\nu}$ està localitzat (ha de decaure més ràpid que $r^{-2}$).

  En presència de càrregues, $\frac{d}{dt} (P_{EM}^\mu + P_{càrregues}^\mu) = 0$ anàlogament.
\end{obs}

\section{Solució de les equacions de Maxwell}

Les equacions de Maxwell en funció del quadripotencial en el gauge de Lorentz són:
\[ \Box A^\alpha = \frac{4 \pi}{c} J^\alpha, \quad \partial_\alpha A^\alpha = 0 \text{ (gauge de Lorentz)}. \]

És una equació inhomogènia així que la solució general és: $A_g^\mu = A_h^\mu + A_p^\mu$ (la solució general és suma d'una homogènia i una particular).

\begin{prop}
  La solució de l'equació $\Box A^\nu = 0$ sota certes condicions de contorn són les ones planes de la forma
  \[ A_h^\mu = \int d^3\vec{k} \left[ C^\mu(\vec{K}) e^{-i \omega t + i \vec{k} \cdot \vec{x}} + D^\mu(\vec{k}) e^{i \omega t + i \vec{k} \cdot \vec{x}} \right], \]
  on $\omega = c | \vec{k} | \iff \omega^2 = c^2 k^2$ és la relació de dispersió, i demanem que $C^\mu(- \vec{k}) = [C^\mu(\vec{k})]^*$ i anàlogament per $D^\mu(\vec{k})$.

  La solució particular de l'equació sencera és:
  \[ A_p^\mu(x) = \frac{1}{c} \int d^4 x' \, G(x - x') J^\mu(x'), \]
  on $G(x)$ s'anomena \underline{funció de Green} i és tal que compleix
  \[ \Box_x G(x - x') = 4 \pi \delta^{(4)} (x - x'). \]
\end{prop}

\begin{defi}
  La \underline{funció de Green retardada} és una funció de Green que es pren per no trencar la causalitat (que la font només afecti el futur):
  \[ G_R(x) := - \frac{1}{\pi} \frac{1}{(2 \pi)^2} \int d^3 \vec{k} \int dk^0 \frac{e^{i k \cdot x}}{(k^0 - i \varepsilon)^2 - \vec{k}^2}, \]
  on $k \cdot x = k^0 x^0 - \vec{k} \vec{x}$, i $\varepsilon > 0$. Si $x^0 < 0$, $G_R(x) = 0$.
\end{defi}

\begin{prop}
  Pel teorema dels residus d'anàlisi complex obtenim:
  \[ G_R(x) = \frac{- 2 \pi i}{(2 \pi)^3} \, \mathbb{I}(x^0 \geq 0) \, \int \frac{d^3 \vec{k}}{|\vec{k}|} \left[ e^{i \omega t - i \vec{k} \cdot \vec{x}} - e^{- i \omega t - i \vec{k} \cdot \vec{x}} \right] \implies \]
  \[ \implies G_R(x - x') = \frac{\mathbb{I}(x^0 - {x'}^0 \geq 0)}{R} \delta(c(t - t') - R), \]
  on $R = |\vec{x} - \vec{x}'|$.
\end{prop}

\subsection{Càrregues puntuals}
\begin{prop}
  Si definim $t_R$ el temps retardat (temps en què es va emetre) i $x$ el punt d'observació, ignorant la solució homogènia tenim com a solució:
  \[ A^\mu(x) = \left. q \frac{(1, \vec{\beta})}{(1 - \vec{\beta} \cdot \vec{n}) R} \right|_{t_R}, \]
  on $\vec{n}$ és la velocitat de propagació en la part espaial. Aquests potencials s'anomenen \underline{potencials de Liénard-Wiechert}.
\end{prop}

\begin{obs}
  $A^\mu(x) \overset{\beta \to 0}{\longrightarrow} \frac{q}{R} (1, 0)$.
\end{obs}

\begin{prop}
  Els camps EM són:
  \[ \vec{E}(ct, \vec{x}) = \underbrace{\frac{q}{c} \left[ \frac{\vec{n} \times ((\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}})}{(1 - \vec{\beta} \cdot \vec{n})^3 \, R} \right]_{t_R}}_{\text{\scriptsize camp d'acceleració o de radiació}} + \underbrace{\left. q \frac{(\vec{n} - \vec{\beta})}{\gamma^2 (1 - \vec{\beta} \cdot \vec{n})^3 R^2} \right|_{t_R}}_{\text{\scriptsize camp de Coulomb}}, \]
  \[ \vec{B}(ct, \vec{x}) = \vec{n} \times \vec{E}. \]
\end{prop}

\begin{obs}
  Diverses coses:
  \begin{itemize}
    \item Fixem-nos que l'acceleració $\dot{\vec{\beta}}$ intervè a les fòrmules!
    \item La part Coulombiana és el mateix que vam calcular prèviament mitjançant la transformació d'$\vec{E}$ i $\vec{B}$ entre SRIs, però ara en funció de $t_R$.
    \item $\vec{S} = \frac{c}{4 \pi} (\vec{E} \times \vec{B})$, així que l'únic terme que contribueix a la pèrdua d'energia és $(\text{radiació})^2 \propto \frac{1}{R^2}$.
    \item Si el camp d'acceleració $\vec{E}^{acc} \perp \vec{n}$, aleshores $|\vec{E}^{acc}| = |\vec{B}^{acc}| \implies I_1^{acc} := 2(B^2 - E^2) = 0$. A més, $I_2 = 4 \vec{E} \cdot \vec{B} = 0$ perquè $\vec{E} \perp \vec{B}$.
    \item Una partícula radia en la direcció transversal a la que es mou.
  \end{itemize}
\end{obs}

\section{Radiació per càrregues acceleradaes}

\begin{defi}
  La \underline{potència radiada} per una partícula és:
  \[ P = \int_{S^2(R)} \vec{S} \cdot \vec{n} \, R^2 \, d\Omega, \]
  on $d\Omega = \sin \theta d \theta d\varphi$ és l'angle sòlid, $\vec{n} = \vec{R}/R$ i $R^2 d\Omega$ la superfície que cobreix l'angle sòlid.

  Per tant, la potència radiada per angle sòlid és:
  \[ \frac{dP}{d\Omega} = \vec{S} \cdot \vec{n} \, R^2. \]
\end{defi}

\begin{prop}[Fòrmula de Larmor]
  Sigui $\theta$ l'angle entre $\vec{n}$ i $\dot{\vec{\beta}}$. Aleshores, en el cas no relativista tenim:
  \[ \frac{dP}{d\Omega} = \frac{q^2}{4 \pi c} |\dot{\vec{\beta}}|^2 \sin^2 \theta, \quad P = \frac{2q^2}{3c} |\dot{\vec{\beta}}|^2, \]
  on el màxim de potència el tenim quan $\theta \in \{ \pm \pi/2 \}$ i el mínim quan $\theta \in \{ 0, \pi \}$.

  En el cas relativista tenim:
  \[ P = - \frac{2 q^2}{3 c^3} \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}, \]
  on $\alpha^2 = - \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}$.
\end{prop}

\begin{obs}
  Si una partícula carregada es troba en un camp EM constant $F^{\mu \mu} = const.$, aleshores $P$ és constant.
\end{obs}

\subsection{Distribució angular de la radiació}

\begin{prop}
  La distribució angular instantània de l'energia radiada és:
  \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\left| \vec{n} \times [ (\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}} ] \right|^2}{(1 - \vec{\beta} \cdot \vec{n})^5}. \]
\end{prop}

\begin{obs}
  Distingim 2 casos particulars:
  \begin{itemize}
    \item \textbf{Moviment lineal:} ($\vec{\beta} \parallel \dot{\vec{\beta}}$)
    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{|\dot{\vec{\beta}}|^2 \sin^2 \theta}{(1 - \beta \cos \theta)^5}; \qquad \theta_{max} \approx \frac{1}{2 \gamma}, \quad \frac{dP}{d\Omega} \sim q^2 \alpha^2 \gamma^2; \]
    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \vec{f}^2. \]
    \item \textbf{Moviment circular:} ($\vec{\beta} \perp \dot{\vec{\beta}}$)
    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\dot{\vec{\beta}}^2}{(1 - \vec{\beta} \cdot \vec{n})^3} \left[ 1 - \frac{\sin^2 \theta \cos^2 \varphi}{\gamma^2 (1 - \beta \cos \theta)^2} \right]; \qquad \theta_{max} = 0; \]
    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \gamma^2 \vec{f}^2. \]
  \end{itemize}
\end{obs}

\section{Radiació de sincrotró}

Radiació emesa per una càrrega en moviment circular molt relativista ($\gamma \gg 1$).

\begin{itemize}
  \item \textbf{Cas no relativista:}
  \[ \frac{dP}{d\Omega} = \frac{q^2 \omega^4 R^2}{4 \pi c^3} [1 - \sin^2 \theta \cos^2(\omega t - \varphi)], \qquad \omega = \frac{q B}{m \gamma_0 c} =: \frac{2 \pi}{T_0}. \]
  \item \textbf{Cas relativista:} $\frac{dP}{d\Omega}$ es concentra en la direcció cap endavant, en un con d'obertura $\Delta \Omega \sim \frac{1}{\omega^2}$.
  \[ \Delta t_R = \frac{r_0 \Delta \omega}{v}, \quad \Delta t \sim T_0 \gamma^{-3}. \]
\end{itemize}
