Waves¶
This module has all the classes and functions related to waves in optics.
Contains
TWave
- class sympy.physics.optics.waves.TWave(*args)[source]¶
This is a simple transverse sine wave travelling in a one-dimensional space. Basic properties are required at the time of creation of the object, but they can be changed later with respective methods provided.
It is represented as \(A \times cos(k*x - \omega \times t + \phi )\), where \(A\) is the amplitude, \(\omega\) is the angular velocity, \(k\) is the wavenumber (spatial frequency), \(x\) is a spatial variable to represent the position on the dimension on which the wave propagates, and \(\phi\) is the phase angle of the wave.
- Raises:
ValueError : When neither frequency nor time period is provided
or they are not consistent.
TypeError : When anything other than TWave objects is added.
Arguments
- amplitudeSympifyable
Amplitude of the wave.
- frequencySympifyable
Frequency of the wave.
- phaseSympifyable
Phase angle of the wave.
- time_periodSympifyable
Time period of the wave.
- nSympifyable
Refractive index of the medium.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A1, phi1, A2, phi2, f = symbols('A1, phi1, A2, phi2, f') >>> w1 = TWave(A1, f, phi1) >>> w2 = TWave(A2, f, phi2) >>> w3 = w1 + w2 # Superposition of two waves >>> w3 TWave(sqrt(A1**2 + 2*A1*A2*cos(phi1 - phi2) + A2**2), f, atan2(A1*cos(phi1) + A2*cos(phi2), A1*sin(phi1) + A2*sin(phi2))) >>> w3.amplitude sqrt(A1**2 + 2*A1*A2*cos(phi1 - phi2) + A2**2) >>> w3.phase atan2(A1*cos(phi1) + A2*cos(phi2), A1*sin(phi1) + A2*sin(phi2)) >>> w3.speed 299792458*meter/(second*n) >>> w3.angular_velocity 2*pi*f
- property amplitude¶
Returns the amplitude of the wave.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.amplitude A
- property angular_velocity¶
Returns the angular velocity of the wave, in radians per second.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.angular_velocity 2*pi*f
- property frequency¶
Returns the frequency of the wave, in cycles per second.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.frequency f
- property phase¶
Returns the phase angle of the wave, in radians.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.phase phi
- property speed¶
Returns the propagation speed of the wave, in meters per second. It is dependent on the propagation medium.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.speed 299792458*meter/(second*n)
- property time_period¶
Returns the temporal period of the wave, in seconds per cycle.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.time_period 1/f
- property wavelength¶
Returns the wavelength (spatial period) of the wave, in meters per cycle. It depends on the medium of the wave.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.wavelength 299792458*meter/(second*f*n)
- property wavenumber¶
Returns the wavenumber of the wave, in radians per meter.
Examples
>>> from sympy import symbols >>> from sympy.physics.optics import TWave >>> A, phi, f = symbols('A, phi, f') >>> w = TWave(A, f, phi) >>> w.wavenumber pi*second*f*n/(149896229*meter)