pub struct SmartStructure {
pub n_modes: usize,
pub modal_frequencies: Vec<f64>,
pub modal_damping: Vec<f64>,
pub actuator_positions: Vec<f64>,
pub sensor_positions: Vec<f64>,
pub modal_state: Vec<[f64; 2]>,
pub control_gains: Vec<f64>,
}Expand description
Distributed actuator and sensor layout for a smart structure.
Fields§
§n_modes: usizeNumber of structural modes.
modal_frequencies: Vec<f64>Modal frequencies [Hz].
modal_damping: Vec<f64>Modal damping ratios.
actuator_positions: Vec<f64>Actuator positions (normalized 0..1 along structure).
sensor_positions: Vec<f64>Sensor positions.
modal_state: Vec<[f64; 2]>Modal state: (displacement, velocity) per mode.
control_gains: Vec<f64>Control gains per mode.
Implementations§
Source§impl SmartStructure
impl SmartStructure
Sourcepub fn new(
n_modes: usize,
modal_frequencies: Vec<f64>,
modal_damping: Vec<f64>,
actuator_positions: Vec<f64>,
sensor_positions: Vec<f64>,
) -> Self
pub fn new( n_modes: usize, modal_frequencies: Vec<f64>, modal_damping: Vec<f64>, actuator_positions: Vec<f64>, sensor_positions: Vec<f64>, ) -> Self
Create a smart structure model.
Sourcepub fn modal_control(&self, sensor_readings: &[f64]) -> Vec<f64>
pub fn modal_control(&self, sensor_readings: &[f64]) -> Vec<f64>
Compute modal control forces from sensor readings.
Sourcepub fn step(&mut self, forcing: &[f64], dt: f64)
pub fn step(&mut self, forcing: &[f64], dt: f64)
Integrate modal equations of motion under distributed forcing.
Sourcepub fn displacement_at(&self, x: f64) -> f64
pub fn displacement_at(&self, x: f64) -> f64
Physical displacement at position x from modal superposition.
Sourcepub fn set_control_gains(&mut self, gains: Vec<f64>)
pub fn set_control_gains(&mut self, gains: Vec<f64>)
Set control gains to avoid spillover (zero out high modes).
Trait Implementations§
Source§impl Clone for SmartStructure
impl Clone for SmartStructure
Source§fn clone(&self) -> SmartStructure
fn clone(&self) -> SmartStructure
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 moreAuto Trait Implementations§
impl Freeze for SmartStructure
impl RefUnwindSafe for SmartStructure
impl Send for SmartStructure
impl Sync for SmartStructure
impl Unpin for SmartStructure
impl UnsafeUnpin for SmartStructure
impl UnwindSafe for SmartStructure
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