Potential

Trait Potential 

Source
pub trait Potential
where Self: Clone + Debug,
{
Show 17 methods // Required methods fn energy(&self, length: Scalar) -> Scalar; fn force(&self, length: Scalar) -> Scalar; fn stiffness(&self, length: Scalar) -> Scalar; fn anharmonicity(&self, length: Scalar) -> Scalar; fn extension(&self, force: Scalar) -> Scalar; fn compliance(&self, force: Scalar) -> Scalar; fn peak(&self) -> Scalar; fn peak_force(&self) -> Scalar; fn rest_length(&self) -> Scalar; // Provided methods fn nondimensional_energy( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar { ... } fn nondimensional_force( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar { ... } fn nondimensional_stiffness( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar { ... } fn nondimensional_anharmonicity( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar { ... } fn legendre(&self, force: Scalar) -> Scalar { ... } fn nondimensional_legendre( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar { ... } fn nondimensional_extension( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar { ... } fn nondimensional_compliance( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar { ... }
}

Required Methods§

Source

fn energy(&self, length: Scalar) -> Scalar

u = u(x)
Source

fn force(&self, length: Scalar) -> Scalar

f(x) = \frac{\partial u}{\partial x}
Source

fn stiffness(&self, length: Scalar) -> Scalar

k(x) = \frac{\partial f}{\partial x}
Source

fn anharmonicity(&self, length: Scalar) -> Scalar

h(x) = \frac{\partial k}{\partial x}
Source

fn extension(&self, force: Scalar) -> Scalar

\Delta x(f) = -\frac{\partial v}{\partial f}
Source

fn compliance(&self, force: Scalar) -> Scalar

c(x) = \frac{\partial\Delta x}{\partial f}
Source

fn peak(&self) -> Scalar

\text{arg max }u(x) = x_\mathrm{peak}
Source

fn peak_force(&self) -> Scalar

f(x_\mathrm{peak}) = f_\mathrm{peak}
Source

fn rest_length(&self) -> Scalar

\text{arg min }u(x) = x_0

Provided Methods§

Source

fn nondimensional_energy( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar

\beta u = \beta u(\lambda)
Source

fn nondimensional_force( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar

\eta(\lambda) = \frac{\partial\beta u}{\partial \lambda}
Source

fn nondimensional_stiffness( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar

\kappa(x) = \frac{\partial\eta}{\partial\lambda}
Source

fn nondimensional_anharmonicity( &self, nondimensional_length: Scalar, temperature: Scalar, ) -> Scalar

g(x) = \frac{\partial\kappa}{\partial\lambda}
Source

fn legendre(&self, force: Scalar) -> Scalar

v(f) = u(x) - f\Delta x
Source

fn nondimensional_legendre( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar

\beta v(\eta) = \beta u(\lambda) - \eta\Delta\lambda
Source

fn nondimensional_extension( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar

\Delta \lambda(\eta) = -\frac{\partial\beta v}{\partial\eta}
Source

fn nondimensional_compliance( &self, nondimensional_force: Scalar, temperature: Scalar, ) -> Scalar

\zeta(x) = \frac{\partial\Delta\lambda}{\partial\eta}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§