Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.ForceField.ElasticPotential Class Reference

Stores parameters for an elastic potential (harmonic distance restraint) between a pair of atoms. More...

+ Inheritance diagram for CDPL.ForceField.ElasticPotential:

Public Member Functions

None __init__ (ElasticPotential pot)
 Initializes a copy of the ElasticPotential instance pot. More...
 
None __init__ (int atom1_idx, int atom2_idx, float force_const, float ref_length)
 Constructs the elastic potential between atoms atom1_idx and atom2_idx with the specified force constant and reference length. More...
 
int getAtom1Index ()
 Returns the zero-based index of the first atom. More...
 
int getAtom2Index ()
 Returns the zero-based index of the second atom. More...
 
float getForceConstant ()
 Returns the force constant of the potential. More...
 
float getReferenceLength ()
 Returns the reference length of the potential. More...
 
None setReferenceLength (float length)
 Sets the reference length of the potential. More...
 
ElasticPotential assign (ElasticPotential pot)
 Replaces the current state of self with a copy of the state of the ElasticPotential instance pot. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 

Properties

 objectID = property(getObjectID)
 
 atom1Index = property(getAtom1Index)
 
 atom2Index = property(getAtom2Index)
 
 forceConstant = property(getForceConstant)
 
 referenceLength = property(getReferenceLength, setReferenceLength)
 

Detailed Description

Stores parameters for an elastic potential (harmonic distance restraint) between a pair of atoms.

See also
ForceField.calcElasticPotentialEnergy()
Since
1.1

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.ForceField.ElasticPotential.__init__ ( ElasticPotential  pot)

Initializes a copy of the ElasticPotential instance pot.

Parameters
potThe ElasticPotential instance to copy.

◆ __init__() [2/2]

None CDPL.ForceField.ElasticPotential.__init__ ( int  atom1_idx,
int  atom2_idx,
float  force_const,
float  ref_length 
)

Constructs the elastic potential between atoms atom1_idx and atom2_idx with the specified force constant and reference length.

Parameters
atom1_idxThe zero-based index of the first restrained atom.
atom2_idxThe zero-based index of the second restrained atom.
force_constThe force constant k of the harmonic potential.
ref_lengthThe reference length \( r_0 \) of the harmonic potential.

Member Function Documentation

◆ getAtom1Index()

int CDPL.ForceField.ElasticPotential.getAtom1Index ( )

Returns the zero-based index of the first atom.

Returns
The first atom index.

◆ getAtom2Index()

int CDPL.ForceField.ElasticPotential.getAtom2Index ( )

Returns the zero-based index of the second atom.

Returns
The second atom index.

◆ getForceConstant()

float CDPL.ForceField.ElasticPotential.getForceConstant ( )

Returns the force constant of the potential.

Returns
The force constant k.

◆ getReferenceLength()

float CDPL.ForceField.ElasticPotential.getReferenceLength ( )

Returns the reference length of the potential.

Returns
The reference length \( r_0 \).

◆ setReferenceLength()

None CDPL.ForceField.ElasticPotential.setReferenceLength ( float  length)

Sets the reference length of the potential.

Parameters
lengthThe new reference length \( r_0 \).

◆ assign()

ElasticPotential CDPL.ForceField.ElasticPotential.assign ( ElasticPotential  pot)

Replaces the current state of self with a copy of the state of the ElasticPotential instance pot.

Parameters
potThe ElasticPotential instance to copy.
Returns
self

◆ getObjectID()

int CDPL.ForceField.ElasticPotential.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python ElasticPotential instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two ElasticPotential instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().

Returns
The numeric ID of the internally referenced C++ class instance.