pylimer_tools package

Subpackages

Submodules

pylimer_tools.analyse_networks module

Analyse Networks

This script provides a command-line interface (CLI) to analyze polymer networks generated by LAMMPS simulations. It reads structure files, computes various properties of the networks, and outputs statistics such as bond lengths, end-to-end distances, and stoichiometric imbalances.

pylimer_tools.basic_lammps_structure_stats module

pylimer_tools.displace_randomly module

pylimer_tools.generate_network module

Generate MC Network

Uses an MC procedure to generate a crosslinked polymer network.

pylimer_tools.generate_network.generate_structure(params: Parameters, target_p: float | None = None, target_wsol: float | None = None, n_chains_crosslinkers: int = 0, target_f: int = 4, n_solvent_chains: int = 0, n_beads_per_solvent_chain: int = 0, n_chains_1: int = 1000, n_beads_per_chain_1: int = 0, n_chains_2: int = 0, n_beads_per_chain_2: int = 0, n_mono_chains: int = 0, n_mono_beads_per_chain: int = 0, n_beads_per_xlink: int = 1, remove_wsol: bool = False, functionalize_discrete: bool = False, disable_primary_loops: bool = False, disable_secondary_loops: bool = False, z_score_std_mult: float = 3.0) → Universe[source]

Generate a universe with the given network generation parameter choices.

pylimer_tools.generate_network.is_active_network(params: Parameters, target_p: float | None = None, target_wsol: float | None = None, n_chains_crosslinkers: int = 0, target_f: int = 4, n_solvent_chains: int = 0, n_beads_per_solvent_chain: int = 0, n_chains_1: int = 1000, n_beads_per_chain_1: int = 0, n_chains_2: int = 0, n_beads_per_chain_2: int = 0, n_mono_chains: int = 0, n_mono_beads_per_chain: int = 0, n_beads_per_xlink: int = 1, remove_wsol: bool = False, functionalize_discrete: bool = False, disable_primary_loops: bool = False, disable_secondary_loops: bool = False, z_score_std_mult: float = 3.0) → bool[source]

Check whether the given network generation parameter choices may result in a network that has a modulus > 0.

pylimer_tools.generate_network.prepare_structure_generation(params: Parameters, target_p: float | None = None, target_wsol: float | None = None, n_chains_crosslinkers: int = 0, target_f: int = 4, n_solvent_chains: int = 0, n_beads_per_solvent_chain: int = 0, n_chains_1: int = 1000, n_beads_per_chain_1: int = 0, n_chains_2: int = 0, n_beads_per_chain_2: int = 0, n_mono_chains: int = 0, n_mono_beads_per_chain: int = 0, n_beads_per_xlink: int = 1, remove_wsol: bool = False, functionalize_discrete: bool = False, disable_primary_loops: bool = False, disable_secondary_loops: bool = False, z_score_std_mult: float = 3.0) → MCUniverseGenerator[source]
pylimer_tools.generate_network.print_with_time(message: str) → None[source]

Module contents

The pylimer_tools package is the non-compiled part of this library. While the two packages (pylimer_tools and pylimer_tools_cpp) do interact and don’t work standalone, this distinction is nonetheless useful for the structure and functionality of the library, as well as to simplify the compilation process.

In this Python part of the library, various submodules offer functions that abstract the pylimer_tools_cpp library further, that builds a bridge to other Python libraries, such as pandas, or offer functionality that does not need to be as optimized for performance.