#![allow(dead_code)]
use super::IsotropicTwobodyEnergy;
use crate::Cutoff;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))]
pub struct UreyBradley {
#[cfg_attr(feature = "serde", serde(rename = "req"))]
eq_distance: f64,
#[cfg_attr(feature = "serde", serde(rename = "k"))]
spring_constant: f64,
}
impl UreyBradley {
pub const fn new(eq_distance: f64, spring_constant: f64) -> Self {
Self {
eq_distance,
spring_constant,
}
}
}
impl IsotropicTwobodyEnergy for UreyBradley {
#[inline(always)]
fn isotropic_twobody_energy(&self, _distance_squared: f64) -> f64 {
todo!("Urey-Bradley potential is not yet implemented");
}
}
impl Cutoff for UreyBradley {
fn cutoff(&self) -> f64 {
f64::INFINITY
}
}