Legendre

Trait Legendre 

Source
pub trait Legendre{
    // Required method
    fn nondimensional_spherical_distribution(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError>;

    // Provided methods
    fn nondimensional_helmholtz_free_energy(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_helmholtz_free_energy_per_link(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_force(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_stiffness(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_radial_distribution(
        &self,
        nondimensional_extension: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_gibbs_free_energy(
        &self,
        nondimensional_force: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_gibbs_free_energy_per_link(
        &self,
        nondimensional_force: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_extension(
        &self,
        nondimensional_force: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
    fn nondimensional_compliance(
        &self,
        nondimensional_force: Scalar,
    ) -> Result<Scalar, SingleChainError> { ... }
}

Required Methods§

Source

fn nondimensional_spherical_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>

\mathcal{P}(\gamma) \propto e^{-\beta\psi(\gamma)}

Provided Methods§

Source

fn nondimensional_helmholtz_free_energy( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>

\beta\psi(\gamma) = \beta\varphi(\eta) + N_b\eta(\gamma)\gamma
\vartheta(\gamma) = \varrho(\eta) + \eta(\gamma)\gamma
Source

fn nondimensional_force( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>

\eta(\gamma) = \gamma^{-1}(\gamma)
Source

fn nondimensional_stiffness( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>

k(\gamma) = \left(\frac{\partial\gamma}{\partial\eta}\right)^{-1}
Source

fn nondimensional_radial_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>

\mathcal{g}(\gamma) = 4\pi\gamma^2\mathcal{P}(\gamma)
Source

fn nondimensional_gibbs_free_energy( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>

\beta\varphi(\eta) = \beta\psi(\gamma) - N_b\eta\gamma(\eta)
\varrho(\eta) = \vartheta(\gamma) - \eta\gamma(\eta)
Source

fn nondimensional_extension( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>

\gamma(\eta) = \eta^{-1}(\eta)
Source

fn nondimensional_compliance( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>

c(\eta) = \left(\frac{\partial\eta}{\partial\gamma}\right)^{-1}

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§