pub struct PoincareSection {
pub normal: Vec<f64>,
pub origin: Vec<f64>,
pub intersections: Vec<Vec<f64>>,
}Expand description
Poincaré section analysis for flows or maps.
Records intersections of a trajectory with a hyperplane defined by
normal · (x − origin) = 0.
Fields§
§normal: Vec<f64>Normal vector of the section hyperplane.
origin: Vec<f64>A point on the section hyperplane (origin).
intersections: Vec<Vec<f64>>Collected intersection points.
Implementations§
Source§impl PoincareSection
impl PoincareSection
Sourcepub fn signed_distance(&self, p: &[f64]) -> f64
pub fn signed_distance(&self, p: &[f64]) -> f64
Signed distance of point p from the section.
Sourcepub fn process_trajectory(&mut self, traj: &[Vec<f64>])
pub fn process_trajectory(&mut self, traj: &[Vec<f64>])
Process a trajectory (list of states) and record all up-crossings of the section using linear interpolation.
Sourcepub fn return_map_1d(&self, idx: usize) -> Vec<(f64, f64)>
pub fn return_map_1d(&self, idx: usize) -> Vec<(f64, f64)>
Compute the return map: the sequence of successive intersection
coordinates along axis idx.
Sourcepub fn rotation_number(&self, angle_idx_x: usize, angle_idx_y: usize) -> f64
pub fn rotation_number(&self, angle_idx_x: usize, angle_idx_y: usize) -> f64
Rotation number: average angular advance between successive crossings.
Assumes the section is in a 2D projection and computes the angle of each crossing relative to the section origin.
Trait Implementations§
Source§impl Clone for PoincareSection
impl Clone for PoincareSection
Source§fn clone(&self) -> PoincareSection
fn clone(&self) -> PoincareSection
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 PoincareSection
impl RefUnwindSafe for PoincareSection
impl Send for PoincareSection
impl Sync for PoincareSection
impl Unpin for PoincareSection
impl UnsafeUnpin for PoincareSection
impl UnwindSafe for PoincareSection
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.