|
OpenMD 3.2
Molecular Dynamics in the Open
|
ForceManager is responsible for calculating both the short range (bonded) interactions and long range (non-bonded) interactions. More...
#include "brains/ForceManager.hpp"
Public Member Functions | |
| ForceManager (SimInfo *info) | |
| virtual void | calcForces () |
| virtual void | calcSelectedForces (Molecule *mol1, Molecule *mol2) |
| void | setDoElectricField (bool def) |
| void | initialize () |
Protected Member Functions | |
| virtual void | setupCutoffs () |
| setupCutoffs | |
| virtual void | preCalculation () |
| virtual void | shortRangeInteractions () |
| virtual void | longRangeInteractions () |
| virtual void | postCalculation () |
| virtual void | selectedPreCalculation (Molecule *mol1, Molecule *mol2) |
| virtual void | selectedShortRangeInteractions (Molecule *mol1, Molecule *mol2) |
| virtual void | selectedLongRangeInteractions (Molecule *mol1, Molecule *mol2) |
| virtual void | selectedPostCalculation (Molecule *mol1, Molecule *mol2) |
Protected Attributes | |
| bool | initialized_ {false} |
| bool | doParticlePot_ {false} |
| bool | doElectricField_ {false} |
| bool | doSitePotential_ {false} |
| bool | doHeatFlux_ {false} |
| bool | doLongRangeCorrections_ {false} |
| bool | usePeriodicBoundaryConditions_ {false} |
| bool | useSurfaceTerm_ {false} |
| bool | useSlabGeometry_ {false} |
| int | axis_ {false} |
| SimInfo * | info_ {nullptr} |
| ForceField * | forceField_ {nullptr} |
| InteractionManager * | interactionMan_ {nullptr} |
| ForceDecomposition * | fDecomp_ {nullptr} |
| SwitchingFunction * | switcher_ {nullptr} |
| Thermo * | thermo {nullptr} |
| SwitchingFunctionType | sft_ |
| Type of switching function in use. | |
| RealType | rCut_ |
| cutoff radius for non-bonded interactions | |
| RealType | rCutSq_ |
| RealType | rSwitch_ |
| inner radius of switching function | |
| CutoffMethod | cutoffMethod_ |
| Cutoff Method for most non-bonded interactions. | |
| AtomTypeSet | atomTypes_ |
| std::vector< pair< AtomType *, AtomType * > > | interactions_ |
| std::map< Bend *, BendDataSet > | bendDataSets |
| std::map< Torsion *, TorsionDataSet > | torsionDataSets |
| std::map< Inversion *, InversionDataSet > | inversionDataSets |
| std::vector< int > | neighborList_ |
| std::vector< int > | point_ |
| std::vector< Vector3d > | savedPositions_ |
| std::vector< RealType > | vdwScale_ |
| std::vector< RealType > | electrostaticScale_ |
| Mat3x3d | virialTensor |
| std::vector< ForceModifier * > | forceModifiers_ |
| bool | doPotentialSelection_ {false} |
| std::string | selectionScript_ |
| SelectionManager | seleMan_ |
| SelectionEvaluator | evaluator_ |
| InteractionData | idat |
| SelfData | sdat |
ForceManager is responsible for calculating both the short range (bonded) interactions and long range (non-bonded) interactions.
Definition at line 83 of file ForceManager.hpp.
| OpenMD::ForceManager::ForceManager | ( | SimInfo * | info | ) |
Definition at line 87 of file ForceManager.cpp.
|
virtual |
Definition at line 96 of file ForceManager.cpp.
|
virtual |
Definition at line 545 of file ForceManager.cpp.
Definition at line 1208 of file ForceManager.cpp.
| void OpenMD::ForceManager::initialize | ( | ) |
We want to delay the cutoffs until after the interaction manager has set up the atom-atom interactions so that we can query them for suggested cutoff values
Force fields can set options on how to scale van der Waals and electrostatic interactions for atoms connected via bonds, bends and torsions in this case the topological distance between atoms is: 0 = topologically unconnected 1 = bonded together 2 = connected via a bend 3 = connected via a torsion
Definition at line 382 of file ForceManager.cpp.
References initialize(), and setupCutoffs().
Referenced by initialize().
|
protectedvirtual |
Definition at line 793 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 1098 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 555 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 1562 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 1868 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 1217 of file ForceManager.cpp.
|
protectedvirtual |
Definition at line 1284 of file ForceManager.cpp.
|
inline |
Definition at line 89 of file ForceManager.hpp.
|
protectedvirtual |
setupCutoffs
Sets the values of cutoffRadius, switchingRadius, and cutoffMethod
cutoffRadius : realType If the cutoffRadius was explicitly set, use that value. If the cutoffRadius was not explicitly set: Are there electrostatic atoms? Use 12.0 Angstroms. No electrostatic atoms? Poll the atom types present in the simulation for suggested cutoff values (e.g. 2.5 * sigma). Use the maximum suggested value that was found.
cutoffMethod : (one of HARD, SWITCHED, SHIFTED_FORCE, TAYLOR_SHIFTED, SHIFTED_POTENTIAL, or EWALD_FULL) If cutoffMethod was explicitly set, use that choice. If cutoffMethod was not explicitly set, use SHIFTED_FORCE
switchingRadius : realType If the cutoffMethod was set to SWITCHED: If the switchingRadius was explicitly set, use that value (but do a sanity check first). If the switchingRadius was not explicitly set: use 0.85 * cutoffRadius_ If the cutoffMethod was not set to SWITCHED: Set switchingRadius equal to cutoffRadius for safety.
Definition at line 132 of file ForceManager.cpp.
References cutoffMethod_, rCut_, rSwitch_, setupCutoffs(), and sft_.
Referenced by initialize(), and setupCutoffs().
|
protectedvirtual |
Definition at line 620 of file ForceManager.cpp.
|
protected |
Definition at line 129 of file ForceManager.hpp.
|
protected |
Definition at line 102 of file ForceManager.hpp.
|
protected |
Definition at line 131 of file ForceManager.hpp.
|
protected |
Cutoff Method for most non-bonded interactions.
Definition at line 127 of file ForceManager.hpp.
Referenced by setupCutoffs().
|
protected |
Definition at line 95 of file ForceManager.hpp.
|
protected |
Definition at line 97 of file ForceManager.hpp.
|
protected |
Definition at line 98 of file ForceManager.hpp.
|
protected |
Definition at line 94 of file ForceManager.hpp.
|
protected |
Definition at line 145 of file ForceManager.hpp.
|
protected |
Definition at line 96 of file ForceManager.hpp.
|
protected |
Definition at line 139 of file ForceManager.hpp.
|
protected |
Definition at line 148 of file ForceManager.hpp.
|
protected |
Definition at line 118 of file ForceManager.hpp.
|
protected |
Definition at line 116 of file ForceManager.hpp.
|
protected |
Definition at line 143 of file ForceManager.hpp.
|
protected |
Definition at line 151 of file ForceManager.hpp.
|
protected |
Definition at line 115 of file ForceManager.hpp.
|
protected |
Definition at line 93 of file ForceManager.hpp.
|
protected |
Definition at line 117 of file ForceManager.hpp.
Definition at line 130 of file ForceManager.hpp.
|
protected |
Definition at line 133 of file ForceManager.hpp.
|
protected |
Definition at line 134 of file ForceManager.hpp.
|
protected |
Definition at line 135 of file ForceManager.hpp.
|
protected |
cutoff radius for non-bonded interactions
Definition at line 123 of file ForceManager.hpp.
Referenced by setupCutoffs().
|
protected |
Definition at line 124 of file ForceManager.hpp.
|
protected |
inner radius of switching function
Definition at line 125 of file ForceManager.hpp.
Referenced by setupCutoffs().
|
protected |
Definition at line 136 of file ForceManager.hpp.
|
protected |
Definition at line 152 of file ForceManager.hpp.
|
protected |
Definition at line 146 of file ForceManager.hpp.
|
protected |
Definition at line 147 of file ForceManager.hpp.
|
protected |
Type of switching function in use.
Definition at line 122 of file ForceManager.hpp.
Referenced by setupCutoffs().
|
protected |
Definition at line 119 of file ForceManager.hpp.
|
protected |
Definition at line 120 of file ForceManager.hpp.
|
protected |
Definition at line 132 of file ForceManager.hpp.
|
protected |
Definition at line 99 of file ForceManager.hpp.
|
protected |
Definition at line 101 of file ForceManager.hpp.
|
protected |
Definition at line 100 of file ForceManager.hpp.
|
protected |
Definition at line 138 of file ForceManager.hpp.
|
protected |
Definition at line 141 of file ForceManager.hpp.