pub struct BifurcationAnalyzer {
pub dimension: usize,
pub parameter_range: (f64, f64),
pub parameter_samples: usize,
pub fixed_point_tolerance: f64,
pub max_iterations: usize,
}Expand description
Bifurcation analyzer for parametric dynamical systems
Fields§
§dimension: usizeSystem dimension
parameter_range: (f64, f64)Parameter range to analyze
parameter_samples: usizeNumber of parameter values to sample
fixed_point_tolerance: f64Tolerance for detecting fixed points
max_iterations: usizeMaximum number of iterations for fixed point finding
Implementations§
Source§impl BifurcationAnalyzer
impl BifurcationAnalyzer
Sourcepub fn new(
dimension: usize,
parameterrange: (f64, f64),
parameter_samples: usize,
) -> Self
pub fn new( dimension: usize, parameterrange: (f64, f64), parameter_samples: usize, ) -> Self
Create a new bifurcation analyzer
Sourcepub fn continuation_analysis<F>(
&self,
system: F,
initial_guess: &Array1<f64>,
) -> IntegrateResult<Vec<BifurcationPoint>>
pub fn continuation_analysis<F>( &self, system: F, initial_guess: &Array1<f64>, ) -> IntegrateResult<Vec<BifurcationPoint>>
Perform continuation analysis to find bifurcation points
Sourcepub fn two_parameter_analysis<F>(
&self,
system: F,
parameter_range_1: (f64, f64),
parameter_range_2: (f64, f64),
samples_1: usize,
samples_2: usize,
initial_guess: &Array1<f64>,
) -> IntegrateResult<TwoParameterBifurcationResult>
pub fn two_parameter_analysis<F>( &self, system: F, parameter_range_1: (f64, f64), parameter_range_2: (f64, f64), samples_1: usize, samples_2: usize, initial_guess: &Array1<f64>, ) -> IntegrateResult<TwoParameterBifurcationResult>
Advanced two-parameter bifurcation analysis
Sourcepub fn pseudo_arclength_continuation<F>(
&self,
system: F,
initial_point: &Array1<f64>,
initial_parameter: f64,
direction: &Array1<f64>,
step_size: f64,
max_steps: usize,
) -> IntegrateResult<ContinuationResult>
pub fn pseudo_arclength_continuation<F>( &self, system: F, initial_point: &Array1<f64>, initial_parameter: f64, direction: &Array1<f64>, step_size: f64, max_steps: usize, ) -> IntegrateResult<ContinuationResult>
Pseudo-arclength continuation for tracing bifurcation curves
Sourcepub fn sensitivity_analysis<F>(
&self,
system: F,
nominal_parameters: &HashMap<String, f64>,
parameter_perturbations: &HashMap<String, f64>,
nominal_state: &Array1<f64>,
) -> IntegrateResult<SensitivityAnalysisResult>
pub fn sensitivity_analysis<F>( &self, system: F, nominal_parameters: &HashMap<String, f64>, parameter_perturbations: &HashMap<String, f64>, nominal_state: &Array1<f64>, ) -> IntegrateResult<SensitivityAnalysisResult>
Multi-parameter sensitivity analysis
Sourcepub fn normal_form_analysis<F>(
&self,
system: F,
bifurcation_point: &BifurcationPoint,
) -> IntegrateResult<NormalFormResult>
pub fn normal_form_analysis<F>( &self, system: F, bifurcation_point: &BifurcationPoint, ) -> IntegrateResult<NormalFormResult>
Normal form analysis near bifurcation points
Auto Trait Implementations§
impl Freeze for BifurcationAnalyzer
impl RefUnwindSafe for BifurcationAnalyzer
impl Send for BifurcationAnalyzer
impl Sync for BifurcationAnalyzer
impl Unpin for BifurcationAnalyzer
impl UnwindSafe for BifurcationAnalyzer
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more