pub struct HamiltonianSystem<F: IntegrateFloat> { /* private fields */ }Expand description
A general non-separable Hamiltonian system
This represents Hamiltonian systems where the equations of motion are specified directly without assuming a separable structure.
Implementations§
Source§impl<F: IntegrateFloat> HamiltonianSystem<F>
impl<F: IntegrateFloat> HamiltonianSystem<F>
Trait Implementations§
Source§impl<F: IntegrateFloat> HamiltonianFn<F> for HamiltonianSystem<F>
impl<F: IntegrateFloat> HamiltonianFn<F> for HamiltonianSystem<F>
Source§fn dq_dt(
&self,
t: F,
q: &Array1<F>,
p: &Array1<F>,
) -> IntegrateResult<Array1<F>>
fn dq_dt( &self, t: F, q: &Array1<F>, p: &Array1<F>, ) -> IntegrateResult<Array1<F>>
Computes the time derivative of position coordinates: dq/dt = ∂H/∂p Read more
Source§fn dp_dt(
&self,
t: F,
q: &Array1<F>,
p: &Array1<F>,
) -> IntegrateResult<Array1<F>>
fn dp_dt( &self, t: F, q: &Array1<F>, p: &Array1<F>, ) -> IntegrateResult<Array1<F>>
Computes the time derivative of momentum coordinates: dp/dt = -∂H/∂q Read more
Source§fn hamiltonian(
&self,
) -> Option<Box<dyn Fn(F, &Array1<F>, &Array1<F>) -> IntegrateResult<F> + '_>>
fn hamiltonian( &self, ) -> Option<Box<dyn Fn(F, &Array1<F>, &Array1<F>) -> IntegrateResult<F> + '_>>
Optional: Computes the Hamiltonian function H(q, p) Read more
Auto Trait Implementations§
impl<F> Freeze for HamiltonianSystem<F>
impl<F> !RefUnwindSafe for HamiltonianSystem<F>
impl<F> Send for HamiltonianSystem<F>
impl<F> Sync for HamiltonianSystem<F>
impl<F> Unpin for HamiltonianSystem<F>
impl<F> !UnwindSafe for HamiltonianSystem<F>
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