pub trait MaximumAllowableInteractionRange {
// Required method
fn maximum_allowable_interaction_range(&self) -> f64;
}Expand description
Compute the largest value of the maximum interaction range.
In hoomd-rs, sites interact only with the minimum images of other sites.
In periodic boundary conditions, there is a maximum allowable interaction
range beyond which sites would start interacting with multiple images. The
MaximumAllowableInteractionRange trait computes that distance for a given
shape.
Periodic uses MaximumAllowableInteractionRange to trigger an error when
the caller requires an interaction range larger than is possible.
Required Methods§
Sourcefn maximum_allowable_interaction_range(&self) -> f64
fn maximum_allowable_interaction_range(&self) -> f64
The largest value that the maximum interaction range can take.
Implementations on Foreign Types§
Source§impl MaximumAllowableInteractionRange for EightEight
impl MaximumAllowableInteractionRange for EightEight
Source§fn maximum_allowable_interaction_range(&self) -> f64
fn maximum_allowable_interaction_range(&self) -> f64
The largest value that the maximum interaction range can take.
This bound is determined by the edge length of the octagon.
Source§impl MaximumAllowableInteractionRange for TwelveTwelve
impl MaximumAllowableInteractionRange for TwelveTwelve
Source§fn maximum_allowable_interaction_range(&self) -> f64
fn maximum_allowable_interaction_range(&self) -> f64
The largest value that the maximum interaction range can take.
This bound is determined by the edge length of the dodecagon.
Source§impl<const N: usize> MaximumAllowableInteractionRange for Hypercuboid<N>
impl<const N: usize> MaximumAllowableInteractionRange for Hypercuboid<N>
Source§fn maximum_allowable_interaction_range(&self) -> f64
fn maximum_allowable_interaction_range(&self) -> f64
The largest value that the maximum interaction range can take.
For a cuboid, the maximum is
\frac{L_\mathrm{min}}{2}where $L_\mathrm{min}$ is the smallest edge length.
§Example
use hoomd_geometry::shape::Hypercuboid;
use hoomd_microstate::boundary::MaximumAllowableInteractionRange;
let rectangular_prism = Hypercuboid {
edge_lengths: [2.0.try_into()?, 3.0.try_into()?, 9.0.try_into()?],
};
assert_eq!(rectangular_prism.maximum_allowable_interaction_range(), 1.0);