OpenMM
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
AmoebaMultipoleForceImpl Class Reference

This is the internal implementation of AmoebaMultipoleForce. More...

#include <AmoebaMultipoleForceImpl.h>

+ Inheritance diagram for AmoebaMultipoleForceImpl:

Public Member Functions

 AmoebaMultipoleForceImpl (const AmoebaMultipoleForce &owner)
 
 ~AmoebaMultipoleForceImpl ()
 
void initialize (ContextImpl &context)
 This is called after the ForceImpl is created and before updateContextState(), calcForces(), or calcEnergy() is called on it. More...
 
const AmoebaMultipoleForcegetOwner () const
 Get the Force object from which this ForceImpl was created. More...
 
void updateContextState (ContextImpl &context)
 This method is called at the beginning of each time step. More...
 
double calcForcesAndEnergy (ContextImpl &context, bool includeForces, bool includeEnergy, int groups)
 Calculate the force on each particle generated by this ForceImpl and/or this ForceImpl's contribution to the potential energy of the system. More...
 
std::map< std::string, double > getDefaultParameters ()
 Get a map containing the default values for all adjustable parameters defined by this ForceImpl. More...
 
std::vector< std::string > getKernelNames ()
 Get the names of all Kernels used by this Force. More...
 
void getInducedDipoles (ContextImpl &context, std::vector< Vec3 > &dipoles)
 
void getElectrostaticPotential (ContextImpl &context, const std::vector< Vec3 > &inputGrid, std::vector< double > &outputElectrostaticPotential)
 
void getSystemMultipoleMoments (ContextImpl &context, std::vector< double > &outputMultipoleMonents)
 
void updateParametersInContext (ContextImpl &context)
 
- Public Member Functions inherited from ForceImpl
virtual ~ForceImpl ()
 
virtual std::vector< std::pair
< int, int > > 
getBondedParticles () const
 Get pairs of particles connected by bonds by this force. More...
 

Static Public Member Functions

static void getCovalentRange (const AmoebaMultipoleForce &force, int index, const std::vector< AmoebaMultipoleForce::CovalentType > &lists, int *minCovalentIndex, int *maxCovalentIndex)
 Get the CovalentMap for an atom. More...
 
static void getCovalentDegree (const AmoebaMultipoleForce &force, std::vector< int > &covalentDegree)
 Get the covalent degree for the CovalentEnd lists. More...
 

Detailed Description

This is the internal implementation of AmoebaMultipoleForce.

Constructor & Destructor Documentation

Member Function Documentation

double calcForcesAndEnergy ( ContextImpl context,
bool  includeForces,
bool  includeEnergy,
int  groups 
)
virtual

Calculate the force on each particle generated by this ForceImpl and/or this ForceImpl's contribution to the potential energy of the system.

Parameters
contextthe context in which the system is being simulated
includeForcestrue if forces should be calculated
includeEnergytrue if the energy should be calculated
groupsa set of bit flags for which force groups to include. Group i should be included if (groups&(1<<i)) != 0.
Returns
this force's contribution to the potential energy of the system, or 0 if this force does not contribute to potential energy (or if includeEnergy is false)

Implements ForceImpl.

static void getCovalentDegree ( const AmoebaMultipoleForce force,
std::vector< int > &  covalentDegree 
)
static

Get the covalent degree for the CovalentEnd lists.

Parameters
forceAmoebaMultipoleForce force reference
covalentDegreecovalent degrees for the CovalentEnd lists
static void getCovalentRange ( const AmoebaMultipoleForce force,
int  index,
const std::vector< AmoebaMultipoleForce::CovalentType > &  lists,
int *  minCovalentIndex,
int *  maxCovalentIndex 
)
static

Get the CovalentMap for an atom.

Parameters
forceAmoebaMultipoleForce force reference
indexthe index of the atom for which to set parameters
minCovalentIndexminimum covalent index
maxCovalentIndexmaximum covalent index
std::map<std::string, double> getDefaultParameters ( )
inlinevirtual

Get a map containing the default values for all adjustable parameters defined by this ForceImpl.

These parameters and their default values will automatically be added to the Context.

Implements ForceImpl.

void getElectrostaticPotential ( ContextImpl context,
const std::vector< Vec3 > &  inputGrid,
std::vector< double > &  outputElectrostaticPotential 
)
void getInducedDipoles ( ContextImpl context,
std::vector< Vec3 > &  dipoles 
)
std::vector<std::string> getKernelNames ( )
virtual

Get the names of all Kernels used by this Force.

Implements ForceImpl.

const AmoebaMultipoleForce& getOwner ( ) const
inlinevirtual

Get the Force object from which this ForceImpl was created.

Implements ForceImpl.

void getSystemMultipoleMoments ( ContextImpl context,
std::vector< double > &  outputMultipoleMonents 
)
void initialize ( ContextImpl context)
virtual

This is called after the ForceImpl is created and before updateContextState(), calcForces(), or calcEnergy() is called on it.

This allows it to do any necessary initialization.

Implements ForceImpl.

void updateContextState ( ContextImpl context)
inlinevirtual

This method is called at the beginning of each time step.

It give the ForceImpl a chance to modify the state variables (positions, velocities, and parameters) stored in the Context in arbitrary ways before integration is performed.

Parameters
contextthe context in which the system is being simulated

Implements ForceImpl.

void updateParametersInContext ( ContextImpl context)

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