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_nondimensional_link_vectors( &self, nondimensional_force: Scalar, ) -> Configuration
fn random_configuration(&self, nondimensional_force: Scalar) -> 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 UnsafeUnpin 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