ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
This file contains everything needed to create a start-up configuration of polymer chains which may respect already existing particles and/or constraints. More...
Go to the source code of this file.
Functions | |
std::vector< std::vector< Utils::Vector3d > > | draw_polymer_positions (System::System const &system, int n_polymers, int beads_per_chain, double bond_length, std::vector< Utils::Vector3d > const &start_positions, double min_distance, int max_tries, int use_bond_angle, double bond_angle, int respect_constraints, int seed) |
Determines valid polymer positions and returns them. | |
This file contains everything needed to create a start-up configuration of polymer chains which may respect already existing particles and/or constraints.
Implementation in polymer.cpp.
Definition in file polymer.hpp.
std::vector< std::vector< Utils::Vector3d > > draw_polymer_positions | ( | System::System const & | system, |
int | n_polymers, | ||
int | beads_per_chain, | ||
double | bond_length, | ||
std::vector< Utils::Vector3d > const & | start_positions, | ||
double | min_distance, | ||
int | max_tries, | ||
int | use_bond_angle, | ||
double | bond_angle, | ||
int | respect_constraints, | ||
int | seed | ||
) |
Determines valid polymer positions and returns them.
system | particle system |
n_polymers | how many polymers to create |
beads_per_chain | monomers per chain |
bond_length | length of the bonds between two monomers |
start_positions | starting positions of each polymers |
min_distance | minimum distance between all particles |
max_tries | how often a monomer/polymer should be reset if current position collides with a previous particle |
use_bond_angle | whether to use the bond_angle argument |
bond_angle | desired bond-angle to be fixed |
respect_constraints | whether to respect constraints |
seed | seed for RNG |
Definition at line 143 of file polymer.cpp.
References System::System::box_geo, is_valid_position(), Random::mt19937(), random_position(), random_unit_vector(), Utils::vec_rotate(), and vector_product().
Referenced by ScriptInterface::Particles::Polymer::do_call_method().