(git:6a2e663)
pexsi_interface Module Reference

Interface to the PEXSI library, providing wrappers for all PEXSI routines that are called inside CP2K. Requires PEXSI version 0.10.x. More...

Functions/Subroutines

subroutine, public cp_pexsi_set_options (pexsi_options, temperature, gap, deltaE, numPole, isInertiaCount, maxPEXSIIter, muMin0, muMax0, mu0, muInertiaTolerance, muInertiaExpansion, muPEXSISafeGuard, numElectronPEXSITolerance, matrixType, isSymbolicFactorize, ordering, rowOrdering, npSymbFact, verbosity)
 Set PEXSI internal options. More...
 
subroutine, public cp_pexsi_get_options (pexsi_options, temperature, gap, deltaE, numPole, isInertiaCount, maxPEXSIIter, muMin0, muMax0, mu0, muInertiaTolerance, muInertiaExpansion, muPEXSISafeGuard, numElectronPEXSITolerance, matrixType, isSymbolicFactorize, ordering, rowOrdering, npSymbFact, verbosity)
 Access PEXSI internal options. More...
 
subroutine, public cp_pexsi_set_default_options (pexsi_options)
 ... More...
 
integer(kind=c_intptr_t) function, public cp_pexsi_plan_initialize (comm, numProcRow, numProcCol, outputFileIndex)
 ... More...
 
subroutine, public cp_pexsi_load_real_hs_matrix (plan, pexsi_options, nrows, nnz, nnzLocal, numColLocal, colptrLocal, rowindLocal, HnzvalLocal, isSIdentity, SnzvalLocal)
 ... More...
 
subroutine, public cp_pexsi_dft_driver (plan, pexsi_options, numElectronExact, muPEXSI, numElectronPEXSI, muMinInertia, muMaxInertia, numTotalInertiaIter, numTotalPEXSIIter)
 ... More...
 
subroutine, public cp_pexsi_retrieve_real_dft_matrix (plan, DMnzvalLocal, EDMnzvalLocal, FDMnzvalLocal, totalEnergyH, totalEnergyS, totalFreeEnergy)
 ... More...
 
subroutine, public cp_pexsi_plan_finalize (plan)
 ... More...
 

Detailed Description

Interface to the PEXSI library, providing wrappers for all PEXSI routines that are called inside CP2K. Requires PEXSI version 0.10.x.

History
2014.12 created [Patrick Seewald]
Author
Patrick Seewald

Function/Subroutine Documentation

◆ cp_pexsi_set_options()

subroutine, public pexsi_interface::cp_pexsi_set_options ( type(cp_pexsi_options), intent(inout)  pexsi_options,
real(kind=real_8), intent(in), optional  temperature,
real(kind=real_8), intent(in), optional  gap,
real(kind=real_8), intent(in), optional  deltaE,
integer, intent(in), optional  numPole,
integer, intent(in), optional  isInertiaCount,
integer, intent(in), optional  maxPEXSIIter,
real(kind=real_8), intent(in), optional  muMin0,
real(kind=real_8), intent(in), optional  muMax0,
real(kind=real_8), intent(in), optional  mu0,
real(kind=real_8), intent(in), optional  muInertiaTolerance,
real(kind=real_8), intent(in), optional  muInertiaExpansion,
real(kind=real_8), intent(in), optional  muPEXSISafeGuard,
real(kind=real_8), intent(in), optional  numElectronPEXSITolerance,
integer, intent(in), optional  matrixType,
integer, intent(in), optional  isSymbolicFactorize,
integer, intent(in), optional  ordering,
integer, intent(in), optional  rowOrdering,
integer, intent(in), optional  npSymbFact,
integer, intent(in), optional  verbosity 
)

Set PEXSI internal options.

Parameters
pexsi_options...
temperature...
gap...
deltaE...
numPole...
isInertiaCount...
maxPEXSIIter...
muMin0...
muMax0...
mu0...
muInertiaTolerance...
muInertiaExpansion...
muPEXSISafeGuard...
numElectronPEXSITolerance...
matrixType...
isSymbolicFactorize...
ordering...
rowOrdering...
npSymbFact...
verbosity...

Definition at line 82 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_get_options()

