Skip to main content

WindField

Trait WindField 

Source
pub trait WindField {
    // Required method
    fn wind(&self, time_s: f64, position_m: Vector3<f64>) -> Vector3<f64>;
}
Expand description

A deterministic, stateless wind field: same time and position always give the same wind, so integrator substeps, snapshots and seeded reproduction are exact.

Required Methods§

Source

fn wind(&self, time_s: f64, position_m: Vector3<f64>) -> Vector3<f64>

World-frame air velocity (m/s) at a time and position.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<F: WindField + ?Sized> WindField for &F

Source§

fn wind(&self, time_s: f64, position_m: Vector3<f64>) -> Vector3<f64>

Source§

impl<F: WindField + ?Sized> WindField for Box<F>

Source§

fn wind(&self, time_s: f64, position_m: Vector3<f64>) -> Vector3<f64>

Implementors§

Source§

impl WindField for ConstantField

Source§

impl WindField for EkmanProfile

Source§

impl WindField for LogProfile

Source§

impl WindField for ProfileField

Source§

impl WindField for WindSock

The existing segmented wind as a field: the wind at downrange position x, exactly WindSock::vector_for_range_stateless. Time, height and cross-range position are ignored.

Source§

impl<F: WindField> WindField for HeightOffset<F>