pub struct SpringOscillator {
pub spring_constant: f64,
pub mass: f64,
}Expand description
A spring-mass oscillator state.
Fields§
§spring_constant: f64§mass: f64Implementations§
Source§impl SpringOscillator
impl SpringOscillator
Sourcepub fn new(spring_constant: f64, mass: f64) -> Option<SpringOscillator>
pub fn new(spring_constant: f64, mass: f64) -> Option<SpringOscillator>
Creates a spring oscillator from spring constant and mass.
Sourcepub fn angular_frequency(&self) -> Option<f64>
pub fn angular_frequency(&self) -> Option<f64>
Computes angular frequency.
Sourcepub fn period(&self) -> Option<f64>
pub fn period(&self) -> Option<f64>
Computes period.
§Examples
use core::f64::consts::PI;
use use_oscillation::SpringOscillator;
let oscillator = SpringOscillator::new(8.0, 2.0).unwrap();
assert!((oscillator.period().unwrap() - PI).abs() < 1.0e-12);Sourcepub fn total_energy(&self, amplitude: f64) -> Option<f64>
pub fn total_energy(&self, amplitude: f64) -> Option<f64>
Computes total oscillator energy for a given amplitude.
Trait Implementations§
Source§impl Clone for SpringOscillator
impl Clone for SpringOscillator
Source§fn clone(&self) -> SpringOscillator
fn clone(&self) -> SpringOscillator
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 SpringOscillator
impl Debug for SpringOscillator
Source§impl PartialEq for SpringOscillator
impl PartialEq for SpringOscillator
Source§fn eq(&self, other: &SpringOscillator) -> bool
fn eq(&self, other: &SpringOscillator) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for SpringOscillator
impl StructuralPartialEq for SpringOscillator
Auto Trait Implementations§
impl Freeze for SpringOscillator
impl RefUnwindSafe for SpringOscillator
impl Send for SpringOscillator
impl Sync for SpringOscillator
impl Unpin for SpringOscillator
impl UnsafeUnpin for SpringOscillator
impl UnwindSafe for SpringOscillator
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