| Module |
colvar |
| Description |
Usage |
| Calculate the radius of gyration, or other properties related to it. |
  |
| output value |
type |
| the radius that was computed from the weights |
scalar |
Details and examples
Calculate the radius of gyration, or other properties related to it.
The radius of gyration is calculated using:
with the position of the center given by:
In these expressions indicates the position of atom and is the weight for atom . The following input
shows how you can calculate the expressions for a set of atoms by using PLUMED:
In the above input the weights in the expressions above are set equal to the elemnts of a constant vector, w. A more common
approach is to use the masses of the atoms, which you can do using any one of the three inputs below:
Alternatively, you can set all the input weights equal to one as is done in the input below;
Notice that in the first input above GYRATION is a shortcut and that in the second two inputs it is not. This is because there
is a faster (non-shortcutted) version that can be used for these two more-commonplace inputs. The shortcut input is still useful
as it allows one to do less comonplace analyses such as this one where a clustering is performed and the radius of gyration for the
largest cluster is determined.
c1The CONTACT_MATRIX action with label c1 calculates the following quantities:| Quantity | Type | Description |
| c1 | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-100 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=0.1 D_MAX=0.5}
dfsThe DFSCLUSTERING action with label dfs calculates the following quantities:| Quantity | Type | Description |
| dfs | vector | vector with length that is equal to the number of rows in the input matrix. Elements of this vector are equal to the cluster that each node is a part of |
: DFSCLUSTERINGFind the connected components of the matrix using the depth first search clustering algorithm. More details ARGthe input matrix=c1
wThe CLUSTER_WEIGHTS action with label w calculates the following quantities:| Quantity | Type | Description |
| w | vector | vector with elements that are one if the atom of interest is part of the required cluster and zero otherwise |
: CLUSTER_WEIGHTSSetup a vector that has one for all the atoms that form part of the cluster of interest and that has zero for all other atoms. More details CLUSTERSthe label of the action that does the clustering=dfs CLUSTER which cluster would you like to look at 1 is the largest cluster, 2 is the second largest, 3 is the the third largest and so on=1
gThe GYRATION action with label g calculates the following quantities:| Quantity | Type | Description |
| g | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-100 WEIGHTSwhat weights should be used when calculating the center=w TYPE The type of calculation relative to the Gyration Tensor you want to perform=RADIUS
# g: GYRATION ATOMS=1-100 WEIGHTS=w TYPE=RADIUS
g_centThe ARGS2VATOM action with label g_cent calculates the following quantities:| Quantity | Type | Description |
| g_cent.x | scalar | the x coordinate of the virtual atom |
| g_cent.y | scalar | the y coordinate of the virtual atom |
| g_cent.z | scalar | the z coordinate of the virtual atom |
| g_cent.mass | scalar | the mass of the virtual atom |
| g_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100 WEIGHTSwhat weights should be used when calculating the center=w
g_distsThe DISTANCE action with label g_dists calculates the following quantities:| Quantity | Type | Description |
| g_dists.x | vector | the x-component of the vector connecting the two atoms |
| g_dists.y | vector | the y-component of the vector connecting the two atoms |
| g_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=g_cent,1 ATOMS2the pair of atom that we are calculating the distance between=g_cent,2 ATOMS3the pair of atom that we are calculating the distance between=g_cent,3 ATOMS4the pair of atom that we are calculating the distance between=g_cent,4 ATOMS5the pair of atom that we are calculating the distance between=g_cent,5
g_tensorThe MATRIX_PRODUCT action with label g_tensor calculates the following quantities:| Quantity | Type | Description |
| g_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=g_dists.x,g_dists.y,g_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
g_diag_elementsThe SELECT_WITH_MASK action with label g_diag_elements calculates the following quantities:| Quantity | Type | Description |
| g_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=g_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
g_traceThe SUM action with label g_trace calculates the following quantities:| Quantity | Type | Description |
| g_trace | scalar | the SUM of the elements in the input value |
: SUMCalculate the sum of the arguments More details ARGthe vector/matrix/grid whose elements shuld be added together=g_diag_elements PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
gThe CUSTOM action with label g calculates the following quantities:| Quantity | Type | Description |
| g | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=g_trace FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
In calculating the gyration radius you first calculate the GYRATION_TENSOR. Instad of computing the radius from this
tensor you can instead compute the trace of the tensor by using the following input:
Notice, that when you compute the gyration tensor in the above calculation it is unormalized. If you want to calculate any other
quantity from the unormalized gyration tensor you can add the UNORMALIZED flag as shown below, which computes the unormalized radius
of gyration.
You can also calculate the largest, middle and smallest principal moments of the normalized tensor:
wThe CONSTANT action with label w calculates the following quantities:| Quantity | Type | Description |
| w | vector | the constant value that was read from the plumed input |
: CONSTANTCreate a constant value that can be passed to actions This action has hidden defaults. More details VALUESthe numbers that are in your constant value=1,2,2,3,4
w: CONSTANTCreate a constant value that can be passed to actions This action uses the defaults shown here. More details VALUESthe numbers that are in your constant value=1,2,2,3,4 NROWS the number of rows in your input matrix=0 NCOLS the number of columns in your matrix=0
lThe GYRATION action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=GTPC_1 WEIGHTSwhat weights should be used when calculating the center=w
# l: GYRATION ATOMS=1-5 TYPE=GTPC_1 WEIGHTS=w
l_centThe ARGS2VATOM action with label l_cent calculates the following quantities:| Quantity | Type | Description |
| l_cent.x | scalar | the x coordinate of the virtual atom |
| l_cent.y | scalar | the y coordinate of the virtual atom |
| l_cent.z | scalar | the z coordinate of the virtual atom |
| l_cent.mass | scalar | the mass of the virtual atom |
| l_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
l_distsThe DISTANCE action with label l_dists calculates the following quantities:| Quantity | Type | Description |
| l_dists.x | vector | the x-component of the vector connecting the two atoms |
| l_dists.y | vector | the y-component of the vector connecting the two atoms |
| l_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=l_cent,1 ATOMS2the pair of atom that we are calculating the distance between=l_cent,2 ATOMS3the pair of atom that we are calculating the distance between=l_cent,3 ATOMS4the pair of atom that we are calculating the distance between=l_cent,4 ATOMS5the pair of atom that we are calculating the distance between=l_cent,5
l_tensorThe MATRIX_PRODUCT action with label l_tensor calculates the following quantities:| Quantity | Type | Description |
| l_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=l_dists.x,l_dists.y,l_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
l_diag_elementsThe SELECT_WITH_MASK action with label l_diag_elements calculates the following quantities:| Quantity | Type | Description |
| l_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=l_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
l_diagThe DIAGONALIZE action with label l_diag calculates the following quantities:| Quantity | Type | Description |
| l_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| l_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| l_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| l_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| l_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| l_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=l_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
lThe CUSTOM action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=l_diag.vals-1 FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
mThe GYRATION action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=GTPC_2 WEIGHTSwhat weights should be used when calculating the center=w
# m: GYRATION ATOMS=1-5 TYPE=GTPC_2 WEIGHTS=w
m_centThe ARGS2VATOM action with label m_cent calculates the following quantities:| Quantity | Type | Description |
| m_cent.x | scalar | the x coordinate of the virtual atom |
| m_cent.y | scalar | the y coordinate of the virtual atom |
| m_cent.z | scalar | the z coordinate of the virtual atom |
| m_cent.mass | scalar | the mass of the virtual atom |
| m_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
m_distsThe DISTANCE action with label m_dists calculates the following quantities:| Quantity | Type | Description |
| m_dists.x | vector | the x-component of the vector connecting the two atoms |
| m_dists.y | vector | the y-component of the vector connecting the two atoms |
| m_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=m_cent,1 ATOMS2the pair of atom that we are calculating the distance between=m_cent,2 ATOMS3the pair of atom that we are calculating the distance between=m_cent,3 ATOMS4the pair of atom that we are calculating the distance between=m_cent,4 ATOMS5the pair of atom that we are calculating the distance between=m_cent,5
m_tensorThe MATRIX_PRODUCT action with label m_tensor calculates the following quantities:| Quantity | Type | Description |
| m_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=m_dists.x,m_dists.y,m_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
m_diag_elementsThe SELECT_WITH_MASK action with label m_diag_elements calculates the following quantities:| Quantity | Type | Description |
| m_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=m_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
m_diagThe DIAGONALIZE action with label m_diag calculates the following quantities:| Quantity | Type | Description |
| m_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| m_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| m_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| m_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| m_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| m_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=m_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
mThe CUSTOM action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=m_diag.vals-2 FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
sThe GYRATION action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=GTPC_3 WEIGHTSwhat weights should be used when calculating the center=w
# s: GYRATION ATOMS=1-5 TYPE=GTPC_3 WEIGHTS=w
s_centThe ARGS2VATOM action with label s_cent calculates the following quantities:| Quantity | Type | Description |
| s_cent.x | scalar | the x coordinate of the virtual atom |
| s_cent.y | scalar | the y coordinate of the virtual atom |
| s_cent.z | scalar | the z coordinate of the virtual atom |
| s_cent.mass | scalar | the mass of the virtual atom |
| s_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
s_distsThe DISTANCE action with label s_dists calculates the following quantities:| Quantity | Type | Description |
| s_dists.x | vector | the x-component of the vector connecting the two atoms |
| s_dists.y | vector | the y-component of the vector connecting the two atoms |
| s_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=s_cent,1 ATOMS2the pair of atom that we are calculating the distance between=s_cent,2 ATOMS3the pair of atom that we are calculating the distance between=s_cent,3 ATOMS4the pair of atom that we are calculating the distance between=s_cent,4 ATOMS5the pair of atom that we are calculating the distance between=s_cent,5
s_tensorThe MATRIX_PRODUCT action with label s_tensor calculates the following quantities:| Quantity | Type | Description |
| s_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=s_dists.x,s_dists.y,s_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
s_diag_elementsThe SELECT_WITH_MASK action with label s_diag_elements calculates the following quantities:| Quantity | Type | Description |
| s_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=s_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
s_diagThe DIAGONALIZE action with label s_diag calculates the following quantities:| Quantity | Type | Description |
| s_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| s_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| s_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| s_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| s_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| s_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=s_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
sThe CUSTOM action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=s_diag.vals-3 FUNCthe function you wish to evaluate=sqrt(x) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=l,m,s FILEthe name of the file on which to output these quantities=colvar
From these principal moments you can calculate the Asphericiry, Acylindricity, or the Relative Shape Anisotropy by using the following input:
wThe CONSTANT action with label w calculates the following quantities:| Quantity | Type | Description |
| w | vector | the constant value that was read from the plumed input |
: CONSTANTCreate a constant value that can be passed to actions This action has hidden defaults. More details VALUESthe numbers that are in your constant value=1,2,2,3,4
w: CONSTANTCreate a constant value that can be passed to actions This action uses the defaults shown here. More details VALUESthe numbers that are in your constant value=1,2,2,3,4 NROWS the number of rows in your input matrix=0 NCOLS the number of columns in your matrix=0
lThe GYRATION action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=ASPHERICITY WEIGHTSwhat weights should be used when calculating the center=w
# l: GYRATION ATOMS=1-5 TYPE=ASPHERICITY WEIGHTS=w
l_centThe ARGS2VATOM action with label l_cent calculates the following quantities:| Quantity | Type | Description |
| l_cent.x | scalar | the x coordinate of the virtual atom |
| l_cent.y | scalar | the y coordinate of the virtual atom |
| l_cent.z | scalar | the z coordinate of the virtual atom |
| l_cent.mass | scalar | the mass of the virtual atom |
| l_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
l_distsThe DISTANCE action with label l_dists calculates the following quantities:| Quantity | Type | Description |
| l_dists.x | vector | the x-component of the vector connecting the two atoms |
| l_dists.y | vector | the y-component of the vector connecting the two atoms |
| l_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=l_cent,1 ATOMS2the pair of atom that we are calculating the distance between=l_cent,2 ATOMS3the pair of atom that we are calculating the distance between=l_cent,3 ATOMS4the pair of atom that we are calculating the distance between=l_cent,4 ATOMS5the pair of atom that we are calculating the distance between=l_cent,5
l_tensorThe MATRIX_PRODUCT action with label l_tensor calculates the following quantities:| Quantity | Type | Description |
| l_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=l_dists.x,l_dists.y,l_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
l_diag_elementsThe SELECT_WITH_MASK action with label l_diag_elements calculates the following quantities:| Quantity | Type | Description |
| l_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=l_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
l_diagThe DIAGONALIZE action with label l_diag calculates the following quantities:| Quantity | Type | Description |
| l_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| l_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| l_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| l_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| l_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| l_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=l_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
lThe CUSTOM action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=l_diag.vals-1,l_diag.vals-2,l_diag.vals-3 FUNCthe function you wish to evaluate=sqrt(x-0.5*(y+z)) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
mThe GYRATION action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=ACYLINDRICITY WEIGHTSwhat weights should be used when calculating the center=w
# m: GYRATION ATOMS=1-5 TYPE=ACYLINDRICITY WEIGHTS=w
m_centThe ARGS2VATOM action with label m_cent calculates the following quantities:| Quantity | Type | Description |
| m_cent.x | scalar | the x coordinate of the virtual atom |
| m_cent.y | scalar | the y coordinate of the virtual atom |
| m_cent.z | scalar | the z coordinate of the virtual atom |
| m_cent.mass | scalar | the mass of the virtual atom |
| m_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
m_distsThe DISTANCE action with label m_dists calculates the following quantities:| Quantity | Type | Description |
| m_dists.x | vector | the x-component of the vector connecting the two atoms |
| m_dists.y | vector | the y-component of the vector connecting the two atoms |
| m_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=m_cent,1 ATOMS2the pair of atom that we are calculating the distance between=m_cent,2 ATOMS3the pair of atom that we are calculating the distance between=m_cent,3 ATOMS4the pair of atom that we are calculating the distance between=m_cent,4 ATOMS5the pair of atom that we are calculating the distance between=m_cent,5
m_tensorThe MATRIX_PRODUCT action with label m_tensor calculates the following quantities:| Quantity | Type | Description |
| m_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=m_dists.x,m_dists.y,m_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
m_diag_elementsThe SELECT_WITH_MASK action with label m_diag_elements calculates the following quantities:| Quantity | Type | Description |
| m_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=m_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
m_diagThe DIAGONALIZE action with label m_diag calculates the following quantities:| Quantity | Type | Description |
| m_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| m_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| m_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| m_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| m_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| m_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=m_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
mThe CUSTOM action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=m_diag.vals-2,m_diag.vals-3 FUNCthe function you wish to evaluate=sqrt(x-y) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
sThe GYRATION action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=KAPPA2 WEIGHTSwhat weights should be used when calculating the center=w
# s: GYRATION ATOMS=1-5 TYPE=KAPPA2 WEIGHTS=w
s_centThe ARGS2VATOM action with label s_cent calculates the following quantities:| Quantity | Type | Description |
| s_cent.x | scalar | the x coordinate of the virtual atom |
| s_cent.y | scalar | the y coordinate of the virtual atom |
| s_cent.z | scalar | the z coordinate of the virtual atom |
| s_cent.mass | scalar | the mass of the virtual atom |
| s_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
s_distsThe DISTANCE action with label s_dists calculates the following quantities:| Quantity | Type | Description |
| s_dists.x | vector | the x-component of the vector connecting the two atoms |
| s_dists.y | vector | the y-component of the vector connecting the two atoms |
| s_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=s_cent,1 ATOMS2the pair of atom that we are calculating the distance between=s_cent,2 ATOMS3the pair of atom that we are calculating the distance between=s_cent,3 ATOMS4the pair of atom that we are calculating the distance between=s_cent,4 ATOMS5the pair of atom that we are calculating the distance between=s_cent,5
s_tensorThe MATRIX_PRODUCT action with label s_tensor calculates the following quantities:| Quantity | Type | Description |
| s_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=s_dists.x,s_dists.y,s_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w UNORMALIZED do not divide by the sum of the weights
s_diag_elementsThe SELECT_WITH_MASK action with label s_diag_elements calculates the following quantities:| Quantity | Type | Description |
| s_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=s_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
s_diagThe DIAGONALIZE action with label s_diag calculates the following quantities:| Quantity | Type | Description |
| s_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| s_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| s_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| s_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| s_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| s_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=s_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
s_numerThe CUSTOM action with label s_numer calculates the following quantities:| Quantity | Type | Description |
| s_numer | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=s_diag.vals-1,s_diag.vals-2,s_diag.vals-3 FUNCthe function you wish to evaluate=x*y+x*z+y*z PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
s_denomThe CUSTOM action with label s_denom calculates the following quantities:| Quantity | Type | Description |
| s_denom | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=s_diag.vals-1,s_diag.vals-2,s_diag.vals-3 FUNCthe function you wish to evaluate=x+y+z PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
sThe CUSTOM action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=s_numer,s_denom FUNCthe function you wish to evaluate=1-3*(x/(y*y)) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=l,m,s FILEthe name of the file on which to output these quantities=colvar
Lastly, you can calculate the largest, middle and smallest principal radii of gyration by using the following input:
wThe CONSTANT action with label w calculates the following quantities:| Quantity | Type | Description |
| w | vector | the constant value that was read from the plumed input |
: CONSTANTCreate a constant value that can be passed to actions This action has hidden defaults. More details VALUESthe numbers that are in your constant value=1,2,2,3,4
w: CONSTANTCreate a constant value that can be passed to actions This action uses the defaults shown here. More details VALUESthe numbers that are in your constant value=1,2,2,3,4 NROWS the number of rows in your input matrix=0 NCOLS the number of columns in your matrix=0
lThe GYRATION action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=RGYR_1 WEIGHTSwhat weights should be used when calculating the center=w
# l: GYRATION ATOMS=1-5 TYPE=RGYR_1 WEIGHTS=w
l_centThe ARGS2VATOM action with label l_cent calculates the following quantities:| Quantity | Type | Description |
| l_cent.x | scalar | the x coordinate of the virtual atom |
| l_cent.y | scalar | the y coordinate of the virtual atom |
| l_cent.z | scalar | the z coordinate of the virtual atom |
| l_cent.mass | scalar | the mass of the virtual atom |
| l_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
l_distsThe DISTANCE action with label l_dists calculates the following quantities:| Quantity | Type | Description |
| l_dists.x | vector | the x-component of the vector connecting the two atoms |
| l_dists.y | vector | the y-component of the vector connecting the two atoms |
| l_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=l_cent,1 ATOMS2the pair of atom that we are calculating the distance between=l_cent,2 ATOMS3the pair of atom that we are calculating the distance between=l_cent,3 ATOMS4the pair of atom that we are calculating the distance between=l_cent,4 ATOMS5the pair of atom that we are calculating the distance between=l_cent,5
l_tensorThe MATRIX_PRODUCT action with label l_tensor calculates the following quantities:| Quantity | Type | Description |
| l_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=l_dists.x,l_dists.y,l_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
l_diag_elementsThe SELECT_WITH_MASK action with label l_diag_elements calculates the following quantities:| Quantity | Type | Description |
| l_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=l_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
l_diagThe DIAGONALIZE action with label l_diag calculates the following quantities:| Quantity | Type | Description |
| l_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| l_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| l_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| l_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| l_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| l_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=l_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
lThe CUSTOM action with label l calculates the following quantities:| Quantity | Type | Description |
| l | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=l_diag.vals-2,l_diag.vals-3 FUNCthe function you wish to evaluate=sqrt(x+y) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
mThe GYRATION action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=RGYR_2 WEIGHTSwhat weights should be used when calculating the center=w
# m: GYRATION ATOMS=1-5 TYPE=RGYR_2 WEIGHTS=w
m_centThe ARGS2VATOM action with label m_cent calculates the following quantities:| Quantity | Type | Description |
| m_cent.x | scalar | the x coordinate of the virtual atom |
| m_cent.y | scalar | the y coordinate of the virtual atom |
| m_cent.z | scalar | the z coordinate of the virtual atom |
| m_cent.mass | scalar | the mass of the virtual atom |
| m_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
m_distsThe DISTANCE action with label m_dists calculates the following quantities:| Quantity | Type | Description |
| m_dists.x | vector | the x-component of the vector connecting the two atoms |
| m_dists.y | vector | the y-component of the vector connecting the two atoms |
| m_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=m_cent,1 ATOMS2the pair of atom that we are calculating the distance between=m_cent,2 ATOMS3the pair of atom that we are calculating the distance between=m_cent,3 ATOMS4the pair of atom that we are calculating the distance between=m_cent,4 ATOMS5the pair of atom that we are calculating the distance between=m_cent,5
m_tensorThe MATRIX_PRODUCT action with label m_tensor calculates the following quantities:| Quantity | Type | Description |
| m_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=m_dists.x,m_dists.y,m_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
m_diag_elementsThe SELECT_WITH_MASK action with label m_diag_elements calculates the following quantities:| Quantity | Type | Description |
| m_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=m_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
m_diagThe DIAGONALIZE action with label m_diag calculates the following quantities:| Quantity | Type | Description |
| m_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| m_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| m_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| m_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| m_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| m_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=m_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
mThe CUSTOM action with label m calculates the following quantities:| Quantity | Type | Description |
| m | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=m_diag.vals-1,m_diag.vals-3 FUNCthe function you wish to evaluate=sqrt(x+y) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
sThe GYRATION action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | the radius that was computed from the weights |
: GYRATIONCalculate the radius of gyration, or other properties related to it. This action is a shortcut. More details ATOMSthe group of atoms that you are calculating the Gyration Tensor for=1-5 TYPE The type of calculation relative to the Gyration Tensor you want to perform=RGYR_3 WEIGHTSwhat weights should be used when calculating the center=w
# s: GYRATION ATOMS=1-5 TYPE=RGYR_3 WEIGHTS=w
s_centThe ARGS2VATOM action with label s_cent calculates the following quantities:| Quantity | Type | Description |
| s_cent.x | scalar | the x coordinate of the virtual atom |
| s_cent.y | scalar | the y coordinate of the virtual atom |
| s_cent.z | scalar | the z coordinate of the virtual atom |
| s_cent.mass | scalar | the mass of the virtual atom |
| s_cent.charge | scalar | the charge of the virtual atom |
: CENTERCalculate the center for a group of atoms, with arbitrary weights. More details ATOMSthe group of atoms that appear in the definition of this center=1,2,3,4,5 WEIGHTSwhat weights should be used when calculating the center=w
s_distsThe DISTANCE action with label s_dists calculates the following quantities:| Quantity | Type | Description |
| s_dists.x | vector | the x-component of the vector connecting the two atoms |
| s_dists.y | vector | the y-component of the vector connecting the two atoms |
| s_dists.z | vector | the z-component of the vector connecting the two atoms |
: DISTANCECalculate the distance/s between pairs of atoms. More details COMPONENTS calculate the x, y and z components of the distance separately and store them as label ATOMS1the pair of atom that we are calculating the distance between=s_cent,1 ATOMS2the pair of atom that we are calculating the distance between=s_cent,2 ATOMS3the pair of atom that we are calculating the distance between=s_cent,3 ATOMS4the pair of atom that we are calculating the distance between=s_cent,4 ATOMS5the pair of atom that we are calculating the distance between=s_cent,5
s_tensorThe MATRIX_PRODUCT action with label s_tensor calculates the following quantities:| Quantity | Type | Description |
| s_tensor | matrix | the product of the two input matrices |
: COVARIANCE_MATRIXCalculate a covariance matix More details ARGthe vectors of data from which we are calculating the covariance=s_dists.x,s_dists.y,s_dists.z WEIGHTSthis keyword takes the label of an action that calculates a vector of values=w
s_diag_elementsThe SELECT_WITH_MASK action with label s_diag_elements calculates the following quantities:| Quantity | Type | Description |
| s_diag_elements | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=s_tensor COMPONENTSthe components in the input value that you woul like to build a new vector from=1.1,2.2,3.3
s_diagThe DIAGONALIZE action with label s_diag calculates the following quantities:| Quantity | Type | Description |
| s_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
| s_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
| s_diag.vals-2 | scalar | the eigevalues of the input matrix This is the 2th of these quantities |
| s_diag.vecs-2 | vector | the eigenvectors of the input matrix This is the 2th of these quantities |
| s_diag.vals-3 | scalar | the eigevalues of the input matrix This is the 3th of these quantities |
| s_diag.vecs-3 | vector | the eigenvectors of the input matrix This is the 3th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=s_tensor VECTORS the eigenvalues and vectors that you would like to calculate=all
sThe CUSTOM action with label s calculates the following quantities:| Quantity | Type | Description |
| s | scalar | an arbitrary function |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=s_diag.vals-1,s_diag.vals-2 FUNCthe function you wish to evaluate=sqrt(x+y) PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=l,m,s FILEthe name of the file on which to output these quantities=colvar
By expanding the shortcuts in the inputs above or by reading the papers cited below you can see how these quantities are computed from the GYRATION_TENSOR.
Notice, however, that as with the radius if you use the masses or a vector of ones as weights a faster implemention of this colvar that
calculates these quantities directly will be used.
A note on periodic boundary conditions
Calculating the radius of gyration is normally used to determine the shape of a molecule so all the specified atoms
would normally be part of the same molecule. When computing this CV it is important to ensure that the periodic boundaries
are calculated correctly. There are two ways that you can manage periodic boundary conditions when using this action. The
first and simplest is to reconstruct the molecule similarly to the way that WHOLEMOLECULES operates.
This reconstruction of molecules has been done automatically since PLUMED 2.2. If for some reason you want to turn it off
you can use the NOPBC flag as shown below:
An alternative approach to handling PBC is to use the PHASES keyword. This keyword instructs PLUMED to use the PHASES option
when computing the position of the center using the CENTER command. Distances of atoms from this center are then
computed using PBC as usual. The example shown below shows you how to use this option
The atoms that serve as the input for this action are specified using one or more of the keywords in the following table.
| Keyword |
Type |
Description |
| ATOMS |
atoms |
the group of atoms that you are calculating the Gyration Tensor for |
Full list of keywords
The following table describes the keywords and options that can be used with this action
| Keyword |
Type |
Default |
Description |
| ATOMS |
input |
none |
the group of atoms that you are calculating the Gyration Tensor for |
| TYPE |
compulsory |
RADIUS |
The type of calculation relative to the Gyration Tensor you want to perform |
| NOPBC |
optional |
false |
ignore the periodic boundary conditions when calculating distances |
| WEIGHTS |
optional |
not used |
what weights should be used when calculating the center |
| PHASES |
optional |
false |
use trigonometric phases when computing position of center of mass |
| MASS |
optional |
false |
calculate the center of mass |
| MASS_WEIGHTED |
optional |
false |
set the masses of all the atoms equal to one |
| UNORMALIZED |
optional |
false |
do not divide by the sum of the weights |
References
More information about how this action can be used is available in the following articles: