# ESCDF - Basis sets

**Source authors:**

{{{authors}}}

**License:** {{{license}}}

**Download:** {{{download}}}

**Documentation:** {{{documentation}}}

__Links to other ESL entries__

__Links to other ESL entries__

__Links to other ESL entries__

__Links to other ESL entries__

__Links to other ESL entries__

__Links to other ESL entries__

**Functionalities:**

- {{{functionalities}}}

**Algorithms:**

- {{{algorithms}}}

**Generic interfaces:**

- {{{generic interfaces}}}

**APIs:**

- {{{apis}}}

**Data standards:**

- ESCDF - Electronic Structure Common Data Format
- ESCDF - System
- ESCDF - Densities
- ESCDF - Potentials
- ESCDF - States
- ESCDF - Extensions

**Software:**

## Contents

## Version

File format version number: 0.1

## General overview

Basis set information within an ESCDF HDF5 file is stored within the **basis_sets** group and its subgroups.

The ESCDF specifications provide support for two types of basis sets: cell-dependent basis sets spreading over the whole simulation cell and atom-centered basis sets associated to the local environment of atoms. Each type of basis set is stored in a different subgroup. Therefore the **basis_sets** group must contain one of the following subgroups:

**cell_dependent****atom_centered**

### Cell-dependent

The **cell_dependent** group stores information on a basis set covering the whole simulation cell. If more than one cell-dependent basis set are to be stored in the same **cell_dependent** group, then each should go to its own subgroup. The choice of name for the subgroup is left to the user, with the restriction that it cannot be any of the names already in use in these specifications. If only one cell-dependent basis set is to be specified, then it can be stored directly in the **cell_dependent** group or in its own subgroup.

The current specification support three types of cell-dependent basis sets:

- plane waves
- real-space grids
- wavelets

The group must have the following attributes:

**kind****number_of_physical_dimensions****number_of_coefficients**

The remaining datasets and attributes that need to or might be set depend on the kind of basis set.

#### Plane waves

The group must include the following dataset:

**reduced_coordinates_of_plane_waves**

#### Real-space grids

The group must have the following attribute:

**number_of_grid_points**

The group must include the following dataset:

**coordinates_of_basis_grid_points**

#### Wavelets

The group must have the following attributes:

**number_of_grid_points****order_of_daubechies_wavelets**

The group must include the following dataset:

**coordinates_of_basis_grid_points**

The group might include the following dataset:

**number_of_coefficients_per_grid_points**

### Atom-centered

TODO. See discussion page for more details.

## Detailed description of variables

### Variables relating to cell-dependent basis sets

**kind**: attribute, char(80)String representing the type of basis set used. Must be one of

`plane_waves`

,`wavelets`

, or`realspace_grids`

.**number_of_physical_dimensions**: attribute, unsigned int (always 3)The number of physical dimensions in space. Note that this is not the same as the number of periodic directions, which might be less than or equal to this number.

**number_of_coefficients**: attribute, unsigned intTotal number of basis function coefficients.

**number_of_grid_points**: attribute, unsigned intNumber of grid points where coefficients can be stored.

**coordinates_of_basis_grid_points**: dataset, double [**number_of_grid_points**][**number_of_physical_dimensions**] (dimensional variable: length)Coordinates of the grid points where coefficients can be stored. This is used to define a real-space basis set where a reduced set of points is used. This array may be used in conjunction with the variable

**number_of_coefficients_per_grid_points**.**number_of_coefficients_per_grid_points**: dataset, unsigned int [**number_of_grid_points**]This array gives the number of coefficients stored on basis set grid points. The coordinates of corresponding grid points are given in the

**coordinates_of_basis_grid_points**array. If it is omitted, all the values are assumed to be 1, that is, there is only one coefficient stored on each basis set grid point. The sum of all its values must be equal to**number_of_coefficients**.**order_of_daubechies_wavelets**: attribute, unsigned intThis number gives the order of the Daubechies wavelet basis, e.g. if

**order_of_daubechies_wavelets**is 14, the Daubechies wavelets are made from a piecewise polynomial of order 14.**reduced_coordinates_of_plane_waves**: dataset, double [**number_of_coefficients**][**number_of_physical_dimensions**]Plane-wave G-vectors in relative / reduced coordinates.

### Variables relating to atom-centered basis sets

TODO. See discussion page for more details.