pub struct ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,{
pub link_potential: T,
pub number_of_links: u8,
pub ensemble: Ensemble,
}Expand description
The freely-jointed chain model with an arbitrary link potential.1
M.R. Buche, M.N. Silberstein, and S.J. Grutzik, Physical Review E 106, 024502 (2022). ↩
Fields§
§link_potential: TThe link potential $u$.
number_of_links: u8The number of links $N_b$.
ensemble: EnsembleThe thermodynamic ensemble.
Trait Implementations§
Source§impl<T> Clone for ArbitraryPotentialFreelyJointedChain<T>
impl<T> Clone for ArbitraryPotentialFreelyJointedChain<T>
Source§fn clone(&self) -> ArbitraryPotentialFreelyJointedChain<T>
fn clone(&self) -> ArbitraryPotentialFreelyJointedChain<T>
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<T> Debug for ArbitraryPotentialFreelyJointedChain<T>
impl<T> Debug for ArbitraryPotentialFreelyJointedChain<T>
Source§impl<T> Isometric for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
impl<T> Isometric for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
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_force(
&self,
_nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_force( &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_spherical_distribution(
&self,
_nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_spherical_distribution( &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<T> Isotensional for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
impl<T> Isotensional for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
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) = \ln\left[\frac{\eta}{\sinh(\eta)}\right] - \ln\left[1 + \frac{\eta}{c\kappa}\,\coth(\eta)\right] - \beta v(\eta)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) + \frac{\eta}{\kappa}\left[\frac{1 - \mathcal{L}(\eta)\coth(\eta)}{c + (\eta/\kappa)\coth(\eta)}\right] + \Delta\lambda(\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) + \frac{\partial}{\partial\eta}\left\{\frac{\eta}{\kappa}\left[\frac{1 - \mathcal{L}(\eta)\coth(\eta)}{c + (\eta/\kappa)\coth(\eta)}\right]\right\} + \zeta(\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<T> Legendre for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
impl<T> Legendre for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
Source§fn nondimensional_spherical_distribution(
&self,
_nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_spherical_distribution( &self, _nondimensional_extension: Scalar, ) -> Result<Scalar, SingleChainError>
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_force(
&self,
nondimensional_extension: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_force( &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<T> SingleChain for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
impl<T> SingleChain for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
fn link_length(&self) -> Scalar
fn number_of_links(&self) -> u8
Source§impl<T> Thermodynamics for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
impl<T> Thermodynamics for ArbitraryPotentialFreelyJointedChain<T>where
T: Potential,
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<T> Freeze for ArbitraryPotentialFreelyJointedChain<T>where
T: Freeze,
impl<T> RefUnwindSafe for ArbitraryPotentialFreelyJointedChain<T>where
T: RefUnwindSafe,
impl<T> Send for ArbitraryPotentialFreelyJointedChain<T>where
T: Send,
impl<T> Sync for ArbitraryPotentialFreelyJointedChain<T>where
T: Sync,
impl<T> Unpin for ArbitraryPotentialFreelyJointedChain<T>where
T: Unpin,
impl<T> UnwindSafe for ArbitraryPotentialFreelyJointedChain<T>where
T: UnwindSafe,
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