FJC model thermodynamics (modified canonical/asymptotic/weak 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 weak 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.

end_to_end_length(potential_distance, potential_stiffness, temperature)

The expected end-to-end length 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 end-to-end length \(\xi\).

Return type:

numpy.ndarray

The expected end-to-end length 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 end-to-end length per link \(\xi/N_b=\ell_b\gamma\).

Return type:

numpy.ndarray

nondimensional_end_to_end_length(nondimensional_potential_distance, nondimensional_potential_stiffness)

The expected nondimensional end-to-end length 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 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 potential distance and nondimensional potential stiffness, given by Buche and Rimsza[1] as

\[\gamma(\eta) = \gamma_0(\eta)\left[1 - N_b\varpi\gamma_0'(\eta)\right],\]

where \(\gamma_0(\eta)=\mathcal{L}(\eta)=\coth(\eta)-1/\eta\) is the Langevin function.

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

  • nondimensional_potential_stiffness (float) – The nondimensional potential stiffness.

Returns:

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

Return type:

numpy.ndarray

force(potential_distance, potential_stiffness)

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

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

  • potential_stiffness (float) – The potential stiffness.

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.

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

gibbs_free_energy(potential_distance, potential_stiffness, temperature)

The expected end-to-end length 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 end-to-end length \(\xi\).

Return type:

numpy.ndarray

The Gibbs free energy epr 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 Gibbs free energy per link \(\varphi/N_b\).

Return type:

numpy.ndarray

relative_gibbs_free_energy(potential_distance, potential_stiffness, temperature)

The relative Gibbs 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 Gibbs free energy \(\Delta\varphi\).

Return type:

numpy.ndarray

The relative Gibbs 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 Gibbs free energy per link \(\Delta\varphi/N_b\).

Return type:

numpy.ndarray

nondimensional_gibbs_free_energy(nondimensional_potential_distance, nondimensional_potential_stiffness, temperature)

The nondimensional Gibbs 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 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 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 Gibbs free energy per link \(\varrho\equiv\beta\varphi/N_b\).

Return type:

numpy.ndarray

nondimensional_relative_gibbs_free_energy(nondimensional_potential_distance, nondimensional_potential_stiffness)

The nondimensional relative Gibbs 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 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 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 Gibbs free energy per link \(\Delta\varrho\equiv\beta\Delta\varphi/N_b\).

Return type:

numpy.ndarray


References