FJC model thermodynamics (modified canonical/asymptotic/strong potential)

class FJC(number_of_links, link_length, hinge_mass)

The freely-jointed chain (FJC) model thermodynamics in the modified canonical ensemble approximated using an asymptotic approach valid for strong potentials.

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.

force(potential_distance, potential_stiffness, temperature)

The expected force as a function of the applied potential distance, potential stiffness, and temperature.

Parameters:
  • potential_distance (numpy.ndarray) – The potential distance.

  • potential_stiffness (float) – The potential stiffness.

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

Returns:

The force \(f\).

Return type:

numpy.ndarray

nondimensional_force(nondimensional_potential_distance, nondimensional_potential_stiffness)

The expected nondimensional force as a function of the applied nondimensional potential distance and nondimensional potential stiffness, given by Buche and Rimsza[1] as

\[\eta(\gamma) = \eta_0(\gamma) - \frac{1}{N_b\varpi}\left[\eta_0(\gamma)\eta_0'(\gamma) - \frac{\eta_0''(\gamma)}{2N_b}\right],\]

where \(\eta_0(\gamma)\) is the isometric mechanical response.

Parameters:
  • nondimensional_potential_distance (numpy.ndarray) – The nondimensional potential distance.

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

Returns:

The nondimensional force \(\eta\equiv\beta f\ell_b\).

Return type:

numpy.ndarray

helmholtz_free_energy(potential_distance, potential_stiffness, temperature)

The Helmholtz free energy as a function of the applied potential distance, potential stiffness, and temperature.

Parameters:
  • potential_distance (numpy.ndarray) – The potential distance.

  • potential_stiffness (float) – The potential stiffness.

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

Returns:

The Helmholtz free energy \(\psi\).

Return type:

numpy.ndarray

The Helmholtz free energy per link as a function of the applied potential distance, potential stiffness, and temperature.

Parameters:
  • potential_distance (numpy.ndarray) – The potential distance.

  • potential_stiffness (float) – The potential stiffness.

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

Returns:

The Helmholtz free energy per link \(\psi/N_b\).

Return type:

numpy.ndarray

relative_helmholtz_free_energy(potential_distance, potential_stiffness, temperature)

The relative Helmholtz free energy as a function of the applied potential distance, potential stiffness, and temperature.

Parameters:
  • potential_distance (numpy.ndarray) – The potential distance.

  • potential_stiffness (float) – The potential stiffness.

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

Returns:

The relative Helmholtz free energy \(\Delta\psi\).

Return type:

numpy.ndarray

The relative Helmholtz free energy per link as a function of the applied potential distance, potential stiffness, and temperature.

Parameters:
  • potential_distance (numpy.ndarray) – The potential distance.

  • potential_stiffness (float) – The potential stiffness.

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

Returns:

The relative Helmholtz free energy per link \(\Delta\psi/N_b\).

Return type:

numpy.ndarray

nondimensional_helmholtz_free_energy(nondimensional_potential_distance, nondimensional_potential_stiffness, temperature)

The nondimensional Helmholtz free energy as a function of the applied nondimensional potential distance, nondimensional potential stiffness, and temperature.

Parameters:
  • nondimensional_potential_distance (numpy.ndarray) – The nondimensional potential distance.

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

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

Returns:

The nondimensional Helmholtz free energy \(\beta\psi=N_b\vartheta\).

Return type:

numpy.ndarray

The nondimensional Helmholtz free energy per link as a function of the applied nondimensional potential distance, nondimensional potential stiffness, and temperature.

Parameters:
  • nondimensional_potential_distance (numpy.ndarray) – The nondimensional potential distance.

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

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

Returns:

The nondimensional Helmholtz free energy per link \(\vartheta\equiv\beta\psi/N_b\).

Return type:

numpy.ndarray

nondimensional_relative_helmholtz_free_energy(nondimensional_potential_distance, nondimensional_potential_stiffness)

The nondimensional relative Helmholtz free energy as a function of the applied nondimensional potential distance and nondimensional potential stiffness.

Parameters:
  • nondimensional_potential_distance (numpy.ndarray) – The nondimensional potential distance.

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

Returns:

The nondimensional relative Helmholtz free energy \(\beta\Delta\psi=N_b\Delta\vartheta\).

Return type:

numpy.ndarray

The nondimensional relative Helmholtz free energy per link as a function of the applied nondimensional potential distance and nondimensional potential stiffness.

Parameters:
  • nondimensional_potential_distance (numpy.ndarray) – The nondimensional potential distance.

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

Returns:

The nondimensional relative Helmholtz free energy per link \(\Delta\vartheta\equiv\beta\Delta\psi/N_b\).

Return type:

numpy.ndarray


References