ufjc.examples.approaches
An example module comparing isotensional approaches.
This module contains a main
function that allows the comparison of
different approaches of obtaining the single-chain mechanical response of
a given single-chain model in the isotensional ensemble.
The results are plotted using matplotlib
.
When executed at the command line, flags are passed as keyword arguments.
Example
Compare approaches, using 1000 samples for the Monte Carlo approach:
python -m ufjc.examples.approaches --num_samples 1000
- main(**kwargs)[source]
Main function for the module.
This is the main function, called when executing the module from the command line, also available when importing the module.
- Parameters:
**kwargs – Arbitrary keyword arguments. Passed to
uFJC
instantiation.
Example
Plot and compare each approach for each available potential, including examples of polynomial and fully custom potentials, for \(\varepsilon=88\), keeping the harmonic result (EFJC) as a comparison for non-harmonic cases:
>>> import numpy as np >>> from ufjc.examples import approaches >>> approaches.main(potential='harmonic') >>> approaches.main(potential='log-squared') >>> approaches.main(potential='morse') >>> approaches.main(potential='lennard-jones') >>> approaches.main(potential='mie', n=10, m=4) >>> approaches.main(potential='polynomial', ... coefficients=[1, 2, 3]) >>> approaches.main(potential='custom', ... varepsilon=88, ... phi=lambda lambda_: 1 - np.cos(lambda_ - 1), ... eta_link=lambda lambda_: 88*np.sin(lambda_ - 1), ... delta_lambda=lambda eta: np.arcsin(eta/88), ... kappa=88, ... c=2/3, ... lambda_max=1 + np.pi/2, ... eta_max=88)