version 1.33 | version 1.34 |
---|
| |
} | } |
\label{section:colvars} | \label{section:colvars} |
| |
In today's molecular dynamics simulations, it is often useful to reduce the large number of degrees of freedom of a physical system into few parameters whose statistical distributions can be analyzed individually, or used to define biasing potentials to alter the dynamics of the system in a controlled manner. | In molecular dynamics simulations, it is often useful to reduce the large number of degrees of freedom of a physical system into few parameters whose statistical distributions can be analyzed individually, or used to define biasing potentials to alter the dynamics of the system in a controlled manner. |
These have been called `order parameters', `collective variables', `(surrogate) reaction coordinates', and many other terms. | These have been called `order parameters', `collective variables', `(surrogate) reaction coordinates', and many other terms. |
| |
Here we use primarily the term `collective variable' (shortened to \textit{colvar}), which indicates any differentiable function of atomic Cartesian coordinates, $\bm{x}_{i}$, with $i$ between $1$ and $N$, the total | Here we use primarily the term `collective variable' (shortened to \textit{colvar}), which indicates any differentiable function of atomic Cartesian coordinates, $\bm{x}_{i}$, with $i$ between $1$ and $N$, the total |
| |
\cvsec{Selecting atoms for colvars: defining atom groups} | \cvsec{Selecting atoms for colvars: defining atom groups} |
\label{sec:colvar_atom_groups} | \label{sec:colvar_atom_groups} |
| |
| To define collective variables, atoms are usually selected as groups. Each group is defined using an identifier that is unique in the context of the specific colvar component (e.g.~for a distance component, the two groups are \texttt{group1} and \texttt{group2}). |
| The identifier is followed by a brace-delimited block containing selection keywords and other parameters, including an optional \texttt{name}: |
| |
| \begin{itemize} |
| \item \key |
| {name}{% |
| atom group}{% |
| Unique name for the atom group}{% |
| string}{% |
| This parameter defines a unique name for this atom group, which can be referred to |
| in the definition of other atom groups (including in other colvars) by invoking |
| \texttt{atomsOfGroup} as a selection keyword.} |
| \end{itemize} |
| |
| |
\cvsubsec{Selection keywords} | \cvsubsec{Selection keywords} |
\label{sec:colvar_atom_groups_sel} | \label{sec:colvar_atom_groups_sel} |
| |
To define collective variables, atoms are usually selected by group. Each group is identified by a name that is unique in the context of the specific colvar component (e.g.~for a distance component, the names of the two groups are \texttt{group1} and \texttt{group2}). | Selection keywords may be used individually or in combination with each other, and each can be repeated any number of times. |
The name is followed by a brace-delimited block of selection keywords: these may be used individually or in combination with each other, and each can be repeated any number of times. | |
Selection is incremental: each keyword adds the corresponding atoms to the selection, so that different sets of atoms can be combined. | Selection is incremental: each keyword adds the corresponding atoms to the selection, so that different sets of atoms can be combined. |
However, atoms included by multiple keywords are only counted once. | However, atoms included by multiple keywords are only counted once. |
Below is an example configuration for an atom group named ``\texttt{atoms}'', which uses an unusually varied combination of selection keywords:\\ | Below is an example configuration for an atom group with identifier ``\texttt{atoms}'', which uses an unusually varied combination of selection keywords:\\ |
| |
{% | {% |
% verbatim can't appear within commands | % verbatim can't appear within commands |
| |
the list. \emph{The number of the first atom in the system is 1: to convert from a VMD selection, use ``atomselect get serial''.} | the list. \emph{The number of the first atom in the system is 1: to convert from a VMD selection, use ``atomselect get serial''.} |
} | } |
| |
| |
\item % | \item % |
\key | \key |
{indexGroup}{% | {indexGroup}{% |
| |
| |
\item % | \item % |
\key | \key |
| {atomsOfGroup}{% |
| atom group}{% |
| Name of group defined previously}{% |
| string}{% |
| Refers to a group defined previously using its user-defined \texttt{name}. |
| This adds all atoms of that named group to the current group.} |
| |
| \item % |
| \key |
{atomNumbersRange}{% | {atomNumbersRange}{% |
atom group}{% | atom group}{% |
Atoms within a number range}{% | Atoms within a number range}{% |
| |
\item \texttt{distanceXY}: projection of a distance vector on a plane; | \item \texttt{distanceXY}: projection of a distance vector on a plane; |
\item \texttt{distanceInv}: mean distance between two groups of atoms (e.g.~NOE-based distance); | \item \texttt{distanceInv}: mean distance between two groups of atoms (e.g.~NOE-based distance); |
\item \texttt{angle}: angle between three groups; | \item \texttt{angle}: angle between three groups; |
| \item \texttt{dihedral}: torsional (dihedral) angle between four groups; |
\item \texttt{dipoleAngle}: angle between two groups and dipole of a third group; | \item \texttt{dipoleAngle}: angle between two groups and dipole of a third group; |
| \item \texttt{polarTheta}: polar angle of a group in spherical coordinates; |
| \item \texttt{polarPhi}: azimuthal angle of a group in spherical coordinates; |
\item \texttt{coordNum}: coordination number between two groups; | \item \texttt{coordNum}: coordination number between two groups; |
\item \texttt{selfCoordNum}: coordination number of atoms within a | \item \texttt{selfCoordNum}: coordination number of atoms within a |
group; | group; |
| |
\dupkey{oneSiteTotalForce}{\texttt{dihedral}}{colvar|distance|oneSiteTotalForce}{\texttt{distance} component} | \dupkey{oneSiteTotalForce}{\texttt{dihedral}}{colvar|distance|oneSiteTotalForce}{\texttt{distance} component} |
\end{cvcoptions} | \end{cvcoptions} |
| |
| \cvsubsubsec{\texttt{polarTheta}: polar angle in |
| spherical coordinates.} |
| The \texttt{polarTheta~\{...\}} block defines the polar angle in |
| spherical coordinates, for the center of mass of a group of atoms |
| described by the block \texttt{atoms}. It returns an angle |
| (in degrees) within the interval $[0:180]$. |
| To obtain spherical coordinates in a frame of reference tied to |
| another group of atoms, use the \texttt{fittingGroup}\ref{sec:colvar_atom_groups_ref_frame} option |
| within the \texttt{atoms} block. |
| |
| \begin{cvcoptions} |
| \item % |
| \labelkey{colvar|polarTheta|atoms} |
| \key |
| {atoms}{% |
| \texttt{polarPhi}}{% |
| Atom group}{% |
| \texttt{atoms~\{...\}} block}{% |
| Defines the group of atoms for the COM of which the angle should be calculated. |
| } |
| \end{cvcoptions} |
| |
| |
| \cvsubsubsec{\texttt{polarPhi}: azimuthal angle in |
| spherical coordinates.} |
| The \texttt{polarPhi~\{...\}} block defines the azimuthal angle in |
| spherical coordinates, for the center of mass of a group of atoms |
| described by the block \texttt{atoms}. It returns an angle |
| (in degrees) within the interval $[-180:180]$. The Colvars module |
| calculates all the distances between two angles taking into account |
| periodicity. For instance, reference values for restraints or range |
| boundaries can be defined by using any real number of choice. |
| |
| \begin{cvcoptions} |
| \item % |
| \labelkey{colvar|polarPhi|atoms} |
| \key |
| {atoms}{% |
| \texttt{polarPhi}}{% |
| Atom group}{% |
| \texttt{atoms~\{...\}} block}{% |
| Defines the group of atoms for the COM of which the angle should be calculated. |
| } |
| \end{cvcoptions} |
| |
\cvsubsubsec{\texttt{coordNum}: coordination number between two groups.} | \cvsubsubsec{\texttt{coordNum}: coordination number between two groups.} |
The \texttt{coordNum \{...\}} block defines | The \texttt{coordNum \{...\}} block defines |
| |
\texttt{colvar}}{% | \texttt{colvar}}{% |
Position of the lower wall}{% | Position of the lower wall}{% |
Space-separated list of decimals}{% | Space-separated list of decimals}{% |
Defines the values $\xi_{\mathrm{upper}}$ ve which a confining restraint on the colvar is applied to each colvar $\xi$.} | Defines the values $\xi_{\mathrm{upper}}$ above which a confining restraint on the colvar is applied to each colvar $\xi$.} |
| |
\item \dupkey{forceConstant}{\texttt{harmonicWalls}}{sec:colvarbias_harmonic}{Harmonic restraints} | \item \dupkey{forceConstant}{\texttt{harmonicWalls}}{sec:colvarbias_harmonic}{Harmonic restraints} |
% \textbf{Note:} if two distinct force constants are needed for the two walls, it is possible to define a \texttt{harmonicWalls} instance for each. | % \textbf{Note:} if two distinct force constants are needed for the two walls, it is possible to define a \texttt{harmonicWalls} instance for each. |