Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
InteractionExclusion.h
Go to the documentation of this file.
1 
8 #ifndef SWOOSE_INTERACTIONEXCLUSION_H
9 #define SWOOSE_INTERACTIONEXCLUSION_H
10 
11 #include <Eigen/Sparse>
12 
13 namespace Scine {
14 namespace MolecularMechanics {
15 class IndexedStructuralTopology;
16 
27  public:
34  InteractionExclusion(unsigned int nAtoms);
39  void setExclusions(const Eigen::SparseMatrix<bool>& excludedPairs);
44  void addExclusions(const Eigen::SparseMatrix<bool>& excludedPairs);
49  void addExclusions(const IndexedStructuralTopology& topology);
54  const Eigen::SparseMatrix<bool>& getExclusions();
59  void resetExclusions(unsigned int nAtoms);
60 
61  private:
62  Eigen::SparseMatrix<bool> exclusions_;
63 };
64 
65 } // namespace MolecularMechanics
66 } // namespace Scine
67 
68 #endif // SWOOSE_INTERACTIONEXCLUSION_H
Class containing the structural information about the connectivity of a system.
Definition: IndexedStructuralTopology.h:25
const Eigen::SparseMatrix< bool > & getExclusions()
Getter for the exclusions.
Definition: InteractionExclusion.cpp:34
void resetExclusions(unsigned int nAtoms)
Resize the exclusion matrix to the given number of atoms and remove all existing exlcuions.
Definition: InteractionExclusion.cpp:50
InteractionExclusion(unsigned int nAtoms)
Constructor.
Definition: InteractionExclusion.cpp:14
void setExclusions(const Eigen::SparseMatrix< bool > &excludedPairs)
Setter for the exclusion matrix.
Definition: InteractionExclusion.cpp:18
void addExclusions(const Eigen::SparseMatrix< bool > &excludedPairs)
Add new exclusions.
Definition: InteractionExclusion.cpp:26
This class provides a framework to store exclusions of interactions between atoms. Such exclusions are required for the non-covalent interactions between bonded atoms or to eliminate contributions to the energy for the interaction between QM atoms in QM/MM.
Definition: InteractionExclusion.h:26