PhysLean Documentation

PhysLean.ClassicalMechanics.WaveEquation.HarmonicWave

Harmonic Wave #

Time-harmonic waves.

Note TODO EGU3E may require considerable effort to be made rigorous and may heavily depend on the status of Fourier theory in Mathlib.

@[reducible, inline]

The wavevector which indicates a direction and has magnitude 2π/λ.

Equations
Instances For
    noncomputable def ClassicalMechanics.WaveVector.toDirection {d : } (k : WaveVector d) (h : k 0) :

    Direction of a wavevector.

    Equations
    Instances For
      noncomputable def ClassicalMechanics.harmonicWave {d : } (a g : Space d) (ω : WaveVector d) (k : WaveVector d) :
      TimeSpace d

      General form of time-harmonic wave in terms of angular frequency ω and wave vector k.

      Equations
      Instances For
        noncomputable def ClassicalMechanics.transverseHarmonicPlaneWave {c : } (k : WaveVector) (f₀x f₀y ω δx δy : ) (hk : k = EuclideanSpace.single 2 (ω / c)) :

        Transverse monochromatic time-harmonic plane wave where the direction of propagation is taken to be EuclideanSpace.single 2 1. f₀x and f₀y are the respective amplitudes, ω is the angular frequency, δx and δy are the respective phases for fx and fy.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem WithLp.equiv_symm_eq_zero_iff {p : ENNReal} {V : Type u_1} [AddCommGroup V] {v : V} :
          (WithLp.equiv p V).symm v = 0 v = 0

          Pending #25552.

          @[simp]
          theorem WithLp.equiv_eq_zero_iff {p : ENNReal} {V : Type u_1} [AddCommGroup V] {v : WithLp p V} :
          (WithLp.equiv p V) v = 0 v = 0
          @[simp]
          theorem EuclideanSpace.single_eq_zero_iff {ι : Type u_1} {𝕜 : Type u_2} [RCLike 𝕜] [DecidableEq ι] {i : ι} {x : 𝕜} :
          single i x = 0 x = 0
          theorem ClassicalMechanics.transverseHarmonicPlaneWave_eq_planeWave {c : } {k : WaveVector} {f₀x f₀y ω δx δy : } (hc_ge_zero : 0 < c) (hω_ge_zero : 0 < ω) (hk : k = EuclideanSpace.single 2 (ω / c)) :
          transverseHarmonicPlaneWave k f₀x f₀y ω δx δy hk = planeWave (fun (p : ) => (f₀x * Real.cos (-(ω / c) * p + δx)) EuclideanSpace.single 0 1 + (f₀y * Real.cos (-(ω / c) * p + δy)) EuclideanSpace.single 1 1) c (k.toDirection )

          The transverse harmonic planewave representation is equivalent to the general planewave expression with ‖k‖ = ω/c.