pub struct FreelyJointedChain {
pub link_length: Scalar,
pub number_of_links: u8,
pub ensemble: Ensemble,
}Expand description
The freely-jointed chain model.
Fields§
§link_length: ScalarThe link length $\ell_b$.
number_of_links: u8The number of links $N_b$.
ensemble: EnsembleThe thermodynamic ensemble.
Trait Implementations§
Source§impl Clone for FreelyJointedChain
impl Clone for FreelyJointedChain
Source§fn clone(&self) -> FreelyJointedChain
fn clone(&self) -> FreelyJointedChain
Returns a duplicate of the value. Read more
1.0.0 · 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 FreelyJointedChain
impl Debug for FreelyJointedChain
Source§impl Inextensible for FreelyJointedChain
impl Inextensible for FreelyJointedChain
Source§fn maximum_nondimensional_extension(&self) -> Scalar
fn maximum_nondimensional_extension(&self) -> Scalar
\lim_{\eta\to\infty}\gamma(\eta) = 1fn nondimensional_extension_check( &self, nondimensional_extension: Scalar, ) -> Result<(), SingleChainError>
Source§impl Isometric for FreelyJointedChain
impl Isometric for FreelyJointedChain
Source§fn nondimensional_force(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_force( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
\eta(\gamma) = \frac{1}{N_b\gamma} + \left(\frac{1}{2} - \frac{1}{N_b}\right)\frac{\sum_{s=0}^{s_\mathrm{max}}(-1)^s\binom{N_b}{s}\left(m - \frac{s}{N_b}\right)^{N_b - 3}}{\sum_{s=0}^{s_\mathrm{max}}(-1)^s\binom{N_b}{s}\left(m - \frac{s}{N_b}\right)^{N_b - 2}}Source§fn nondimensional_stiffness(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_stiffness( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
\kappa(\gamma) = \frac{\partial\eta}{\partial\gamma}Source§fn nondimensional_spherical_distribution(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_spherical_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
\mathcal{P}(\gamma) = \frac{1}{8\pi\gamma}\frac{N_b^{N_b}}{(N_b - 2)!}\sum_{s=0}^{s_\mathrm{max}}(-1)^s\binom{N_b}{s}\left(m - \frac{s}{N_b}\right)^{N_b - 2}Source§fn nondimensional_helmholtz_free_energy(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_helmholtz_free_energy( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_helmholtz_free_energy_per_link(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_helmholtz_free_energy_per_link( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_radial_distribution(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_radial_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§impl Isotensional for FreelyJointedChain
impl Isotensional for FreelyJointedChain
Source§fn nondimensional_gibbs_free_energy_per_link(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_gibbs_free_energy_per_link( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
\varrho(\eta) = N_b\ln\left[\frac{\eta}{\sinh(\eta)}\right]Source§fn nondimensional_extension(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_extension( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
\gamma(\eta) = \mathcal{L}(\eta)Source§fn nondimensional_compliance(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_compliance( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
\zeta(\eta) = \mathcal{L}'(\eta)Source§fn nondimensional_gibbs_free_energy(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_gibbs_free_energy( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
Source§impl Legendre for FreelyJointedChain
impl Legendre for FreelyJointedChain
Source§fn nondimensional_force(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_force( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
\eta(\gamma) = \mathcal{L}^{-1}(\gamma)Source§fn nondimensional_spherical_distribution(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_spherical_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
\mathcal{P}(\gamma) \propto \left\{\frac{\sinh[\eta(\gamma)]}{\eta(\gamma)\exp[\eta(\gamma)\gamma]}\right\}^{N_b}Source§fn nondimensional_helmholtz_free_energy(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_helmholtz_free_energy( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_helmholtz_free_energy_per_link(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_helmholtz_free_energy_per_link( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_stiffness(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_stiffness( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_radial_distribution(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_radial_distribution( &self, nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_gibbs_free_energy(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_gibbs_free_energy( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_gibbs_free_energy_per_link(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_gibbs_free_energy_per_link( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_extension(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_extension( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
Source§fn nondimensional_compliance(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_compliance( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
Source§impl MonteCarlo for FreelyJointedChain
impl MonteCarlo for FreelyJointedChain
fn random_configuration(&self) -> Configuration
Source§impl SingleChain for FreelyJointedChain
impl SingleChain for FreelyJointedChain
fn link_length(&self) -> Scalar
fn number_of_links(&self) -> u8
Source§impl Thermodynamics for FreelyJointedChain
impl Thermodynamics for FreelyJointedChain
fn ensemble(&self) -> Ensemble
fn temperature(&self) -> Scalar
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_spherical_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>
Auto Trait Implementations§
impl Freeze for FreelyJointedChain
impl RefUnwindSafe for FreelyJointedChain
impl Send for FreelyJointedChain
impl Sync for FreelyJointedChain
impl Unpin for FreelyJointedChain
impl UnwindSafe for FreelyJointedChain
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