|
faunus
|
Performs a crankshaft move of a random segment in a polymer chain. More...
#include <chainmove.h>


Public Member Functions | |
| CrankshaftMove (Space &spc) | |
Public Member Functions inherited from Faunus::move::ChainRotationMoveBase | |
| double | bias (Change &, double uold, double unew) override |
| Extra energy not captured by the Hamiltonian. More... | |
Public Member Functions inherited from Faunus::move::Move | |
| void | from_json (const json &j) |
| void | to_json (json &j) const |
| JSON report w. statistics, output etc. | |
| void | move (Change &change) |
| Perform move and modify given change object. | |
| void | accept (Change &change) |
| void | reject (Change &change) |
| void | setRepeat (int repeat) |
| Move (Space &spc, std::string_view name, std::string_view cite) | |
| bool | isStochastic () const |
| True if move should be called stochastically. | |
| const std::string & | getName () const |
Protected Member Functions | |
| CrankshaftMove (Space &spc, const std::string &name, const std::string &cite) | |
| void | _from_json (const json &j) override |
| Extra info for report if needed. | |
Protected Member Functions inherited from Faunus::move::ChainRotationMove | |
| ChainRotationMove (Space &spc, const std::string &name, const std::string &cite) | |
Protected Member Functions inherited from Faunus::move::ChainRotationMoveBase | |
| ChainRotationMoveBase (Space &spc, const std::string &name, const std::string &cite) | |
| void | _to_json (json &j) const override |
| Extra info for report if needed. | |
Additional Inherited Members | |
Static Public Attributes inherited from Faunus::move::Move | |
| static Random | slump |
| Shared for all moves. | |
Protected Attributes inherited from Faunus::move::ChainRotationMove | |
| Space::GroupVector::iterator | molecule_iter |
| std::array< size_t, 2 > | axis_ndx |
| Indices of atoms in the spc.p vector that mark the origin and the direction of the axis of rotation. More... | |
| std::vector< size_t > | segment_ndx |
| Indices of atoms in the spc.p vector that shall be rotated. | |
Protected Attributes inherited from Faunus::move::ChainRotationMoveBase | |
| std::string | molname |
| size_t | molid |
| double | dprot |
| maximal angle of rotation, ±0.5*dprot | |
| double | sqdispl |
| center-of-mass displacement squared | |
| Average< double > | msqdispl |
| center-of-mass mean squared displacement | |
| bool | permit_move = true |
| bool | allow_small_box = false |
| int | small_box_encountered = 0 |
| number of skipped moves due to too small container | |
Protected Attributes inherited from Faunus::move::Move | |
| const std::string | name |
| Name of move. | |
| Space & | spc |
| Space to operate on. | |
| int | repeat = 1 |
| unsigned long | number_of_attempted_moves = 0 |
| Counter for total number of move attempts. | |
Performs a crankshaft move of a random segment in a polymer chain.
Two random atoms are select from a random polymer chain to be the joints of a crankshaft. The chain segment between the joints is then rotated by a random angle around the axis determined by the joints. The extend of the angle is limited by dprot.
1.8.13