pub struct Morse {
pub rest_length: Scalar,
pub depth: Scalar,
pub parameter: Scalar,
}Expand description
The Morse potential.1
P.M. Morse, Physical Review 34, 57 (1929). ↩
Fields§
§rest_length: ScalarThe rest length $x_0$.
depth: ScalarThe potential depth $u_0$.
parameter: ScalarThe Morse parameter $a$.
Trait Implementations§
Source§impl Potential for Morse
impl Potential for Morse
Source§fn energy(&self, length: Quantity<Length>) -> Quantity<Energy>
fn energy(&self, length: Quantity<Length>) -> Quantity<Energy>
u(x) = u_0\left[1 - e^{-a(x - x_0)}\right]^2Source§fn force(&self, length: Quantity<Length>) -> Quantity<Force>
fn force(&self, length: Quantity<Length>) -> Quantity<Force>
f(x) = 2au_0e^{-a(x - x_0)}\left[1 - e^{-a(x - x_0)}\right]Source§fn forces_at_energy(&self, energy: Quantity<Energy>) -> [Quantity<Force>; 2]
fn forces_at_energy(&self, energy: Quantity<Energy>) -> [Quantity<Force>; 2]
f(u) = \pm 2a u_0\sqrt{u/u_0}\left(1 \mp \sqrt{u/u_0}\right)Source§fn stiffness(&self, length: Quantity<Length>) -> Quantity<ForcePerLength>
fn stiffness(&self, length: Quantity<Length>) -> Quantity<ForcePerLength>
k(x) = 2a^2u_0e^{-a(x - x_0)}\left[2e^{-a(x - x_0)} - 1\right]Source§fn anharmonicity(&self, length: Quantity<Length>) -> Quantity<Stress>
fn anharmonicity(&self, length: Quantity<Length>) -> Quantity<Stress>
h(x) = 2a^3u_0e^{-a(x - x_0)}\left[1 - 4e^{-a(x - x_0)}\right]Source§fn extension(&self, force: Quantity<Force>) -> Quantity<Length>
fn extension(&self, force: Quantity<Force>) -> Quantity<Length>
\Delta x(f) = \frac{1}{a}\,\ln\left(\frac{2}{1 + \sqrt{1 - f/f_\mathrm{max}}}\right)Source§fn extensions_at_energy(
&self,
energy: Quantity<Energy>,
) -> [Quantity<Length>; 2]
fn extensions_at_energy( &self, energy: Quantity<Energy>, ) -> [Quantity<Length>; 2]
\Delta x(u) = \frac{1}{a}\,\ln\left(\frac{1}{1\mp\sqrt{u/u_0}}\right)Source§fn compliance(
&self,
force: Quantity<Force>,
) -> Quantity<ReciprocalForcePerLength>
fn compliance( &self, force: Quantity<Force>, ) -> Quantity<ReciprocalForcePerLength>
c(f) = \frac{1}{a^2u_0}\,\frac{\left(1-f/f_\mathrm{max}\right)^{-1/2}}{1+\sqrt{1-f/f_\mathrm{max}}}Source§fn peak_force(&self) -> Quantity<Force>
fn peak_force(&self) -> Quantity<Force>
f(x_\mathrm{peak}) = \frac{au_0}{2}Source§fn rest_length(&self) -> Quantity<Length>
fn rest_length(&self) -> Quantity<Length>
\text{arg min }u(x) = x_0Source§fn nondimensional_energy(
&self,
nondimensional_length: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_energy( &self, nondimensional_length: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_energy_at_nondimensional_force(
&self,
nondimensional_force: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_energy_at_nondimensional_force( &self, nondimensional_force: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_force(
&self,
nondimensional_length: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_force( &self, nondimensional_length: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_forces_at_nondimensional_energy(
&self,
nondimensional_energy: Scalar,
temperature: Quantity<Temperature>,
) -> [Scalar; 2]
fn nondimensional_forces_at_nondimensional_energy( &self, nondimensional_energy: Scalar, temperature: Quantity<Temperature>, ) -> [Scalar; 2]
Source§fn nondimensional_stiffness(
&self,
nondimensional_length: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_stiffness( &self, nondimensional_length: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_anharmonicity(
&self,
nondimensional_length: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_anharmonicity( &self, nondimensional_length: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_legendre(
&self,
nondimensional_force: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_legendre( &self, nondimensional_force: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_extension(
&self,
nondimensional_force: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_extension( &self, nondimensional_force: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_length(
&self,
nondimensional_force: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_length( &self, nondimensional_force: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Source§fn nondimensional_extensions_at_nondimensional_energy(
&self,
nondimensional_energy: Scalar,
temperature: Quantity<Temperature>,
) -> [Scalar; 2]
fn nondimensional_extensions_at_nondimensional_energy( &self, nondimensional_energy: Scalar, temperature: Quantity<Temperature>, ) -> [Scalar; 2]
Source§fn nondimensional_lengths_at_nondimensional_energy(
&self,
nondimensional_energy: Scalar,
temperature: Quantity<Temperature>,
) -> [Scalar; 2]
fn nondimensional_lengths_at_nondimensional_energy( &self, nondimensional_energy: Scalar, temperature: Quantity<Temperature>, ) -> [Scalar; 2]
Source§fn nondimensional_compliance(
&self,
nondimensional_force: Scalar,
temperature: Quantity<Temperature>,
) -> Scalar
fn nondimensional_compliance( &self, nondimensional_force: Scalar, temperature: Quantity<Temperature>, ) -> Scalar
Auto Trait Implementations§
impl Freeze for Morse
impl RefUnwindSafe for Morse
impl Send for Morse
impl Sync for Morse
impl Unpin for Morse
impl UnsafeUnpin for Morse
impl UnwindSafe for Morse
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