subroutine, public pexsi_interface::cp_pexsi_get_options ( type(cp_pexsi_options), intent(in)  pexsi_options,
real(kind=real_8), intent(out), optional  temperature,
real(kind=real_8), intent(out), optional  gap,
real(kind=real_8), intent(out), optional  deltaE,
integer, intent(out), optional  numPole,
integer, intent(out), optional  isInertiaCount,
integer, intent(out), optional  maxPEXSIIter,
real(kind=real_8), intent(out), optional  muMin0,
real(kind=real_8), intent(out), optional  muMax0,
real(kind=real_8), intent(out), optional  mu0,
real(kind=real_8), intent(out), optional  muInertiaTolerance,
real(kind=real_8), intent(out), optional  muInertiaExpansion,
real(kind=real_8), intent(out), optional  muPEXSISafeGuard,
real(kind=real_8), intent(out), optional  numElectronPEXSITolerance,
integer, intent(out), optional  matrixType,
integer, intent(out), optional  isSymbolicFactorize,
integer, intent(out), optional  ordering,
integer, intent(out), optional  rowOrdering,
integer, intent(out), optional  npSymbFact,
integer, intent(out), optional  verbosity 
)

Access PEXSI internal options.

Parameters
pexsi_options...
temperature...
gap...
deltaE...
numPole...
isInertiaCount...
maxPEXSIIter...
muMin0...
muMax0...
mu0...
muInertiaTolerance...
muInertiaExpansion...
muPEXSISafeGuard...
numElectronPEXSITolerance...
matrixType...
isSymbolicFactorize...
ordering...
rowOrdering...
npSymbFact...
verbosity...

Definition at line 180 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_set_default_options()

subroutine, public pexsi_interface::cp_pexsi_set_default_options ( type(cp_pexsi_options), intent(out)  pexsi_options)

...

Parameters
pexsi_options...

Definition at line 253 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_plan_initialize()

integer(kind=c_intptr_t) function, public pexsi_interface::cp_pexsi_plan_initialize ( type(mp_comm_type), intent(in)  comm,
integer, intent(in)  numProcRow,
integer, intent(in)  numProcCol,
integer, intent(in)  outputFileIndex 
)

...

Parameters
comm...
numProcRow...
numProcCol...
outputFileIndex...
Returns
...

Definition at line 271 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_load_real_hs_matrix()

subroutine, public pexsi_interface::cp_pexsi_load_real_hs_matrix ( integer(kind=c_intptr_t), intent(in)  plan,
type(cp_pexsi_options), intent(in)  pexsi_options,
integer, intent(in)  nrows,
integer, intent(in)  nnz,
integer, intent(in)  nnzLocal,
integer, intent(in)  numColLocal,
integer, dimension(*), intent(in)  colptrLocal,
integer, dimension(*), intent(in)  rowindLocal,
real(kind=real_8), dimension(*), intent(in)  HnzvalLocal,
integer, intent(in)  isSIdentity,
real(kind=real_8), dimension(*), intent(in)  SnzvalLocal 
)

...

Parameters
plan...
pexsi_options...
nrows...
nnz...
nnzLocal...
numColLocal...
colptrLocal...
rowindLocal...
HnzvalLocal...
isSIdentity...
SnzvalLocal...

Definition at line 311 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_dft_driver()

subroutine, public pexsi_interface::cp_pexsi_dft_driver ( integer(kind=c_intptr_t), intent(in)  plan,
type(cp_pexsi_options), intent(in)  pexsi_options,
real(kind=real_8), intent(in)  numElectronExact,
real(kind=real_8), intent(out)  muPEXSI,
real(kind=real_8), intent(out)  numElectronPEXSI,
real(kind=real_8), intent(out)  muMinInertia,
real(kind=real_8), intent(out)  muMaxInertia,
integer, intent(out)  numTotalInertiaIter,
integer, intent(out)  numTotalPEXSIIter 
)

...

Parameters
plan...
pexsi_options...
numElectronExact...
muPEXSI...
numElectronPEXSI...
muMinInertia...
muMaxInertia...
numTotalInertiaIter...
numTotalPEXSIIter...

Definition at line 364 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_retrieve_real_dft_matrix()

subroutine, public pexsi_interface::cp_pexsi_retrieve_real_dft_matrix ( integer(kind=c_intptr_t), intent(in)  plan,
real(kind=real_8), dimension(*), intent(out)  DMnzvalLocal,
real(kind=real_8), dimension(*), intent(out)  EDMnzvalLocal,
real(kind=real_8), dimension(*), intent(out)  FDMnzvalLocal,
real(kind=real_8), intent(out)  totalEnergyH,
real(kind=real_8), intent(out)  totalEnergyS,
real(kind=real_8), intent(out)  totalFreeEnergy 
)

...

Parameters
plan...
DMnzvalLocal...
EDMnzvalLocal...
FDMnzvalLocal...
totalEnergyH...
totalEnergyS...
totalFreeEnergy...

Definition at line 427 of file pexsi_interface.F.

Here is the caller graph for this function:

◆ cp_pexsi_plan_finalize()

subroutine, public pexsi_interface::cp_pexsi_plan_finalize ( integer(kind=c_intptr_t), intent(in)  plan)

...

Parameters
plan...

Definition at line 464 of file pexsi_interface.F.