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.
- number_of_links
The number of links in the chain.
- link_length
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
- helmholtz_free_energy_per_link(potential_distance, potential_stiffness, temperature)
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
- relative_helmholtz_free_energy_per_link(potential_distance, potential_stiffness, temperature)
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
- nondimensional_helmholtz_free_energy_per_link(nondimensional_potential_distance, nondimensional_potential_stiffness, temperature)
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
- nondimensional_relative_helmholtz_free_energy_per_link(nondimensional_potential_distance, nondimensional_potential_stiffness)
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