PhysLean Documentation

PhysLean.ClassicalMechanics.HarmonicOscillator.Solution

Solutions to the classical harmonic oscillator #

The solution for given initial conditions #

The initial conditions for the harmonic oscillator specified by an initial position, and an initial velocity.

  • x₀ :

    The initial position of the harmonic oscillator.

  • v₀ :

    The initial velocity of the harmonic oscillator.

Instances For
    theorem ClassicalMechanics.HarmonicOscillator.InitialConditions.ext {IC₁ IC₂ : InitialConditions} (h1 : IC₁.x₀ = IC₂.x₀) (h2 : IC₁.v₀ = IC₂.v₀) :
    IC₁ = IC₂

    The zero initial condition #

    The zero initial condition.

    Equations
    Instances For
      @[simp]

      The zero initial condition has zero starting point.

      @[simp]

      The zero initial condition has zero starting velocity.

      The solution #

      Given initial conditions, the solution to the classical harmonic oscillator.

      Equations
      Instances For

        For zero initial conditions, the solution is zero.

        Given initial conditions, the amplitude of the classical harmonic oscillator.

        Equations
        Instances For
          @[simp]

          The amplitude of the classical harmonic oscillator is non-negative.

          The amplitude is zero if and only if the inital conditions are zero.

          Given initial conditions, the phase of the classical harmonic oscillator.

          Equations
          Instances For

            For any time the position of the harmonic oscillator is less then the amplitude.

            @[simp]

            For a set of initial conditions IC the position of the solution at time 0 is IC.x₀.

            theorem ClassicalMechanics.HarmonicOscillator.sol_kineticEnergy (S : HarmonicOscillator) (IC : InitialConditions) :
            S.kineticEnergy (S.sol IC) = fun (t : ) => 1 / 2 * (S.k * IC.x₀ ^ 2 + S.m * IC.v₀ ^ 2) * Real.sin (S.ω * t + S.phase IC) ^ 2
            theorem ClassicalMechanics.HarmonicOscillator.sol_energy (S : HarmonicOscillator) (IC : InitialConditions) :
            S.energy (S.sol IC) = fun (x : Time) => 1 / 2 * (S.m * IC.v₀ ^ 2 + S.k * IC.x₀ ^ 2)
            theorem ClassicalMechanics.HarmonicOscillator.sol_lagrangian (S : HarmonicOscillator) (IC : InitialConditions) :
            S.lagrangian (S.sol IC) = fun (t : ) => -1 / 2 * (S.m * IC.v₀ ^ 2 + S.k * IC.x₀ ^ 2) * Real.cos (2 * (S.ω * t + S.phase IC))
            theorem ClassicalMechanics.HarmonicOscillator.sol_action (S : HarmonicOscillator) (IC : InitialConditions) (t1 t2 : ) :
            (t' : ) in t1..t2, S.lagrangian (S.sol IC) t' = -1 / 2 * (S.m * IC.v₀ ^ 2 + S.k * IC.x₀ ^ 2) * (S.ω⁻¹ * 2⁻¹ * (Real.sin (2 * (S.ω * t2 + S.phase IC)) - Real.sin (2 * (S.ω * t1 + S.phase IC))))

            Some semi-formal results #