pub struct SimpleHarmonicOscillator {
pub amplitude: f64,
pub angular_frequency: f64,
pub phase: f64,
}Expand description
A simple scalar harmonic oscillator state.
Fields§
§amplitude: f64§angular_frequency: f64§phase: f64Implementations§
Source§impl SimpleHarmonicOscillator
impl SimpleHarmonicOscillator
Sourcepub fn new(
amplitude: f64,
angular_frequency: f64,
phase: f64,
) -> Option<SimpleHarmonicOscillator>
pub fn new( amplitude: f64, angular_frequency: f64, phase: f64, ) -> Option<SimpleHarmonicOscillator>
Creates a simple harmonic oscillator from amplitude, angular frequency, and phase.
Sourcepub fn displacement(&self, time: f64) -> Option<f64>
pub fn displacement(&self, time: f64) -> Option<f64>
Computes displacement at time.
§Examples
use use_oscillation::SimpleHarmonicOscillator;
let oscillator = SimpleHarmonicOscillator::new(2.0, 1.0, 0.0).unwrap();
assert!((oscillator.displacement(0.0).unwrap() - 2.0).abs() < 1.0e-12);Sourcepub fn acceleration(&self, time: f64) -> Option<f64>
pub fn acceleration(&self, time: f64) -> Option<f64>
Computes acceleration at time.
Sourcepub fn max_acceleration(&self) -> Option<f64>
pub fn max_acceleration(&self) -> Option<f64>
Computes maximum acceleration.
Trait Implementations§
Source§impl Clone for SimpleHarmonicOscillator
impl Clone for SimpleHarmonicOscillator
Source§fn clone(&self) -> SimpleHarmonicOscillator
fn clone(&self) -> SimpleHarmonicOscillator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SimpleHarmonicOscillator
impl Debug for SimpleHarmonicOscillator
Source§impl PartialEq for SimpleHarmonicOscillator
impl PartialEq for SimpleHarmonicOscillator
Source§fn eq(&self, other: &SimpleHarmonicOscillator) -> bool
fn eq(&self, other: &SimpleHarmonicOscillator) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for SimpleHarmonicOscillator
impl StructuralPartialEq for SimpleHarmonicOscillator
Auto Trait Implementations§
impl Freeze for SimpleHarmonicOscillator
impl RefUnwindSafe for SimpleHarmonicOscillator
impl Send for SimpleHarmonicOscillator
impl Sync for SimpleHarmonicOscillator
impl Unpin for SimpleHarmonicOscillator
impl UnsafeUnpin for SimpleHarmonicOscillator
impl UnwindSafe for SimpleHarmonicOscillator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more