pub enum RietveldSamplePhysicsModel {
IsotropicSize {
crystallite_size_nm: f64,
shape_factor: f64,
},
IsotropicMicrostrain {
rms_microstrain: f64,
},
IsotropicLorentzianMicrostrain {
microstrain: f64,
},
MarchDollase {
ratio: f64,
preferred_axis_hkl: [f64; 3],
},
Composite(Vec<Self>),
}Expand description
One closed built-in sample-physics model.
Variants§
IsotropicSize
Lorentzian Scherrer broadening.
Fields
IsotropicMicrostrain
Gaussian broadening from RMS delta d / d.
IsotropicLorentzianMicrostrain
Lorentzian broadening from a distribution of delta d / d.
MarchDollase
March–Dollase integrated-intensity correction around a fixed axis.
Fields
Composite(Vec<Self>)
Ordered multiplicative/additive composition.
Implementations§
Source§impl RietveldSamplePhysicsModel
impl RietveldSamplePhysicsModel
Sourcepub fn parameters(
&self,
) -> Result<Vec<SamplePhysicsParameter>, SamplePhysicsError>
pub fn parameters( &self, ) -> Result<Vec<SamplePhysicsParameter>, SamplePhysicsError>
Return refinable model scalars in stable composition order.
§Errors
Returns SamplePhysicsError for invalid or duplicate model records.
Sourcepub fn replace_parameters(
&self,
values: &BTreeMap<String, f64>,
) -> Result<Self, SamplePhysicsError>
pub fn replace_parameters( &self, values: &BTreeMap<String, f64>, ) -> Result<Self, SamplePhysicsError>
Clone the model with replacement refinable scalar values.
§Errors
Returns SamplePhysicsError for missing, unknown, or invalid values.
Sourcepub fn evaluate(
&self,
hkl: &[[i32; 3]],
two_theta_deg: &[f64],
cell: UnitCell,
wavelength_angstrom: f64,
) -> Result<EvaluatedSamplePhysics, SamplePhysicsError>
pub fn evaluate( &self, hkl: &[[i32; 3]], two_theta_deg: &[f64], cell: UnitCell, wavelength_angstrom: f64, ) -> Result<EvaluatedSamplePhysics, SamplePhysicsError>
Validate and evaluate the model for one reflection batch.
§Errors
Returns SamplePhysicsError for invalid model, reflection, cell, or
contribution state.
Trait Implementations§
Source§impl Clone for RietveldSamplePhysicsModel
impl Clone for RietveldSamplePhysicsModel
Source§fn clone(&self) -> RietveldSamplePhysicsModel
fn clone(&self) -> RietveldSamplePhysicsModel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RietveldSamplePhysicsModel
impl Debug for RietveldSamplePhysicsModel
impl StructuralPartialEq for RietveldSamplePhysicsModel
Auto Trait Implementations§
impl Freeze for RietveldSamplePhysicsModel
impl RefUnwindSafe for RietveldSamplePhysicsModel
impl Send for RietveldSamplePhysicsModel
impl Sync for RietveldSamplePhysicsModel
impl Unpin for RietveldSamplePhysicsModel
impl UnsafeUnpin for RietveldSamplePhysicsModel
impl UnwindSafe for RietveldSamplePhysicsModel
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.