faunus
Public Member Functions | List of all members
Faunus::move::SmarterTranslateRotate Class Reference

Smart Monte Carlo version of molecular translation and rotation. More...

#include <move.h>

Inheritance diagram for Faunus::move::SmarterTranslateRotate:
Inheritance graph
[legend]
Collaboration diagram for Faunus::move::SmarterTranslateRotate:
Collaboration graph
[legend]

Public Member Functions

 SmarterTranslateRotate (Space &spc, const json &j)
 
- Public Member Functions inherited from Faunus::move::TranslateRotate
 TranslateRotate (Space &spc)
 
- 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
 

Additional Inherited Members

- Static Public Attributes inherited from Faunus::move::Move
static Random slump
 Shared for all moves.
 
- Protected Types inherited from Faunus::move::TranslateRotate
using OptionalGroup = std::optional< std::reference_wrapper< Space::GroupType > >
 
- Protected Member Functions inherited from Faunus::move::TranslateRotate
 TranslateRotate (Space &spc, std::string name, std::string cite)
 
- Protected Attributes inherited from Faunus::move::TranslateRotate
int molid = -1
 Molecule ID of the molecule(s) to move.
 
- Protected Attributes inherited from Faunus::move::Move
const std::string name
 Name of move.
 
Spacespc
 Space to operate on.
 
int repeat = 1
 
unsigned long number_of_attempted_moves = 0
 Counter for total number of move attempts.
 

Detailed Description

Smart Monte Carlo version of molecular translation and rotation.

The important steps in modifying the original TranslateRotate is to replace:

  1. findRandomMolecule() which performs the group selection
  2. bias() as we need to correct for the asymmetric sampling

The documentation for this class was generated from the following files: