FJC model thermodynamics (modified canonical)

class FJC(number_of_links, link_length, hinge_mass)

The freely-jointed chain (FJC) model thermodynamics in the modified canonical 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.

asymptotic

The thermodynamic functions of the model in the isotensional ensemble approximated using an asymptotic approach.

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.

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, 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.

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

gibbs_free_energy(potential_distance, potential_stiffness, temperature)

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

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