Freely-rotating chain (FRC) model data
Equilibrium radial distribution functions
[1]:
import numpy as np
import matplotlib.pyplot as plt
angle_data = (15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90)
links_data = (8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32)
prefix = '../../../../../../data/frc/'
suffix = '-1e3-bins-1e12-samples.csv'
Varying number of links
[2]:
for angle in angle_data:
for links in links_data:
data = np.genfromtxt(prefix + f'{links}-links/{angle}-degrees' + suffix)
plt.plot(data[:,0], data[:,1], label=f'{links} links')
plt.title(f'{angle} degrees', fontsize=10)
plt.xlabel(r'$\gamma$')
plt.ylabel(r'$\mathscr{g}^\mathrm{eq}(\gamma)$')
plt.legend(loc=(1.025, 0.25))
plt.show()
Varying link angle
[3]:
for links in links_data:
for angle in angle_data:
data = np.genfromtxt(prefix + f'{links}-links/{angle}-degrees' + suffix)
plt.plot(data[:,0], data[:,1], label=f'{angle} degrees')
plt.title(f'{links} links', fontsize=10)
plt.xlabel(r'$\gamma$')
plt.ylabel(r'$\mathscr{g}^\mathrm{eq}(\gamma)$')
plt.legend(loc=(1.025, 0.25))
plt.show()
Helmholtz free energy functions
[4]:
from warnings import filterwarnings
filterwarnings("ignore", message="divide by zero encountered in divide")
Varying number of links
[5]:
for angle in angle_data:
for links in links_data:
data = np.genfromtxt(prefix + f'{links}-links/{angle}-degrees' + suffix)
gamma = data[:,0]
plt.plot(gamma, np.log(gamma**2/data[:,1])/links, label=f'{links} links')
plt.title(f'{angle} degrees', fontsize=10)
plt.xlabel(r'$\gamma$')
plt.ylabel(r'$\vartheta(\gamma)$')
plt.legend(loc=(1.025, 0.25))
plt.show()
Varying link angle
[6]:
for links in links_data:
for angle in angle_data:
data = np.genfromtxt(prefix + f'{links}-links/{angle}-degrees' + suffix)
gamma = data[:,0]
plt.plot(gamma, np.log(gamma**2/data[:,1])/links, label=f'{angle} degrees')
plt.title(f'{links} links', fontsize=10)
plt.xlabel(r'$\gamma$')
plt.ylabel(r'$\vartheta(\gamma)$')
plt.legend(loc=(1.025, 0.25))
plt.show()