Angle bending

Overview

Angles impose forces on specific triplets of particles to model chemical angles between two bonds. The angles are specified in XML format configuration file with the format:

<angle>
angle_type(str)  particle_i(int)  particle_j(int)  particle_k(int)
...
</angle>

By themselves, angles do nothing. Only when you specify an angle force in script(i.e. AngleForceHarmonic), are forces actually calculated between the listed particles.

Harmonic angle potential

AngleForceHarmonic

Harmonic cosine angle potential

AngleForceHarmonicCos

Cosine angle potential

AngleForceCos

LnExp angle potential

AngleForceLnExp

Principle of angle bending

Harmonic angle potential

Description:

\begin{eqnarray*} V_{\mathrm{angle}}(\theta) = \frac{1}{2}k\left( \theta -\theta_{0} \right)^{2} \end{eqnarray*}

Coefficients:

  • \(k\) - potential constant k (in units of energy/radians^2)

  • \(\theta_{0}\) - equilibrium angle theta0 (in radians)

Note

The angles set in script are in the unit of degree, and the program will convert them into radian automatically.

class AngleForceHarmonic(all_info)

The constructor of angle harmonic interaction object.

Parameters:

all_info (AllInfo) – The system information.

setParams(string type, float k, float theta0)

specifies the angle harmonic force parameters with angle type, potential constant, and equilibrium angle degree.

Example:

angleforce = gala.AngleForceHarmonic(all_info)
angleforce.setParams('P-G-G', 25.000, 120.000)
app.add(angleforce)

Harmonic cosine angle potential

Description:

\begin{eqnarray*} V_{\mathrm{angle}}(\theta)=\frac{1}{2}k\left[\cos \left( \theta \right)-\cos \left( \theta_{0} \right)\right]^{2} \end{eqnarray*}

Coefficients:

  • \(k\) - potential constant k (in units of energy)

  • \(\theta_{0}\) - equilibrium angle theta0 (in radians)

Note

The angles set in script are in the unit of degree, and the program will convert them into radian automatically.

class AngleForceHarmonicCos(all_info)

The constructor of angle cosine harmonic interaction object.

Parameters:

all_info (AllInfo) – The system information.

setParams(string type, float k, float theta0)

specifies the angle cosine harmonic force parameters with angle type, potential constant, and equilibrium angle degree.

Example:

angleforce = gala.AngleForceHarmonicCos(all_info)
angleforce.setParams('P-G-G',25.000, 120.000)
app.add(angleforce)

Cosine angle potential

Description:

\begin{eqnarray*} V_{\mathrm{angle}}(\theta)=k\left[ 1-\cos \left( \theta - {\theta}_{0} \right) \right] \end{eqnarray*}

Coefficients:

  • \(k\) - potential constant k (in units of energy)

  • \(\theta_{0}\) - equilibrium angle theta0 (in radians)

Note

The angles set in script are in the unit of degree, and the program will convert them into radian automatically.

class AngleForceCos(all_info)

The constructor of angle cosine interaction object.

param AllInfo all_info:

The system information.

setParams(string type, float k, float theta0)

specifies the angle cosine force parameters with angle type, spring constant, and equilibrium angle degree.

Example:

angleforce = gala.AngleForceCos(all_info)
angleforce.setParams('P-G-G', 25.000, 120.000)
app.add(angleforce)

LnExp angle potential

Description:

\begin{eqnarray*} V_{\mathrm{angle}}(\theta)= -\frac{1}{2} k \log \left[ A \exp \left( -k_1 \left( \theta - {\theta}_{1} \right)^2 \right) + B \exp \left( -k_2 \left( \theta - {\theta}_{2} \right)^2 \right) \right] \end{eqnarray*}

Coefficients:

  • \(k\) - potential constant k (in units of energy)

  • \(k_1, k_2, A, B\) - potential parameters k1, k2, A, B

  • \(\theta_{1}\) - equilibrium angle theta1 (in radians)

  • \(\theta_{2}\) - equilibrium angle theta2 (in radians)

Note

The angles set in script are in the unit of degree, and the program will convert them into radian automatically.

class AngleForceLnExp(all_info)

The constructor of angle cosine interaction object.

Parameters:

all_info (AllInfo) – The system information.

setParams(string type, float k, float k1, float k2, float theta1, float theta2, float A, float B)

specifies the angle cosine force parameters with: angle type, spring constant, exponential factor1, exponential factor2, equilibrium angle degree1, equilibrium angle degree2, parameter A, and parameter B.

Example:

angleforce = gala.AngleForceLnExp(all_info)
angleforce.setParams('P-G-G', 25.000, 1.0, 1.0, 90.0, 180.0, 3.0, 2.0)
app.add(angleforce)