/Rare-events-sampling-python

Explores sampling techniques for Self-Avoiding Walks (SAWs), mathematical models used to study complex structures like polymer chains. We cover Uniformly Sampled, Pruned and Enriched Rosenbluth Method (FlatPERM) and variations of SAWs measuring different parameters.

Primary LanguageJupyter NotebookMIT LicenseMIT

Rare Events Sampling in Python

Python implementation of the Uniformly sampled, Pruned and Enriched Rosenbluth Method (FlatPERM) algorithm used on variations of Self-Avoiding Walks (SAWs) measuring different parameters - Interactions and Spikes.

Self-Avoiding Walks with interactions (Interacting SAWs or ISAWs) are simple SAWs where any pair of non-consecutive, adjacent sites of the walk are characterized as 'interacting'. This model may be reflective of the energy of a polymer; a configuration with a high number of interactions would resemble a high energy polymer, vice versa.

Self-Avoiding Walks with spikes (Cactus Walks) are simple SAWs where each site of the walk can have a maximum of one unit-length 'spike' in any direction that still ensures self-avoidance. In this case, the length of the walk is measured by the spine - counting all steps of the walk that are not spikes. An example of a Cactus Walk would be U(RL)L(DU), U D L R correspond to steps Up Down Left and Right respectively. This would be a 2 step and 2 spike configuration where the spikes are highlighted with parentheses and the spine being all other (not highlighted) steps. This model may be used to reflect the rigidity of a polymer; spike-dense configurations would resemble more rigid polymers, vice versa.

Both SAW variations can be visualized in their respective Jupyter Notebooks (.ipynb) along with the data collected from running FlatPERM on them.

This project builds on last year’s research done by Kane Kesler (https://github.com/Kane-Kesler?tab=repositories). Research done by Pedro Villegas and Ahmad Naveed.