pub struct SquareWellFreelyJointedChain {
pub link_length: Scalar,
pub number_of_links: u8,
pub well_width: Scalar,
pub ensemble: Ensemble,
}Expand description
The square-well freely-jointed chain model.1
M.R. Buche, M.N. Silberstein, and S.J. Grutzik, Physical Review E 106, 024502 (2022). ↩
Fields§
§link_length: ScalarThe link length $\ell_b$.
number_of_links: u8The number of links $N_b$.
well_width: ScalarThe well width $w_b$.
ensemble: EnsembleThe thermodynamic ensemble.
Trait Implementations§
Source§impl Clone for SquareWellFreelyJointedChain
impl Clone for SquareWellFreelyJointedChain
Source§fn clone(&self) -> SquareWellFreelyJointedChain
fn clone(&self) -> SquareWellFreelyJointedChain
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 SquareWellFreelyJointedChain
impl Debug for SquareWellFreelyJointedChain
Source§impl Inextensible for SquareWellFreelyJointedChain
impl Inextensible for SquareWellFreelyJointedChain
Source§fn maximum_nondimensional_extension(&self) -> Scalar
fn maximum_nondimensional_extension(&self) -> Scalar
\lim_{\eta\to\infty}\gamma(\eta) = 1 + \frac{w_b}{\ell_b} = \varsigmafn nondimensional_extension_check( &self, nondimensional_extension: Scalar, ) -> Result<(), SingleChainError>
Source§impl Isometric for SquareWellFreelyJointedChain
impl Isometric for SquareWellFreelyJointedChain
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 Isotensional for SquareWellFreelyJointedChain
impl Isotensional for SquareWellFreelyJointedChain
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>
\beta\varphi(\eta) = N_b\ln\left[\frac{\eta^3}{\varsigma\eta\cosh(\varsigma\eta) - \sinh(\varsigma\eta) - \eta\cosh(\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) = \frac{\varsigma^2\eta\sinh(\varsigma\eta) - \eta\sinh(\eta)}{\varsigma\eta\cosh(\varsigma\eta) - \sinh(\varsigma\eta) - \eta\cosh(\eta) + \sinh(\eta)} - \frac{3}{\eta}Source§fn nondimensional_compliance(
&self,
nondimensional_force: Scalar,
) -> Result<Scalar, SingleChainError>
fn nondimensional_compliance( &self, nondimensional_force: Scalar, ) -> Result<Scalar, SingleChainError>
\zeta(\eta) = \frac{\left(\varsigma^2\sinh(\varsigma\eta)+\varsigma^3\eta\cosh(\varsigma\eta)-\sinh(\eta)-\eta\cosh(\eta)\right)\left(\varsigma\eta\cosh(\varsigma\eta)-\sinh(\varsigma\eta)-\eta\cosh(\eta)+\sinh(\eta)\right)-\left(\varsigma^2\eta\sinh(\varsigma\eta)-\eta\sinh(\eta)\right)^2}{\left(\varsigma\eta\cosh(\varsigma\eta)-\sinh(\varsigma\eta)-\eta\cosh(\eta)+\sinh(\eta)\right)^2}+\frac{3}{\eta^2}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§impl Legendre for SquareWellFreelyJointedChain
impl Legendre for SquareWellFreelyJointedChain
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 MonteCarlo for SquareWellFreelyJointedChain
impl MonteCarlo for SquareWellFreelyJointedChain
fn random_nondimensional_link_vectors( &self, nondimensional_force: Scalar, ) -> Configuration
fn random_configuration(&self, nondimensional_force: Scalar) -> Configuration
Source§impl SingleChain for SquareWellFreelyJointedChain
impl SingleChain for SquareWellFreelyJointedChain
fn link_length(&self) -> Scalar
fn number_of_links(&self) -> u8
Source§impl Thermodynamics for SquareWellFreelyJointedChain
impl Thermodynamics for SquareWellFreelyJointedChain
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 SquareWellFreelyJointedChain
impl RefUnwindSafe for SquareWellFreelyJointedChain
impl Send for SquareWellFreelyJointedChain
impl Sync for SquareWellFreelyJointedChain
impl Unpin for SquareWellFreelyJointedChain
impl UnsafeUnpin for SquareWellFreelyJointedChain
impl UnwindSafe for SquareWellFreelyJointedChain
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