SWFJC model thermodynamics (isotensional)

class SWFJC(number_of_links, link_length, hinge_mass, well_width)

The square-well freely-jointed chain (SWFJC) model thermodynamics in the isotensional ensemble.

The number of links in the chain.

The length of each link in the chain in units of nm.

hinge_mass

The mass of each hinge in the chain in units of kg/mol.

well_width

The width of the well in units of nm.

legendre

The thermodynamic functions of the model in the isotensional ensemble approximated using a Legendre transformation.

end_to_end_length(force, temperature)

The expected end-to-end length as a function of the applied force and temperature,

\[\xi(f, T) = -\frac{\partial\varphi}{\partial f}.\]
Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The end-to-end length \(\xi\).

Return type:

numpy.ndarray

The expected end-to-end length per link as a function of the applied force and temperature.

Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The end-to-end length per link \(\xi/N_b=\ell_b\gamma\).

Return type:

numpy.ndarray

nondimensional_end_to_end_length(nondimensional_force)

The expected nondimensional end-to-end length as a function of the applied nondimensional force.

Parameters:

nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

Returns:

The nondimensional end-to-end length \(N_b\gamma=\xi/\ell_b\).

Return type:

numpy.ndarray

The expected nondimensional end-to-end length per link as a function of the applied nondimensional force, given by Buche et al.[1] as

\[\gamma(\eta) = -\frac{\partial\varrho}{\partial\eta} = \frac{\varsigma^2\eta\sinh(\varsigma\eta) - \eta\sinh(\eta)}{y(\eta,\varsigma) - y(\eta,1)},\]

where \(\varsigma\equiv 1+w/\ell_b\) is the nondimensional well width parameter, and where \(y(\eta,\varsigma)\equiv\varsigma\eta\cosh(\varsigma\eta)-\sinh(\varsigma\eta)\).

Parameters:

nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

Returns:

The nondimensional end-to-end length per link \(\gamma\equiv \xi/N_b\ell_b\).

Return type:

numpy.ndarray

gibbs_free_energy(force, temperature)

The Gibbs free energy as a function of the applied force and temperature,

\[\varphi(f, T) = -kT\ln Z(f, T).\]
Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The Gibbs free energy \(\varphi\).

Return type:

numpy.ndarray

The Gibbs free energy per link as a function of the applied force and temperature.

Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The Gibbs free energy per link \(\varphi/N_b\).

Return type:

numpy.ndarray

relative_gibbs_free_energy(force, temperature)

The relative Gibbs free energy as a function of the applied force and temperature.

Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The relative Gibbs free energy \(\Delta\varphi\equiv\varphi(f,T)-\varphi(0,T)\).

Return type:

numpy.ndarray

The relative Gibbs free energy per link as a function of the applied force and temperature.

Parameters:
  • force (numpy.ndarray) – The force \(f\).

  • temperature (float) – The temperature \(T\).

Returns:

The relative Gibbs free energy per link \(\Delta\varphi/N_b\).

Return type:

numpy.ndarray

nondimensional_gibbs_free_energy(nondimensional_force, temperature)

The nondimensional Gibbs free energy as a function of the applied nondimensional force and temperature.

Parameters:
  • nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

  • temperature (float) – The temperature \(T\).

Returns:

The nondimensional Gibbs free energy \(\beta\varphi=N_b\varrho\).

Return type:

numpy.ndarray

The nondimensional Gibbs free energy per link as a function of the applied nondimensional force and temperature.

Parameters:
  • nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

  • temperature (float) – The temperature \(T\).

Returns:

The nondimensional Gibbs free energy per link \(\varrho\equiv\beta\varphi/N_b\).

Return type:

numpy.ndarray

nondimensional_relative_gibbs_free_energy(nondimensional_force)

The nondimensional relative Gibbs free energy as a function of the applied nondimensional force.

Parameters:

nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

Returns:

The nondimensional relative Gibbs free energy \(\beta\Delta\varphi=N_b\Delta\varrho\).

Return type:

numpy.ndarray

The nondimensional relative Gibbs free energy per link as a function of the applied nondimensional force, given by Buche et al.[1] as

\[\Delta\varrho(\eta) = 3\ln(\eta) - \ln\left[y(\eta,\varsigma) - y(\eta,1)\right],\]

where \(\varsigma\equiv 1+w/\ell_b\) is the nondimensional well width parameter, and where \(y(\eta,\varsigma)\equiv\varsigma\eta\cosh(\varsigma\eta)-\sinh(\varsigma\eta)\).

Parameters:

nondimensional_force (numpy.ndarray) – The nondimensional force \(\eta\equiv\beta f\ell_b\).

Returns:

The nondimensional relative Gibbs free energy per link \(\Delta\varrho\equiv\beta\Delta\varphi/N_b\).

Return type:

numpy.ndarray


References