pub struct MergerIC {
pub body1: Box<dyn IsolatedEquilibrium>,
pub mass1: f64,
pub body2: Box<dyn IsolatedEquilibrium>,
pub mass2: f64,
pub separation: [f64; 3],
pub relative_velocity: [f64; 3],
pub impact_parameter: f64,
}Expand description
f(x,v,t₀) = f₁(x−x₁, v−v₁) + f₂(x−x₂, v−v₂). Exact for collisionless systems before interaction begins.
Fields§
§body1: Box<dyn IsolatedEquilibrium>§mass1: f64§body2: Box<dyn IsolatedEquilibrium>§mass2: f64§separation: [f64; 3]§relative_velocity: [f64; 3]§impact_parameter: f64Implementations§
Source§impl MergerIC
impl MergerIC
pub fn new( body1: Box<dyn IsolatedEquilibrium>, mass1: f64, body2: Box<dyn IsolatedEquilibrium>, mass2: f64, separation: [f64; 3], relative_velocity: [f64; 3], impact_parameter: f64, ) -> Self
Sourcepub fn sample_on_grid(&self, domain: &Domain) -> PhaseSpaceSnapshot
pub fn sample_on_grid(&self, domain: &Domain) -> PhaseSpaceSnapshot
Sample both components on the grid and sum. Body 1 is centred at (-sep/2, 0, 0) with velocity (-v_rel/2, 0, 0). Body 2 is centred at (+sep/2, 0, 0) with velocity (+v_rel/2, 0, 0).
Auto Trait Implementations§
impl Freeze for MergerIC
impl !RefUnwindSafe for MergerIC
impl !Send for MergerIC
impl !Sync for MergerIC
impl Unpin for MergerIC
impl UnsafeUnpin for MergerIC
impl !UnwindSafe for MergerIC
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> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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