Trait particular::particle::Accelerations
source · pub trait Accelerations: Iterator + Sized{
// Provided method
fn accelerations<C>(self, cm: &mut C) -> IntoIter<ParticleArray<Self::Item>>
where C: ReorderedCompute<Self::Item>,
ParticleScalar<Self::Item>: Float,
ParticleArray<Self::Item>: ScalarArray { ... }
}
Expand description
Trait to compute accelerations from an iterator of Particle
objects.
Provided Methods§
sourcefn accelerations<C>(self, cm: &mut C) -> IntoIter<ParticleArray<Self::Item>>where
C: ReorderedCompute<Self::Item>,
ParticleScalar<Self::Item>: Float,
ParticleArray<Self::Item>: ScalarArray,
fn accelerations<C>(self, cm: &mut C) -> IntoIter<ParticleArray<Self::Item>>where
C: ReorderedCompute<Self::Item>,
ParticleScalar<Self::Item>: Float,
ParticleArray<Self::Item>: ScalarArray,
Returns the computed acceleration of each Particle
using the provided ComputeMethod
.
§Example
let mut particles = vec![([0.0, 1.0], 1.0), ([0.0, 0.0], 1.0)];
let mut accelerations = particles.iter().accelerations(&mut sequential::BruteForceScalar);
assert_eq!(accelerations.next().unwrap(), [0.0, -1.0]);
assert_eq!(accelerations.next().unwrap(), [0.0, 1.0]);
Object Safety§
This trait is not object safe.