Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.Electromagnetism.Distributional.Dynamics.IsExtrema public import Physlib.SpaceAndTime.Space.Norm.Basic public import Physlib.SpaceAndTime.Space.ConstantSliceDist

The magnetic field around a infinite wire

i. Overview

In this module we verify the electromagnetic properties of an infinite wire carrying a steady current along the x-axis.

ii. Key results

    wireCurrentDensity : The current density associated with an infinite wire carrying a current I along the x-axis.

    infiniteWire : The electromagnetic potential associated with an infinite wire carrying a current I along the x-axis.

    infiniteWire_isExterma : The electromagnetic potential of an infinite wire carrying a current I along the x-axis satisfies Maxwell's equations.

iii. Table of contents

    A. The current density

    B. The electromagnetic potential

      B.1. The scalar potential

      B.2. The vector potential

    C. The electric field

    D. Maxwell's equations

iv. References

@[expose] public section

A. The current density

The 4-current density of an infinite wire carrying a current I along the x-axis is given by

$$J(t, x, y, z) = (0, I ฮด((y, z)), 0, 0).$$

@[simp] lemma wireCurrentDensity_chargeDesnity (c : SpeedOfLight) (I : โ„) : (wireCurrentDensity c I).chargeDensity c = 0 := c:SpeedOfLightI:โ„โŠข (DistLorentzCurrentDensity.chargeDensity c) ((wireCurrentDensity c) I) = 0 c:SpeedOfLightI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข ((DistLorentzCurrentDensity.chargeDensity c) ((wireCurrentDensity c) I)) ฮท = 0 ฮท All goals completed! ๐Ÿ™lemma wireCurrentDensity_currentDensity_fst (c : SpeedOfLight) (I : โ„) (ฮท : ๐“ข(Time ร— Space 3, โ„)) : (wireCurrentDensity c I).currentDensity c ฮท 0 = (constantTime <| constantSliceDist 0 <| I โ€ข diracDelta โ„ 0) ฮท := c:SpeedOfLightI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข (((DistLorentzCurrentDensity.currentDensity c) ((wireCurrentDensity c) I)) ฮท).ofLp 0 = (constantTime ((constantSliceDist 0) (I โ€ข diracDelta โ„ 0))) ฮท All goals completed! ๐Ÿ™@[simp] lemma wireCurrentDensity_currentDensity_snd (c : SpeedOfLight) (I : โ„) (ฮต : ๐“ข(Time ร— Space 3, โ„)) : (wireCurrentDensity c I).currentDensity c ฮต 1 = 0 := c:SpeedOfLightI:โ„ฮต:๐“ข(Time ร— Space, โ„)โŠข (((DistLorentzCurrentDensity.currentDensity c) ((wireCurrentDensity c) I)) ฮต).ofLp 1 = 0 All goals completed! ๐Ÿ™@[simp] lemma wireCurrentDensity_currentDensity_thrd (c : SpeedOfLight) (I : โ„) (ฮต : ๐“ข(Time ร— Space 3, โ„)) : (wireCurrentDensity c I).currentDensity c ฮต 2 = 0 := c:SpeedOfLightI:โ„ฮต:๐“ข(Time ร— Space, โ„)โŠข (((DistLorentzCurrentDensity.currentDensity c) ((wireCurrentDensity c) I)) ฮต).ofLp 2 = 0 All goals completed! ๐Ÿ™

B. The electromagnetic potential

The electromagnetic potential of an infinite wire carrying a current I along the x-axis is given by

$$A(t, x, y, z) = \left(0, -\frac{ฮผ_0 I}{2\pi} \log (\sqrt{y^2 + z^2}), 0, 0\right).$$

B.1. The scalar potential

THe scalar potential of an infinite wire carrying a current I along the x-axis is zero:

$$V(t, x, y, z) = 0.$$

@[simp] lemma infiniteWire_scalarPotential (๐“• : FreeSpace) (I : โ„) : (infiniteWire ๐“• I).scalarPotential ๐“•.c = 0 := ๐“•:FreeSpaceI:โ„โŠข (scalarPotential ๐“•.c) (infiniteWire ๐“• I) = 0 ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข ((scalarPotential ๐“•.c) (infiniteWire ๐“• I)) ฮท = 0 ฮท All goals completed! ๐Ÿ™

B.2. The vector potential

The vector potential of an infinite wire carrying a current I along the x-axis is given by $$\vec A(t, x, y, z) = \left(-\frac{ฮผ_0 I}{2\pi} \log (\sqrt{y^2 + z^2}), 0, 0\right).$$

The time derivative $\partial_t \vec A$ is zero, as expected for a steady current, and the spatial derivative $\partial_x \vec A$ is also zero, as expected for a system with translational symmetry along the x-axis.

