Scine::Swoose
2.1.0
This is the SCINE module Swoose.
|
#include <Utils/Geometry/ElementTypes.h>
#include <deque>
#include <list>
#include <memory>
#include <random>
#include <vector>
Go to the source code of this file.
Functions | |
void | Scine::SwooseUtilities::FragmentationHelper::addAtomsUpToReasonableCut (Utils::AtomCollection &atomsToAdd, std::vector< int > &alreadyAddedAtoms, std::deque< bool > &isSaturatingAtom, int atomInside, int atomOutside, const Utils::AtomCollection &fullStructure, const std::vector< std::list< int >> &listsOfNeighbors, double probabilityToDivide, std::shared_ptr< std::mt19937 > randomEngine) |
This function recursively searches for the right places to cut a fragment out of the system starting from the bond atomInside - atomOutside. More... | |
void | Scine::SwooseUtilities::FragmentationHelper::addMoreAtomsToSubsystem (const Utils::AtomCollection &atomsToAdd, Utils::AtomCollection &subsystem, const std::deque< bool > &isSaturatingAtom, bool addSaturatingAtoms) |
This function adds a set of atoms to an existing molecular structure. More... | |
void | Scine::SwooseUtilities::FragmentationHelper::checkSizeOfSubsystem (int size, double &additionToRadius, bool &unsuccessfulFragmentation, int fragmentIndex, int fullStructureSize, int maximumSubsystemSize, Core::Log &log) |
Checks whether a fragment is too small or too large. If it is too small, the fragmentation is repeated with a larger radius, if it is too large, a warning is given. | |
void | Scine::SwooseUtilities::FragmentationHelper::updateInformationForIndexMapping (const Utils::AtomCollection &subsystem, const Utils::AtomCollection &fullStructure, std::vector< int > &atomIndexMapping) |
Updates the information of how the indices map from the subsystem to the full structure for a given subsystem. | |
std::vector< int > | Scine::SwooseUtilities::FragmentationHelper::calculateSubgraphSizes (const Utils::AtomCollection &fullStructure, const Utils::BondOrderCollection &bondOrders) |
Computes and returns a vector of size N (number of atoms in the full system) with the following value for each atom: the size of the molecular subgraph (individual molecule) it is in. | |
bool | Scine::SwooseUtilities::FragmentationHelper::atomIsCloseToExistingAtom (const Utils::Atom &atom, const Utils::AtomCollection &existingAtoms) |
Checks whether there is already an atom close to the given atom in the given molecular structure. More... | |
bool | Scine::SwooseUtilities::FragmentationHelper::isDivisibleAtBond (int atomInside, int atomOutside, const Utils::AtomCollection &fullStructure, const std::vector< std::list< int >> &listsOfNeighbors, double probabilityToDivide, std::shared_ptr< std::mt19937 > randomEngine) |
Evaluates whether a bond connecting the two given atoms is a good place to cut. More... | |
Utils::AtomCollection | Scine::SwooseUtilities::FragmentationHelper::mergeSubsystems (std::vector< int > &atomIndexMapping, std::vector< Utils::AtomCollection > subsystems, std::vector< std::vector< int >> atomIndexMappings) |
Merges to subsystems that are generated separately, but should become one subsystem. More... | |