ParM  parm
A molecular dynamics library
Public Member Functions | List of all members
Interaction Class Referenceabstract

The basic Interaction class, used to represent a potential function. More...

#include <interaction.hpp>

Inheritance diagram for Interaction:
AngleTriples BondPairs Charges COMSpring Dihedrals FixedForce FixedForceRegion FixedSpring InteractionPairsX NListed< A, P > RandomForce SCBoxed< A, P > SCSpringList SimpleListed< A, P > SoftWall SoftWallCylinder

Public Member Functions

virtual flt energy (Box &box)=0
 Potential energy due to this Interaction. More...
 
virtual void set_forces (Box &box)=0
 
virtual flt set_forces_get_pressure (Box &box)
 Set forces (Atom.f) and return \(P = \sum_{\left<i,j \right>} \vec r_{ij} \cdot \vec F_{ij}\) at the same time (see pressure()). More...
 
virtual flt pressure (Box &box)=0
 Partial pressure due to this Interaction. More...
 
virtual Matrix stress (Box &box)
 The force-moment tensor for the current simulation: More...
 
virtual ~Interaction ()
 

Detailed Description

The basic Interaction class, used to represent a potential function.

Specific interactions should derive from this.

Constructor & Destructor Documentation

virtual Interaction::~Interaction ( )
inlinevirtual

Member Function Documentation

virtual flt Interaction::energy ( Box box)
pure virtual
virtual flt Interaction::pressure ( Box box)
pure virtual

Partial pressure due to this Interaction.

\(P = \sum_{\left<i,j \right>} \vec r_{ij} \cdot \vec F_{ij}\), or equivalently \(P = \sum_i \vec r_i \cdot \vec F_i\)

Note that the full pressure involves all interactions and temperature, and needs to be normalized by \( \frac{1}{dV} \) where \(d\) is the number of dimensions and \(V\) is the volume.

Implemented in SCSpringList, SoftWallCylinder, SoftWall, Charges, NListedVirial< A, P >, NListed< A, P >, SimpleListed< A, P >, SCBoxed< A, P >, Dihedrals, AngleTriples, BondPairs, RandomForce, COMSpring, FixedSpring, FixedForceRegion, and FixedForce.

virtual void Interaction::set_forces ( Box box)
pure virtual
virtual flt Interaction::set_forces_get_pressure ( Box box)
inlinevirtual

Set forces (Atom.f) and return \(P = \sum_{\left<i,j \right>} \vec r_{ij} \cdot \vec F_{ij}\) at the same time (see pressure()).

Reimplemented in SCSpringList, SoftWallCylinder, SoftWall, NListedVirial< A, P >, NListed< A, P >, SimpleListed< A, P >, SCBoxed< A, P >, Dihedrals, AngleTriples, BondPairs, and RandomForce.

virtual Matrix Interaction::stress ( Box box)
inlinevirtual

The force-moment tensor for the current simulation:

\(\tau^{\alpha \beta} = \sum_{\left<i,j \right>} r_{ij}^\alpha F_{ij}^\beta\).

At \(T=0\), the stress tensor \(\Sigma = \frac{1}{dV} \tau \).

Reimplemented in SCSpringList, and NListed< A, P >.


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