lemma infiniteWire_vectorPotential (๐“• : FreeSpace) (I : โ„) : (infiniteWire ๐“• I).vectorPotential ๐“•.c = (constantTime <| constantSliceDist 0 ((- I * ๐“•.ฮผโ‚€ / (2 * Real.pi)) โ€ข distOfFunction (fun (x : Space 2) => Real.log โ€–xโ€– โ€ข EuclideanSpace.single 0 (1 : โ„)) (๐“•:FreeSpaceI:โ„โŠข IsDistBounded fun x => Real.log โ€–xโ€– โ€ข EuclideanSpace.single 0 1 apply (IsDistBounded.log_norm (๐“•:FreeSpaceI:โ„โŠข 2 โ‰ค 2 All goals completed! ๐Ÿ™)).smul_const))) := ๐“•:FreeSpaceI:โ„โŠข (vectorPotential ๐“•.c) (infiniteWire ๐“• I) = constantTime ((constantSliceDist 0) ((-I * ๐“•.ฮผโ‚€ / (2 * Real.pi)) โ€ข distOfFunction (fun x => Real.log โ€–xโ€– โ€ข EuclideanSpace.single 0 1) โ‹ฏ)) ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)i:Fin 3โŠข (((vectorPotential ๐“•.c) (infiniteWire ๐“• I)) ฮท).ofLp i = ((constantTime ((constantSliceDist 0) ((-I * ๐“•.ฮผโ‚€ / (2 * Real.pi)) โ€ข distOfFunction (fun x => Real.log โ€–xโ€– โ€ข EuclideanSpace.single 0 1) โ‹ฏ))) ฮท).ofLp i All goals completed! ๐Ÿ™lemma infiniteWire_vectorPotential_fst (๐“• : FreeSpace) (I : โ„)(ฮท : ๐“ข(Time ร— Space 3, โ„)) : (infiniteWire ๐“• I).vectorPotential ๐“•.c ฮท 0 = (constantTime <| constantSliceDist 0 <| (- I * ๐“•.ฮผโ‚€ / (2 * Real.pi)) โ€ข distOfFunction (fun (x : Space 2) => Real.log โ€–xโ€–) (IsDistBounded.log_norm)) ฮท := ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข (((vectorPotential ๐“•.c) (infiniteWire ๐“• I)) ฮท).ofLp 0 = (constantTime ((constantSliceDist 0) ((-I * ๐“•.ฮผโ‚€ / (2 * Real.pi)) โ€ข distOfFunction (fun x => Real.log โ€–xโ€–) โ‹ฏ))) ฮท All goals completed! ๐Ÿ™@[simp] lemma infiniteWire_vectorPotential_snd (๐“• : FreeSpace) (I : โ„) : (infiniteWire ๐“• I).vectorPotential ๐“•.c ฮท 1 = 0 := ฮท:๐“ข(Time ร— Space, โ„)๐“•:FreeSpaceI:โ„โŠข (((vectorPotential ๐“•.c) (infiniteWire ๐“• I)) ฮท).ofLp 1 = 0 All goals completed! ๐Ÿ™@[simp] lemma infiniteWire_vectorPotential_thrd (๐“• : FreeSpace) (I : โ„) : (infiniteWire ๐“• I).vectorPotential ๐“•.c ฮท 2 = 0 := ฮท:๐“ข(Time ร— Space, โ„)๐“•:FreeSpaceI:โ„โŠข (((vectorPotential ๐“•.c) (infiniteWire ๐“• I)) ฮท).ofLp 2 = 0 All goals completed! ๐Ÿ™All goals completed! ๐Ÿ™@[simp] lemma infiniteWire_vectorPotential_distSpaceDeriv_0 (๐“• : FreeSpace) (I : โ„) : distSpaceDeriv 0 ((infiniteWire ๐“• I).vectorPotential ๐“•.c) = 0 := ๐“•:FreeSpaceI:โ„โŠข (distSpaceDeriv 0) ((vectorPotential ๐“•.c) (infiniteWire ๐“• I)) = 0 ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข ((distSpaceDeriv 0) ((vectorPotential ๐“•.c) (infiniteWire ๐“• I))) ฮท = 0 ฮท All goals completed! ๐Ÿ™

C. The electric field

The electric field of an infinite wire carrying a current I along the x-axis is zero: $$\vec E(t, x, y, z) = 0.$$

@[simp] lemma infiniteWire_electricField (๐“• : FreeSpace) (I : โ„) : (infiniteWire ๐“• I).electricField ๐“•.c = 0 := ๐“•:FreeSpaceI:โ„โŠข (electricField ๐“•.c) (infiniteWire ๐“• I) = 0 ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)โŠข ((electricField ๐“•.c) (infiniteWire ๐“• I)) ฮท = 0 ฮท ๐“•:FreeSpaceI:โ„ฮท:๐“ข(Time ร— Space, โ„)i:Fin 3โŠข (((electricField ๐“•.c) (infiniteWire ๐“• I)) ฮท).ofLp i = (0 ฮท).ofLp i All goals completed! ๐Ÿ™

D. Maxwell's equations

๐“•:FreeSpaceI:โ„ฮต:๐“ข(Time ร— Space, โ„)โŠข (((distSpaceDeriv 2) ((distSpaceDeriv 0) ((vectorPotential ๐“•.c) (infiniteWire ๐“• I)))) ฮต).ofLp 0 + (((distSpaceDeriv 1) ((distSpaceDeriv 2) ((vectorPotential ๐“•.c) (infiniteWire ๐“• I)))) ฮต).ofLp 1 - (((distSpaceDeriv 1) ((distSpaceDeriv 1) ((vectorPotential ๐“•.c) (infiniteWire ๐“• I)))) ฮต).ofLp 2 = 0 All goals completed! ๐Ÿ™