rdm_hdf5 Module



Contents


Subroutines

public subroutine write_rdms_hdf5(rdm_defs, rdm, rdm_trace, one_rdms)

Write all RDMs specified in the input to an HDF5 archive.

Arguments

Type IntentOptional Attributes Name
type(rdm_definitions_t), intent(in) :: rdm_defs

Type carrying information such as number and type of RDM (regular/transition)

type(rdm_list_t), intent(in) :: rdm

2RDM data distributed over all MPI ranks

real(kind=dp), intent(in) :: rdm_trace(rdm%sign_length)

Normalisation of the 2RDM

type(one_rdm_t), intent(inout), optional :: one_rdms(:)

Array carrying the 1RDM belonging to each root

private subroutine write_1rdm_hdf5(parent, one_rdm)

Write the 1RDM to an HDF5 archive.

Arguments

Type IntentOptional Attributes Name
integer(kind=hid_t), intent(in) :: parent

HDF5 file handle of the parent directory.

real(kind=dp), intent(inout) :: one_rdm(:,:)

1RDM data redundant on each MPI rank

private subroutine write_2rdm_hdf5(parent, rdm, rdm_trace, iroot)

Write the 2RDM to an HDF5 archive.

Arguments

Type IntentOptional Attributes Name
integer(kind=hid_t), intent(in) :: parent

HDF5 file handle of the parent directory.

type(rdm_list_t), intent(in) :: rdm

2RDM data distributed over all MPI ranks

real(kind=dp), intent(in) :: rdm_trace(rdm%sign_length)

Normalisation of the 2RDM

integer, intent(in) :: iroot

The iroot’th eigenvector of Hamiltonian, e.g. 1 for ground state, 2 for first excited state, …