# Parameters for calculating hessian

Parameters here are for calculating hessian matrix. The hessian matrix is defined as the square matrix of second-order partial derivatives of the total energy with respect to the displacement of atomic position. Note that the dynamical matrix can be obtained by including the mass-related coefficients.

## calculation.hessian.movingAtoms

keyword: calculation.hessian.movingAtoms

possible values: integer array

default value: all atoms in the central cell for molecular or bulk system; no default value for system with probes

description: Within the whole hessian matrix, only those elements of the sub-matrix corresponding to the atoms listed in the movingAtoms will be calculated.

an example:

```calculation.hessian.movingAtoms = [10:291]
```

## calculation.hessian.delta

keyword: calculation.hessian.delta

possible values: a double number

default value: 0.03 au

description: A small displacement of atomic position used to calculate the hessian matrix by numerical derivatives of forces.

an example:

```calculation.hessian.delta = 0.01
```

## calculation.hessian.primitiveCellVectors

keyword: calculation.hessian.primitiveCellVectors

possible values: 3 x 3 double matrix

default value: same as that of the super cell

description: Hessian matrix is normally calculated with a large super cell (the current cell), and this parameter defines a smaller cell. The Hessian matrix being consistent with the smaller cell will be given after the calculation.

an example:

```calculation.hessian.primitiveCellVectors = ...
[0 1 1; 1 0 1; 1 1 0]/2*5.408
```

## calculation.hessian.order

keyword: calculation.hessian.order

possible values: 2, 3, or 5

default value: 3

description: The number of points used to calculate the derivative of force numerically.

an example:

```calculation.hessian.order = 2
```

## calculation.hessian.plot

keyword: calculation.hessian.plot

possible values: true or false

default value: false

description: If true, a plot will be given for checking the convergence of the Hessian matrix elements with the increase of the distance between atoms.

an example:

```calculation.hessian.plot = true
```

## calculation.hessian.vdwInteractionQ

keyword: calculation.hessian.vdwInteractionQ

possible values: true or false

default value: false

description: If true, van der Waals interaction will be included.

an example:

```calculation.hessian.vdwInteractionQ = true
```

## calculation.hessian.vdwInteractionParameter.method

keyword: calculation.hessian.vdwInteractionParameter.method

possible values: ‘Grimme’

default value: ‘Grimme’

description: The parameter vdwInteractionParameter is a structure with many fields. Here the field method gives the method for the van der Waals interaction calculation. For how to set other fields of the structure, please refer to the description of the parameter calculation.vdwForce.

an example:

```calculation.hessian.vdwInteractionParameter = []
```

## calculation.hessian.vdwInteractionQ

keyword: calculation.hessian.vdwInteractionQ

possible values: true or false

default value: false

description: If true, van der Waals interaction will be included.

an example:

```calculation.hessian.vdwInteractionQ = true
```

## calculation.hessian.vdwInteractionParameter.method

keyword: calculation.hessian.vdwInteractionParameter.method

possible values: ‘Grimme’

default value: ‘Grimme’

description: The parameter vdwInteractionParameter is a structure with many fields. Here the field method gives the method for the van der Waals interaction calculation. For how to set other fields of the structure, please refer to the description of the parameter calculation.vdwForce.

an example:

```calculation.hessian.vdwInteractionParameter = []
```